软件下载地址:可下载地址:https://github.com/aquaskyline/SOAPdenovo2
soapdenovo组装可以一步跑完,也可分四步跑完,但是一般还是选择比较简单的一步:
一步跑完的脚本:
./SOAPdenovo all -s config_file -K 25 -R -D 1 -d -o graph_prefix
四步单独跑的脚本:
./SOAPdenovo pregraph -s config_file -K 25 -R -d 1 -p -o graph_prefix
./SOAPdenovo contig -g graph_prefix -R -D 1 -M 1
./SOAPdenovo map -s config_file -g graph_prefix -p -f
./SOAPdenovo scaff -g graph_prefix -F -u -G -p
用一步跑完的话第一个参数跟all就行,分开跑的话就依次跟pregraph、contig、map 、scaff就行。
参数说明:
all:
-s <string> solexa reads 的配置文件
-p <int> 程序运行时设定的cpu线程数,默认值[8]
pregraph:
-o <string> 图形输出的文件名前缀
-K <int> 输入的K-mer值大小,默认值[23],取值范围 13-127 #K-mer值必须是奇数;组装杂合子基因组的K-mer值应该小一点;组装含有高repeats基因组且要求其有高的测序深度和长的reads,的K-mer应该大一点。
-a <int> 假设初始化内存, 为了避免进一步的再分配,默认[0]G
-d <int> 去除kmers频数不大于该值(kmerFreqCutoff)的k-mer,默认值[0] ##最小化错误测序带来的影响
-R (optional) 利用read鉴别短的重复序列,默认值[NO]
contigs:
-g <string> 输入graph file文件名前缀
-R (optional) 移除repeats,使用pregraph步骤中产生的结果,如果参数-R在pregraph步骤中被设置的话,默认[NO]
-D <int> 去除频数不大于该值(edgeCovCutoff)的由k-mer连接的边,默认值[1],即该边上每个点的频数都小于等于1时才去除。edges with coverage no larger than EdgeCovCutoff will be deleted, [1] #最小化错误测序带来的影响
-M <int> 在contiging操作时,合并相似序列的强度,默认值为[1],最小值0,最大值3。#deal with heterozygosis
-e <int> 两边缘之间的弧的权重大于该值(arcWeight),将被线性化,默认值[0]
-m <int> 最大的kmer size(max 127)用于multi-kmer,默认[NO]
-E (optional) 在iterate迭代之前,合并clean bubble功能,仅在当使用multi-kmer时且设置-M参数,默认[NO]
map:
-g <string> 输入graph file文件名前缀
-k <int> 该值(kmer_R2C)是kmer size用于mapping reads到contigs上时的值,默认值[K]
-f (optional) 在map那一步中,对于使用SRkgf去填充gap,输出与gap相关的reads,默认[NO]
scaffold:
-F (optional) 利用read对scaffold中的gap进行填补,默认[NO]
-u (optional) 构建scaffolding前不屏蔽高/低覆盖度的contigs,这里高频率覆盖度指平均contig覆盖深度的2倍。默认[mask]屏蔽
-w (optional) 在scaffold中,保持contigs弱连接于其他contigs,默认[NO]
-G <int> 估计gap的大小和实际补gap的大小的差异值,默认值[50]bp。
-L <int> 用于构建scaffold的contig的最短长度(minContigLen),默认为:[Kmer参数值+2]
-c <float> 在scaffolding之前,contigs小于100bp,且覆盖率小于该最小contig覆盖率(c*avgCvg),将被屏蔽,除非参数-u已设定,默认值[0.1]
-C <float> 在scaffolding之前,contigs覆盖率大于该最大contigs覆盖率(C*avgCvg),或者contigs小于100bp且覆盖率大于0.8*(C*avgCvg),将被屏蔽,除非参数-u已设定,默认值[2]
-b <float> 当处理contigs间的pair-end连接时,如果参数-b>1,该插入片段的上限值(b*avg_ins)将被用来作为大的插入片段(>1000)的上限,默认值[1.5]
-B <float> 如果两个contigs的覆盖率都小于bubble覆盖率(bubbleCoverage)乘以contigs平均覆盖率(bubbleCoverage*avgCvg),则去除在bubble结构中的低覆盖率contig,默认值[0.6]
-N <int> 统计基因组大小,默认值[0]
-V (optional) 输出相关信息为了可视化组装,默认[NO]
关于配置文件config_file的写法:
max_rd_len=50 #read的最大长度,该值一般设置的比实际read读长稍微短一些,截去测序最后的部分,具体长度看测序质量
[LIB] #文库信息以此开头 #在其后,可以整多个文库,仍以[LIB]开头
avg_ins=300 #文库平均插入长度,一般取插入片段分布图中给出的文库大小,illumina测序数据平均插入片段长度为300bp
reverse_seq=0 #序列是否需要被反转,目前的测序技术,插入片段大于等于2k的采用了环化,所以对于插入长度大于等于2k文库,序列需要反转,reverse_seq=1,小片段设为0
asm_flags=3 #该文库中的read序列在组装的哪些过程(contig/scaff/fill)中用到:
设为1:只用于构建contig; #454 or sanger or merging reads
设为2:只用于构建scaffold; #长插入片段>=2k , mate-pair libraries
设为3:同时用于构建contig和scaffold; #短插入片段<2k
设为4:只用于补洞gap filling #454 single 长 reads
rank=1 #rank该值取整数,决定了reads用于构建scaffold的次序,值越低,数据越优先用于构建scaffold。设置了同样rank的文库数据会同时用于组装 scaffold。一般将短插入片段设为1;2k设为2;5k设为 3;10k设为4;当某个档的数据量较大时,也可以将其分为多个档,同样,当某档数据量不足够时,可以将多个档的数据合在一起构建scaffold。这里说的数据量够与不够是从该档的测序覆盖度和物 理覆盖度两个方面来考虑的。
pair_num_cutoff=3 #可选参数,pair_num_cutoff该参数规定了连接两个contig或者是pre-scaffold 的可信连接的阈值,即,当连接数大于该值,连接才算有效。 短插入片段(<2k)默认值[3],长插入长度序列默认值[5]。
map_len=32 #可选参数,map_len该参数规定了在map过程中 reads和contig的比对长度必须达到该值(比对不容mismacth和gap),该比对才能作为一个可信的比对。 短插入片段(<2k)一般设置为32,长插 入片段设置为35,默认值[K+2]。
q1=./pathfastq_read_1.fq
#read 1的fastq格式的序列文件
q2=./pathfastq_read_2.fq
#read 2的fastq格式的序列文件(与read1对应的read2文件紧接在read1之后)
f1=./pathfasta_read_1.fa
#read 1的fasta格式的序列文件
f2=./pathfasta_read_2.fa
#read 2的fasta格式的序列文件
q=./pathfastq_read_single.fq
#单向测序得到的fastq格式的序列文件
f=./pathfasta_read_single.fa
#单向测序得到的fasta格式的序列文件
p=./pathpairs_in_one_file.fa
#双向测序得到的一个fasta格式的序列文件
组装的结果文件解释:
*.contig #没有使用mate pair 信息的contig sequences 。
*.scafSeq #SOAPdenovo软件最终的组装序列结果,可用于后续研究。
*.scafStatistics #contigs和scaffolds的最终统计信息。
组装过程中产生的其他文件,详见官网(http://soap.genomics.org.cn/soapdenovo.html#intro2):
*.kmerFreq #每行显示一个数,这个数是kmer值出现的频率等于行号的kmer个数。
参考:https://www.cnblogs.com/Formulate0303/p/6879841.html