之前我硕士期间主要做的是 预测蛋白质和ncRNA在细胞中的分布, 即蛋白质和ncRNA亚细胞定位的预测,处理高通量数据的时间不多,都是帮别人处理,自己没有系统地了解。现在必须要从头到尾自己处理了,记录一下主要环节。
我的目的是要分析网络,研究cell type conversion, 构建网络完全不是研究目的,更不是去研究高通量数据的处理,我只想利用已有工具尽快完成第一步,搞定网络的构建,已便把主要时间和精力放在网络的分析和new mathematical theory of complex systems or complex networks 上面。
1. 下载
Bowtie和Bowtie 2都可以在这里下载: http://sourceforge.net/projects/bowtie-bio/files/
这里以 Building from source 为例子, 从而需要下载其源代码,而非针对特定OS已经编译好了的binary release. 从而 32bit和64bit的Windows, Linux, Mac OS 都可以这样做。
我下载的是以下2个文件:
bowtie-1.0.0-src.zip
bowtie2-2.1.0-source.zip
2. 编译
分别解压下载的那2个文件,打开linux terminal (我用的是Linux Mint, 64 bit), 让terminal进入解压后的某一个目录,比如bowtie2-2.1.0, 运行“make”。 若编译没有异常,编译好以后分别运行:
chmod 777 bowtie2
./bowtie2
若没有问题,会显示出bowtie2的使用信息。
bowtie-1.0.0同上:
cd /home/lilab/bowtie-1.0.0
make
chmod 777 bowtie
./bowtie
若下载的是已经编译好了的二进制可执行文件,则可以跳过这一步。
3. 下载参考基因组
既然是把测序片段比对到参考基因组上,当然就需要reads and reference genome, reads就是自己要处理的数据, 对应物种的 reference genome需要在数据库中下载。
对于bowtie-1.0.0:
关键是要Indexing a reference genome, Bowtie网站( http://bowtie-bio.sourceforge.net/index.shtml ) 的右边有Pre-built indexes,根据物种下载相应的文件,这个文件解压后可以直接使用,若下载的是FASTA格式的基因组,需要Building a new index,用bowtie-build.
这里以酿酒酵母(Saccharomyces cerevisiae)为例, Pre-built indexes里面有这个物种,直接下载得到文件“s_cerevisiae.ebwt.zip”。 解压, 得到文件夹s_cerevisiae.ebwt,里面有几个文件。
把解压后的文件(不是文件夹)copy到目录 bowtie-1.0.0/indexes下面。
添加环境变量:
export BOWTIE_INDEXES=absolute/path/to/bowtie/indexes
此时在目录bowtie-1.0.0下运行命令:
./bowtie -c s_cerevisiae ATTGTAGTTCGAGTAAGTAATGTGGGTTTG
若没有问题,则会显示map结果。
其中的s_cerevisiae是指reference genome,上面copy到目录 bowtie-1.0.0/indexes下面的文件的名称都是以s_cerevisiae开头的,与文件的名称的第一个点号前面的内容完全一致(这一点是必须的)。
对于bowtie2-2.1.0:
若下载的是FASTA格式的基因组,需要Building a new index,用bowtie2-build, 就像其manual所说的“You can use bowtie2-build to create an index for a set of FASTA files obtained from any source, including sites such as UCSC, NCBI, and Ensembl. ”
还是以S. cerevisiae为例,先下载fasta格式的参考基因组:
http://hgdownload.soe.ucsc.edu/goldenPath/sacCer3/bigZips/
下载chromFa.tar.gz或chromFaMasked.tar.gz
解压,一个文件里放的是一条染色体序列,最好把所有序列放到一个文件“s_cerevisiae.fasta”里,这个小任务你可以手动完成,也可以用linux shell命令,我为此用perl写了几行代码,也可以用:
https://github.com/bigdataage/SmallTools/blob/master/merge.pl
然后在目录bowtie2-2.1.0下运行:
./bowtie2-build s_cerevisiae.fasta s_cerevisiae
若正常运行完,则可以使用了。
测试一下:
./bowtie2 -c s_cerevisiae ATTGTAGTTCGAGTAAGTAATGTGGGTTTG
4. 使用
这个和具体情况关系很大,参数自己弄懂后再决定。
比如:
对于bowtie-1.0.0:
./bowtie -q -S -t -p 80 -m 1 -v 3 --best --strata s_cerevisiae 1.fastq 1.sam
对于bowtie2-2.1.0:
./bowtie2 -x s_cerevisiae 1.fastq -S 1.sam
inputs are reads file 1.fastq and reference genome s_cerevisiae.
output file is 1.sam.
5. 添加环境变量
上面其实就完全可以用了,但是只能在目录bowtie-1.0.0或bowtie2-2.1.0下使用,不能在其它目录下使用。
在当前用户的主目录下找到隐藏文件“.profile”或类似文件,在这个文件的末尾增加2行,把bowtie所在的目录加到变量PATH中,比如我增加的两行是:
export PATH=$PATH:/home/lilab/ProgramFiles/bowtie2-2.1.0/
export PATH=$PATH:/home/lilab/ProgramFiles/bowtie-1.0.0/
export BOWTIE_INDEXES=absolute/path/to/bowtie-1.0.0/indexes
注销一下,或运行: source ~/.profile
这样就可以在当前用户的主目录下的任何目录下使用bowtie和bowtie2了。
OK!
联系客服