10xgenomics的官方denovo组装软件是supernova,同时还有其他野生组装软件,如ARCS,fragscaff
ARCS
Scaffold genome sequence assemblies using 10x Genomics data
### ARCS+LINKS 官方组装流程
# -f Assembled Sequences to further scaffold (Multi-Fasta format),即其他软件组装好的基因组版本
# -a File of File Names listing all input BAM alignment files。原始fastq文件比对到组装好的基因组版本上
## step 1
# Run ARCS w default params
$ arcs -f $f -a $a -s 98 -c 5 -l 0 -z 500 -m 50-1000 -d 0 -e 30000 -r 0.05 -i 16 -v 1
## steo 2
# Run python script makeTSVfile.py to convert ARCS graph output to LINKS XXX.tigpair_checkpoint file format
$ graph=$f.scaff_s98_c5_l0_d0_e30000_r0.05_original.gv
$ python makeTSVfile.py $graph $f.c5_e30000_r0.05.tigpair_checkpoint.tsv $f
## step 3
# Run LINKS with generated XXX.tigpair_checkpoint file as input
$ touch empty.fof
$ LINKS -f $f -s empty.fof -k 20 -b $f.c5_e30000_r0.05 -l 5 -t 2 -a 0.3
组装结果
调整多个参数进行多次组装,找到最优参数
该基因组组装结果可知,a = 0.5的结果要优于a = 0.3(default)
s95 > s98 (default)
m 20-2000 > m 50-1000 (default)
e 60000 > e 30000 (default)
最佳组合即:s95c5l0d0e60000r0.05m20-2000
同时可以看出,组装结果旨在提高scaffold的组装水平,对contig没有提升
#file scaffold length(bp) scaffold number contig length(bp) contig number
# a = 0.5
s95_c5_l0_d0_e60000_r0.05_m20-2000 450194 648 15339 18522
s95_c5_l0_d0_e60000_r0.05_m50-1000 428476 692 15339 18522
s95_c5_l0_d0_e30000_r0.05_m20-2000 388408 765 15339 18522
s95_c5_l0_d0_e30000_r0.05_m50-1000 358469 820 15339 18522
s95_c5_l0_d0_e20000_r0.05_m20-2000 332662 904 15339 18522
s95_c5_l0_d0_e20000_r0.05_m50-1000 314958 969 15339 18522
s98_c5_l0_d0_e60000_r0.05_m50-1000 310826 976 15339 18522
s98_c5_l0_d0_e30000_r0.05_m50-1000 283164 1122 15339 18522
s98_c5_l0_d0_e20000_r0.05_m50-1000 267372 1209 15339 18522
# a= 0.3
s95_c5_l0_d0_e60000_r0.05_m20-2000 373219 799 15339 18522
s95_c5_l0_d0_e60000_r0.05_m50-1000 358835 816 15339 18522
s95_c5_l0_d0_e30000_r0.05_m20-2000 357761 823 15339 18522
s95_c5_l0_d0_e30000_r0.05_m50-1000 343681 859 15339 18522
s95_c5_l0_d0_e20000_r0.05_m20-2000 325929 929 15339 18522
s95_c5_l0_d0_e20000_r0.05_m50-1000 312389 984 15339 18522
s98_c5_l0_d0_e60000_r0.05_m50-1000 299588 1037 15339 18522
s98_c5_l0_d0_e30000_r0.05_m50-1000 281295 1128 15339 18522
s98_c5_l0_d0_e20000_r0.05_m50-1000 267076 1213 15339 18522
fragscaff
在《A Hybrid Approach for de novo Human Genome Sequence Assembly and Phasing》这篇文章中使用fragscaff,因此也试了试。这篇文件的流程图如下:
流程图
软件使用:
## 软件下载
# https://sourceforge.net/projects/fragscaff/files/
## step 1 准备bam文件
#原始数据bwa比对到其他组装版本基因组(V1.genome.fa)上,proc10xG软件中的samConcat2Tag.py去掉barcode,并samtools转化成bam格式,picard对bam文件sort。
$ bwa index V1.genome.fa -p ref &
$ bwa mem -t 20 ref R1.fastq R2.fastq 2>bwa.log | /XXX/proc10xG/samConcat2Tag.py |samtools view -bS -@ 20 -F 4 -F 256 -F 512 -F 1024 -F 2048 >s.bam
$ java -Xmx10g -jar /XXX/picard-tools-1.130/picard.jar SortSam TMP_DIR=/XXX/tmp SORT_ORDER=coordinate INPUT=s.bam OUTPUT=s.sorted.bam 2>bam.log
#更改bam格式,格式是安装参考示例更改
$ samtools view -h s.sorted.bam | perl -lne 'if(/^\@/){print;}else{chomp;/(\S+?)\:(\S+?)\:.*/;print "\@RG\tID:$1\tSM:CJ"}' | sort -k2,2 - | uniq | samtools reheader -P - s.sorted.bam >s.rh.bam &
# step 2 生成bed文件
$ makeblastdb -in V1.genome.fa -dbtype nucl -out db && \
blastn -query V1.genome.fa -db db -word_size 36 -outfmt 6 -out blastn.out &>blastn.log && \
/XXX/fragscaff-code/blast_self_alignment_filter.pl blastn.out 95 >blastn.filter.bed && \
bedSort blastn.filter.bed blastn.filter.sorted.bed && \
samtools dict -o V1.genome.fa.dict V1.genome.fa && \
/XXX/fragscaff-code/fasta_make_Nbase_bed.pl V1.genome.fa >V1.genome.fa.bed &
# step 2 assemble
#可尝试多个参数 -j 1.25/1.0 -p A/2/4/5/8,E5000 E10000o20000等
$ fragScaff.pl -B s.rh.bam -b 1 -F V1.genome.fa -E 5000000 -o 5000000 -p L -t 15 -J blastn.filter.sorted.bed -N V1.genome.fa.bed
$ fragScaff.pl -B s.rh.bam -b 1 -j 1 -C 5 -F V1.genome.fa -E 3000000 -o 3000000 -p -t 15 -J blastn.filter.sorted.bed -N V1.genome.fa.bed
$ fragScaff.pl -B s.rh.bam.E3000000.o3000000.bamParse -j 1 -C 5 -O V1.1j -A -t 20 -p L &
组装结果:
参试多个参数后,这个基因组组装结果“有违常理”,并没有用它的结果。但是别个文章都发了,至少说明那篇文章的作者是用成功了。这个基因组本身杂合度较其他物种基因组高很多,而且染色体数目多,不易组装。
其他软件还有proc10xG ,前期测试组装结果不好,没有继续优化使用。