替换文件中的字符
将以下文件中的RF*****,
>RF00001;5S_rRNA;DQ397844.1/16860-16979 414005:Cenarchaeum symbiosum B
CAAGCCGGCCAUAGCGUCAGGGUGCGACCCAAUCCCAUUCCGAACUUGGA
AGUCAAACCUGAUGUCGCUGUUGUGUUACUAAGAUGCGAGAGCUCUUGGG
AAGCAACAGUGCUGGCAUCA
>RF00001;5S_rRNA;BA000002.3/627792-627911 272557:Aeropyrum pernix K1
GGCCCGGCCAUAGCGGCCGGGUAACACCCGGACUCAUUUCGAACCCGGAA
GUUAAGCCGGCCGCGUUGGAGGCUCCAGUGGGGUCCGAGAGGCCCUGCAG
GGGCCUCCAAGCCGGGGCCG
>RF00001;5S_rRNA;CP001140.1/1163076-1163193 490899:Desulfurococcus kamchatkensis 1221n
GACCCGGCCAUAGUGGCCGGGCAACACCCGGUCUCAUAUCGAACCCGGAA
GUUAAGCCGGCCACGUCAGAGCGGCAGUGAGGUCCGAGAGGCCUCGCAGC
CGCUCUGAGCUGGGAUCG
替换为
RF00001 RF00001;rRNA
RF00002 RF00002;rRNA
RF00177 RF00177;rRNA
RF01118 RF01118;rRNA
RF00003 RF00003;snRNA
RF00004 RF00004;snRNA
RF00007 RF00007;snRNA
RF00012 RF00012;snRNA
RF00015 RF00015;snRNA
RF00016 RF00016;snRNA
RF00020 RF00020;snRNA
RF00026 RF00026;snRNA
RF00045 RF00045;snRNA
RF00046 RF00046;snRNA
RF00049 RF00049;snRNA
代码如下
open(Fh,"1.list");
@a = <Fh>;
open(In1,"type.list");
@b = <In1>;
open(OU,">out.out");
foreach (@b){
my @lines = split m//s+/ ,$_;
my $id = $lines[0];
my $new_id = $lines[1];
my $flag=0;
foreach (@a){
$line = $_;
if ($line=~/^>/)
{
if($line =~ /$id/){
$line =~ s/$id/$new_id/;
#print $lines,"/n";
$flag=1;
print OU $line;
}
else
{
$flag=0;
}
}
elsif (($line!~/^>/) && ($flag eq 1))
{
print OU $line;
}
}
}