>scaffold30 24194
CTTAGCAGCAGCAGCAGCAGTGACTGAAGGAACTGAGAAAAAGAGCGAGCTGAAAGGAAGCATAGCCATTTGGGAGTGCCAGAGAGTTGGGAGG GAGGGAGGGCAGAGATGGAAGAAGAAAGGCAGAAATACAGGGAGATTGAGGATCACCAGGGAG.........
.................
(문자열 첫 줄을 제외한 파일의 모든이어야 함), 및 좌표 파일과 같은 것입니다 :
:44801988 44802104
44846151 44846312
45620133 45620274
45640443 45640543
45688249 45688358
45729531 45729658
45843362 45843490
46066894 46066996
46176337 46176464
.....................
내 스크립트가 이것이다
my $chrom = $ARGV[0];
my $coords_file = $ARGV[1];
#finds subsequences: fasta files
open INFILE1, $chrom or die "Could not open $chrom: $!";
my $count = 0;
while(<INFILE1>) {
if ($_ !~ m/^>/) {
local $/ = undef;
my $var = <INFILE1>;
open INFILE, $coords_file or die "Could not open $coords_file: $!";
my @cline = <INFILE>;
foreach my $cline (@cline) {
print "$cline\n";
[email protected] = split('\t', $cline);
my $start = $data[0];
my $end = $data[1];
my $offset = $end - $start;
$count++;
my $sub = substr ($var, $start, $offset);
print ">conserved $count\n";
print "$sub\n";
}
close INFILE;
}
}
실행할 때 첫 번째 파일의 시작 부분이 한 번만 반복되는 것처럼 보입니다. foreach 루프가 작동하지 않는 것 같습니다. 또한 substr이 작동하지 않는 것처럼 보입니다. 루프를 점검하기 위해 cline을 인쇄하기 위해 exit를두면, 좌표와 함께 파일의 모든 행을 인쇄합니다. 내가 성가신 될 경우
내가 미안 해요,하지만 난 그것을 완료해야하고 나는
는 다시 한번 감사드립니다 ... 조금 필사적입니다.
해시 사용에 대해 생각해 보셨습니까? – fugu
'$ chrom' 파일에 시퀀스가 1 개만 있다고 가정합니다 - 맞습니까? ID가 '> scaffold30 24194 '입니다. –
죄송합니다. 게시물을 다시 읽은 후 - * (문자열은 첫 번째 줄을 제외한 모든 파일이어야합니다) * –