python - 在python中存储DNA矩阵的最佳方法
问题描述
我想在 Python 中存储 DNA 的字符数组,每个单词作为每个元素。
例如,我想改变
1. cctgatagacgctatctggctatccaggtacttaggtcctctgtgcgaatctatgcgtttccaaccat
2. agtactggtgtacatttgatccatacgtacaccggcaacctgaaacaaacgctcagaaccagaagtgc
3. aaacgttagtgcaccctctttcttcgtggctctggccaacgagggctgatgtataagacgaaaatttt
4. agcctccgatgtaagtcatagctgtaactattacctgccacccctattacatcttacgtccatataca
5. ctgttatacaacgcgtcatggcggggtatgcgttttggtcgtcgtacgctcgatcgttaccgtacggc
成二维矩阵形式,每个元素存储一个字符。我想过numpy,但我认为它可能不适合这些字符串。
Python中最好的方法是什么?
解决方案
简单明显的答案是使用列表列表:
a = "cctgatagacgctatctggctatccaggtacttaggtcctctgtgcgaatctatgcgtttccaaccat"
b = "agtactggtgtacatttgatccatacgtacaccggcaacctgaaacaaacgctcagaaccagaagtgc"
matrix = [list(a), list(b)]
print(matrix)
[
['c', 'c', 't', 'g', 'a', 't', 'a', 'g', 'a', 'c', 'g', 'c', 't', 'a', 't', 'c', 't', 'g', 'g', 'c', 't', 'a', 't', 'c', 'c', 'a', 'g', 'g', 't', 'a', 'c', 't', 't', 'a', 'g', 'g', 't', 'c', 'c', 't', 'c', 't', 'g', 't', 'g', 'c', 'g', 'a', 'a', 't', 'c', 't', 'a', 't', 'g', 'c', 'g', 't', 't', 't', 'c', 'c', 'a', 'a', 'c', 'c', 'a', 't'],
['a', 'g', 't', 'a', 'c', 't', 'g', 'g', 't', 'g', 't', 'a', 'c', 'a', 't', 't', 't', 'g', 'a', 't', 'c', 'c', 'a', 't', 'a', 'c', 'g', 't', 'a', 'c', 'a', 'c', 'c', 'g', 'g', 'c', 'a', 'a', 'c', 'c', 't', 'g', 'a', 'a', 'a', 'c', 'a', 'a', 'a', 'c', 'g', 'c', 't', 'c', 'a', 'g', 'a', 'a', 'c', 'c', 'a', 'g', 'a', 'a', 'g', 't', 'g', 'c']
]
现在它是否适合您的解决方案取决于您打算如何使用它,您的数据集有多大,性能和内存使用限制等,您的问题中都没有提到...
推荐阅读
- android - API < 23 上带有图像选择器的 MaterialButton
- linux - Web 中的 Vala Image Base64
- r - -title 中的错误:一元运算符的无效参数执行停止
- python - 如何使用正则表达式删除重复字符 Python
- python - selenium - 想要从表的第二列中选择所有值
- python - python拆分为n个数组(批处理)并尝试在一批数学中对相同的ID进行分组
- c - 如何排除非数字键?CS50 凯撒 Pset2
- python - Django如何添加有条件的类媒体
- protractor - Chromedriver 已停止工作并显示 Driver info: chromedriver=81.0.4044.69 即使我安装了 81.0.4044.138
- php - 密码重置系统的安全链接哈希