Hello everyone, I need your help, I have a file like this:
>1
AACTCTGGGACAATGGCACACGGGAAACAGATAATGAACGATCAGCACAGGGAACTAGCG
>2
AACTCTGGGACAATGGCACACGGGAAACAGATAATGAACGATCAGCACAGGGAACTAGCG
>3
AACTCTGGGACAATGGCACACGGGAAACAGATAATGAACGATCAGCACAGGGAACTAGCG
And I would like to change all the numbers by a list of words, I made the next program with perl but I am new using the program and I dont know who is wrong with that.
%lista2=(
1 => "CAT00.3",
2 => "CAT43.1",
3 => "CAT40.3"
);
open(OA,">file2.txt");
foreach $key (keys %lista2){
open(SAL,"file.txt");
while(<SAL>) {
chomp;
if(/>/) {
@w=split("\t");
$r=0;
s/\;//g;
if (/%lista2[i]/) {
print OA "$_ $lista2{$key}\n" ;
$r=1;
}
}
}
}
close(SAL);
close(OA);
I would to get this:
>CAT00.3
AACTCTGGGACAATGGCACACGGGAAACAGATAATGAACGATCAGCACAGGGAACTAGCG
>CAT43.1
AACTCTGGGACAATGGCACACGGGAAACAGATAATGAACGATCAGCACAGGGAACTAGCG
>CAT40.3
AACTCTGGGACAATGGCACACGGGAAACAGATAATGAACGATCAGCACAGGGAACTAGCG
But Idont know how do that.