05

华大soap系列的比对软件

也不知道是什么原因,对国产软件总是提不起兴趣,所以尽管SOAP系列都已经发展到了十几个软件了,我依然没有去试用一下。

软件下载:
官网直接找到:http://soap.genomics.org.cn/
SOAPaligner/soap2 is a member of the SOAP (Short Oligonucleotide Analysis Package).
很久以前,大家说soap其实指的是类似于bwa这样的比对工具,但是后来这个工具箱丰富了,所以我们现在如果只看比对工具,要看的是SOAPaligner
我是linux系统,用wget下载:wget http://soap.genomics.org.cn/down/soap2.21release.tar.gz
解压,由于下载是可执行程序,就不需要安装啦!
1
安装之后把该软件添加到环境变量!
输入数据:
这里选择两个网络上的测试数据:
如果是真想用这个软件的话,需要参考基因组和测序数据,这个链接貌似已经年久失修啦~!
# download a test reference genome (TAIR9 Chromosome 1)
wget 
http://biocluster.ucr.edu/~tbackman/query.fastq 
# download some test Illumina reads from Arabidopsis

运行命令:

2bwt-builder genome.fasta
   # create binary of reference genome
soap -a query.fastq -D genome.fasta.index -o output.soap
   # align query to genome and store output

结果解读:

由于测试数据没有下载下来,我安装了软件就懒得玩了,其实正经的来讲,应该写一个详细的测评,包括软件运行速度,比对准确率,等等,不过那样做就是发paper的节奏了,我随便玩玩,就算啦。
不过soap是一直在更新的,所以我相信他比对的结果,肯定是sam格式的。
所以结果就不用解读啦!
15

融合基因检测软件-soapfusion

开发单位:华大,SOAP系列软件套装!

功能:检测合基因
优点:在现有的各种软件里面表现算是最好的
算法:是hash index,跟其它bwt算法不太一样
其它软件有: FusionSeq [21], deFuse [22], TopHat-Fusion [23], FusionHunter [24], SnowShoes-FTD [25], chimerascan [26] and FusionMap [27]
具体的算法我没看,因为只是有需求,正好有一些RNA-seq数据又想看看样本融合基因情况。所以就测试这个软件,通俗点说,融合基因原理其实很简单,如果有足够多的reads一部分比对到一个基因,另一部分比对到另一个基因,就可以说明它们两个基因发生了融合现象!如果是PE测序,那么更方便,左右两端reads比对情况也可以考虑。我就不多说废话了,直接上教程吧!
一,软件安装
下载压缩包,解压后即可使用!!!
推荐用最新版,然后看作者说明书的时候也要看清楚!
我反正好几次都搞糊涂了,最后联系了作者才搞明白,作者说他想更新到2.0版本,直接用HISAT的比对sam文件来做,但是还在筹备中,我觉得有点悬!
1
解压后是一堆perl程序,都在source目录下,source目录下面还有bin下面附带了几个第三方软件,包括bwa,blast和soap,最后都用得着!
有个很重要的问题,一定要软件自带的perl模块添加到perl的环境变量。不然那些perl程序运行会报错!
配置文件需要修改,就把几个目录放进去即可

二,输入数据准备

这里最重要的就是制作数据库!!!
作者给了非常详细的制作过程,我觉得还是不够清楚,所以再讲一遍!
首先下载5个文件:
6.5K Jun 15  2009 cytoBand.txt.gz
3.0G Oct 12  2012 hg19.fa
2.5M Mar 15 10:30 HGNC_Gene_Family_dataset
38M Feb  8  2014 Homo_sapiens.GRCh37.75.gtf.gz
202 Jan 19 16:07 HumanRef_refseg_symbols_relationship.list

文件下载地址,作者已经给出了!

我把这些文件都放在的当前文件夹下面的raw这个子文件夹,因为我要当前文件夹作为该软件的database文件夹!!!
然后运行命令!
我在SOAPfuse-v1.27文件下面运行:
perl ../SOAPfuse-v1.27/source/SOAPfuse-S00-Generate_SOAPfuse_database.pl  \
-wg raw/hg19.fa  -gtf raw/Homo_sapiens.GRCh37.75.gtf.gz  -cbd raw/cytoBand.txt.gz   -gf raw/HGNC_Gene_Family_dataset \
-rft raw/HumanRef_refseg_symbols_relationship.list \
 -sd ../SOAPfuse-v1.27 -dd ./

