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

2021-06-01  本文已影响0人  zd200572

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,操作更方便哦

上一篇 下一篇

猜你喜欢

热点阅读