11 13
下面是几个被广泛使用的高通量测序数据分析软件,主要是针对微生物的,并且主要用于分析16S rDNA PCR产物或宏基因组(Metagenome)高通量测序数据,了解样品中细菌或古菌等微生物的种群及功能的多样性和丰度。
1. Mothur
网站:http://www.mothur.org/
第一次见到这个软件的时候,就被它的架构深深折服了,设计的实在是太好了!包含了各种各样常用的序列处理功能,并且功能随着开发的进行,很多新的功能和模块不断被整合进去。在Linux、Windows和Mac系统下都可以安装,使用起来非常简,网站上的使用说明也非常清晰、条理,稍微看一下,几个小时甚至更短时间就可以学会。
在Ubuntu中通过源代码编译安装Mothur的方法。
2. MEGAN
网站:http://ab.inf.uni-tuebingen.de/software/megan/
注意是MEGAN,不是MEGA。这个软件设计的也非常好,它主要是使用LCA算法,分析BLAST结果。除了进行物种的丰度和多样性分析,也可以进行功能基因的多样性和丰度分析。用Java写的,各种平台都可以运行。
3. Qiime
网站:http://qiime.sourceforge.net/
这是一个专门用于分析微生物PCR产物高通量测序数据的pipeline,主要用Python写的,也整合了很多其它的工具包。这个软件的特点是生成的图挺漂亮的,但是使用起来不是非常容易,甚至对于很多人来说成功在电脑上安装都是非常困难的。只支持Linux和Mac系统,在Windows下使用必须在虚拟机中安装。最简单的安装方法是在亚马逊的云计算平台EC2 image中安装使用。
4. STAMP
网站:http://kiwi.cs.dal.ca/Software/STAMP
这个软件主要用于分析宏基因组(Metagenome)高通量测序数据,对多个样品的Metagenomic profiles进行统计分析和比较。各种系统下都可以安装使用。
10 17
Biopython是Python的计算分子生物学和生物信息学工具包,它使得python在生物学数据处理中变得更加强大和高效,在Windows中安装biopython非常简单,下载之后,双击然后一路点下一步就可以了。在Linux中安装有多种方法,以Ubuntu(10.04)为例:
方法一:使用apt-get install方式安装
sudo apt-get install python-biopython
只有一行命令,可是这种方法安装的不是最新版本,很多新的功能不能用,非常不爽,不建议使用这种方法安装。
方法二:使用easy_install安装
(1)安装python-dev,不然会出现Setup script exited with error: command ‘gcc’ failed with exit status 1错误
sudo apt-get install python-dev
(2)安装easy_install工具
sudo apt-get install python-setuptools
(3)安装biopython
sudo easy_install -f http://biopython.org/DIST/ biopython (DIST/和biopython之间有个空格)
(4) 安装Numpy
从http://numpy.scipy.org/下载numpy,现在的最新版本是numpy-1.6.1.tar.gz
tar -xzvpf numpy-1.6.1.tar.gz
cd numpy-1.6.1/
python setup.py build
sudo python setup.py install
还可以继续安装一些其它的dependencies,如flex,ReportLab等等,暂时不装,需要的时候再装也可以。
这里有biopython的详细安装说明,好长的一大篇,看了头会晕。
08 22
Linux里面的命令行用习惯之后的感觉真是太爽了,一个命令,能搞定很多东西,比如fasta文件拆分、提取与合并,非常简单。
很久之前还写过一个小软件用于合并多个fasta文件,还有用BioEdit合并多个基因序列文件,现在想想真是too naive!
FASTA文件拆分:
1. 从a.fasta中提取第10至第20个序列存到b.fasta中
-
awk -v RS='>' 'NR>1{i++}i>=10&&i<=20{print ">"$0}' a.fasta|sed '/^$/d'>b.fasta
上面命令行中的红色的10和20可以换为其它数字
2.将input.fasta中第每一条序列保存到一个文件中, 这个是在网上看到的,链接在这里。
awk '/^>/{f=++d".fasta"} {print > f}' input.fasta
FASTA文件合并:
cat *.fasta > output.fasta
awk是Unix/Linux下的一种用于文本处理的编程语言,Sed是Unix/Linux下的一种流编辑器。功能都非常强大。
当然这些操作用Python或Perl编程也很容易实现,但不如命令行这么直截了当。
另外,在Windows下如果安装了Cygwin这个软件,也可以使用这些命令。
06 11
EC2是亚马逊(Amazon.com)提供的弹性云计算服务;
Apache是一个跨平台的Web服务器端软件,可以使Python、PHP、Perl等语言编写的程序运行在服务器上;
Django是一个Web程序框架,应用这个框架,可以使Python Web程序的编写变得更加简单;
Amazon S3是亚马逊提供的云存储服务;
Amazon EC2与Amazon S3结合, 几乎可以提供无限的存储空间和无限的计算能力。
以上这些东西综合在一起,就可以用简单易用的Python做出一个提供海量数据处理功能的网站,感觉这玩意儿应该在高通量测序数据数据处理方面有点用。
下面是在亚马逊EC2上部署Apache和Django的步骤:
继续阅读 »
05 28
2011.7.29更新:现在想想,下面这些以前的观点不是完全正确,处理PCR产物高通量测序的数据,用PC勉强可以,但是处理宏基因组数据(一般数据量都是1G以上),最起码得用工作站电脑,最好能用大型机。
—————-
众所周知,数据分析是高通量测序应用于生物研究最关键的步骤,分析不好,得到的海量数据无异于一堆垃圾。下面是刚刚接触高通量测序数据分析的同学可能比较关心的几个问题。需要说明的是:这些都是基于微生物领域且数据量不是特别大的情况。其它领域(植物、动物、医学等等)的高通量测序数据处理我暂时还不太了解。
1. 是不是一定要用大型计算机?
除了序列拼接组装以外,其它分析不是一定要大型计算机,在普通的PC上也可以进行一些处理,当然,买一台或几台高性能的工作站电脑,能显著加快数据处理的速度。
继续阅读 »
02 06
以前读本科的时候总喜欢偶尔编个小程序啥的,可是那时候买不起电脑,经常都是写了程序之后在脑子里运行几次就算了,每天做梦都想有台自己的电脑,那滋味……后来读研究生的时候有电脑了,可是太忙了,每天除了做实验,就是在琢磨怎么赚钱,把编程序这事儿就逐渐放下了,也都忘的差不多了。前段时间由于处理高通量测序的结果需要写些程序,于是又比较系统的复习了一下,尤其比较多地看了些关于Python的资料。正好最近Facebook搞了个Hacker Cup编程比赛,就去试了一下。
继续阅读 »
02 05
Python是一种面向对象、直译式计算机程序设计语言,也是一种功能强大的通用型语言(维基百科)。自从上次写那个批量Blast小程序的时候接触了Python,发现这个玩意儿真是好用,后来还用它弄了个动态作图小程序,最近在处理高通量测序数据的时候也一直用Python,越用觉得好用!给大家推荐一下,如果你想快速学一种实用的编程语言用来写小程序或处理数据,就学Python吧。
继续阅读 »
09 05
最近遇到一个需要动态作图的问题,情况是这样的:有一台仪器(一台天平)不断通过串口向计算机发送数据,在计算机中用Terminal这个串口调试工具接收数据后记录到一个名字为data.log的文本文档中,现在需要将记录的数据动态地通过图形展现出来。
继续阅读 »
07 26
问题是这样的:有很多很多序列,几百条,想大致了解一下这些序列分别是什么样的微生物,如果一条一条去blast,那是相当的累。想找一个工具告诉我每条序列blast结果的前几条的名称是什么即可,不需要其它信息。
在网上找了一下,没找到合适的软件或工具,虽然有些关于批量blast的教程之类的,比如这个,但是给出的结果及其繁琐,很多不需要的信息。
后来发现Biopython可以很简单就进行批量Blast。只需先安装Python和Biopython,Python和Biopython的下载地址分别为:
http://www.python.org/download/
http://www.biopython.org/wiki/Download
继续阅读 »