快速查询二十余个生物信息学数据库的命令行与 Python 工具,覆盖基因信息、BLAST、病毒序列、AlphaFold 结构、富集分析等,适合交互式探索与简单查询。
gget
概述
gget是一个命令行生物信息学工具和Python包,提供对20+基因组数据库和分析方法的统一访问。通过一致的接口查询基因信息、序列分析、蛋白质结构、病毒序列、表达数据、疾病关联以及小鼠组织/细胞特异性指标。大多数gget模块都可用作命令行工具和Python函数。
重要提示:gget查询的数据库持续更新,这有时会改变其结构。本文档指导内容针对 gget 0.30.5(截至 2026-06-07 的 PyPI 当前版本)。为了保证可复现性,请固定 gget==0.30.5;如果上游数据库适配器出现问题,请在查看发布说明后更新 gget。
安装
在干净的虚拟环境中安装gget以避免冲突:
# 针对本技能的可复现安装
uv venv .venv
source .venv/bin/activate
uv pip install "gget==0.30.5"
# 在Python/Jupyter中
import gget快速开始
所有模块的基本使用模式:
# 命令行
gget <module> [参数] [选项]
# Python
gget.module(参数, 选项)大多数模块返回:
- 命令行:JSON(默认)或带
-csv标志的CSV - Python:DataFrame或字典
跨模块的通用标志:
-o/--out:将结果保存到文件-q/--quiet:抑制进度信息-csv:返回CSV格式(仅命令行)
Python 参数名一般对应去掉前导短横线的长格式 CLI 选项。例如,--census_version 对应 census_version=...。使用 gget <module> --help 获取准确的当前签名。
模块类别
1. 参考和基因信息
gget ref - 参考基因组下载
检索Ensembl参考基因组的下载链接和元数据。
参数:
species:属_种格式(例如'homo_sapiens'、'mus_musculus')。快捷方式:'human'、'mouse'-w/--which:以逗号分隔的 CLI 值或 Python 列表形式指定返回类型(gtf、cdna、dna、cds、cdrna、pep)。默认:全部-r/--release:Ensembl发布号(默认:最新)-od/--out_dir:下载文件的目录-l/--list_species:列出可用的脊椎动物物种-liv/--list_iv_species:列出可用的无脊椎动物物种-ftp:仅返回FTP链接-d/--download:下载文件(需要curl)
示例:
# 列出可用物种
gget ref --list_species
# 获取人类的所有参考文件
gget ref homo_sapiens
# 下载小鼠的GTF和cDNA文件
gget ref -w gtf,cdna -d mouse# Python
gget.ref("homo_sapiens")
gget.ref("mus_musculus", which=["gtf", "cdna"], download=True)gget search - 基因搜索
按名称、描述和 Ensembl 同义词跨物种定位基因。
参数:
searchwords:一个或多个搜索词(不区分大小写)-s/--species:目标物种(例如'homo_sapiens'、'mouse')-r/--release:Ensembl发布号-t/--id_type:返回'gene'(默认)或'transcript'-ao/--andor:'or'(默认)查找任何searchword;'and'需要所有searchword-l/--limit:返回的最大结果数wrap_text:仅Python;用于宽 DataFrame 的显示辅助工具
返回:ensembl_id、gene_name、ensembl_description、ext_ref_description、biotype、URL
示例:
# 在人类中搜索GABA相关基因
gget search -s human gaba gamma-aminobutyric
# 查找特定基因,要求所有词
gget search -s mouse -ao and pax7 transcription# Python
gget.search(["gaba", "gamma-aminobutyric"], species="homo_sapiens")gget info - 基因/转录本信息
从Ensembl、UniProt和NCBI检索全面的基因和转录本元数据。
参数:
ens_ids:一个或多个Ensembl ID(也支持WormBase、Flybase ID)。限制:~1000个ID-n/--ncbi:禁用NCBI数据检索-u/--uniprot:禁用UniProt数据检索-pdb:包含PDB标识符(增加运行时间)
返回:UniProt ID、NCBI基因ID、主要基因名称、同义词、蛋白质名称、描述、生物型、规范转录本
示例:
# 获取多个基因的信息
gget info ENSG00000034713 ENSG00000104853 ENSG00000170296
# 包含PDB ID
gget info ENSG00000034713 -pdb# Python
gget.info(["ENSG00000034713", "ENSG00000104853"], pdb=True)gget seq - 序列检索
获取基因和转录本的核苷酸或氨基酸序列。
参数:
ens_ids:一个或多个Ensembl标识符-t/--translate:获取氨基酸序列而不是核苷酸-iso/--isoforms:返回所有转录本变体(仅基因ID)
返回:FASTA格式序列
示例:
# 获取核苷酸序列
gget seq ENSG00000034713 ENSG00000104853
# 获取所有蛋白质异构体
gget seq -t -iso ENSG00000034713# Python
gget.seq(["ENSG00000034713"], translate=True, isoforms=True)2. 序列分析和比对
gget blast - BLAST搜索
针对标准数据库BLAST核苷酸或氨基酸序列。
参数:
sequence:序列字符串或FASTA/.txt文件路径-p/--program:blastn、blastp、blastx、tblastn、tblastx(自动检测)-db/--database:- 核苷酸:nt、refseq_rna、pdbnt
- 蛋白质:nr、swissprot、pdbaa、refseq_protein
-l/--limit:最大命中数(默认:50)-e/--expect:E值截止(默认:10.0)-lcf/--low_comp_filt:启用低复杂度过滤-mbo/--megablast_off:禁用MegaBLAST(仅blastn)
示例:
# BLAST蛋白质序列
gget blast MKWMFKEDHSLEHRCVESAKIRAKYPDRVPVIVEKVSGSQIVDIDKRKYLVPSDITVAQFMWIIRKRIQLPSEKAIFLFVDKTVPQSR
# 使用特定数据库从文件BLAST
gget blast sequence.fasta -db swissprot -l 10# Python
gget.blast("MKWMFK...", database="swissprot", limit=10)gget blat - BLAT搜索
使用UCSC BLAT定位序列的基因组位置。
参数:
sequence:序列字符串或FASTA/.txt文件路径-st/--seqtype:'DNA'、'protein'、'translated%20RNA'、'translated%20DNA'(自动检测)-a/--assembly:目标组装(默认:'human'/hg38;选项:'mouse'/mm39、'zebrafinch'/taeGut2等)
返回:基因组、查询大小、比对位置、匹配、错配、比对百分比
示例:
# 在人类中查找基因组位置
gget blat ATCGATCGATCGATCG
# 在不同组装中搜索
gget blat -a mm39 ATCGATCGATCGATCG# Python
gget.blat("ATCGATCGATCGATCG", assembly="mouse")gget muscle - 多序列比对
使用Muscle5比对多个核苷酸或氨基酸序列。
参数:
fasta:序列或FASTA/.txt文件路径-s5/--super5:使用Super5算法进行更快的处理(大数据集)
返回:ClustalW格式的比对序列或比对FASTA(.afa)
示例:
# 从文件比对序列
gget muscle sequences.fasta -o aligned.afa
# 对大数据集使用Super5
gget muscle large_dataset.fasta -s5# Python
gget.muscle("sequences.fasta", save=True)gget diamond - 本地序列比对
使用DIAMOND执行快速的本地蛋白质比对或翻译核苷酸到蛋白质比对。
参数:
- 查询:序列(字符串/列表)或FASTA文件路径
-ref/--reference:参考序列(字符串/列表)或FASTA文件路径(必需)-s/--sensitivity:fast、mid-sensitive、sensitive、more-sensitive、very-sensitive(默认)、ultra-sensitive-t/--threads:CPU线程数(默认:1)-db/--diamond_db:保存数据库以供重用-x/--translated:启用核苷酸查询到氨基酸参考的比对
返回:同一性百分比、序列长度、匹配位置、缺口打开、E值、比特得分
示例:
# 与参考比对
gget diamond GGETISAWESQME -ref reference.fasta -t 4
# 将核苷酸查询翻译后与氨基酸参考比对
gget diamond query_nt.fasta -ref proteins.fasta --translated# Python
gget.diamond("GGETISAWESQME", reference="reference.fasta", threads=4)
gget.diamond("ATGGGC...", reference="proteins.fasta", translated=True)3. 结构和蛋白质分析
gget pdb - 蛋白质结构
查询RCSB蛋白质数据库以获取结构和元数据。
参数:
pdb_id:PDB标识符(例如'7S7U')-r/--resource:数据类型(pdb、entry、pubmed、assembly、entity_types)-i/--identifier:组装、实体或链ID
返回:PDB格式(结构)或JSON(元数据)
示例:
# 下载PDB结构
gget pdb 7S7U -o 7S7U.pdb
# 获取元数据
gget pdb 7S7U -r entry# Python
gget.pdb("7S7U", save=True)gget alphafold - 蛋白质结构预测
使用简化的AlphaFold2预测3D蛋白质结构。
所需设置:
# 安装经过修改的第三方依赖项,并下载模型参数
gget setup alphafold参数:
sequence:氨基酸序列(字符串)、多个序列(列表)或FASTA文件。多个序列触发多聚体建模-mr/--multimer_recycles:回收迭代次数(默认:3;准确度建议20)-mfm/--multimer_for_monomer:对单个蛋白质应用多聚体模型-r/--relax:对排名靠前的模型进行AMBER松弛plot:仅Python;生成交互式3D可视化(默认:True)show_sidechains:仅Python;包含侧链(默认:True)
返回:PDB结构文件、JSON比对错误数据、可选的3D可视化
示例:
# 预测单个蛋白质结构
gget alphafold MKWMFKEDHSLEHRCVESAKIRAKYPDRVPVIVEKVSGSQIVDIDKRKYLVPSDITVAQFMWIIRKRIQLPSEKAIFLFVDKTVPQSR
# 使用更高准确度预测多聚体
gget alphafold sequence1.fasta -mr 20 -r# 带可视化Python
gget.alphafold("MKWMFK...", plot=True, show_sidechains=True)
# 多聚体预测
gget.alphafold(["sequence1", "sequence2"], multimer_recycles=20)gget elm - 真核线性基序
预测蛋白质序列中的真核线性基序。
所需设置:
gget setup elm参数:
sequence:氨基酸序列或UniProt访问号-u/--uniprot:指示序列是UniProt访问号-e/--expand:包含蛋白质名称、生物体、参考文献-s/--sensitivity:DIAMOND比对灵敏度(默认:"very-sensitive")-t/--threads:线程数(默认:1)
返回:两个输出:
- ortholog_df:来自同源蛋白质的线性基序
- regex_df:直接在输入序列中匹配的基序
示例:
# 从序列预测基序
gget elm LIAQSIGQASFV -o results
# 使用UniProt访问号和扩展信息
gget elm --uniprot Q02410 -e# Python
ortholog_df, regex_df = gget.elm("LIAQSIGQASFV")4. 表达和疾病数据
gget archs4 - 基因相关性和组织表达
查询ARCHS4数据库以获取相关基因或组织表达数据。
参数:
gene:基因符号或Ensembl ID(使用--ensembl标志)-w/--which:'correlation'(默认,返回100个最相关基因)或'tissue'(表达图谱)-s/--species:'human'(默认)或'mouse'(仅组织数据)-e/--ensembl:输入是Ensembl ID
返回:
- 相关性模式:基因符号、Pearson相关系数
- 组织模式:组织标识符、最小/Q1/中位数/Q3/最大表达值
示例:
# 获取相关基因
gget archs4 ACE2
# 获取组织表达
gget archs4 -w tissue ACE2# Python
gget.archs4("ACE2", which="tissue")gget cellxgene - 单细胞RNA-seq数据
查询CZ CELLxGENE发现普查以获取单细胞数据。
所需设置:
gget setup cellxgene参数:
--gene(-g):基因名称或Ensembl ID(区分大小写!'PAX7'用于人类,'Pax7'用于小鼠)--tissue:组织类型--cell_type:特定细胞类型--species(-s):'homo_sapiens'(默认)或'mus_musculus'--census_version(-cv):版本("stable"、"latest"或日期)--ensembl(-e):使用Ensembl ID--meta_only(-mo):仅返回元数据- 其他过滤器:disease、development_stage、sex、assay、dataset_id、donor_id、ethnicity、suspension_type
返回:包含计数矩阵和元数据的AnnData对象(或仅元数据dataframes)
示例:
# 获取特定基因和细胞类型的单细胞数据
gget cellxgene --gene ACE2 ABCA1 --tissue lung --cell_type "mucus secreting cell" -o lung_data.h5ad
# 仅元数据
gget cellxgene --gene PAX7 --tissue muscle --meta_only -o metadata.csv# Python
adata = gget.cellxgene(gene=["ACE2", "ABCA1"], tissue="lung", cell_type="mucus secreting cell")gget enrichr - 富集分析
使用Enrichr对基因列表执行本体富集分析。
参数:
genes:基因符号或Ensembl ID-db/--database:参考数据库(支持快捷方式:'pathway'、'transcription'、'ontology'、'diseases_drugs'、'celltypes')-s/--species:human(默认)、mouse、fly、yeast、worm、fish-bkg_l/--background_list:用于比较的背景基因-ko/--kegg_out:保存带有高亮基因的KEGG通路图像plot:仅Python;生成图形结果
数据库快捷方式:
- 'pathway' → KEGG_2021_Human
- 'transcription' → ChEA_2016
- 'ontology' → GO_Biological_Process_2021
- 'diseases_drugs' → GWAS_Catalog_2019
- 'celltypes' → PanglaoDB_Augmented_2021
示例:
# 本体富集分析
gget enrichr -db ontology ACE2 AGT AGTR1
# 保存KEGG通路
gget enrichr -db pathway ACE2 AGT AGTR1 -ko ./kegg_images/# 带绘图Python
gget.enrichr(["ACE2", "AGT", "AGTR1"], database="ontology", plot=True)gget bgee - 同源和表达
从Bgee数据库检索同源和基因表达数据。
参数:
ens_id:Ensembl基因ID或NCBI基因ID(用于非Ensembl物种)。使用type=expression时支持多个ID-t/--type:'orthologs'(默认)或'expression'
返回:
- 同源模式:跨物种的匹配基因,包含ID、名称、分类信息
- 表达模式:解剖实体、置信度分数、表达状态
示例:
# 获取同源
gget bgee ENSG00000169194
# 获取表达数据
gget bgee ENSG00000169194 -t expression
# 多个基因
gget bgee ENSBTAG00000047356 ENSBTAG00000018317 -t expression# Python
gget.bgee("ENSG00000169194", type="orthologs")gget opentargets - 疾病和药物关联
从OpenTargets检索疾病和药物关联。
参数:
- Ensembl基因ID(必需)
-r/--resource:diseases(默认)、drugs、tractability、pharmacogenetics、expression、depmap、interactions-l/--limit:限制结果计数--filters:使用返回的 OpenTargets 列名进行精确匹配过滤;可在 CLI 上重复该参数,或在 Python 中传入字典-or/--or:仅CLI;将过滤器以 OR 逻辑(而非默认的 AND 逻辑)组合
当前注意事项:
- gget 0.30.5 针对更新版的 OpenTargets API 重写了此模块;部分输出列名与旧版本不同。
- 旧的
--filter_mode参数已在上游被移除。
示例:
# 获取相关疾病
gget opentargets ENSG00000169194 -r diseases -l 5
# 获取相关药物
gget opentargets ENSG00000169194 -r drugs -l 10
# 按返回的列名过滤 interactions
gget opentargets ENSG00000169194 -r interactions --filters protein_a_id=P35225 --filters gene_b_id=ENSG00000077238# Python
gget.opentargets("ENSG00000169194", resource="diseases", limit=5)
gget.opentargets(
"ENSG00000169194",
resource="interactions",
filters={"protein_a_id": "P35225", "gene_b_id": "ENSG00000077238"},
)gget cbio - cBioPortal癌症基因组学
使用cBioPortal数据绘制癌症基因组学热图。
两个子命令:
search - 查找研究ID:
gget cbio search breast lungplot - 生成热图:
参数:
-s/--study_ids:空格分隔的cBioPortal研究ID(必需)-g/--genes:空格分隔的基因名称或Ensembl ID(必需)-st/--stratification:组织数据的列(tissue、cancer_type、cancer_type_detailed、study_id、sample)-vt/--variation_type:数据类型(mutation_occurrences、cna_nonbinary、sv_occurrences、cna_occurrences、Consequence)-f/--filter:按列值过滤(例如'study_id:msk_impact_2017')-dd/--data_dir:缓存目录(默认:./gget_cbio_cache)-fd/--figure_dir:输出目录(默认:./gget_cbio_figures)-dpi:分辨率(默认:100)-sh/--show:在窗口中显示绘图-nc/--no_confirm:跳过下载确认
示例:
# 搜索研究
gget cbio search esophag ovary
# 创建热图
gget cbio plot -s msk_impact_2017 -g AKT1 ALK BRAF -st tissue -vt mutation_occurrences# Python
gget.cbio_search(["esophag", "ovary"])
gget.cbio_plot(["msk_impact_2017"], ["AKT1", "ALK"], stratification="tissue")gget cosmic - COSMIC数据库
搜索COSMIC(癌症体细胞突变目录)数据库。
重要提示:商业使用需要许可费。需要COSMIC账户凭据。
在共享系统上,避免直接以 CLI 参数传递 COSMIC 凭据,因为命令行参数可能会暴露在 shell 历史、进程列表和日志中。优先使用交互式提示(gget cosmic --download_cosmic ...)或在 Python 内读取命名的环境变量。
参数:
searchterm:基因名称、Ensembl ID、突变表示法或样本ID-ctp/--cosmic_tsv_path:下载的COSMIC TSV文件路径(查询必需)-l/--limit:最大结果数(默认:100)
数据库下载标志:
-d/--download_cosmic:激活下载模式-gm/--gget_mutate:为gget mutate创建版本-cp/--cosmic_project:数据库类型(cancer、cancer_example、census、cell_line、resistance、genome_screen、targeted_screen)-cv/--cosmic_version:COSMIC版本-gv/--grch_version:人类参考基因组(37或38)--email、--password:用于非交互式下载的 COSMIC 凭据;优先使用交互式提示或 Python 环境变量
示例:
# 首先下载数据库;gget 会提示输入 COSMIC 的邮箱/密码
gget cosmic --download_cosmic --cosmic_project cancer
# 然后查询
gget cosmic EGFR --cosmic_tsv_path "CancerMutationCensus_AllData_Tsv_v101_GRCh37/CancerMutationCensus_AllData_v101_GRCh37.tsv" -l 10# Python
import os
gget.cosmic(
searchterm=None,
download_cosmic=True,
cosmic_project="cancer",
email=os.environ["COSMIC_EMAIL"],
password=os.environ["COSMIC_PASSWORD"],
)
gget.cosmic("EGFR", cosmic_tsv_path="cosmic_data.tsv", limit=10)5. 病毒和小鼠特异性数据
gget virus - 病毒序列下载
通过 NCBI Virus 从 INSDC 来源下载病毒核苷酸序列及关联元数据,并可选进行 GenBank 元数据补充。结果以 FASTA、CSV、JSONL 和命令摘要文件的形式保存到输出文件夹中。
参数:
virus:病毒分类名称、分类 ID、登录号、空格分隔的多个登录号,或登录号文本文件的路径-a/--is_accession:将virus视为登录号输入--is_sars_cov2、--is_alphainfluenza:为 SARS-CoV-2 或甲型流感使用优化的缓存 NCBI datasets 路径--host:宿主生物体名称或 NCBI 分类 ID--nuc_completeness:complete 或 partial--min_seq_length、--max_seq_length:序列长度过滤器-g/--genbank_metadata:获取详细的 GenBank 元数据;部分注释过滤器会自动启用它--segment、--vaccine_strain、--annotated、--lab_passaged、--source_database:常见病毒元数据过滤器--download_all_accessions:将过滤器应用于所有病毒登录号--baseline、--merge-results:恢复或合并来自部分/先前运行的元数据
重要提示:不要在没有限制性过滤器的情况下使用 --download_all_accessions;它可能尝试下载整个病毒分类,消耗大量时间、带宽和磁盘空间。
示例:
# 来自人类宿主的完整寨卡病毒基因组
gget virus "Zika virus" --nuc_completeness complete --host human --out zika_data
# 通过登录号获取 SARS-CoV-2 参考基因组
gget virus NC_045512.2 --is_accession --is_sars_cov2# Python
gget.virus(
"SARS-CoV-2",
host="human",
nuc_completeness="complete",
min_seq_length=29000,
genbank_metadata=True,
is_sars_cov2=True,
outfolder="covid_data",
)gget 8cube - 小鼠特异性与表达
查询 8cubeDB 以获取跨小鼠品系、组织、性别和个体的 snRNA-seq 基因特异性指标和归一化表达值。
子命令:
gget 8cube specificity <genes...>:返回基因级 psi/zeta 特异性统计数据gget 8cube psi_block <genes...> --analysis_level <level> --analysis_type <type>:返回区块级特异性gget 8cube expression <genes...> --analysis_level <level> --analysis_type <type>:返回均值/方差归一化表达
示例:
gget 8cube specificity Acsm2 ENSMUSG00000046623.9
gget 8cube psi_block Acsm2 --analysis_level Kidney --analysis_type "Sex:Celltype"
gget 8cube expression Gjb4 --analysis_level Across_tissues --analysis_type Strain# Python
from gget import specificity, psi_block, gene_expression
specificity(["Acsm2", "ENSMUSG00000046623.9"])
psi_block(["Acsm2"], analysis_level="Kidney", analysis_type="Sex:Celltype")
gene_expression(["Gjb4"], analysis_level="Across_tissues", analysis_type="Strain")6. 其他工具
gget mutate - 生成突变序列
从突变注释生成突变的核苷酸序列。
当前范围:gget 0.29.1 简化了 mutate,使其专注于将标准突变注释应用于所提供的核苷酸序列,并返回/保存突变后的 FASTA 记录。更广泛的变体筛选工作流已迁移到上游的 kvar 项目。
参数:
sequences:FASTA文件路径或直接核苷酸序列输入(字符串/列表)-m/--mutations:突变字符串/列表、CSV/TSV 路径,或带有突变数据的DataFrame(必需)-mc/--mut_column:突变列名(默认:'mutation')-sic/--seq_id_column:序列ID列(默认:'seq_ID')-mic/--mut_id_column:突变ID列(默认:与 mut_column 相同)-k/--k:侧翼序列长度(默认:30个核苷酸)-o/--out:输出 FASTA 路径;不指定时 Python 返回突变序列列表
返回:FASTA格式的突变序列
示例:
# 单个突变
gget mutate ATCGCTAAGCT -m "c.4G>T"
# 多个序列,每个序列一个突变
gget mutate ATCGCTAAGCT TAGCTA -m "c.4G>T" "c.1_3inv" -o mutated.fasta# Python
gget.mutate("ATCGCTAAGCT", "c.4G>T")
gget.mutate(["ATCGCTAAGCT", "TAGCTA"], ["c.4G>T", "c.1_3inv"], out="mutated.fasta")gget gpt - OpenAI文本生成
使用OpenAI的API生成自然语言文本。
所需设置:
gget setup gpt重要提示:需要 OpenAI API 密钥。切勿在 notebook、脚本、shell 历史记录或已提交的文件中硬编码密钥。优先使用命名的环境变量,例如 OPENAI_API_KEY,并在使用前设置每月计费限制。
参数:
prompt:生成的文本输入(必需)api_key:OpenAI身份验证(上游 API 要求)- 模型配置:model、temperature、top_p、stop、max_tokens、frequency_penalty、presence_penalty、logit_bias
- 默认模型:gpt-3.5-turbo(上游默认值;请在您的 OpenAI 账户中核实可用模型)
示例:
对于 CLI 用法,gget gpt 需要将 API 密钥作为参数传入。在共享系统上应避免这样做,因为进程参数可能对其他用户可见。
# Python
import os
gget.gpt("解释CRISPR", api_key=os.environ["OPENAI_API_KEY"])gget setup - 安装依赖项
为特定模块安装/下载第三方依赖项。
从 gget 0.29.2 开始,gget setup 会优先尝试使用 uv pip install 安装 Python 依赖项,如果 uv 不可用或安装失败,则回退到 pip install。
参数:
module:需要依赖项安装的模块名-o/--out:输出文件夹路径(仅elm模块)
需要设置的模块:
alphafold- 下载~4GB模型参数cellxgene- 安装cellxgene-census(如果最新 Python 不受支持,可能需要 Python 3.9/3.10)elm- 下载本地ELM数据库gpt- 安装/配置 OpenAI 集成依赖项
示例:
# 设置AlphaFold
gget setup alphafold
# 使用自定义目录设置ELM
gget setup elm -o /path/to/elm_data# Python
gget.setup("alphafold")常见工作流
工作流1:基因发现到序列分析
查找和分析感兴趣的基因:
# 1. 搜索基因
results = gget.search(["GABA", "receptor"], species="homo_sapiens")
# 2. 获取详细信息
gene_ids = results["ensembl_id"].tolist()
info = gget.info(gene_ids[:5])
# 3. 检索序列
sequences = gget.seq(gene_ids[:5], translate=True)工作流2:序列比对和结构
比对序列并预测结构:
# 1. 比对多个序列
alignment = gget.muscle("sequences.fasta")
# 2. 查找相似序列
blast_results = gget.blast(my_sequence, database="swissprot", limit=10)
# 3. 预测结构
structure = gget.alphafold(my_sequence, plot=True)
# 4. 查找线性基序
ortholog_df, regex_df = gget.elm(my_sequence)工作流3:基因表达和富集
分析表达模式和功能富集:
# 1. 获取组织表达
tissue_expr = gget.archs4("ACE2", which="tissue")
# 2. 查找相关基因
correlated = gget.archs4("ACE2", which="correlation")
# 3. 获取单细胞数据
adata = gget.cellxgene(gene=["ACE2"], tissue="lung", cell_type="epithelial cell")
# 4. 执行富集分析
gene_list = correlated["gene_symbol"].tolist()[:50]
enrichment = gget.enrichr(gene_list, database="ontology", plot=True)工作流4:疾病和药物分析
研究疾病关联和治疗靶点:
# 1. 搜索基因
genes = gget.search(["breast cancer"], species="homo_sapiens")
# 2. 获取疾病关联
diseases = gget.opentargets("ENSG00000169194", resource="diseases")
# 3. 获取药物关联
drugs = gget.opentargets("ENSG00000169194", resource="drugs")
# 4. 查询癌症基因组学数据
study_ids = gget.cbio_search(["breast"])
gget.cbio_plot(study_ids[:2], ["BRCA1", "BRCA2"], stratification="cancer_type")
# 5. 搜索COSMIC突变
cosmic_results = gget.cosmic("BRCA1", cosmic_tsv_path="cosmic.tsv")工作流5:比较基因组学
跨物种比较蛋白质:
# 1. 获取同源
orthologs = gget.bgee("ENSG00000169194", type="orthologs")
# 2. 获取比较序列
human_seq = gget.seq("ENSG00000169194", translate=True)
mouse_seq = gget.seq("ENSMUSG00000026091", translate=True)
# 3. 比对序列
alignment = gget.muscle([human_seq, mouse_seq])
# 4. 比较结构
human_structure = gget.pdb("7S7U")
mouse_structure = gget.alphafold(mouse_seq)工作流6:构建参考索引
为下游分析准备参考数据(例如kallisto|bustools):
# 1. 列出可用物种
gget ref --list_species
# 2. 下载参考文件
gget ref -w gtf -w cdna -d homo_sapiens
# 3. 构建kallisto索引
kallisto index -i transcriptome.idx transcriptome.fasta
# 4. 下载基因组以进行比对
gget ref -w dna -d homo_sapiens最佳实践
数据检索
- 使用
--limit控制大型查询的结果大小 - 使用
-o/--out保存结果以实现可重现性 - 检查数据库版本/发布以实现分析一致性
- 在生产脚本中使用
--quiet以减少输出
序列分析
- 对于BLAST/BLAT,从默认参数开始,然后调整灵敏度
- 使用
--threads的gget diamond进行更快的本地比对 - 使用
--diamond_db保存DIAMOND数据库以供重复查询 - 对于多序列比对,对大数据集使用
-s5/--super5
表达和疾病数据
- cellxgene中的基因符号区分大小写(例如'PAX7'与'Pax7')
- 在首次使用前运行
gget setup以设置alphafold、cellxgene、elm、gpt - 对于富集分析,使用数据库快捷方式以方便
- 使用
-dd缓存cBioPortal数据以避免重复下载 - 对于 OpenTargets,在编写过滤器之前先检查返回的列名;gget 0.30.5 遵循更新版的 OpenTargets API 模式
结构预测
- AlphaFold多聚体预测:使用
-mr 20以获得更高准确度 - 使用
-r标志对排名靠前的模型进行AMBER松弛 - 使用
plot=True在Python中可视化结果 - 在运行AlphaFold预测之前先检查PDB数据库
病毒数据
- 在请求大范围病毒数据集之前,先对
gget virus使用限制性过滤器 - 将
command_summary.txt与下游结果一起保存,以便复现和在部分下载后恢复 - 使用
--baseline和--merge-results来恢复中断的病毒元数据/序列下载
错误处理
- 数据库结构会变化;当某个适配器出现问题时,查看上游发布说明,并明确固定到修复后的新版本
- 为可复现的环境固定已知可用的版本:
uv pip install "gget==0.30.5" - 使用gget info一次处理~1000个Ensembl ID
- 对于大规模分析,实施API查询的速率限制
- 使用虚拟环境以避免依赖冲突
- 将 COSMIC 和 OpenAI 凭据保存在命名的环境变量或交互式提示中;不要将真实凭据写入示例、notebook 或日志
输出格式
命令行
- 默认:JSON
- CSV:添加
-csv标志 - FASTA:gget seq、gget mutate
- PDB:gget pdb、gget alphafold
- PNG:gget cbio plot
- FASTA/CSV/JSONL 文件夹:gget virus
Python
- 默认:DataFrame或字典
- JSON:添加
json=True参数 - 保存到文件:添加
save=True或指定out="filename" - AnnData:gget cellxgene
- DataFrame/JSON:gget 8cube specificity、psi_block、expression
资源
此技能包含以下参考文档:
references/
module_reference.md- 所有模块的全面参数参考database_info.md- 有关查询数据库及其更新频率的信息workflows.md- 扩展工作流示例和用例模式
需要额外帮助:
- 官方文档:https://pachterlab.github.io/gget/
- GitHub问题:https://github.com/pachterlab/gget/issues
- 引用:Luebbert, L. & Pachter, L. (2023). Efficient querying of genomic reference databases with gget. Bioinformatics. https://doi.org/10.1093/bioinformatics/btac836
兼容工具
站内相关工具
数据来源:claude-scientific-skills(MIT 许可) | 查看上游来源
上游项目:K-Dense-AI/scientific-agent-skills / claude-scientific-skills | 收录时间:2026-08-20 | 更新:2026-08-20
本页面内容基于上游开源许可项目整理,仅供学习参考。AI铺子不对第三方内容承担责任, 详情请参阅免责声明。