分类目录归档:biotools

机器学习资源大全

C++计算机视觉

  • CCV —基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库
  • OpenCV—它提供C++, C, Python, Java 以及 MATLAB接口,并支持Windows, Linux, Android and Mac OS操作系统。

通用机器学习

Closure通用机器学习

Go自然语言处理

  • go-porterstemmer—一个Porter词干提取算法的原生Go语言净室实现
  • paicehusk—Paice/Husk词干提取算法的Go语言实现
  • snowball—Go语言版的Snowball词干提取器

通用机器学习

  • Go Learn— Go语言机器学习库
  • go-pr —Go语言机器学习包.
  • bayesian—Go语言朴素贝叶斯分类库。
  • go-galib—Go语言遗传算法库。


数据分析/数据可视化

  • go-graph—Go语言图形库。
  • SVGo—Go语言的SVG生成库。

Java自然语言处理

  • CoreNLP—斯坦福大学的CoreNLP提供一系列的自然语言处理工具,输入原始英语文本,可以给出单词的基本形式(下面Stanford开头的几个工具都包含其中)。
  • Stanford Parser—一个自然语言解析器。
  • Stanford POS Tagger —一个词性分类器。
  • Stanford Name Entity Recognizer—Java实现的名称识别器
  • Stanford Word Segmenter—分词器,很多NLP工作中都要用到的标准预处理步骤。
  • Tregex, Tsurgeon and Semgrex —用来在树状数据结构中进行模式匹配,基于树关系以及节点匹配的正则表达式(名字是“tree regular expressions”的缩写)。
  • Stanford Phrasal:最新的基于统计短语的机器翻译系统,java编写
  • Stanford Tokens Regex—用以定义文本模式的框架。
  • Stanford Temporal Tagger—SUTime是一个识别并标准化时间表达式的库。
  • Stanford SPIED—在种子集上使用模式,以迭代方式从无标签文本中学习字符实体
  • Stanford Topic Modeling Toolbox —为社会科学家及其他希望分析数据集的人员提供的主题建模工具。
  • Twitter Text Java—Java实现的推特文本处理库
  • MALLET -—基于Java的统计自然语言处理、文档分类、聚类、主题建模、信息提取以及其他机器学习文本应用包。
  • OpenNLP—处理自然语言文本的机器学习工具包。
  • LingPipe —使用计算机语言学处理文本的工具包。


通用机器学习

  • MLlib in Apache Spark—Spark中的分布式机器学习程序库
  • Mahout —分布式的机器学习库
  • Stanford Classifier —斯坦福大学的分类器
  • Weka—Weka是数据挖掘方面的机器学习算法集。
  • ORYX—提供一个简单的大规模实时机器学习/预测分析基础架构。

数据分析/数据可视化

  • Hadoop—大数据分析平台
  • Spark—快速通用的大规模数据处理引擎。
  • Impala —为Hadoop实现实时查询

Javascript自然语言处理

  • Twitter-text-js —JavaScript实现的推特文本处理库
  • NLP.js —javascript及coffeescript编写的NLP工具
  • natural—Node下的通用NLP工具
  • Knwl.js—JS编写的自然语言处理器

数据分析/数据可视化


通用机器学习

  • Convnet.js—训练深度学习模型的JavaScript库。
  • Clustering.js—用JavaScript实现的聚类算法,供Node.js及浏览器使用。
  • Decision Trees—Node.js实现的决策树,使用ID3算法。
  • Node-fann —Node.js下的快速人工神经网络库。
  • Kmeans.js—k-means算法的简单Javascript实现,供Node.js及浏览器使用。
  • LDA.js —供Node.js用的LDA主题建模工具。
  • Learning.js—逻辑回归/c4.5决策树的JavaScript实现
  • Machine Learning—Node.js的机器学习库。
  • Node-SVM—Node.js的支持向量机
  • Brain —JavaScript实现的神经网络
  • Bayesian-Bandit —贝叶斯强盗算法的实现,供Node.js及浏览器使用。

