我正在创建一个程序,确认给出的核苷酸序列是否是回文序列.该脚本创建一个反向补码并将其与原始序列进行比较,确认如果2匹配则它是回文.问题是我的脚本将始终声明它不是回文,即使它是.
#!/usr/bin/perl use strict; print "Enter the sequence\n"; my $seq =; my $r=reverse($seq); $r =~ tr/ACTGactg/TGACtgac/; print "Reverse complement: $r \n"; if ($r eq $seq) { print "The sequence is a palindrome\n"; } else { print "The sequence is NOT a palindrome\n"; }
预期产出示例:
Enter the sequence: CG Reverse complement: CG The sequence is a palindrome
小智.. 5
问题是,在阅读之后
,$seq
还包含最终的换行符.如果chomp($seq);
在行之后添加my $seq =
,脚本将按预期运行.
问题是,在阅读之后
,$seq
还包含最终的换行符.如果chomp($seq);
在行之后添加my $seq =
,脚本将按预期运行.