merged.gtf如何合并同一转录本的exon位置
发表于:2025-11-19 作者:千家信息网编辑
千家信息网最后更新 2025年11月19日,这篇文章主要为大家展示了"merged.gtf如何合并同一转录本的exon位置",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"merged.gtf如何合并同
千家信息网最后更新 2025年11月19日merged.gtf如何合并同一转录本的exon位置
这篇文章主要为大家展示了"merged.gtf如何合并同一转录本的exon位置",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"merged.gtf如何合并同一转录本的exon位置"这篇文章吧。
在merged.gtf文件中有所有外显子的信息,下面的脚本可根据此文件提取转录本的所有外显子位置信息。
merged.gtf文件实例:
Chr00 Cufflinks exon 37990 38333 . + . gene_id "XLOC_000001"; transcript_id "TCONS_00000001"; exon_number "1"; gene_name "MD00G1000200"; oId "CUFF.2.1"; nearest_ref "mRNA:MD00G1000200"; class_code "j"; tss_id "TSS1";Chr00 Cufflinks exon 38607 38710 . + . gene_id "XLOC_000001"; transcript_id "TCONS_00000001"; exon_number "2"; gene_name "MD00G1000200"; oId "CUFF.2.1"; nearest_ref "mRNA:MD00G1000200"; class_code "j"; tss_id "TSS1";Chr00 Cufflinks exon 38814 38898 . + . gene_id "XLOC_000001"; transcript_id "TCONS_00000001"; exon_number "3"; gene_name "MD00G1000200"; oId "CUFF.2.1"; nearest_ref "mRNA:MD00G1000200"; class_code "j"; tss_id "TSS1";Chr00 Cufflinks exon 42611 42713 . + . gene_id "XLOC_000001"; transcript_id "TCONS_00000001"; exon_number "4"; gene_name "MD00G1000200"; oId "CUFF.2.1"; nearest_ref "mRNA:MD00G1000200"; class_code "j"; tss_id "TSS1";Chr00 Cufflinks exon 42906 43203 . + . gene_id "XLOC_000001"; transcript_id "TCONS_00000001"; exon_number "5"; gene_name "MD00G1000200"; oId "CUFF.2.1"; nearest_ref "mRNA:MD00G1000200"; class_code "j"; tss_id "TSS1";
输出文件示例:
Chr00 + XLOC_000001 MD00G1000200 TCONS_00000001 exon 37990-38333 38607-38710 38814-38898 42611-42713 42906-43203Chr00 + XLOC_000001 MD00G1000200 TCONS_00000002 exon 38005-38333 38607-38710 38814-38898 42611-42726 42906-43167Chr00 + XLOC_000002 MD00G1000400 TCONS_00000003 exon 50386-50877Chr00 + XLOC_000003 MD00G1000500 TCONS_00000004 exon 76659-76991 77468-77544 77649-77715 77889-77970 78355-78424Chr00 + XLOC_000004 MD00G1000600 TCONS_00000005 exon 101951-102138 102228-102398 102957-103004 103099-103138 103227-103327 Chr00 + XLOC_000004 MD00G1000600 TCONS_00000006 exon 102003-102138 102228-102398 102957-103004 103099-103138 103227-103327 Chr00 + XLOC_000005 MD00G1000700 TCONS_00000007 exon 105542-105626 105926-106541 108356-108832Chr00 + XLOC_000005 MD00G1000700 TCONS_00000009 exon 105542-105626 105926-106541 108902-109696Chr00 + XLOC_000005 MD00G1000700 TCONS_00000008 exon 105542-105626 105926-106541 108949-109696Chr00 + XLOC_000006 MD00G1001100 TCONS_00000010 exon 276592-277221 280928-280975
其中第一列为染色体;第二列为正负链;第三列是gene_id;第四列为gene_name;第五列为转录本ID;之后是外显子的起始位置信息
代码如下:
#!/usr/bin/perl -wuse strict;use warnings;use Getopt::Long;use Config::General;use Cwd qw(abs_path getcwd);use FindBin qw($Bin $Script);my $version = "1.2";## prepare parameters ######################################################################### -------------------------------------------------------------------------------------------## GetOptionsmy %opts;GetOptions(\%opts, "gtf=s", "od=s", "h");my $od = $opts{od};$od = abs_path($od);mkdir $od unless(-d $od);open(IN,"$opts{gtf}") ||die "open file $opts{gtf} failed.";open(OUT,">$opts{od}/merged.tpm") ||die "open file $opts{od}/merged.tpm failed.";while(){next if(/^#/);chomp;my($chr,$a,$exon,$start,$end,$c,$link,$d,$lin) = split("\t",$_);$lin=~/transcript_id \"([^\"]*)\"/;my $trans = $1;$lin=~/gene_name \"([^\"]*)\"/;my $gene_name= $1;$lin =~/gene_id \"([^\"]*)\"/;my $gene_id= $1;$lin =~/transcript_id \"([^\"]*)\"/;my $trans_id = $1;print OUT join("\t",$chr,$exon,$start,$end,$link,$gene_id,$trans_id)."\n";}close(IN);close(OUT);open(IN,"$opts{od}/merged.tpm") ||die "open file $opts{od}/merged.tpm failed.";open(OUT,">$opts{od}/merged.gtf") ||die "open file $opts{od}/merged.gtf failed.";my $cmd="";my $key="";while(){next if(/^#/);chomp;my ($chr,$exon,$start,$end,$link,$gene_id,$gene_name,$trans_id) = split("\t",$_);if($key eq $trans_id){$cmd .= "\t".$start."-".$end;}else{$key = $trans_id;if($cmd ne ""){print OUT $cmd."\n";}$cmd = join("\t",$chr,$link,$gene_id,$trans_id,$exon,$start."-".$end);}}close(IN);close(OUT); 以上是"merged.gtf如何合并同一转录本的exon位置"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
位置
文件
信息
内容
篇文章
学习
帮助
代码
实例
易懂
更多
条理
染色体
正负
知识
示例
编带
脚本
行业
资讯
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全去哪个国家上研究生
蓝讯网络技术导师张金铭
网络安全强军兴军
云服务器装虚拟机不兼容
宝德服务器带外管理地址
明日之后2019服务器列表
discuz论坛 数据库
云原生数据库哪个好
佛山全自动视觉点胶软件开发
昆山技术软件开发报价方案
北京车车网络技术有限公司巡检员
宝鸡誉恒软件开发公司
河南的谷歌服务器
软件开发制作好找工作吗
苏州腾牛网络技术有限公司
学生网络安全标语
网络安全宣传周公众体验
应用软件开发一般用什么语言
江苏百旺服务器网络配置云主机
网络安全法名单
数据库like 加多个条件
数据库日期月日年顺序
食品科技进行互联网业余
成都软件开发工资多少钱
软件开发程序员的工作职责
长宁区推广软件开发管理方法
软件开发合同交印花税吗
软件开发钉钉日志范文100篇
天津华为服务器虚拟化定制服务器
老生常谈的网络安全