Julia通用机器学习

  • PGM—Julia实现的概率图模型框架。
  • DA—Julia实现的正则化判别分析包。
  • Regression—回归分析算法包(如线性回归和逻辑回归)。
  • Local Regression —局部回归,非常平滑!
  • Naive Bayes —朴素贝叶斯的简单Julia实现
  • Mixed Models —(统计)混合效应模型的Julia包
  • Simple MCMC —Julia实现的基本mcmc采样器
  • Distance—Julia实现的距离评估模块
  • Decision Tree —决策树分类器及回归分析器
  • Neural —Julia实现的神经网络
  • MCMC —Julia下的MCMC工具
  • GLM —Julia写的广义线性模型包
  • Online Learning
  • GLMNet —GMLNet的Julia包装版,适合套索/弹性网模型。
  • Clustering—数据聚类的基本函数:k-means, dp-means等。
  • SVM—Julia下的支持向量机。
  • Kernal Density—Julia下的核密度估计器
  • Dimensionality Reduction—降维算法
  • NMF —Julia下的非负矩阵分解包
  • ANN—Julia实现的神经网络

自然语言处理

数据分析/数据可视化

杂项/演示文稿

Lua
通用机器学习

  • Torch7
    • cephes —Cephes数学函数库,包装成Torch可用形式。提供并包装了超过180个特殊的数学函数,由Stephen L. Moshier开发,是SciPy的核心,应用于很多场合。
    • graph —供Torch使用的图形包。
    • randomkit—从Numpy提取的随机数生成包,包装成Torch可用形式。
    • signal —Torch-7可用的信号处理工具包,可进行FFT, DCT, Hilbert, cepstrums, stft等变换。
    • nn —Torch可用的神经网络包。
    • nngraph —为nn库提供图形计算能力。
    • nnx—一个不稳定实验性的包,扩展Torch内置的nn库。
    • optim—Torch可用的优化算法库,包括 SGD, Adagrad, 共轭梯度算法, LBFGS, RProp等算法。
    • unsup—Torch下的非监督学习包。提供的模块与nn(LinearPsd, ConvPsd, AutoEncoder, …)及独立算法 (k-means, PCA)等兼容。
    • manifold—操作流形的包。
    • svm—Torch的支持向量机库。
    • lbfgs—将liblbfgs包装为FFI接口。
    • vowpalwabbit —老版的vowpalwabbit对torch的接口。
    • OpenGM—OpenGM是C++编写的图形建模及推断库,该binding可以用Lua以简单的方式描述图形,然后用OpenGM优化。
    • sphagetti —MichaelMathieu为torch7编写的稀疏线性模块。
    • LuaSHKit —将局部敏感哈希库SHKit包装成lua可用形式。
    • kernel smoothing —KNN、核权平均以及局部线性回归平滑器
    • cutorch—torch的CUDA后端实现
    • cunn —torch的CUDA神经网络实现。
    • imgraph—torch的图像/图形库,提供从图像创建图形、分割、建立树、又转化回图像的例程
    • videograph—torch的视频/图形库,提供从视频创建图形、分割、建立树、又转化回视频的例程
    • saliency —积分图像的代码和工具,用来从快速积分直方图中寻找兴趣点。
    • stitch —使用hugin拼合图像并将其生成视频序列。
    • sfm—运动场景束调整/结构包
    • fex —torch的特征提取包,提供SIFT和dSIFT模块。
    • OverFeat—当前最高水准的通用密度特征提取器。
  • Numeric Lua
  • Lunatic Python
  • SciLua
  • Lua – Numerical Algorithms
  • Lunum

演示及脚本

  • Core torch7 demos repository.核心torch7演示程序库
    • 线性回归、逻辑回归
    • 人脸检测(训练和检测是独立的演示)
    • 基于mst的断词器
    • train-a-digit-classifier
    • train-autoencoder
    • optical flow demo
    • train-on-housenumbers
    • train-on-cifar
    • tracking with deep nets
    • kinect demo
    • 滤波可视化
    • saliency-networks
  • Training a Convnet for the Galaxy-Zoo Kaggle challenge(CUDA demo)
  • Music Tagging—torch7下的音乐标签脚本
  • torch-datasets 读取几个流行的数据集的脚本,包括:
    • BSR 500
    • CIFAR-10
    • COIL
    • Street View House Numbers
    • MNIST
    • NORB
  • Atari2600 —在Arcade Learning Environment模拟器中用静态帧生成数据集的脚本。

