Gff文件统计及提取序列的常见操作
https://darencard.net/blog/2017-05-16-maker-genome-annotation/
https://www.jianshu.com/p/2c5ce139705b
#统计基因模型总长度、数目及平均基因长度
cat maker_rnd3.gff | awk '{ if ($3 == "gene") print $0 }' | awk '{ sum += ($5 - $4) } END { print sum, NR, sum / NR }'
#统计外显子总长度、数目以及平均外线子长度
cat maker_rnd3.gff | awk '{ if ($3 == "exon") print $0 }' | awk '{ sum += ($5 - $4) } END { print sum, NR, sum / NR }'
#gffread提取cds序列,蛋白序列,转录本序列
gffread genome.gff3 -g genome.fa -x cds.fa
gffread genome.gff3 -g genome.fa -y protein.fa
gffread genome.gff3 -g genome.fa -w transcripts.fa
#提取mRNA以及基因的位置信息(bed文件)
#抽取 GFF文件中mRNA
python -m jcvi.formats.gff bed --type=mRNA --key=ID a.gff3 > mRNA.bed
#抽取 GFF文件中gene
python -m jcvi.formats.gff bed --type=gene --key=ID a.chr.gff3 > gene.bed
#使用bedtools提取序列,-s参数区分正反链
bedtools getfasta -fi ./genome.fasta -bed gene.bed -name -s -fo genome.gene.fa