gget——高效的基因组数据库查询工具
Efficient querying of genomic databases for single-cell RNA-seq with gget最近在bioRxiv上发布的一篇文献介绍了gget——能高效进行基因组数据库查询的工具。
使用gget能够以命令行的形式查询或下载基因组数据库的相关信息,甚至能进行BLAST、基因富集、序列比对等等操作,再也不用费心去各种网页中一级级辛苦查找啦。
下面学习一下其具体使用方法。
文献地址:Efficient querying of genomic databases for single-cell RNA-seq with gget | bioRxiv
github地址: https://github.com/pachterlab/gget
以下资料参考自gget官方手册:GitHub - pachterlab/gget_examples: Examples for gget
1. 基本介绍
gget是一个免费的开源命令行工具和Python包,支持对基因组数据库的高效查询。
gget由一组独立但可互操作的模块组成,每个模块都用于在一行代码中实现一种类型的数据库查询。目前由以下9个模块组成:
gget ref、 gget search、 gget search、gget info、gget seq、gget blast、gget blat、gget muscle、gget enrichr、gget archs4、
2. 安装
pip install gget
或用conda进行安装:
conda install -c bioconda gget
For use in Jupyter Lab / Google Colab:
import gget
3. 各模块功能与使用示例
① gget ref
- 从Ensembl中按物种获取参考基因组与注释文件的FTPs地址 。Fetch File Transfer Protocols (FTPs) and metadata for reference genomes and annotations from Ensembl by species.
- 返回格式: dictionary/json
- 参数:
-
使用示例:
获取特定版本和特定物种的参考基因组与注释文件的FTP下载地址
# 获取最新的人的所有参考基因组和注释(DNA、cDNA、cds、gtf等)的FTP地址
gget ref -s homo_sapiens
# 获取特定版本的人的参考基因组与注释的FTP地址
gget ref -s homo_sapiens -w gtf dna -r 103
② gget search
- 从Ensembl中按自由搜索的形式获取基因和转录本信息。Fetch genes and transcripts from Ensembl using free-form search terms.
- 返回格式:data frame
- 参数:
-
使用示例:
在Ensembl中搜索关键词 gaba gamma-aminobutyric,获取人的基因相关信息并保存为csv文件
gget search -sw gaba gamma-aminobutyric -s homo_sapiens -o results.csv
③ gget info
- 使用Ensembl id从Ensembl, UniProt和NCBI获取基因或转录本信息。Fetch extensive gene and transcript metadata from Ensembl, UniProt, and NCBI using Ensembl IDs.
- 返回格式:data frame
- 参数:
-
使用示例:
根据Ensembl id获取基因信息(-e 参数能获取扩展信息,对于基因添加所有已知转录本的信息,对于转录本添加所有已知翻译和外显子的信息),并保存为csv文件
gget info -id ENSG00000034713 ENSG00000104853 ENSG00000170296 -e -o results.csv
④ gget seq
-
分别从Ensembl和UniProt中获取基因或转录本的核苷酸或氨基酸序列。Fetch nucleotide or amino acid sequences of genes or transcripts from Ensembl or UniProt, respectively.
-
返回格式: FASTA
-
参数:
-
使用示例:
根据Ensembl id获取基因序列信息,并保存为fa文件
gget seq -id ENSG00000034713 ENSG00000104853 ENSG00000170296 -o results.fa
⑤ gget blast
- BLAST一个核苷酸或氨基酸序列到任何BLAST数据库。BLAST a nucleotide or amino acid sequence to any BLAST database.
- 返回格式:data frame
- 参数:
-
使用示例:
对特定序列(直接输出或已存进文件)进行BLAST,并保存为csv文件(注意,需要提前用conda安装lxml,否则会报错)
## 先下载lxml
conda install -y lxml
gget blast -seq MKWMFKEDHSLEHRCVESAKIRAKYPDRVPVIVEKVSGSQIVDIDKRKYLVPSDITVAQFMWIIRKRIQLPSEKAIFLFVDKTVPQSR -o results.csv
## 用fa或txt文件进行BLAST
gget blast -seq fasta.fa -o results.csv
⑥ gget blat
- 使用BLAT找出核苷酸或氨基酸序列的基因组位置。Find the genomic location of a nucleotide or amino acid sequence using BLAT.
- 返回格式:data frame
- 参数:
-
使用示例:
搜索斑马鱼中特定氨基酸序列所在的基因组位置,并保存为csv文件
gget blat -seq MKWMFKEDHSLEHRCVESAKIRAKYPDRVPVIVEKVSGSQIVDIDKRKYLVPSDITVAQFMWIIRKRIQLPSEKAIFLFVDKTVPQSR -a taeGut2 -o results.csv
⑦ gget muscle
- 使用Muscle5将多个核苷酸或氨基酸序列进行序列比对。Align multiple nucleotide or amino acid sequences to each other using Muscle5.
- 返回格式:ClustalW formatted standard out or aligned FASTA.
- 参数:
-
使用示例:
对fasta.fa文件中多条核苷酸序列进行比对,并保存为afa文件(一般还是使用软件比较方便,因此就没尝试了哈)
gget muscle -fa fasta.fa -o results.afa
⑧ gget enrichr
- 使用Enrichr对基因列表进行富集分析。Perform an enrichment analysis on a list of genes using Enrichr.
- 返回格式:data frame
- 参数:
-
使用示例:
对基因ACE2 AGT AGTR1进行GO富集分析,保存为csv文件
gget enrichr -g ACE2 AGT AGTR1 -db ontology -o rich.csv
⑨ gget archs4
- 使用ARCHS4查找与感兴趣基因最相关的基因,或者查找该基因的组织表达图谱。Find the most correlated genes to a gene of interest or find the gene's tissue expression atlas using ARCHS4.
- 返回格式:data frame
- 参数:
-
使用示例:
查找与基因ACE2最相关的基因、查找ACE2的组织表达图谱,保存为csv文件
##查找与基因ACE2最相关的基因
gget archs4 -g ACE2 -o ACE2.csv
##查找基因ACE2的组织表达图谱
gget archs4 -g ACE2 -w tissue -o ACE2_tissue.csv
通过以上学习实践可以发现,gget整合了我们常用的查询基因组数据库的各项功能,能够以简单易学的命令行形式进行多种多样的操作,对于熟悉命令行操作的使用人员可以说是很棒的一个辅助工具了。
最后感谢生信技能树Jimmy老师,让我了解学习到了gget工具的使用( ̄▽ ̄)