求解释代码
发表于 : 2011-11-06 18:56
我是刚搞生物信息的 什么都不懂 这是一段将.seq转化为.fasta的代码 有好心人帮我解释下吗?我地一句就看不懂了 @ARGV ,谢谢各位了
#! /usr/bin/perl
#function: transfer *.seq to *.fasta, and combine them.
#usage: perl ptransfer <input folder's pathway> <output filename>
#time: 2011-11-04
use strict;
use warnings;
if(@ARGV != 2){
print "warning!$!\nusage:perl ptransfer <input folder's pathway> <output filename> ";
}
my($dir,$out)=@ARGV;
open(OUT,">$out");
opendir(DH,"$dir");
my(@total,$i);
$i=0;
foreach (readdir DH){
$total[$i]=$_;
$i++;
}
closedir DH;
my($num,);
$num=0;
foreach(@total){
my($filename);
$filename=$_;
open(OR,"$dir/$filename");
$filename=substr($filename,0,-4);
while(<OR>){
my($line);
$line=$_;
chomp($line);
if($line=~/^[ATCG][ATCG]/i){
$line=uc($line);
print OUT ">$filename\n$line\n";
$num++;
}
}
close OR;
}
close OUT;
print "$num\nall done!\n";
#! /usr/bin/perl
#function: transfer *.seq to *.fasta, and combine them.
#usage: perl ptransfer <input folder's pathway> <output filename>
#time: 2011-11-04
use strict;
use warnings;
if(@ARGV != 2){
print "warning!$!\nusage:perl ptransfer <input folder's pathway> <output filename> ";
}
my($dir,$out)=@ARGV;
open(OUT,">$out");
opendir(DH,"$dir");
my(@total,$i);
$i=0;
foreach (readdir DH){
$total[$i]=$_;
$i++;
}
closedir DH;
my($num,);
$num=0;
foreach(@total){
my($filename);
$filename=$_;
open(OR,"$dir/$filename");
$filename=substr($filename,0,-4);
while(<OR>){
my($line);
$line=$_;
chomp($line);
if($line=~/^[ATCG][ATCG]/i){
$line=uc($line);
print OUT ">$filename\n$line\n";
$num++;
}
}
close OR;
}
close OUT;
print "$num\nall done!\n";