【问题标题】:Change seqID and remove a part after a pattern更改 seqID 并删除模式后的一部分
【发布时间】:2018-05-18 13:53:38
【问题描述】:

我实际上有 fasta 文件,例如:

>seq1:QXQXQWQ:XQWQ
ACTG
>seq3:WCCWHWJ:WGH
ATGC
>seq7:GCGC:G
ATGACA

我想删除第一个“:”之后的所有内容并得到:

>seq1
ACTG
>seq3
ATGC
>seq7
ATGACA

如果可能的话,这与 biopython 一起使用吗?

【问题讨论】:

  • string.split(':')[0]

标签: python regex bioinformatics biopython fasta


【解决方案1】:

在 biopython 中使用 SeqIO 很简单,只需修改 record.idrecord.description,通过适当地拆分字符串:

from Bio import SeqIO

def yield_records(in_file):
    for record in SeqIO.parse(in_file, 'fasta'):
        record.description = record.id = record.id.split(':', 1)[0]
        yield record

SeqIO.write(yield_records('in.fasta'), 'out.fasta', 'fasta')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-15
    • 2013-08-04
    • 1970-01-01
    • 1970-01-01
    • 2019-04-16
    • 1970-01-01
    • 2021-02-09
    相关资源
    最近更新 更多