>id1 ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss +sssssssssssssssssssssssssssssssssssssssssssssssss >id_2 ssDDDDDDDDDDDDDDDDDDDDDDssssssssDDDDDDDDDDssssssssDDDDDssssssssssssssD +DDDDDDDDDDDDDDDsDDDDDDDDDssssssssssssssUUUUUUUUUs ...
while(<>) { if($_=~/^>/) { $id=$_; $seq=<>; print $id; if($seq=~/^s+$/) { $seq=~s/s/I/g; } else { while($seq=~/(s+)(U+)(s+)/g) { $part_before_U=$1; $len1_U=length($part_before_U); $part_U=$2; $part_after_U=$3; $len2_U=length($part_after_U); $in_part_U='I' x $len1_U; $out_part_U = 'O' x $len2_U; $seq=~s/$part_before_U/$in_part_U/; $seq=~s/$part_after_U/$out_part_U/; } while($seq=~/(s+)(D+)(s+)/g) { $part_before_D=$1; $len1_D=length($part_before_D); $part_D=$2; $part_after_D=$3; $len2_D=length($part_after_D); $out_part_D = 'O' x $len1_D; $in_part_D='I' x $len2_D; $seq=~s/$part_before_D/$out_part_D/; $seq=~s/$part_after_D/$in_part_D/; } $seq=~s/U/M/g; $seq=~s/D/M/g; } print $seq; } }
In reply to Pattern matching simultaneous substitution by Anonymous Monk
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |