我有很多長文件,但我只是在每個人的信息的一部分感興趣。到目前爲止,我有一個修剪文件的代碼,並給出了包含我需要的信息的行,當時正在處理一個文件。如何在Perl中選擇部分行?
這是我使用的代碼:
#!/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
你有我該怎麼辦任何的想法?我有很多這樣的文件。我會很感激,如果你們中的任何人都可以幫我弄清楚如何讓這個文件適用於多個文件。
謝謝!
具有樣品輸入將是有益的 – Zaid 2011-05-27 18:43:59