05 11
Circos是一个功能强大的数据和信息可视化工具,这好像是我迄今为止见到的最难安装的软件,折腾了半天才安装成功。
在Ubuntu中安装,首先要按照其网站上的说明进行如下操作:
tar xvfz circos-x.xx.tgz
cd circos-x.xx
Now either change the first line in scripts in bin/* and tools/*/bin to
#!/usr/bin/env perl
or (better) make a symlink from /usr/bin/env to /bin/env
sudo su
cd /bin
ln -s /usr/bin/env env
然后还要安装下面这些Perl模块,以Config::General为例,安装方法是:
sudo perl -MCPAN -e shell
cpan> install Config::General
Carp
Config::General
Cwd
Data::Dumper
Digest::MD5
File::Basename
File::Spec::Functions
File::Temp
FindBin
Font::TTF::Font
GD
GD::Image
GD::Polyline
Getopt::Long
IO::File
List::MoreUtils
List::Util
Math::Bezier
Math::BigFloat
Math::Round
Math::VecStat
Memoize
Params::Validate
Pod::Usage
POSIX
Readonly
Regexp::Common
Set::IntSpan
Storable
Sys::Hostname
Text::Format
Time::HiRes
安装这些模块过程中,GD,GD::Image及GD::Polyline这些模块比较麻烦,总是提示安装失败。
退出cpan
cpan> q
安装libgd-gd2-noxpm-perl
sudo apt-get install libgd-gd2-noxpm-perl
然后删除~/.cpan/build这个文件夹中所有以GD开头的文件和文件夹
重新进入cpan,继续安装perl模块即可。
这玩意儿虽然比较难安装,但作出来的图的确是相当漂亮的!
02 25
BLAST+与BLAST相比,有很多改进和提高,NCBI强烈推荐放弃BLAST,使用BLAST+, 这里说的BLAST和BLAST+,都是本地的,与之前的那个批量BLAST小程序不是一回事。BLAST下载地址:NCBI BLAST+ 。BLAST+的一般用法如下:
格式化数据库
makeblastdb -in db.fasta -dbtype prot -parse_seqids -out dbname
参数说明:
-in:待格式化的序列文件
-dbtype:数据库类型,prot或nucl
-out:数据库名
蛋白序列比对蛋白数据库(blastp)
blastp -query seq.fasta -out seq.blast -db dbname -outfmt 6 -evalue 1e-5 -num_descriptions 10 -num_threads 8
参数说明:
-query: 输入文件路径及文件名
-out:输出文件路径及文件名
-db:格式化了的数据库路径及数据库名
-outfmt:输出文件格式,总共有12种格式,6是tabular格式对应BLAST的m8格式
-evalue:设置输出结果的e-value值
-num_descriptions:tabular格式输出结果的条数
-num_threads:线程数
核酸序列比对核酸数据库(blastn)以及核酸序列比对蛋白数据库(blastx)
与上面的blastp用法类似:
blastn -query seq.fasta -out seq.blast -db dbname -outfmt 6 -evalue 1e-5 -num_descriptions 10 -num_threads 8
blastx -query seq.fasta -out seq.blast -db dbname -outfmt 6 -evalue 1e-5 -num_descriptions 10 -num_threads 8
以上的参数说明只是一些常用的参数,完整的参数说明可以用-help查询。
02 18
经常有人问我如何学编程、如何学电脑之类的问题,我基本不知道怎么回答,现在找到答案了,看看下面这位12岁的老外小朋友是“如何学编程”的吧:
这是12岁Thomas Suarez在“TED Talks”上的演讲视频,他谈到了Python、Java和C语言,我觉得一点基础也没有的人学习编程从Python开始是个不错的选择。
02 02
SATA硬盘(又叫串口硬盘)的各方面的性能都比普通硬盘好,但是在SATA硬盘上安装系统实在是让人头疼的事情。由于之前一直没有在这种硬盘上安装过系统,工作站的系统坏了之后,折腾了一天多的时间才搞定。根据我了解和观察,大致的情况是这样的:
安装Windows XP,必须用到系统安装盘,软驱和带有硬盘驱动程序的软盘,没有软驱的SATA硬盘的电脑无法安装XP;
安装Windows 7, 可以将驱动程序放到U盘或光盘代替软盘;
安装Linux(Ubuntu 10.04),不需要驱动程序也可以安装,但是成功安装之后,重启无法进入,可能通过一定设置可以解决,但我没找到方法。
要在一个既没有Windows又没有Linux的SATA硬盘的电脑上安装这两个系统,我是这样折腾的:
首先安装Windows 7,在联想官网上下载的驱动cdsas09ws17.exe解压之后的文件竟然不能用,不知怎么回事,换成买工作站时候带的光盘里的驱动就可以,比较奇怪。
Win7安装之后,可以顺利启动,一切OK,接下来用光盘安装Ubuntu,也可顺利安装,可是安装之后Win 7和Ubuntu两个系统都进不去了,提示“无法引导”。
接下来,再安装一次Win7,又顺利安装成功了,也可以顺利重启,可是启动菜单中没有Ubuntu,到这一步,解决方法就很容易了,方法见这里:Win7和Ubuntu双系统问题
真是很折腾啊,不知道有没有什么好办法。
01 03
这里所说的超大内存是指512GB以上,1TB甚至是2TB(注意是内存大小不是硬盘大小),目前内存100GB以下的工作站现在已经很便宜了,大约30K-40K港币(5K美元)左右就可以买到,而超大内存的机子却非常贵,在这篇文章中(blogspot上的文章,需翻墙),作者认为计算机的Memory比CPU对于下一代测序(高通量测序)数据分析更为重要,并且解释了为什么用计算机集群很难代替超大内存的计算机用于高通量测序数据分析。
上面这篇文章中提到的512G内存的机器,价格是55K美元。
Dell的PowerEdge R910机架式服务器,1TB内存,价格大约为50K-100K美元,2TB内存,超过200K美元。
12 20
刚刚速成了一下shell语言,在试着用它写个小脚本的时候发现,这种编程语言的if语句用起来讲究还蛮多的,比如下面这段程序,就有很多错误:
#!/bin/bash
while read line
do
if [$line != "abc"]; then
echo $line;
fi
done < "input.txt"
运行的时候会报unexpected operator,xxx not found, too many arguments等各种错误。
原因是if后面的[]中前后都要有一个空格,并且$line这个变量要放在引号中。
正确的写法如下:
#!/bin/bash
while read line
do
if [ "$line" != "abc" ]; then
echo $line;
fi
done < "input.txt"
10 20
Mothur是一个架构非常好的生物信息学软件,把大量的工具和模块整合到了一起,并且将输入和输出标准化,非常简单易学。在高通量测序数据处理中特别有用。Mothur可以在Mac、Windows和Linux中运行,在Ubuntu系统中通过源代码编译的方式安装过程如下:
1. 安装GCC
sudo apt-get install build-essential
2. 安装readline库
sudo apt-get install libreadline-dev
3. 编辑Makefile文件
将TARGET_ARCH 这一行注释掉,去掉 CXXFLAGS 这一行的注释; 另外根据机器配置选择是否64位版本,64BIT_VERSION ?= yes 。具体参考这里的说明。
4. 进入源代码所在文件夹,编译
make
编译需要很长一段时间,编译结束后将生成的mothur这个可执行文件所在的目录加入环境变量中,或者将mothur这个文件复制到已经在环境变量中的目录中即可。
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的详细安装说明,好长的一大篇,看了头会晕。
10 08
这是我去年春节假期的时候写的一个小软件,用于把高通量测序的结果以DGGE的形式展示出来。
DGGE虽然有无数的缺点,以至于正在被淘汰,但是它的结果展现形式非常直观,我决定把这种直观的方式移植到高通量测序领域来,于是就有了这个小软件。实际上这种图不仅仅可以用于高通量测序,一切与多样性和丰度有关的数据都可以用这种方式来表示。
生成的图像效果如下:

继续阅读 »
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这个软件,也可以使用这些命令。