我有一个很长的字符串包含DNA序列数据,通常约500k到5m字符长。 我想从头开始剪切前n个字符,并将它们添加到该字符串的末尾。快速字符串拆分和串联在红宝石
我需要运行该方法约。 2000 DNA序列 - 这就是为什么我担心速度。我不想整周阻止我的电脑。
什么是最有效的方式来做到这一点在红宝石?
一个侧面问题是内存效率。因为我只需要按顺序执行一次这个任务,所以对我来说并不重要,但通常快并不意味着更少的内存,对吧?我的电脑有2个可用的RAM(希望它已经足够了)。
如果你有兴趣,为什么我需要这样做:
为什么我要做到这一点,我的源材料分析,在DNA的特定点的原因。这一点需要在DNA中间的某个位置,以便在以后的分析中更方便。如果这一点接近末端或开始,我需要分割和连接DNA序列串。序列是循环的,并且点是细菌基因组中的dnaA的最高BLAST命中(来自NCBI数据库)。由于大多数注释倾向于使用dnaA基因的位置作为开始,如果您想与该基因周围区域一起工作,这非常烦人。
谢谢你,这听起来像是正确的方向。我将为一小部分我的序列对字符串操作进行基准测试。我的第一个分割和连接方法在我的电脑上运行正常,所以我认为我对速度的担忧只是消失了。 – adrian