我有一个像这样的文件(txt或fasta)。每个序列只位于一行中。
>Line1
ATCGCGCTANANAGCTANANAGCTAGANCACGATAGAGAGAGACTATAGC
>Line2
ATTGCGCTANANAGCTANANCGATAGANCACGAAAGAGATAGACTATAGC
>Line3
ATCGCGCTANANAGCTANANGGCTAGANCNCGAAAGNGATAGACTATAGC
>Line4
ATTGCGCTANANAGCTANANGGATAGANCACGAGAGAGATAGACTATAGC
>Line5
ATTGCGCTANANAGCTANANCGATAGANCACGATNGAGATAGACTATAGC
我要得到一个矩阵,其中每个位置对应于序列的每个字母(核苷酸)。在本例中,矩阵为(5x50)。 我一直在研究新方法。我希望有人能帮我。
如果您使用python中的DNA序列数据,我建议您使用Biopython库。您可以使用
pip install biopython
安装它。在以下是您如何达到预期效果:
但是在for循环中,每个} 对象,使您能够灵活地对它们执行操作。在
^{pr2}$seq_record.seq
都是一个^{您可以随意分割
seqMat
数组。在强烈建议你去看看教程!在
实现矩阵的一种方法是读取文件的内容并将其转换为一个列表,其中列表的每个元素都是每个元素中存在的序列线路。和然后你可以访问你的矩阵作为一个二维数据结构。 例如:【ATCGCTANANAGCTANANAGCTANAGTAGCTAANACGAGAGAGACTATAGC,ATCGCTANAGCTANAGTAANAGCACTAGATAGTAGC,ATCGCTANANAGCTANANAGCAGCTAANACGAGAGAGACTATAGC,ATCGCTANAGCTANANAGCTANAGCACTAGATAGTAGC,ATCGCTANAGCTANANAGCAGCTAGACTAGATAGC】
将序列存储为矩阵的列表
^{pr2}$另一种访问矩阵中每个元素的方法
我希望这段简短的代码能有所帮助。基本上需要将字符串拆分为一个字符数组。然后你就把所有的东西都放到矩阵里。在
Matr1[0,0]
将返回矩阵中的第一个元素。在相关问题 更多 >
编程相关推荐