美文网首页
2021-05-09

2021-05-09

作者: Wu_tz | 来源:发表于2021-05-10 10:00 被阅读0次

    批量替换序列id的小方法

    利用* Batch Entrez
    工具根据accession号批量下载基因序列时,得到的序列id通常不包含物种名,如下图:

    image.png

    然后我们可以将物种名去替换其中“>”后的内容,由于课题需要写了个小方法:

    准备两个文件①从Batch Entrez批量下载的序列文件;②物种名与accession好的对应文件(如下图)。


    image.png

    利用以下脚本可以一键替换:

    f1 = open("accession.txt","r")
    f3 = open("out.fas","w")
    lines1 = f1.readlines()
    with open('ask1.fas') as f2:
        dict = {line.strip():next(f2).strip() for line in f2}
    keys = dict.keys()
    for line1 in lines1:
        line1 = line1.strip()
        line1 = line1.split()
        for key in keys:
            if line1[1] in key:
                f3.write(">")
                f3.write(line1[0])
                f3.write("\n")
                value = dict[key]
                f3.write(value)
                f3.write("\n")
    f1.close()
    f2.close()
    

    其中,ask1.fas替换为目标序列文件即可。

    希望能帮助到大家!

    相关文章

      网友评论

          本文标题:2021-05-09

          本文链接:https://www.haomeiwen.com/subject/mclvdltx.html