Matlab计算机视觉

  • Contourlets —实现轮廓波变换及其使用函数的MATLAB源代码
  • Shearlets—剪切波变换的MATLAB源码
  • Curvelets—Curvelet变换的MATLAB源码(Curvelet变换是对小波变换向更高维的推广,用来在不同尺度角度表示图像。)
  • Bandlets—Bandlets变换的MATLAB源码

自然语言处理

  • NLP —一个Matlab的NLP库

通用机器学习

数据分析/数据可视化

  • matlab_gbl—处理图像的Matlab包
  • gamic—图像算法纯Matlab高效实现,对MatlabBGL的mex函数是个补充。

.NET计算机视觉

  • OpenCVDotNet —包装器,使.NET程序能使用OpenCV代码
  • Emgu CV—跨平台的包装器,能在Windows, Linus, Mac OS X, iOS, 和Android上编译。

自然语言处理

  • Stanford.NLP for .NET —斯坦福大学NLP包在.NET上的完全移植,还可作为NuGet包进行预编译。

通用机器学习

  • Accord.MachineLearning —支持向量机、决策树、朴素贝叶斯模型、K-means、高斯混合模型和机器学习应用的通用算法,例如:随机抽样一致性算法、交叉验证、网格搜索。这个包是Accord.NET框架的一部分。
  • Vulpes—F#语言实现的Deep belief和深度学习包,它在Alea.cuBase下利用CUDA GPU来执行。
  • Encog —先进的神经网络和机器学习框架,包括用来创建多种网络的类,也支持神经网络需要的数据规则化及处理的类。它的训练采用多线程弹性传播。它也能使用GPU加快处理时间。提供了图形化界面来帮助建模和训练神经网络。
  • Neural Network Designer —这是一个数据库管理系统和神经网络设计器。设计器用WPF开发,也是一个UI,你可以设计你的神经网络、查询网络、创建并配置聊天机器人,它能问问题,并从你的反馈中学习。这些机器人甚至可以从网络搜集信息用来输出,或是用来学习。

数据分析/数据可视化

  • numl —numl这个机器学习库,目标就是简化预测和聚类的标准建模技术。
  • Math.NET Numerics— Math.NET项目的数值计算基础,着眼提供科学、工程以及日常数值计算的方法和算法。支持 Windows, Linux 和 Mac上的 .Net 4.0, .Net 3.5 和 Mono ,Silverlight 5, WindowsPhone/SL 8, WindowsPhone 8.1 以及装有 PCL Portable Profiles 47 及 344的Windows 8, 装有 Xamarin的Android/iOS 。
  • Sho —Sho是数据分析和科学计算的交互式环境,可以让你将脚本(IronPython语言)和编译的代码(.NET)无缝连接,以快速灵活的建立原型。这个 环境包括强大高效的库,如线性代数、数据可视化,可供任何.NET语言使用,还为快速开发提供了功能丰富的交互式shell。

Python计算机视觉

  • SimpleCV—开源的计算机视觉框架,可以访问如OpenCV等高性能计算机视觉库。使用Python编写,可以在Mac、Windows以及Ubuntu上运行。

自然语言处理

  • NLTK —一个领先的平台,用来编写处理人类语言数据的Python程序
  • Pattern—Python可用的web挖掘模块,包括自然语言处理、机器学习等工具。
  • TextBlob—为普通自然语言处理任务提供一致的API,以NLTK和Pattern为基础,并和两者都能很好兼容。
  • jieba—中文断词工具。
  • SnowNLP —中文文本处理库。
  • loso—另一个中文断词库。
  • genius —基于条件随机域的中文断词库。
  • nut —自然语言理解工具包。

