我有一个很长的字符串,其中包含 DNA 序列数据,通常大约 500k 到 5m 个字符长。我想从头开始剪切前 n 个字符并将它们添加到该字符串的末尾。
我需要运行该方法大约。2000 个 DNA 序列——这就是我担心速度的原因。我不想整周都在阻塞我的电脑。
在 ruby 中最有效的方法是什么?
一个附带问题是内存效率。因为我只需要每个序列运行一次这个任务,这对我来说并不重要,但通常快速并不意味着更少的内存,对吧?我的电脑有 2 个可用的 RAM(希望它足够了)。
如果你有兴趣为什么我需要这样做:
我想这样做的原因是,我的源材料是针对 DNA 中的特定点进行分析的。这一点需要位于 DNA 中间的某个位置,以便在以后的分析中更加方便。如果该点接近结尾或开头,我需要拆分并连接 DNA 序列字符串。序列是圆形的,该点是细菌基因组中 dnaA 的顶部 BLAST 命中(来自 NCBI 数据库)。由于大多数注释倾向于使用 dnaA 基因的位置作为开始,如果您想使用该基因周围的区域,这将非常烦人。