【问题标题】:Remove duplicate sequences from fasta file based on ID [closed]根据 ID 从 fasta 文件中删除重复序列 [关闭]
【发布时间】:2014-10-22 07:43:06
【问题描述】:

我编写了一个小型 biopython 脚本来根据 ID 从 fasta 文件中提取序列,但它确实提取了重复项,因此我希望从我的 fasta 文件中过滤重复的序列(例如,具有完全相同的 ID)。

我试图修改我的脚本,但失败了:

from Bio import SeqIO

id = []
for line in open("short.txt","r"):
    id.append(line.rstrip().strip('"'))


for rec in SeqIO.parse("out.fa","fasta"):
    #print rec.id
    if rec.id in id:
        if rec.id not in rec.format:
            print rec.format("fasta")

谁能帮忙?

【问题讨论】:

    标签: python biopython


    【解决方案1】:
    ids = set()
    for rec in blah:
        if rec.id not in ids:
            ids.add(rec.id)
            # process it
    

    【讨论】:

    • 它似乎不起作用
    • @user3188922:通常当人们发布“它不起作用”时,不会提供进一步有用的帮助,因为我们没有很好的方法来了解您的问题是什么。如果您需要帮助,您需要明确说明 what 不起作用、您看到的错误(如果有)、您的输入和输出数据是什么样的等等。不是“这里是一些随机代码,它不起作用。”
    • 抱歉,它实际上完美运行 :) 我敢打赌!我认为 idS 是一个错误,应该改用 id,否则打开一组新的 id 是个好主意!
    猜你喜欢
    • 2018-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多