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 搜尋計數以查看搜尋會產生多少符合項。

引數

然後您可以使用計數,使用 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)