与核基因组相比,细胞器基因组相对来说,更为保守,并且序列较短,更加易于组装,仅仅根据二代测序reads即可进行组装。
下面简单介绍我在本项目中的方法,仅供参考。
1 数据
本次我使用的二代数据为50X。下机后,首先通过fastq对其进行过滤,改软件操作较为简单,仅仅使用-q 20进行过滤,得到clean reads、
2 叶绿体参考基因组
因为叶绿体基因组非常的保守,因此,我选择同科植物的叶绿体基因组。据文献记载,因为叶绿体为环状,因此将其叶绿体复制同样的拷贝串联在其对应的序列后面,防止有reads没有比对到环的连接出。将其合并后,作为一个总的叶绿体ref,chloropast.fa
3 筛选出叶绿体的reads
因为二代测序提取的DNA,除了主要的核DNA外,还有叶绿体,线粒体DNA等,因此首先需要将属于叶绿体的信息调取出来。即将reads比对到叶绿体ref。
## 我选择bowtie2
bowtie2-build chloropast.fa chloropast.fa
bowtie2 -q -x chloropast.fa -1 short_reads1 -2 short_reads2 -p 10 -S short.sam
samtools view -bS -o short.bam short.sam
samtools sort -@ 5 -o short.sorted.bam short.bam
samtools index short.sorted.bam
## 筛选比对上的成对儿reads即为叶绿体相关的reads
samtools view -u -f 1 -F 12 short.sorted.bam -o short.sorted.aligned.bam
samtools sort -n -o short.sorted.aligned.sorted.bam short.sorted.aligned.bam
## 将bam-2-fastq
bedtools bamtofastq -i short.sorted.aligned.sorted.bam -fq short.sorted.aligned.sortedR1.fastq -fq2 short.sorted.aligned.sortedR2.fastq
4 组装
本次选用unicycler 进行二代reads的组装,组装软件有很多,比如SoAPdenovo, ABySS, SPAdes, NOVOPlasty等,可以进行不同的尝试。
unicycler -1 $short_readsR1_aligned -2 $short_readsR2_aligned -t 10 -o Cp.fa
该软件可自己进行polish,如果用起他的软件进行组装,可以使用plion进行polish即可
unicycler的安装可以使用condan即可
conda create -n chloroplast -c uioconda unicycler python=3.6
5 组装结果
输出文件assembly.fasta为最终的组装结果,可将其和对应物种(最近的物种)的叶绿体基因组进行比较,确定其顺序,并进行连接。本次我组装的结果较好,并不存在gap,与已知的叶绿体基因组比较具有非常好的共线性。
后续说明
如果没有一个较为好的叶绿体基因组,必须通过比对的方式根据overlap对其进行连接。此外,如果存在gap,则必须对其进行补gap
- 可以通过GapCloser进行填补gap
- 多种软件的组装,进行填补gap
使用pilon的方法即将二代reads比对到组装好的结果,得到bam文件,进行polish
pilon --genome assembly.fasta --frags bwa.sort.bam --output F.pilon1 --changes --threads 4
如果组装质量较好,下面就可以对其进行注释。。后续在进行