Моего входного файла содержит следующую информацию в этой манереРазбор больших текстовых файлов и подвергая извлеченную информацию в REGEX
>V063O:34:49 length=314
GAGATGACTCCCAGGGGGGGGGGATGAAACCCAGACCTGGCACCATGGGATCAGCCATTC
CATCTTGACCAAAGGGGGGGGGGAAAGAAAGTGTAATTAATAAAGTACAGTGGCAGAGAG
AGTTCAAATAGTTGCGAGTCTACTCTGGAGGTTGCTGTTGTGCTAAGCTTCAGGTTATAC
CTTGACCCTACCATACCCCCCAAACCAGGACAATTCCAAGCCCAAATCCGTAAAAGAAAC
ACCTAAGGCAATATATAAGATTCTACAGGTCATACATCTAGACTACTTACTAACAATCCG
TAACAACCTCAGAT
>V063O:35:44 length=104
GCTCTTTTTTTTTTTAGCAAAAACCGTTAGCCAATCCCTACCCAACCCCTGGCACCTGGG
GGGGGGTGCCCGAGCGCCGGTGGGAGAACGGAGGAAACGCACTC
Последовательность (строка данных ниже ID и длиной =) будет подвергнута следующим регулярным выражением
#Search sequence for a combination of 2 values of ACGT that are repeated at least 10 times
my $regex1 = qr/(([ACGT]{2}) \2{9,})/x;
#Search sequence for a combination of 3 values of ACGT that are repeated at least 7 times
my $regex2 = qr/(([ACGT]{3}) \2{6,})/x;
#Search sequence for a combination of 4 values of ACGT that are repeated at least 7 times
my $regex3 = qr/(([ACGT]{4}) \2{6,})/x;
for my $regex ($regex1, $regex2, $regex3) {
next unless $seq1 =~ $regex;
printf "Matched %s exactly %d times\n", $2, length($1)/length($2);
printf "Length of sequence: $number \n";
}
Это в настоящее время возвращает результаты из образца текстового файла, содержащего только одну последовательность в командной строке
мне нужно, чтобы иметь возможность напечатайте следующие элементы, найденные как внутри файла, так и с помощью регулярного выражения выше, до одного файла для каждой последовательности в текстовом файле (так что один файл для всех последовательностей, найденных в текстовом файле).
ID (example: V0630:34:49) , The elements that are repeating (example; GCT), the number of repeats (example; 13), and the length of the entire sequence.
условия является то, что BioPerl не вариант (пользователь не Perl-здравый смысл, так что это предназначается, чтобы быть легким для конечного пользователя, как это возможно, без необходимости загружать модули) и что входные файлы очень большой по характеру (300 МБ или более).
Что было бы лучшим способом справиться с этой проблемой?
Эй, откуда вы взяли этот геном? Он выглядит подозрительно, как мой :-) – paxdiablo
Пользователь не Perl-savvy, поэтому вы даете пользователю регулярные выражения? лол. –
Ну, я надеюсь, что конечный пользователь просто укажет на входной файл и запустит скрипт без участия. Это должно быть интересно. – Citizin