У меня много длинных файлов, но меня интересует только часть информации каждого из них.Пока у меня есть код, который обрезает файл и дает мне строку, содержащую нужную мне информацию, работая с одним файлом за раз.
Это код, который я использую:
#!/usr/bin/perl
use strict;
use warnings;
my $data;
open FILE, "<$ARGV[0]" or die "cannot open file '$ARGV[0]'!\n\n";
while ($data= <FILE>){
chomp $data;
if( $data=~m/\<input type="hidden" name="description" value="454read"><input type="hidden" name="format" value="fasta"><input type="submit" name="submitbutton" value="FASTA"/)
{
$data=~s/[^ACTGN]//g;
print $data;
}
}
И это ввод, который я получаю:
<input type="hidden" name="sequence" value="TTGTTGAGCTCGACGGTCATGACCCAGCTGGAGTCGGCACGGGCACCCGCGCGCTTCTGCCAGACGCCAATGTGGGACTTCTCGGTGTCGAGGC"><input type="hidden" name="name" value="FUY784js_7HL"><input type="hidden" name="description" value="454read"><input type="hidden" name="format" value="fasta"><input type="submit" name="submitbutton" value="FASTA">
Из этого мне нужны только две части, TTGTT .... AGGC, эта часть всегда будет в верхнем регистре A, T, C, G илиN, однако длина может отличаться в каждом файле.Мне также нужно сохранить имя для этого, которое в данном случае FUY784js_7HL, это имя будет меняться каждый раз.
Идеальный результат должен выглядеть следующим образом:
FUY784js_7HL
TTGTTGAGCTCGACGGTCATGACCCAGCTGGAGTCGGCACGGGCACCCGCGCGCTTCTGCCAGACGCCAATGTGGGACTTCTCGGTGTCGAGGC
У вас есть какие-либоИдея, как я могу это сделать?У меня много таких файлов.Я буду признателен, если кто-нибудь из вас поможет мне разобраться, как заставить это работать для нескольких файлов.
Спасибо!