Bio.TogoWS 套件
模組內容
提供程式碼以存取日本 DBCLS 的 TogoWS 整合網路服務。
此模組旨在讓 TogoWS(來自日本 DBCLS)更容易使用。請參閱:http://togows.dbcls.jp/
TogoWS REST 服務提供對一系列資料庫的簡單存取,作為代理來保護您免於所有不同的提供者 API。這使用簡單的 URL(此模組將為您建構)運作。如需更多詳細資訊,請參閱 http://togows.dbcls.jp/site/en/rest.html
此功能與 Biopython 的 Bio.Entrez 模組有些類似,後者提供對 NCBI 的 Entrez Utilities (E-Utils) 的存取,其也涵蓋範圍廣泛的資料庫。
目前 TogoWS 沒有提供任何使用指南(與 NCBI 的要求相當明確不同)。為避免過度負荷服務的風險,Biopython 每秒只允許三次呼叫。
TogoWS SOAP 服務提供更複雜的 API,用於呼叫 DDBJ、KEGG 和 PDBj 提供的網路服務(基本上是呼叫遠端函數)。例如,這可讓您在 DDBJ 上執行遠端 BLAST 搜尋。此模組尚未涵蓋此功能,但 TogoWS 網站上有許多使用 SOAPpy Python 程式庫的 Python 範例。請參閱:http://togows.dbcls.jp/site/en/soap.html http://soapy.sourceforge.net/
- Bio.TogoWS.entry(db, id, format=None, field=None)
呼叫 TogoWS 的 ‘entry’ 以提取記錄。
- 引數
db - 資料庫 (字串),請參閱以下清單。
id - 識別碼 (字串) 或識別碼清單 (以字串清單或以逗號分隔的單一字串)。
format - 傳回資料檔案格式 (字串),選項取決於資料庫,例如「xml」、「json」、「gff」、「fasta」、「ttl」(RDF Turtle)。
field - 資料庫記錄內的特定欄位 (字串),例如 pubmed 的「au」或「authors」。
在撰寫本文時,這包含以下項目
KEGG: compound, drug, enzyme, genes, glycan, orthology, reaction, module, pathway DDBj: ddbj, dad, pdb NCBI: nuccore, nucest, nucgss, nucleotide, protein, gene, onim, homologue, snp, mesh, pubmed EBI: embl, uniprot, uniparc, uniref100, uniref90, uniref50
如需目前清單,請參閱 http://togows.dbcls.jp/entry/
此函數基本上等同於 NCBI Entrez 服務 EFetch,可在 Biopython 中以 Bio.Entrez.efetch(…) 提供,但不提供欄位提取。
- Bio.TogoWS.search_count(db, query)
呼叫 TogoWS 搜尋計數以查看搜尋會產生多少符合項。
- 引數
db - 資料庫 (字串),請參閱 http://togows.dbcls.jp/search
query - 搜尋詞彙 (字串)
然後您可以使用計數,使用 Bio.TogoWS.search() 的 offset 和 limit 選項來批次下載大量的搜尋結果。然而,一般來說,Bio.TogoWS.search_iter() 函數更易於使用。
- Bio.TogoWS.search_iter(db, query, limit=None, batch=100)
呼叫 TogoWS 搜尋,反覆處理結果 (產生器函數)。
- 引數
db - 資料庫 (字串),請參閱 http://togows.dbcls.jp/search
query - 搜尋詞彙 (字串)
limit - 搜尋結果數量的選用上限
batch - 每次與 TogoWS 通訊時擷取的搜尋結果數量 (目前限制為 100)。
您可以在 for 迴圈中使用此函數,例如
>>> from Bio import TogoWS >>> for id in TogoWS.search_iter("pubmed", "diabetes+human", limit=10): ... print("PubMed ID: %s" %id) # maybe fetch data with entry? PubMed ID: ...
在內部,這會先呼叫 Bio.TogoWS.search_count(),然後使用 Bio.TogoWS.search() 以批次方式取得結果。
- Bio.TogoWS.search(db, query, offset=None, limit=None, format=None)
呼叫 TogoWS 搜尋。
這是 TogoWS 搜尋函數的底層封裝,可以傳回多種格式的結果。一般而言,search_iter 函數更適合終端使用者。
- 引數
db - 資料庫 (字串),請參閱 http://togows.dbcls.jp/search/
query - 搜尋詞彙 (字串)
offset, limit - 選用整數,指定從哪個結果開始 (以 1 為基礎) 以及要傳回的結果數量。
format - 傳回資料檔案格式 (字串),例如「json」、「ttl」(RDF)。預設會傳回純文字,每行一個結果。
在撰寫本文時,TogoWS 套用 100 個搜尋結果的預設計數限制,這是上限。若要存取更多結果,請使用 offset 引數或 search_iter(…) 函數。
TogoWS 支援長串的資料庫清單,包括許多來自 NCBI 的資料庫 (例如「ncbi-pubmed」或「pubmed」、「ncbi-genbank」或「genbank」和「ncbi-taxonomy」)、EBI (例如「ebi-ebml」或「embl」、「ebi-uniprot」或「uniprot」、「ebi-go」) 和 KEGG (例如「kegg-compound」或「compound」)。如需目前的清單,請參閱 http://togows.dbcls.jp/search/
NCBI 提供 Entrez Search 服務 (ESearch),其類似於 Biopython 中以 Bio.Entrez.esearch() 函數提供的服務。
另請參閱傳回符合項數量的函數 Bio.TogoWS.search_count(),以及讓您反覆處理搜尋結果 (為您處理批次處理) 的函數 Bio.TogoWS.search_iter()。
- Bio.TogoWS.convert(data, in_format, out_format)
呼叫 TogoWS 進行檔案格式轉換。
- 引數
data - 字串或包含輸入記錄的控制代碼
in_format - 描述輸入檔案格式的字串 (例如「genbank」)
out_format - 描述要求的輸出格式的字串 (例如「fasta」)
如需支援轉換的清單 (例如「genbank」到「fasta」),請參閱 http://togows.dbcls.jp/convert/
請注意,Biopython 內建支援序列和比對檔案格式的轉換 (函數 Bio.SeqIO.convert 和 Bio.AlignIO.convert)