gget——高效的基因组数据库查询工具

最近在bioRxiv上发布的一篇文献介绍了gget——能高效进行基因组数据库查询的工具。
使用gget能够以命令行的形式查询或下载基因组数据库的相关信息,甚至能进行BLAST、基因富集、序列比对等等操作,再也不用费心去各种网页中一级级辛苦查找啦。
下面学习一下其具体使用方法。

Efficient querying of genomic databases for single-cell RNA-seq with gget

文献地址: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 refgget searchgget searchgget infogget seqgget blastgget blatgget musclegget enrichrgget archs4

gget_overview.png


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工具的使用( ̄▽ ̄)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容