gget 是做什麼的?
當任務需要透過 gget CLI 或 Python 套件快速查詢基因組參考資料庫時,請使用此技能。
使用時機
- 尋找 Ensembl ID、基因元數據、轉錄本細節或序列。
- 執行快速 BLAST 或 BLAT 查詢,無需建立完整的本地管道。
- 從 Ensembl 擷取參考基因組連結與註釋。
- 透過單一介面查詢蛋白質結構、路徑、癌症、表現或疾病關聯模組。
- 在轉移至較重的工具(如 Biopython、Snakemake、Nextflow、BLAST+ 或特定資料庫用戶端)之前,建立可重現的初步證據記錄。
當任務需要受規範的臨床判讀、高產量生產流程,或對資料庫版本與本地索引進行精細控制時,請使用專用工作流程而非 gget。
安裝
使用乾淨的 Python 環境。
python -m venv .venv
. .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install --upgrade gget
gget --help
如果有 uv 可用:
uv venv
. .venv/bin/activate
uv pip install gget
在依賴舊環境之前,請先升級 gget 並重新檢查模組文件。gget 查詢的上游資料庫會隨時間變動。
基本模式
CLI 格式:
gget <module> [arguments] [options]
Python 格式:
import gget
result = gget.search(["BRCA1"], species="human")
print(result)
常見工作流程:
- 識別所需的物種、組裝版本、基因 ID 類型與資料庫。
- 檢查目前模組文件中的參數。
- 先執行一個小型查詢。
- 使用明確的檔名與日期儲存輸出。
- 記錄模組名稱、版本、參數與資料庫假設。
常見模組
請使用最新的上游文件來確認確切參數。以下是常見的首選模組:
gget search:從搜尋詞找出 Ensembl ID。gget info:擷取 Ensembl、UniProt 或相關 ID 的元數據。gget seq:擷取核苷酸或胺基酸序列。gget ref:擷取參考基因組下載連結。gget blast:執行快速 BLAST 查詢。gget blat:比對序列與支援的基因組組裝版本。gget muscle:執行多序列比對。gget diamond:針對參考序列執行本地序列比對。gget alphafold與gget pdb:檢查蛋白質結構參考。gget enrichr、gget opentargets、gget archs4、gget bgee、gget cbio與gget cosmic:探索富集分析、目標、表現、癌症與疾病關聯資料。
請勿假設每個模組都支援所有 Python 版本或依賴組合。某些選用的科學運算相依套件的版本支援範圍比核心套件更窄。
快速範例
尋找基因:
gget search -s human brca1 dna repair -o brca1-search.json
擷取基因元數據:
gget info ENSG00000012048 -o brca1-info.json
擷取序列:
gget seq ENSG00000012048 -o brca1-seq.fa
執行小型 BLAST 查詢:
gget blast "MEEPQSDPSVEPPLSQETFSDLWKLLPEN" -l 10 -o blast-results.json
Python 範例:
import gget
genes = gget.search(["BRCA1", "DNA repair"], species="human")
info = gget.info(["ENSG00000012048"])
sequence = gget.seq("ENSG00000012048")
可重現性記錄
對於科學輸出,請包含足夠的元數據以重播查詢。
| 日期 | gget 版本 | 模組 | 查詢 | 物種/組裝 | 輸出 | 備註 |
| --- | --- | --- | --- | --- | --- | --- |
| 2026-05-11 | `gget --version` | search | `BRCA1 DNA repair` | human | `brca1-search.json` | 執行前已檢查文件 |
同時記錄:
- Python 版本與環境管理器。
- 透過
gget setup安裝的任何選用相依套件。 - 查詢回傳的資料庫特定識別碼。
- 輸出格式為 JSON、CSV、FASTA 或 DataFrame 匯出。
- 任何透過升級
gget解決的失敗。
審查清單
- 是否已升級或驗證已安裝的
gget版本? - 在使用參數前是否檢查了最新的上游模組文件?
- 物種或組裝版本是否明確指定?
- 識別碼是否完全保留,包括 Ensembl/UniProt 前綴?
- 結果是否標記為資料庫輸出,而非臨床判讀?
- 查詢是否可以從儲存的命令或 Python 程式碼片段中重現?
- 選用相依套件是否安裝在隔離環境中?