Hello fellow monks!
I have a number of sequences that contain some characters (specifically I,M,O,P,B) and the character U (some times) and I want to get rid of the U's.
There can be these 3 cases:

1. U is in the beginning of the string, like the following example:
$seq=UUUUUUUUIIIIIIIIIIIIIIIMMMMMMMMMMMMMMMMMMMMMMMMOOOOO

Here, it would be replaced by I, and I do this by writing:
if($seq=~/^(U+)([I|O|P|B|M])/) { $part_to_change1=$1; $len1=length($part_to_change1); $char1=$2; substr($top, 0, $len1, ($char1 x $len1)); }

2. U is in the end, like the following example:
$seq=IIIIIIIIIIIIIIIMMMMMMMMMMMMMMMMMMMMMMMMOOOOOUUUUUUUU

Here, U would be changed to O, and for that I use the following commands:
if($seq=~/.*?([I|O])(U+)$/) { $char2=$1; $part_to_change2=$2; $len2=length($part_to_change2); substr($top, -$len2, $len2, ($char2 x $len2)); }

So now, what I am missing is the way to replace U when I find it in the middle of the sequence, like the following examples:
* $seq=IIIIIIIIIIIIIIIMMMMMMMMMMMUUUUUUUUMMMMMMMMMMMMMOOOO * $seq=IIIIIIIUUUUUIIIIIIIIMMMMMMMMMMMMMMMMMMMMMMMMOOUUUUUUUOO * $seq=IIIIIIIIIIIIIIIMMMMMMMMMMMMMMMMMMMMMMMMOOUUOO

In all the above cases, the U needs to be changed to the character that it is 'encapsulated' within, i.e U -> M for the first example, U -> I and U ->O for the second example and U -> O for the third. Can you give me some help?

In reply to Replace characters within string by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.