perl如何提取GFF中所有转录本的位置信息

perl如何提取GFF中所有转录本的位置信息

本篇内容主要讲解“perl如何提取GFF中所有转录本的位置信息”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“perl如何提取GFF中所有转录本的位置信息”吧!

提取基因组注释文件GFF中所有基因转录本的位置信息,以及转录本对应的基因的ID:

perl如何提取GFF中所有转录本的位置信息

perl代码如下:

#!/usr/bin/perl-wusestrict;useCwdqw(abs_pathgetcwd);useGetopt::Long;useData::Dumper;die"perl$0<gff><outfile>"unless(@ARGV==2);my$gff=$ARGV[0];my%gene=();my%gene_region=();my%mRNA2Gene=();openIN,"$gff"ordie"$!";openOUT,">$ARGV[1]"ordie"$!";printOUT"#mRNA_ID\tgene_ID\tchr\tstart\tend\tstrand\n";while(<IN>){chomp;nextif(/^#/);my@tmp=split(/\t/);if($tmp[2]=~/^gene/){my($id)=($tmp[8]=~/ID=([^;]+)/);$gene{$id}=1;$gene_region{$id}=[$tmp[0],$tmp[3],$tmp[4],$tmp[6]];#print"gene:$id\n";#my$gene_chr->{$id}=$tmp[0];}if($tmp[2]=~/mRNA|transcript/i){my($id)=($tmp[8]=~/ID=([^;]+)/);my($pid)=($tmp[8]=~/Parent=([^;]+)/);if(exists$gene{$pid}){printOUT"$id\t$pid\t$tmp[0]\t$tmp[3]\t$tmp[4]\t$tmp[6]\n";}#print"mRNA:$id\n";}}close(IN);close(OUT);

到此,相信大家对“perl如何提取GFF中所有转录本的位置信息”有了更深的了解,不妨来实际操作一番吧!这里是恰卡编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

发布于 2022-03-19 21:13:56
收藏
分享
海报
0 条评论
36
上一篇:r语言如何绘制蛋白质组和转录组相关性图 下一篇:jQuery如何实现链式插件调用
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码