首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >报告与pairwise2的最佳匹配

报告与pairwise2的最佳匹配
EN

Stack Overflow用户
提问于 2015-06-18 01:37:22
回答 2查看 686关注 0票数 0

我有一个读取的fastq文件,比如"reads.fastq“。我想将sequnces与保存为fasta文件ref.faa的字符串对齐。为此,我将使用以下代码

代码语言:javascript
复制
reads_array = []

for x in Bio.SeqIO.parse("reads.fastq","fastq"):
    reads_array.append(x)

for x in Bio.SeqIO.parse("ref.faa","fasta"):
    refseq = x

result = open("alignments_G10_final","w")

aligned_reads = []

for x in reads_array:
    alignments =pairwise2.align.globalms(str(refseq.seq).upper(),str(x.seq),2,-1,-5,-0.05)
    for a in alignments:
        result.write(format_alignment(*a))
        aligned_reads.append(x)

但我只想报告每一次阅读的最佳排列。如何从a2的分数中选择这种对齐方式。我想选择a2值最高的对齐方式。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-18 11:01:54

您可以根据a2对对齐进行排序

代码语言:javascript
复制
for x in reads_array:
  alignments = pairwise2.align.globalms(
      str(refseq.seq).upper(), str(x.seq), 2, -1, -5, -0.05)
  sorted_alignments = sorted(alignments, key=operator.itemgetter(2))
        
  result.write(format_alignment(*sorted_alignments[0]))
  aligned_reads.append(x)
票数 1
EN

Stack Overflow用户

发布于 2019-04-02 00:01:50

我知道这是一个老问题,但对于那些仍在寻找正确答案的人,请在您的对齐方法中添加one_alignment_only=True参数:

代码语言:javascript
复制
alignments =pairwise2.align.globalms(str(refseq.seq).upper(),
    str(x.seq),
    2,-1,-5,-0.05,
    one_alignment_only=True)

为了找到它,我不得不在文档中做一些调查,但这给出了最佳的分数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30905134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档