yuanzhen_licheng 2018-01-13 00:23 采纳率: 100%
浏览 916
已采纳

如何等长梯度切割字符串生成字符串集?

本人是生物学专业的学生,现遇到如下问题:
现有一条长度4M的基因序列(4,000,000个字符的长度),在试验设计中,想要把这个序列切割成等长的片段(等长字符串),并且是梯度切割(每次移码一个字符的长度),最后的结果是生成一组等长的片段集合(相当于 “字符串组”或“数组” )。
例如:假设字符串
“atggcgtttctgctttcattcggaactgaggtgcgggacgagctgcggcgcaactggggatggatcctggccgctggaatcgtcatggtgcttgcctggcactgggcaatctgttccttgccaccgtcgcatcggtttactacgtcggcctgttgatgatcctggggggcgccgcgcagatgggcgtgcgtgcaggtctttcgcgccaccggctggagcc…………”
是全长4M的基因序列的一小部分,想切割成长度为20个字符的字符串集合,
第一次切割生成的字符串是“atggcgtttctgctttcatt”,相当于字符串的第1个字符到第20个字符,
第二次切割生成的字符串是“tggcgtttctgctttcattc”,相当于字符串的第2个字符到第21个字符,
第三次切割生成的字符串是“ggcgtttctgctttcattcg”,相当于字符串的第3个字符到第22个字符,
第四次切割生成的字符串是“gcgtttctgctttcattcgg”,相当于字符串的第4个字符到第23个字符,
…………
第n次切割生成的字符串相当于字符串的第 ”n” 个字符到第 ”n+20-1” 个字符。
切割生成20个字符长度的片段集合以后,还要切割生成其他长度的片段集合,如10、15、16等等长度,所以切割片段的目的长度最好可以做为一个可调整的参数来设置,这样就可以自动切割成集合内等长、不同集合内长度不等的多个集合了。
不知是否有高手可以帮助写一段代码,来实现这个想法。先在此道谢了。

补充:4M的字符串切割生成长度为20的字符串集合,会产生大概80M的文件,不知道能不能直接生成TXT文档。

  • 写回答

4条回答 默认 最新

  • dundaoccce 2018-01-13 00:47
    关注

    matlab里面直接用str[i:i+N-1],就直接取出了字符串切片,不确定你的问题是不是这样?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥200 相机拍直接转存到电脑上 立拍立穿无线局域网传
  • ¥15 (关键词-电路设计)
  • ¥15 如何解决MIPS计算是否溢出
  • ¥15 vue中我代理了iframe,iframe却走的是路由,没有显示该显示的网站,这个该如何处理
  • ¥15 操作系统相关算法中while();的含义
  • ¥15 CNVcaller安装后无法找到文件
  • ¥15 visual studio2022中文乱码无法解决
  • ¥15 关于华为5g模块mh5000-31接线问题
  • ¥15 keil L6007U报错
  • ¥15 webapi 发布到iis后无法访问