从NCBI下载的只有fna和gbff文件需要得到*.genome.gff3
BUSCOgenome
conda activate pfam_scan
# 注意以上环境变量都已经配置好,metaeuk的环境变量每次使用都要设置临时变量,即下面一条命令:
export PATH="/media/aa/DATA/JJH/software/metaeuk-master/metaeuk-master/build_sse/bin:$PATH"
mkdir BUSCOgenome && cd BUSCOgenome
# 运行
busco -i ../genome.fasta -o output -l /home/aa/anaconda3/envs/pfam_scan/databases/basidiomycota_odb10 -m genome -c 40
# 查看统计信息
cat output/short_summary.specific.basidiomycota_odb10.output.txt
# 退出
cd ../..
使用 RepeatMasker 进行基因组重复序列分析 repbase中的fungi
# (training) root下
/media/aa/DATA1/bin/fasta_no_blank.pl *.genomic.simple.fasta > *.genome.fasta
mkdir repeatMasker
RepeatMasker -pa 40 -e ncbi -species fungi -dir repeatMasker/ -gff *.genome.fasta
# 查看统计信息
cat repeatMasker/*.genome.fasta.tbl
# 最后,解锁所有文件
sudo chmod -R 777 *
选择近缘物种
inobl Inonotus obliquus 与 3.15188 Inonotus hispidus 近缘
popin Porodaedalea pini 与 Fomitiporia mediterranea 近缘
phlam Phellinus lamaoensis 与 Fomitiporia mediterranea 近缘
hyspr Hymenochaete sp. R1 与 Fomitiporia mediterranea 近缘
cosul Coniferiporia sulphurascens 与 Fomitiporia mediterranea 近缘
phpou Phellinidium pouzarii 与 Phefer1 Phellinidium ferrugineofuscus 近缘(未做)
03-从头(ab initio)预测基因
# 方法1:没有gff仅有fna和gbff,现用autoAugTrain.pl,之后直接进行下面步骤
/home/aa/anaconda3/envs/pfam_scan/bin/autoAugTrain.pl --genome=genome.fasta --trainingset=../inobl.genomic.gbff --species=inobl_ncbi
# 如:inobl,popin,phlam,hyspr
# 方法2:只需要参考物种的基因模型(这里是从NCBI上下载的genome.fasta和gff文件),直接进行下面步骤(先conda activate augustus环境)
Augustus训练与预测
# 用的是参考物种的基因序列和gff文件,注意这里序列ID中不能有空格等其他特殊符号
# 预测过程如下:
augustus --strand=both --genemodel=complete --uniqueGeneId=true --noInFrameStop=true --gff3=on --AUGUSTUS_CONFIG_PATH=/root/anaconda3/envs/training/config/ --outfile=augustus_complete.gff --species=3.15188 genome.fasta
# 这里的fasta序列是要预测物种的fasta序列。
augustus --strand=both --genemodel=complete --uniqueGeneId=true --noInFrameStop=true --gff3=on --AUGUSTUS_CONFIG_PATH=/root/anaconda3/envs/training/config/ --outfile=genome.mask.fa.out --species=3.15188 repeatMasker/genome.fasta.masked
# --uniqueGeneld=true:gene:命名 aseqname.gn;
# --nolnFrameStop=true:不带有终止密码子的转录本;
# --gff3=on:输出格式gff3
# 得到augustus.gff3
perl -p -i -e 's/\ttranscript\t/\tmRNA\t/' genome.mask.fa.out
GFF3Clear --gene_prefix aug --genome genome.fasta --GFF3_source AUGUSTUS genome.mask.fa.out > out; mv out augustus.gff3
# 得到geneModels.gff3
/media/aa/DATA/SZQ2/geta-2.4.14/bin/GFF3Clear --coverage 0.3 --gene_code_length 5 --gene_prefix inobl --genome genome.fasta augustus.gff3 > inobl.geneModels.gff3 2> inobl.GFF3Clear.log
# 得到gff3ToGtf.log
/media/aa/DATA/SZQ2/geta-2.4.14/bin/gff3ToGtf.pl genome.fasta inobl.geneModels.gff3 > inobl.geneModels.gtf 2> inobl.gff3ToGtf.log
# 得到statistics
/media/aa/DATA/SZQ2/geta-2.4.14/bin/eukaryotic_gene_model_statistics.pl inobl.geneModels.gtf genome.fasta inobl > inobl.statistics
最终得到*.geneModels.gff3