我想在 Perl 中有一个 DNA 字符串的反向补码。所以这很简单,我有以下表达式。
$revcomp =~ tr/ACGTacgt[]N/TGCAtgca][./;
然后反转字符串。[]
照顾模棱两可的角色。但是,如果我想扩展它以允许更复杂的表达式,这个简单的方案就会失败。例如,C[AG]{7,10}[ACGT]{5,8}ATGC
将导致一个GCAT{8,5}[ACGT]{01,7}[CT]G
不是我们想要的正则表达式(在花括号之后也被考虑在内)。预期的反向补码是GCAT[ACGT]{5,8}[CT]{7,10}G
. 我该怎么办?