这一步耗时很长,4~6小时,创造了transcript.fa和gene.fa,然后还对他们建立bwa和soap的index,所以有点慢!

构建成功会有提示:
Congratulations!
You have constructed SOAPfuse database files successfully.
These database files are all stored in directory you supplied:
/home/jmzeng/biosoft/SOAPfuse/db_v1.27/
They are all generated based on public data files you supplied:
whole_genome_fasta_file:   /home/jmzeng/biosoft/SOAPfuse/db_v1.27/raw/hg19.fa
gtf_annotation_file:       /home/jmzeng/biosoft/SOAPfuse/db_v1.27/raw/Homo_sapiens.GRCh37.75.gtf.gz
Chr_Bandregion_file:       /home/jmzeng/biosoft/SOAPfuse/db_v1.27/raw/cytoBand.txt.gz
HGNC_gene_family_file:     /home/jmzeng/biosoft/SOAPfuse/db_v1.27/raw/HGNC_Gene_Family_dataset
gtf_segname2refseg_list:   /home/jmzeng/biosoft/SOAPfuse/db_v1.27/raw/HumanRef_refseg_symbols_relationship.list
这些目录很重要,接下来制作配置文件会用得着!
To use these database files, just set the 'DB_db_dir' in config file as belowed:
DB_db_dir  =   /home/jmzeng/biosoft/SOAPfuse/db_v1.27
配置文件需要修改下面5个
DB_db_dir = /DATABASE_DIR/
PG_pg_dir = /TOOL_DIR/source/bin
PS_ps_dir = /TOOL_DIR/source
PD_all_out = /out_directory/
PA_all_fq_postfix = PostFix
其实你仔细阅读了说明书,你就知道该修改成什么样子了!
最后制作sample list文件
我这里只有一个sample,所以文件就一句话即可
test test test 100
所以我的有下面两个文件,都是为了顺应作者的需求我才搞了test/test/test这么无聊的东西!!!
/home/jmzeng/test_for_soapfuse/test/test/test_1.fq.gz
/home/jmzeng/test_for_soapfuse/test/test/test_2.fq.gz
如果你有多个sample需要一起运行,你就要仔细读作者的readme了,它把这个配置文件搞得特别复杂!!!

三,运行命令

如果文件都准备好了,运行命令非常简单!!
perl SOAPfuse-RUN.pl -c <config_file> -fd <WHOLE_SEQ-DATA_DIR> -l <sample_list> -o <out_directory> [Options]

运行的非常慢!!!

因为需要重新比对,知道

四,数据结果解读

结果,作者已经说的很清楚了,我就不多说了!
25

人为创造几个测序数据然后用soap组装成基因组

这里我选取酵母基因组来组装,以为它只有一条染色体,而且本身也不大!

人为创造几个测序数据然后用soap组装成基因组130

这个文件就4.5M,然后第一行就是序列名,第二列就是序列的碱基组成。共4641652个碱基。

我写一个perl程序来人为的创造一个测序文件

人为创造几个测序数据然后用soap组装成基因组58

这样我们的4.5M基因组就模拟出来了486M的单端100bp的测序数据,而且是无缝连接,按照道理应该很容易就拼接的。

/home/jmzeng/bio-soft/SOAPdenovo2-bin-LINUX-generic-r240/SOAPdenovo-127mer

all -s config_file -K 63 -R -o graph_prefix 1>ass.log 2>ass.err

人为创造几个测序数据然后用soap组装成基因组331

可以看到组装效果还不错哦,然后我模拟了一个测试数据,再进行组装一次,这次更好!

其实还可以模拟双端测序,应该就能达到百分百组装了。

但是由于我代码里面选取的是80在随机错开,所以我把kmer的长度设置成了81来试试看,希望这样可以把它完全组装成一条e-coli基因组。

/home/jmzeng/bio-soft/SOAPdenovo2-bin-LINUX-generic-r240/SOAPdenovo-127mer

all -s config_file -K 81 -R -o graph_prefix 1>ass.log 2>ass.err

但是也没有什么实质性的提高,虽然理论上是肯定可以组装到一起!

那我再模拟一个双端测序吧,中间间隔200bp的。

 

25

基因组组装软件SOAPdenovo安装使用

一.下载并安装这个软件

下载地址进下面,但是下载源码安装总是很困难,我直接下载bin文件可执行程序。

