最近要进行比较基因组的分析,下载了各式各样的基因组注释,总会有一些和现有脚本和软件不兼容的,尤其是在CoGe上下载了一个奇怪的gff3注释,有些CDS直接没有parent注释导致频频报错,提个最长转录本都提不出来,直接写个新的脚本好了。
#!/usr/bin/perl
use strict;
use warnings;
my $usage = "$0 <input.gff3> <output.list>";
die($usage) unless (@ARGV == 2);
# 输入文件和输出文件
my $input_file = $ARGV[0];
my $output_file = $ARGV[1];
# 打开输入文件
open(ERR,">",'err_line.txt');
open(my $in,'<',$input_file) or die "无法打开输入文件 $input_file: $!";
# 初始化变量
my %gene_data;
my $gene_id;
# 逐行读取GFF3文件
while (my $line = <$in>) {
next if $line =~ /^#/; # 跳过注释行
chomp $line;
my @fields =