【发布时间】:2016-09-07 17:19:05
【问题描述】:
我正在尝试 Biopython 模块中的 global alignment 方法。在短序列上使用它很容易,并且可以直接给出比对矩阵。但是我真的需要在我拥有的更大的序列上运行它(平均长度为2000 nucleatides (or) characters)。但是我一直遇到Out of Memory 错误。我查看了 SO,发现 this 上一个问题。提供的答案没有帮助,因为它们链接到 this 同一个网站,现在无法访问。除此之外,我尝试了以下步骤:
- 我尝试使用
64-bitpython,因为我的个人电脑有4gbRAM。 -
sshed 到具有16gbRAM 的小型学校服务器并尝试在其上运行。近 4 小时后它仍在运行。
由于它是一个小脚本,我不确定如何修改它。任何帮助将不胜感激。
我的脚本:
import os
from Bio import pairwise2
from Bio.pairwise2 import format_alignment
file_list = []
file_list = [each for each in os.listdir(os.getcwd()) if each.endswith(".dna")]
align_file = open("seq_align.aln","w")
seq_list = []
for each_file in file_list:
f_o = open(each_file,"r")
seq_list.append(f_o.read())
for a in pairwise2.align.globalmx(seq_list[0],seq_list[1]):
align_file.write(format_alignment(*a))
align_file.close()
【问题讨论】:
-
您有多少个
.dna文件? -
有 100 个文件夹,每个文件夹有 1-10 个
.dna文件。我现在只在 1 个包含 2 个文件的文件夹上尝试此操作 -
每个文件有多行,还是只有一行很长?
-
现在只有 1 条很长的线。