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

 

posted @ 2022-12-30 21:51  pd_liu  阅读(1268)  评论(0编辑  收藏  举报