通用机器学习

  • Bayesian Methods for Hackers —Python语言概率规划的电子书
  • MLlib in Apache Spark—Spark下的分布式机器学习库。
  • scikit-learn—基于SciPy的机器学习模块
  • graphlab-create —包含多种机器学习模块的库(回归,聚类,推荐系统,图分析等),基于可以磁盘存储的DataFrame。
  • BigML—连接外部服务器的库。
  • pattern—Python的web挖掘模块
  • NuPIC—Numenta公司的智能计算平台。
  • Pylearn2—基于Theano的机器学习库。
  • hebel —Python编写的使用GPU加速的深度学习库。
  • gensim—主题建模工具。
  • PyBrain—另一个机器学习库。
  • Crab —可扩展的、快速推荐引擎。
  • python-recsys —Python实现的推荐系统。
  • thinking bayes—关于贝叶斯分析的书籍
  • Restricted Boltzmann Machines —Python实现的受限波尔兹曼机。[深度学习]。
  • Bolt —在线学习工具箱。
  • CoverTree —cover tree的Python实现,scipy.spatial.kdtree便捷的替代。
  • nilearn—Python实现的神经影像学机器学习库。
  • Shogun—机器学习工具箱。
  • Pyevolve —遗传算法框架。
  • Caffe —考虑了代码清洁、可读性及速度的深度学习框架
  • breze—深度及递归神经网络的程序库,基于Theano。

数据分析/数据可视化

  • SciPy —基于Python的数学、科学、工程开源软件生态系统。
  • NumPy—Python科学计算基础包。
  • Numba —Python的低级虚拟机JIT编译器,Cython and NumPy的开发者编写,供科学计算使用
  • NetworkX —为复杂网络使用的高效软件。
  • Pandas—这个库提供了高性能、易用的数据结构及数据分析工具。
  • Open Mining—Python中的商业智能工具(Pandas web接口)。
  • PyMC —MCMC采样工具包。
  • zipline—Python的算法交易库。
  • PyDy—全名Python Dynamics,协助基于NumPy, SciPy, IPython以及 matplotlib的动态建模工作流。
  • SymPy —符号数学Python库。
  • statsmodels—Python的统计建模及计量经济学库。
  • astropy —Python天文学程序库,社区协作编写
  • matplotlib —Python的2D绘图库。
  • bokeh—Python的交互式Web绘图库。
  • plotly —Python and matplotlib的协作web绘图库。
  • vincent—将Python数据结构转换为Vega可视化语法。
  • d3py—Python的绘图库,基于D3.js。
  • ggplot —和R语言里的ggplot2提供同样的API。
  • Kartograph.py—Python中渲染SVG图的库,效果漂亮。
  • pygal—Python下的SVG图表生成器。
  • pycascading

杂项脚本/iPython笔记/代码库

Kaggle竞赛源代码

Ruby自然语言处理

  • Treat—文本检索与注释工具包,Ruby上我见过的最全面的工具包。
  • Ruby Linguistics—这个框架可以用任何语言为Ruby对象构建语言学工具。包括一个语言无关的通用前端,一个将语言代码映射到语言名的模块,和一个含有很有英文语言工具的模块。
  • Stemmer—使得Ruby可用 libstemmer_c中的接口。
  • Ruby Wordnet —WordNet的Ruby接口库。
  • Raspel —aspell绑定到Ruby的接口
  • UEA Stemmer—UEALite Stemmer的Ruby移植版,供搜索和检索用的保守的词干分析器
  • Twitter-text-rb—该程序库可以将推特中的用户名、列表和话题标签自动连接并提取出来。

通用机器学习

数据分析/数据可视化

Misc
杂项

R通用机器学习

数据分析/数据可视化

Scala自然语言处理

  • ScalaNLP—机器学习和数值计算库的套装
  • Breeze —Scala用的数值处理库
  • Chalk—自然语言处理库。
  • FACTORIE—可部署的概率建模工具包,用Scala实现的软件库。为用户提供简洁的语言来创建关系因素图,评估参数并进行推断。

数据分析/数据可视化

  • MLlib in Apache Spark—Spark下的分布式机器学习库
  • Scalding —CAscading的Scala接口
  • Summing Bird—用Scalding 和 Storm进行Streaming MapReduce
  • Algebird —Scala的抽象代数工具
  • xerial —Scala的数据管理工具
  • simmer —化简你的数据,进行代数聚合的unix过滤器
  • PredictionIO —供软件开发者和数据工程师用的机器学习服务器。
  • BIDMat—支持大规模探索性数据分析的CPU和GPU加速矩阵库。

通用机器学习

  • Conjecture—Scalding下可扩展的机器学习框架
  • brushfire—scalding下的决策树工具。
  • ganitha —基于scalding的机器学习程序库
  • adam—使用Apache Avro, Apache Spark 和 Parquet的基因组处理引擎,有专用的文件格式,Apache 2软件许可。
  • bioscala —Scala语言可用的生物信息学程序库
  • BIDMach—机器学习CPU和GPU加速库。

