处理纯文本序列文件(大多数情况下是 fasta 序列)不是很有效。我真的很想处理 python 对象(str 左右)而不是 fasta 文件。我需要的只是:
>>> s1 = Seq('atgctttccg....act')
>>> s2 = Seq( 'tactttccg....tat')
>>> result = align(s1, s2, scoring_matrix)
>>> result.identity, result.score, result.expect
(79.37, 1086, 9e-105)
>>> result.alignment
('atgctttccg....act--','-tactttccg....tat')
因此,我也可以避免重复解析输出文件,这是无聊、耗时且容易出错的。我不期望高性能。我打算编写一个实现 Smith-Waterman 算法的 python 扩展,但想知道: 1. 是否有满足我需要的现有模块? 2. 有没有关于 Smith-Waterman 比对实现的常见优化的推荐读物?
任何建议表示赞赏。
请您参考如下方法:
我使用 Biopython处理/解析 fasta 文件。太好了。我不会很难用 python 实现 Smith-Waterman 算法,但速度很慢。祝你好运。
