我需要按照以下规则交换字符串中的字母:
- A 被 T 代替
- T 被 A 代替
- C被G取代
- G被C替换
例如:ACGTA
应该变成TGCAT
解决此问题的最佳方法是什么?
最佳答案
正在搜索 java "A to T, T to A"
找到这个suggestion :
String sequence = "AATTTCTCGGTTTCAAT";
sequence = sequence.replace("A", "t")
.replace("T", "a")
.replace("C", "g")
.replace("G", "c")
.toUpperCase();
System.out.println(sequence);
这是一个简单明了的解决方案,适用于您的特定情况,如果您的 DNA 串相对较短,其性能也可以接受。对于处理大量数据的更通用的解决方案,您应该逐个迭代字符并构建一个新字符串。或者正如 polygenelubricants 指出的那样 - 考虑一种存储格式,每个碱基只使用 2 位而不是 16 位。
关于java - 交换字符串中的字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3254358/