原文链接: awesome-machine-learning
译文链接: http://blog.jobbole.com/73806/

circular RNA mapping tools 环状RNA比对工具

A multi-split mapping algorithm for circular RNA, splicing, trans-splicing and fusion detection

Numerous high-throughput sequencing studies have focused on detecting conventionally spliced mRNAs in RNA-seq data. However, non-standard RNAs arising through gene fusion, circularization or trans-splicing are often neglected. We introduce a novel, unbiased algorithm to detect splice junctions from single-end cDNA sequences. In contrast to other methods, our approach accommodates multi-junction structures. Our method compares favorably with competing tools for conventionally spliced mRNAs and, with a gain of up to 40% of recall, systematically outperforms them on reads with multiple splits, trans-splicing and circular products. The algorithm is integrated into our mapping tool segemehl (www.bioinf.uni-leipzig.de/Software/segemehl/).

常见生物软件使用技巧汇集

【絮语】和生物学软件打交道,难免会遇到各式各样的问题,如何针对不同软件的特点,择优选用以事半功倍解决问题?鉴于此,特整理此帖,希望对新手有用,持续更新,敬请关注。Q1.怎么查找序列保守区?
A1:很多人查找序列保守区,一般通过序列多重比对后,肉眼判断序列保守区,但此法难免太主观,不具重复性,且选择的保守区无法受统计上的显著性检验。其 实,实现这一目的,可以使用DnaSP–>  “Analysis”  –>“Conserved DNA region”…


【Raindy 注】设计简并引物,用此法,简单易用 ,强烈推荐…

Q2.  多个 FASTA格式保存的单条序列如何批量快速合并为一个文件?
A2 : 一条条添加,费时费劲,且容易出错。解决的办法有两个:一是可以通过DNAMAN的“多重序列比对”后导出功能,即:添加序列所在的目录,或全选相关文 件,进行多重比对,导出Clustal aln 文件,然后再转换为FASTA;二是使用我们2012年新开发的序列火枪手套件的“Seq Merger.exe” 即可快速实现合并。

Q3. 如何解决 Clustalx 多重比对(*.Aln格式)后转为MEGA 格式时提示出错的问题?
A3:检查所转换 MEGA 的 *.meg 文件最后几行内容是否有*号,全部删减之即可。因为 Clustalx 多重比对后,程序会自动添加一致序列。

Q4. 为什么DNAMAN软件的很多功能菜单都显示无法使用?
A4:DNAMAN软件的精华在于通道(Channel)的应用,遇到功能菜单呈灰度无法使用时,不妨将序列载入通道后再试试…

