https://zhuanlan.zhihu.com/p/470457258、德布鲁因图和OLC组装基因组 - 简书 (jianshu.com)、[算法学习 1] 基因组组装算法 De Bruijn Graph - 知乎 (zhihu.com)、https://nmdc.cn/
感谢国家微生物科学数据中心和互联网。
基于kmer迭代的DBG算法。
kmer:kmer指将reads切碎的长度(7mer),Megahit中的参数有kmin、kmax,step。其中kmin指最小切割长度,kmax指最大切割长度,step指迭代kmer的步长。
其他参数:
kmer是奇数为了避免正反义链混淆。
DBG(De Bruijn Graph)算法:De Bruijn graph是一个展示符号序列之间重叠关系的有向图。
将reads打碎之后,通过overlap部分拼接,得到De Bruijn graph,寻找最优路径,得到最初的contig
e.g
两个reads分别以5mer打碎(移动1),制成 De Bruijn graph。因为有重复序列GATCT,所以形成了泡。将图简化后即可得到contigs(涉及消除由SNP等引起的错误,合并相邻序列)
Megahit的工作:对于要处理的reads,megahit先使用kmin切割,构建最初dbg,得到此kmer下的contig;然后他使kmer变成kmin+step,重复,若contig好于上一代则继续迭代,否则终止。或kmer=kmax时终止。
分箱Binning:将宏基因组测序得到的不同生物的序列或contigs按物种分开的过程。环境中存在大量不可培养的微生物,这样可以获得他们的基因组序列。
输入:MetaBat2的输入为组装的contig序列(.fasta)以及将二代reads比对到contig序列上的比对文件(bam格式,BWA,Bowtie2)。
输出结果为一个个bin(.fa)。
*特别感谢这篇文献
GTDB(基因组分类数据库):是基于大量基因组的系统发育分析来构建基因组分类学研究的标准流程,从而对微生物进行分类 。
classify_wf:基于GTDB参考树,基因组物种注释,包括鉴定、比对、分类三步
de_novo_wf:推荐新树并用GTDB注释,包括鉴定、比对、推断树、确定根和装饰
主要方法模块:
identify:基因组中鉴定标记基因
align:多序列对齐
classify:确定物种分类
infer:从多序列对齐序列建树
root:使用外类群定根
decorate:使用GTDB分类注释树
工具:
infer_ranks: 使用RED估计分类级和内部结果
ani_rep: 计算GTDB代表基因组的ANI(基因组相似性计算)
trim_msa: 多序列对齐结果筛选
export_msa : 导出未剪裁的细菌/古菌多序列对齐文件
物种注释流程:classify_wf
classify_wf的输入(—genome_dir)为包含多个基因组的文件夹,并指定输出文件(—out_dir)。可选参数有扩展名(—extension)默认为fna,可选fa,gz等;输出文件名前缀(—prefix),默认为gtdbtk;设置多线程加速(—cpus)。
user_genome classification fastani_reference fastani_reference_radius fastani_taxonomy fastani_ani
K4093L.5.fa d__Bacteria;p__Proteobacteria;c__Gammaproteobacteria;o__Burkholderiales;f__Burkholderiaceae;g__Rhodoferax;s__
B4018L.2.fa d__Bacteria;p__Proteobacteria;c__Gammaproteobacteria;o__Burkholderiales;f__Burkholderiaceae;g__Rhodoferax;s__
W4194L.6.fa d__Bacteria;p__Proteobacteria;c__Gammaproteobacteria;o__Burkholderiales;f__Burkholderiaceae;g__Rhodoferax;s__
K4096L.2.fa d__Bacteria;p__Proteobacteria;c__Gammaproteobacteria;o__Burkholderiales;f__Gallionellaceae;g__Sideroxydans;s__
W4194L.3.fa d__Bacteria;p__Proteobacteria;c__Gammaproteobacteria;o__Burkholderiales;f__Gallionellaceae;g__Sideroxydans;s__
L4105L.2.fa d__Bacteria;p__Proteobacteria;c__Gammaproteobacteria;o__Burkholderiales;f__Gallionellaceae;g__PALSA-1006;s__
以上为结果示例(我没太看懂)
多序列对齐结果建树:infer
多序列比对:
多序列比对(多序列联配,Multiple sequence alignment, MSA)是指把多条(3 条或以上)有系统进化关系的蛋白质分子的氨基酸序列或核酸序列进行比对,尽可能地把相同的碱基或氨基酸残基排在同一列上。这样做的意义是,对齐的碱基或氨基酸残基在进化上是同源的,即来自共同祖先(common ancestor)。
原理:序列比对是将同源序列位点上匹配位点(相同或相似残基)与不匹配位点(不相似的残基)按照一定的记分规则转化成序列间相似性或差异性数值进行比较,相似值最大时的比对结果具有最多的匹配位点,从数学角度讲,应该是最优的比对结果。比对结果反映了数学模型或算法在多大程度上反映序列之间的相似性关系以及它们的生物学特征(唐玉荣,2003)。
参考:序列的比对结果主要是为了寻找相似的序列,序列的相似性可以是定性的描述,也可以是定量的数值。在进行序列比较时经常使用“同源”(homology)和“相似”(similarity)这两个概念,这是两个经常容易被混淆的不同概念。两条序列同源是指它们具有共同的祖先。在这个意义上,无所谓同源的程度,两条序列要么同源,要么不同源。而相似则是有程度的差别,如两条序列的相似程度达到30%或60%。一般来说,相似性很高的两条序列往往具有同源关系。但也有例外,即两条序列的相似性很高,但它们可能并不是同源序列,这两条序列的相似性可能是由随机因素所产生的,这在进化上称为“趋同”(convergence),这样一对序列可称为同功序列。直向同源(orthologous)序列是来自于不同的种属同源序列,而共生同源(paralogous)序列则是来自于同一种属的序列,它是由进化过程中的序列复制而产生的 。
输入.fa文件,输出结果可用itol(https://itol.embl.de/)在线可视化
从基因组直接建树,de_novo_wf:
构建新树并用GTDB注释,包括鉴定、比对、推断树、确定根和装饰。
输入文件为细菌基因组的目录(—genome_dir),指定扩展名类型(—extension),以及输出目录(—out_dir)。必须参数有需要选择细菌(—bacteria)/古菌,指定外类群(—outgroup_taxon)。可选常用参数有结果前缀(—prefix)和使用线程数(—cpus)。
输出有:
bin.bac120.decorated.tree: 修饰的有根树
bin.bac120.decorated.tree-table:
树相关信息表
bin.bac120.user_msa.fasta:
多序列对齐文件
用于评估分理处的微生物、单细胞和宏基因组的质量工具。
CheckM首先基于完整的已测序细菌基因组作为参考基因组,构建基因组的进化树,构建每个谱系(可以理解为一类物种)的单拷贝基因集(管家基因)(single copy genes,SCGs,为什么是单拷贝?因为这样可以开展基因组混合程度、污染程度等的评估)。在使用时,将我们的Bin与参考基因组一起建树,基于进化关系找到Bin的参考物种,然后结合参考物种的单拷贝基因集,计算两个重要指标
Completeness,完整度,Bin基因与对应SCGs相比,基因数量是否完整,取值[0,100%],数值越大,表示Bin质量越好;
Contamination,污染度,Bin基因包含多个物种的SCGs,即一个Bin存在多个物种的程度,取值[0,100%],数值越小,表示Bin质量越好。
获得每个bin的污染度、完整度信息后,挑选高质量的bin进行物种、功能注释。再后续分析中,并没有固定标准。需要的数量多,则放宽阈值;需要的数量少,则提升阈值。其中,最常用的指标是污染度小于10%,且完整度大于80%。大家可以在这个基础上上下调整。
————————————————
原文链接:https://blog.csdn.net/dunghill_cock/article/details/124298067
checkM接受基因组由contig组成,且文件默认为.fna,可以用 -x指定其他后缀(-x fa),bin id
工作流程:
1. lineage-specific<世系特异性>:
根据基因组在参考基因组发育树中的位置,来推断它的single-copy基因集,需要有checkM的数据库
checkm lineage_wf
2.taxonomic-specific(物种分类特异性):
自己知道自己的数据来自哪个门,什么科的
checkm taxonomy_wf
3.custom marker genes(自行指定基因marker):
>checkm anylyze
HMM file:指定Marker 的预测结果文件。
隐马尔可夫模型? 不懂
绘制2,3,4图(每个bar代表一个bin):
checkm dist_plot --image_type pdf -x fa
dist_value
绘制1图,每一行代表一个bin,每一竖条代表一个Marker:
checkm bin_qa_plot --image_type pdf -x fa
还可以绘制Nx图来检验contig的拼接好坏,没听懂。