Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re^2: How to get the correct count

by eyepopslikeamosquito (Chancellor)
on Apr 19, 2012 at 11:48 UTC ( #965928=note: print w/ replies, xml ) Need Help??

in reply to Re: How to get the correct count
in thread How to get the correct count

I endorse all the excellent improvements made by GrandFather. Some further minor tweaks follow. For removing whitespace, you could change from:

$seq =~ s/\s//g;
$seq =~ s/\s+//g;
That should be a touch more efficient and is more idiomatic -- see also perlfaq4 "How do I strip blank space from the beginning/end of a string?".

An alternative for counting the number of bases is to change from:

my $A = () = $seq =~ /A/ig;
my $A = $seq =~ tr/aA//;
Counting characters with tr seems a bit odd but is normally fastest and is idiomatic Perl -- see Quote and Quote-like Operators.

Finally, to see what actually matches in the regex, and so help you debug it, note that you could expand it a bit like this:

my @matches = $seq =~ /[AG]TG.*?T[AG][AG]/ig; print "Here are the matched parts of the string:\n"; print " '$_'\n" for @matches; my $GENE = @matches;

Comment on Re^2: How to get the correct count
Select or Download Code

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://965928]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2015-12-01 06:51 GMT
Find Nodes?
    Voting Booth?

    What would be the most significant thing to happen if a rope (or wire) tied the Earth and the Moon together?

    Results (795 votes), past polls