两个程序比较简单,高手免看了,就是想保存一下,以后说不定直接就用了。。。
EST的数据库是genebank格式,找了一圈没发现转换的程序,就自己写了一个,还算可以,就是没有用多线程来做。。。
#!/usr/bin/env perl
use strict;
use warnings;
use Getopt::Long;
my %opt;
GetOptions(\%opt, "i=s", "o=s");
my $usage = <<"USAGE";
Usage : perl $0 [options] <-i>
ModifyTime : 09/10/2013
Note:
Options:
-i input file
-o output file, default ./
eg: perl $0 -i est.gb
USAGE
die $usage if(!$opt{i});
open IN, ($opt{i} =~ /\.gz$/) ? "gzip -dc $opt{i} |" : $opt{i} or die $!;
my ($id, $def, $str);
while(<IN>)
{
chomp;
if(/^\s+loci/)
{
next;
}elsif(/^DEFINITION\s+(.*)/){
$def = $1;
while(my $line = <IN>)
{
chomp($line);
if($line =~ /^ACCESSION\s+(.*)/)
{
$id = $1;
last;
}else{
$line =~ s/^\s+/ /;
$def .= $line;
}
}
}elsif(/^VE