這就是我想要做的。 我有例如基因名稱的列表:[ITGB1,RELA,NFKBIA]使用biopython從entrez獲得基因序列
往上看在biopython和教程爲Entrez的API幫助,我想出了這一點:
x = ['ITGB1', 'RELA', 'NFKBIA']
for item in x:
handle = Entrez.efetch(db="nucleotide", id=item ,rettype="gb")
record = handle.read()
out_handle = open('genes/'+item+'.xml', 'w') #to create a file with gene name
out_handle.write(record)
out_handle.close
但是這樣下去錯誤。我發現,如果ID是一個數字ID(雖然你必須使它在一個字符串使用,「186972394」這樣:
handle = Entrez.efetch(db="nucleotide", id='186972394' ,rettype="gb")
這讓我我想其中包括序列信息
所以現在到了一個問題: 如何搜索基因的名字(因爲我沒有身份證號碼)或容易我的基因名稱轉換爲ID,以獲得序列的基因名單上有
謝謝,
http://biopython.org/DIST/docs/tutorial/Tutorial.html#htoc101喜歡這個? 'handle = Entrez.esearch(db =「nucleotide」,term =「Cypripedioideae [Orgn] AND matK [Gene]」)' –
種類.... handle = Entrez。esearch(db =「nucleotide」,term =「Homo [orgn] AND RELA [gene]」)就是我用的一個例子,因爲我想要人類基因RELA,但是這會返回一個命中列表。第一個恰好是我想要的,但我的基因列表大約有100個基因。如何使用您指出的方法確保每個基因都能獲得正確的ID?我只會給出ID列表。 – StudentOfScience