python去除重复项_Biopython根据ID或者根据序列去除重复项

from Bio import SeqIO

import argparse

records_new = SeqIO.parse(args.in_raw, "fasta")

Pretreated_fa = SeqIO.to_dict(SeqIO.parse(args.input, "fasta" ))

result = open(args.out_file, "w")

for rec in records_new:

flag = True

for k, i in Pretreated_fa.iteritems():

if str(i.seq) == str(rec.seq):

flag =False

break

if flag :

SeqIO.write(rec, result, "fasta")

result.close()from Bio import SeqIO

import argparse

records_bac = SeqIO.parse("nr.hmm.protein.faa", "fasta")

All_fa_dict = SeqIO.to_dict(SeqIO.parse("Allq_protein.faa", "fasta" ))

noDupID = open("No_Dup_ID.txt", "w")

noDupSeqR = open("new_Record.fasta", "w")

for r in records_bac:

if r.id not in All_fa_dict:

noDupID.write(r.id+"\n")

noDupSeqR.write(">"+r.id+"\n")

noDupSeqR.write(str(r.seq)+"\n")

noDupID.close()

noDupSeqR.close()

这些是对之前从事的生物信息工作的一点点整理内容, 生物信息学的研究人员用python和perl的确是最多的,但是这两种语言作为脚本工具,应当总结的方法和工具很多, 需要学的东西也太多了。

希望能对用到python的生信分析人员有帮助吧!

很久以前听说过uclust fastx_collasper 以及 cd-hit 可以完成去重复

很久很久以前我只会用CD-hit 和 FastUniq(这个是针对双端测序的fastq文件的), mothur的unique.seq 命令也可以,不过好像针对的是几十M的 fasta比较好,很久不用这些工具了...

也许以后都不会用了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值