시퀀스 또는 문자열에서 A, C 및 G의 개수를 계산하고 싶습니다. 다음 코드를 작성했습니다.tr /// 연산자를 사용하여 문자열의 문자 수를 계산하십시오.
그러나 값을 인쇄하면 A 만 인쇄됩니다. C와 G는 0으로 표시됩니다. 아래 코드에서 A의 첫 번째 점을 평가하고 있지만 C의 첫 번째 점을 평가하여 순서를 전환하면 C의 값을 얻지 만 이제 A와 G는 0으로 인쇄됩니다.
누구든지 내 코드에 어떤 문제가 있다고 말할 수 있습니까? 감사!
#! /usr/bin/perl
use strict;
use warnings;
open(IN, "200BP_junctions_fasta.faa") or die "Cannot open the file: $!\n";
while(<IN>)
next if $_ =~ /\>/;
my $a = ($_ = tr/A//);
my $c = ($_ = tr/C//);
my $g = ($_ = tr/G//);
print "A:$a, C:$c, G:$g\n";
}
파일은 다음과 같습니다 :
> A_Seq ATGCTAGCTAGCTAGCTAGTC > B_Seq ATGCGATCGATCGATCGATAG
감사합니다. 그건 신참 실수 였어. – Jordan