in reply to substrings that consist of repeating characters
In Perl length is cheap so calculate it when you need it. The following code is a little more Perlish but, other than using a threshold to drop out short strings, is similar to your code. For varieties sake the regex has changed slightly to be a little easier to grok:
use strict; use warnings; my $string = "AAATTTAGTTCTTAAGGCTGACATCGGTTTACGTCAGCGTTACCCCCCAAGTTATT +GGGGACTTT"; my @runs; my $threshold = 3; length $1 >= $threshold && (push @runs, $1) while $string =~ /(A+|C+|G ++|T+)/g; @runs = sort {length($b) <=> length($a)} @runs; printf "@runs\n";
Prints:
CCCCCC GGGG AAA TTT TTT TTT
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: substrings that consist of repeating characters
by LanX (Saint) on Sep 27, 2020 at 23:33 UTC |