根据GSE号在NCBI批量获取文献
生活随笔
收集整理的這篇文章主要介紹了
根据GSE号在NCBI批量获取文献
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
如今,在ncbi查找文獻(xiàn)已經(jīng)成為了讀研必不可少的技能之一,今天記錄下根據(jù)GSE號(hào)批量在ncbi獲取文獻(xiàn)
需要安裝biopython
安裝方法:pip install biopython
biopython教程:https://biopython-cn.readthedocs.io/zh_CN/latest/cn/chr09.html
1、查看ncbi當(dāng)前所有的數(shù)據(jù)庫(kù)
from Bio import Entrez hd_info = Entrez.einfo() # 獲取所有數(shù)據(jù)庫(kù)列表 read_info = Entrez.read(hd_info) for db in read_info['DbList']:print (db)2、根據(jù)gse號(hào)批量獲取文獻(xiàn)
from Bio import Entrez from Bio import Medline from Bio import Geo import csv # 參數(shù)設(shè)置 Entrez.email = "abcd@163.com" #告訴ncbi你是誰(shuí) Entrez.tool = "abcd"# GEO.csv文件為一列數(shù)據(jù)全部為gse號(hào) list1=[] with open('GEO.csv', encoding='utf-8')as f:f_csv = csv.reader(f)for i, rows in enumerate(f_csv):if i >= 1:list1.append(rows)for t in list1:print(t)# uid為gse的uid號(hào),取了第一個(gè) gds為gse所在的geo庫(kù)的名字handle = Entrez.esearch(db="gds", term=t)record = Entrez.read(handle)uid = record["IdList"][0]# print(uid)# print(record)# print(record["Count"])# print(record["IdList"][0])# print(record["IdList"])read_elink = Entrez.read(Entrez.elink(dbfrom="gds", db="pubmed", id=uid))print ("LinkSetDb: ", read_elink[0]["LinkSetDb"])# 查看所有相關(guān)的目標(biāo)庫(kù)for lsd in read_elink[0]["LinkSetDb"]:print (lsd["DbTo"], lsd["LinkName"], len(lsd["Link"]))# 查看相關(guān)的所有文獻(xiàn) pmidfor link in read_elink[0]["LinkSetDb"][0]["Link"]:mid = link["Id"]print(mid)# 根據(jù)gse號(hào)的pmid獲取對(duì)應(yīng)文獻(xiàn)# 用 efetch下載hd_efetch = Entrez.efetch(db="pubmed", id=mid, rettype="medline", retmode="text", )parse_medline = Medline.parse(hd_efetch)with open("mouse_pubmed.xls", "a") as file:file.write("title\tauthors\tsource\tPubMed\n")for i, ele in enumerate(list(parse_medline)):line = ele['TI'] + "\t" + ",".join(ele['AU']) + "\t" + ele['SO'] + "\t" + ele['PMID'] + "\n"file.write(line)print(i, line)#有的文章作者很多,比如encode計(jì)劃等,這種文章再批量獲取時(shí),需要把’AU‘作者去掉,不然總會(huì)報(bào)錯(cuò)總結(jié)
以上是生活随笔為你收集整理的根据GSE号在NCBI批量获取文献的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 经济学硕士毕业论文题目【282个】
- 下一篇: 极简 ssh之 scp