利用Python批量搜索NCBI特定基因信息

这是一个比较简单的小程序,搜索clinvar中的特定信息:

 

import sys
import urllib

def main(args):

    with open(args[0]) as I:
        # pathogenic  NM_007294.3:c.3607C>T
        terms = [i.strip().split() for i in I]

    url = 'http://www.ncbi.nlm.nih.gov/clinvar/'
    for mark, t in terms:
        html = urllib.urlopen(url, urllib.urlencode({'term': t})).read()
        if 'Genomic location:' in html:
            term = html.split('Genomic location:'
                              )[1].split('"ddulregtext">')[2].strip()
            term = term.split('</span>')[0].lower().split('(')[0].strip()
            chrpos = [mark]
            chrpos.extend([i.strip() for i in term.split(':')])
            chrpos = [''.join(i.split()) for i in chrpos] # output format
            chrpos.append(t)
            print '\t'.join(chrpos)
        else:
            print '\t'.join([mark, '-', '-', t])


if __name__ == "__main__":

    main(sys.argv[1:])


0 个评论

要回复文章请先登录注册