希望所有的学徒,实习生以及马拉松授课学员都可以在咱们《生信技能树》的舞台上大放异彩。前面有粉丝自告奋勇希望可以把他自己在简书等平台的生物信息学笔记分享在我们《生信技能树》公众号,在专业的舞台上跟大家切磋!非常欢迎,他前面的分享是:
- Counts FPKM RPKM TPM CPM 的转化
- 获取基因有效长度的N种方法
下面继续 :
BLAST、基因富集、序列比对
最近在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. 安装
代码语言:javascript复制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
代码语言:javascript复制conda install -y lxml
gget blast -seq MKWMFKEDHSLEHRCVESAKIRAKYPDRVPVIVEKVSGSQIVDIDKRKYLVPSDITVAQFMWIIRKRIQLPSEKAIFLFVDKTVPQSR -o results.csv
用fa或txt文件进行BLAST
代码语言:javascript复制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工具的使用( ̄▽ ̄)