我有很多长文件,但我只是在每个人的信息的一部分感兴趣。到目前为止,我有一个修剪文件的代码,并给出了包含我需要的信息的行,当时正在处理一个文件。如何在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