美文网首页
建立一个简单的生殖道菌群数据库

建立一个简单的生殖道菌群数据库

作者: zd200572 | 来源:发表于2021-06-01 14:53 被阅读0次

    Species-level classification of the vaginal microbiome | BMC Genomics | Full Text (biomedcentral.com)
    参考了这篇文章给出的序列,虽然是2012年的,也应该够用了。
    下面是我的数据库建立过程:

    1、根据作者给出的AC号,从NCBI批量下载序列

    ac_number的附件文件在这:https://static-content.springer.com/esm/art%3A10.1186%2F1471-2164-13-S8-S17/MediaObjects/12864_2012_4458_MOESM4_ESM.xls


    把第二行的ac number另存为一个txt文件,然后上传到ncbi就可以批量下载啦。
    就是这个网址啦:Batch Entrez (nih.gov)
    然后就获得了序列。
    cat /mnt/c/Users/zd200/Desktop/seqs_aligned/Vaginal_ref_sequence.fasta |grep "^>"|wc -l 936 #936条序列
    文件大小有40M,基本都是全长序列,有了这些序列,就可以方便地设计引物什么的啦!
    我把数据放在了这里!
    链接: https://pan.baidu.com/s/1kGKzjQKgfTD-jbBzVvYn5Q 提取码: jamy 复制这段内容后打开百度网盘手机App,操作更方便哦

    2、文件以属去冗余

    如果觉得文件太大,可以用下面的方法去冗余,每个属只选一条,应该也就够了。我用python,代码如下:

    fout = open('ref_de.fasta','w')
    
    inf = open('Vaginal_ref_sequence.fasta', 'r')
    flag = 0
    seq = ''
    col = {}
    for line in inf:
        if line.startswith('>') and flag ==1:
            if ac_number not in col.keys():
                fout.write(">" + ac_number + '\n')
                fout.write(seq+'\n')
                col[ac_number] = ''
            ac_number = line.strip().split(' ')[1]
            seq = ''
        elif line.startswith('>'):
            ac_number = line.strip().split(' ')[1]
        else:
            seq += line.strip()
            flag = 1
    
    fout.close()
    

    然后获得的数据就只有几百K了,两百多个属了,方便mega等软件操作,文件我也放在这里啦。
    链接: https://pan.baidu.com/s/15jxnMvi-UX15mObtZ7f0_w 提取码: 9bug 复制这段内容后打开百度网盘手机App,操作更方便哦

    相关文章

      网友评论

          本文标题:建立一个简单的生殖道菌群数据库

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