- 论坛徽章:
- 0
|
回复 5# 小丽子酱
doc1.txt
>chr01
nnnnagtacgt
>chr02
nnnnnggtaa
>chr03
nnnnnnnnggtaannggtaa
doc2.txt
chr01 irgsp1_rep CDS 3 5 . + . Parent=Os01
chr02 irgsp2_rep CDS 2 6 . + . Parent=Os02
chr03 irgsp3_rep CDS 1 3 . + . Parent=Os03
结果大约是这样子
>Os01
nag
>Os02
nnngg
>Os03
nnn
代码大约是这样子
第一个open...
...大约是这种感觉的代码
my $doc1, 'doc1.txt';
第二个open...
...大约是这种感觉的代码
my $doc2, 'doc2.txt';
第一个while(...){...}
第一个...大约是这种感觉的代码
<$doc2>
第二个...大约是这种感觉的代码
my ( $chr, $parent, @range ) = (split)[ 0, 8, 3, 4 ];
$hash{$chr} = [ ( split '=', $parent )[1], @range ];
第二个while(...){...}
第一个...大约是这种感觉的代码
<$doc1>
第二个...大约是这种感觉的代码
my ($chr) = /^>(\S+)/;
unless ( exists $hash{$chr} ) { <$doc1>; next }
chomp( my $atcg = <$doc1> );
my ( $parent, $position1, $position2 ) = @{ $hash{$chr} };
say '>', $parent;
say substr $atcg, $position1, $position2 - $position1 + 1;
|
|