多倍化以及后续的基因丢失和二倍化现象存在于大部分的物种中,是物种进化的重要动力。如果一个物种在演化过程中发生过多倍化,那么在基因组上就会存在一些共线性区域(即两个区域之间的基因是旁系同源基因,其基因的排布顺序基本一致)。
例如拟南芥经历了3次古多倍化,包括2次二倍化,一次3倍化(Tang.et.alScience).
?..Forexample,Arabidopsisthaliana(thalecress)hasundergonethreepaleo-polyploidies,includingtwodoublings(5)andonetripling(12),resultingin~12copiesofitsancestralchromosomesetina~-Mbgenome...
?当然之前只是记住了结论,现在我想的是,如何复现出这个分析结果呢?
前期准备首先,我们需要使用conda安装wgdi。我一般会新建一个环境避免新装软件和其他软件产生冲突(PS,wgdi的recipe暂不支持Windows下的bioconda安装)
#安装软件condacreate-cbioconda-cconda-forge-nwgdiwgdi#启动环境condaactivatewgdi
之后,我们从ENSEMBL上下载基因组,CDS,蛋白和GFF文件
#Athalianawgetftp://ftp.ensemblgenomes.org/pub/plants/release-44/fasta/arabidopsis_thaliana/dna/Arabidopsis_thaliana.TAIR10.dna.toplevel.fa.gzgunzipArabidopsis_thaliana.TAIR10.dna.toplevel.fa.gzwgetftp://ftp.ensemblgenomes.org/pub/plants/release-44/fasta/arabidopsis_thaliana/cds/Arabidopsis_thaliana.TAIR10.cds.all.fa.gzgunzipArabidopsis_thaliana.TAIR10.cds.all.fa.gzwgetftp://ftp.ensemblgenomes.org/pub/plants/release-44/fasta/arabidopsis_thaliana/pep/Arabidopsis_thaliana.TAIR10.pep.all.fa.gzgunzipArabidopsis_thaliana.TAIR10.pep.all.fa.gzwgetftp://ftp.ensemblgenomes.org/pub/plants/release-44/gff3/arabidopsis_thaliana/Arabidopsis_thaliana.TAIR10.44.gff3.gzgunzipArabidopsis_thaliana.TAIR10.44.gff3.gz
注意:cDNA和CDS并不相同,CDS只包括起始密码子到终止密码子之间的序列,而cDNA还会包括UTR.
数据预处理数据的预处理是用时最长的步骤,因为软件要求的输入格式并非是你手头所拥有的格式,你通常都需要进行一些转换才能得到它所需的形式。
wgdi需要三种信息,分别是BLAST,基因的位置信息和染色体长度信息,要求格式如下
BLAST的-outfmt6输出的文件
基因的位置信息:以tab分隔,分别为chr,id,start,end,strand,order,old_id。(并非真正意义上的GFF格式)
染色体长度信息和染色体上的基因个数,格式为chr,length,genenumber
同时,对于每个基因我们只需要一个转录本,我通常使用最长的转录本作为该基因的代表。之前我写过一个脚本(get_the_longest_transcripts.py)提取每个基因的最长转录本,我在此处上写了一个新的脚本用来根据参考基因组和注释的GFF文件生成wgdi的两个输入文件,脚本地址为