基因组组装软件SOAPdenovo安装使用104

解压进入目录

首先make

然后make install即可

基因组组装软件SOAPdenovo安装使用731

安装总是失败,我也不知道怎么回事,懒得解决了。

直接去我老师那里把这个程序拷贝进来了。

https://github.com/aquaskyline/SOAPdenovo2/archive/master.zip

http://sourceforge.net/projects/soapdenovo2/files/SOAPdenovo2/bin/r240/SOAPdenovo2-bin-LINUX-generic-r240.tgz/download

http://sourceforge.net/projects/soapdenovo2/files/latest/download?source=files

也可以直接下载bin程序

基因组组装软件SOAPdenovo安装使用1035

二.准备测试数据

基因组组装软件SOAPdenovo安装使用742

类似于这样的几个文库的左右两端测序数据。

我这里用一个小样本的单端数据做测试

基因组组装软件SOAPdenovo安装使用783

三,参考命令

You may run it like this:

参考:http://www.plob.org/2012/07/06/2537.html

https://github.com/aquaskyline/SOAPdenovo2

总共就四个步骤,介绍如下。

 

./pregraph_sparse [parameters]
./SOAPdenovo-63mer contig [parameters]
./SOAPdenovo-63mer map [parameters]
./SOAPdenovo-63mer scaff [parameters]

 

i) preparing the pregraph. This step is similar to velveth for velvet.
ii) Determining contigs. This step is similar to velvetg for velvet.
iii) Mapping back reads on to contigs.
iv) Assembling contigs into scaffolds.

 

 SOAPdenovo-63mer  sparse_pregraph  -s config_file -K 45 -p 28 -z 1100000000 -o outPG
 SOAPdenovo-63mer contig  -g outPG
 SOAPdenovo-63mer map  -s config_file -g outPG -p 28
 SOAPdenovo-63mer  scaff   -g outPG -p 28

基因组组装软件SOAPdenovo安装使用1629

官网给出的步骤如下

基因组组装软件SOAPdenovo安装使用1641

这个命令还需要一个配置文件

max_rd_len=99 设置最大reads长度,具体情况具体定义

[LIB] 第一个文库数据

avg_ins=225

reverse_seq=0

asm_flags=3

rank=1

q1=runPE_1.fq

q2=runPE_2.fq

[LIB] 第二个文库数据

avg_ins=2000

reverse_seq=1

asm_flags=2

rank=2

q1=runMP_1.fq

q2=runMP_2.fq

也可以全部一次性的搞一个命令

all -s config_file -K 63 -R -o graph_prefix 1>ass.log 2>ass.err

我简单修改了一下参考博客的代码跟官网的代码,然后运行了我自己的代码

/home/jmzeng/bio-soft/SOAPdenovo2-bin-LINUX-generic-r240/SOAPdenovo-127mer

all -s config_file -K 63 -R -o graph_prefix 1>ass.log 2>ass.err

反正我也不懂,就先跑跑看咯

我选取的是7个单端数据,所以我的配置文件是

max_rd_len=500

[LIB]

avg_ins=225

reverse_seq=0

asm_flags=3

rank=1

p=SRR072005.fa

p=SRR072010.fa

p=SRR072011.fa

p=SRR072012.fa

p=SRR072013.fa

p=SRR072014.fa

p=SRR072029.fa

四.输出数据解读

好像我的数据都比较小,就7个三百多兆的fasta序列,几个小时就跑完啦

四个步骤都有输出数据

基因组组装软件SOAPdenovo安装使用2446

好像组装效果惨不忍睹呀!共86万的contig,50多万的scaffold

scaffolds>100  505473 99.60%

scaffolds>500  113523 22.37%

scaffolds>1K   48283 9.51%

scaffolds>10K  0 0.00%

scaffolds>100K 0 0.00%

scaffolds>1M   0 0.00%

这其实都相当于没有组装了,因为我的测序判断本来就很多是大于500的!

可能是我的kmer值选取的不对

Kmer为63跑出来的效果不怎么好,86万的contig,50万的scaffold的

Kmer为35跑出来的效果更惨,203万的contig,近60万的scaffold。

我觉得问题可能不是这里了,可能是没有用到那个20k和3k的双端测序库,唉,其实我习惯了illumina的测序数据,不太喜欢这个454的

感觉组装好难呀,业余时间搞不定呀,希望有高手能一起交流,哈哈,我自己再慢慢来试试。