Q5. 如何让多重比对美观显示又不占篇幅?
A5:推荐使用Web Logo (http://weblogo.berkeley.edu/logo.cgi)或 Sequence Logo之类的在线工具处理。其实这类工具还有一个妙用-可用于设计简并引物,简并序列一目了然,如下图的第7个碱其位点,G/A=R。

Q6. 如何在多重比对序列的上方显示对应的蛋白质二级结构?
A6:使用 ESPript(http://espript.ibcp.fr/ESPript/cgi-bin/ESPript.cgi)对多重比对序列着色的同时,上传预测的蛋白质结构文件*.pdb 即可,效果如下图所示:

Q7. 如何批量将核苷酸序列翻译为蛋白质序列?
A7: 推荐使用 MEGA 中的Alignment Explorer,先将待翻译的序列以 FASTA 格式保存,鼠标右键“打开方式”选择用MEGA打开,在MEGA界面点击“Translated Protein Sequence”即可(下图箭头指示位置),最后在“Data”菜单导出序列保存:

Q8. 如何快速批量下载指定的序列?
A8:通常办法是借助一些生物软件的检索功能,诸如:Bioedit、Geneious、MacVector等。其实,NCBI自带的Batch Entrez 只需简单三步即可轻松完成这一任务,详见本人空间日志《如何批量下载指定的序列》:http://user.qzone.qq.com/58001704/blog/1359943301

Q9. 如何快速进行基因的选择压力检测及检验?
A9: 提及基因选择压力的检测,Phylogenetic Analysis by Maximum Likelihood (PAML)可能是第一反应的分析工具,但PAML的操作令不少初学者望而却步,快速完成基因的选择压力分析,推荐使用一个在线服务器Adaptive Evolution Server(http://www.datamonkey.org/),提交序列后,先选择一个最适的进化模型,再选择一个压力检测方法即可,如:病毒群体的可以选用IEFL法。
【Raindy 注】Adaptive Evolution Server中GARD法是目前流行用于检测重组的方法,非常不错,推荐使用。

Q10. 如何对多重比对序列进行排序?
A10: 由于序列比对矩阵分值的不同,Clustalx比对后的序列顺序会发生变化,解决比对后序列重新排序的问题,可以使用两个软件:(1)MEGA5 中的子程序 Alignment Explorer,点击Species/Abbriviation栏即可实现序列升/降排序;(2)直接用 MAFFT软件比对,在输出格式选项设置输出序列顺序即可,详见本人空间日志《MAFFT多重序列比对图解教程(By Raindy) 》。

Q11. 如何对多重比对序列进行排序?如何解决 Word 2007/2010 中打开带 EndNote X6/7 的文件响应缓慢甚至假死问题?
A11: 由于Word中某一项拼写和语法检查功能与 EndoNote 冲突,依次打开在 Word 中点击”文件”-“选项”-“校对”-“在Word文档中更正拼写和语法时”标签,取消选中“键入时标记语法错误”即可。

bam文件提取,bam转sam再转fastq的脚本

##bam提取
java -Xmx15g -jar GATK/GenomeAnalysisTK-1.3-24-gc8b1c92/GenomeAnalysisTK.jar \
-R hg19fastadatabase/ucsc.hg19.fasta \
-T PrintReads \
-I exon_sort_realign_dedup_mate_recal.bam \
-o TP53.bam \
-L chr17:7571720-7590863

##bam转sam
java -Xmx4g -jar picard-tools-1.55/SamFormatConverter.jar \
INPUT= TP53.bam \
OUTPUT= TP53.sam

##sam转到fastq
java -Xmx4g -jar picard-tools-1.55/SamToFastq.jar \
INPUT= TP53.sam \
FASTQ= TP53_R1.fastq \
SECOND_END_FASTQ= TP53_R2.fastq

biotools

EMBOSS常用生物信息工具镜像-全局比对工具等
基因组序列CGR图形的分形特征Chaos Game Representation of DNA
核苷酸序列距离Oligonucleotide frequency based distance among sequences
DNA翻译蛋白DNA to protein translation 
回文序列Palindromic sequences finder 
GC岛GC Contenf Finder
计算TM值Melting Temperature (Tm) Calculation 
芯片数据分析Microarray Data Analysis (adaptive quantification method) 
微卫星标记Microsatellite repeats finder 
计算核苷酸个数Frequency of nucleotides and oligonucleotides 
电子PCR amplification 
蛋白序列特征Protein sequence properties 
蛋白到DNAProtein to DNA reverse translation 
随机序列Random sequences
氨基酸性质分类Reduced alphabets for proteins
限制酶分析Restriction enzyme digest of DNA 
序列比对:Alignment of two DNA, RNA or protein sequences 
DNA特征DNA sequence manipulation/properties 
含量统计图GC-, AT-, KETO- and oligo-skews generator
常用公式Formula functions

EMBOSS常用生物信息工具镜像-全局比对工具等

EMBOSS常用生物信息工具镜像-全局比对工具

具有很多全局的相似性比对工具,和一个序列的特征统计软件。

人类hg18版本到hg19版本的坐标转换 UCSC: convert from hg18 to hg19

http://genome.ucsc.edu/cgi-bin/hgLiftOver

This tool converts genome coordinates and genome annotation files between assemblies.  The input data can be pasted into the text box, or uploaded from a file.  If a pair of assemblies cannot be selected from the pull-down menus, a direct lift between them is unavailable.  However, a sequential lift may be possible.  Example: lift from Mouse, May 2004, to Mouse, Feb. 2006, and then from Mouse, Feb. 2006 to Mouse, July 2007 to achieve a lift from mm5 to mm9.