前面介绍了生物信息学软件工具的大致分类,详细的目录如下所示
接下来我们就一一介绍它们,首先是最易上手的网页工具:
生物信息学领域有许多在线工具和资源,这些工具提供了各种分析和可视化功能,无需用户进行大量的本地安装和配置。而且绝大部分都是大机构开发和维护,知名度比较好的大机构包括:
它们各自提供了海量的工具,比如NCBI的在线blast,UCSC 的 Genome Browser,以及EMBL-EBI的EMBOSS。
当然了,网页工具其实也可以按照功能来进行分类,或者ngs组学数据种类分类就更复杂了。比如实现生物学功能数据库(go以及kegg)注释(富集分析)的就有 3大在线分析工具:Enrichr、WebGestalt、gprofiler ,还有大名鼎鼎的DAVID(Database for Annotation, Visualization, and Integrated Discovery),以及后起之秀 Metascape,它们都可以用于功能富集分析的工具,帮助理解一组基因的生物学含义。
NCBI(National Center for Biotechnology Information)提供了丰富的生物信息学工具和数据库,其中一些是基于网页的工具。这些网页工具,在 National Library of Medicine的YouTube主页可以看到很多教学视频:
A hub of information innovation since 1836, the National Library of Medicine is pleased to offer YouTube content as diverse as our global community of users! Videos from the world’s largest medical library include the latest tips for harnessing NLM resources, gems from the history of medicine, glimpses of our vast and varied outreach programs and services, and recordings of exhibitions, lectures, and special events.
而且它们运营了一系列社交媒体:https://www.nlm.nih.gov/socialmedia/index.html ,因为是官方机构,视频还算是制作精良:
视频还算是制作精良
实际上每个细分数据库页面都可以出一系列图文版本或者视频教学,但是如果有基本的网页工具概念,很容易摸索他们的各自的用法:
用途:PubMed 是一个生物医学文献检索工具,用于查找生物医学文献。
使用方法:
用途:BLAST 用于在数据库中搜索生物序列的同源序列。
使用方法:
用途:GenBank 是一个包含DNA、RNA和蛋白质序列的数据库。
使用方法:
用途:Entrez Gene 提供基因信息的检索和浏览。
使用方法:
用途:GEO 存储和提供基因表达数据。
使用方法:
上面的是最常见的5个细分数据库,对我们生信工程师来说还包括SRA等数据库也需要熟练使用。
UCSC(University of California, Santa Cruz)提供了一系列生物信息学工具和数据库,其中一些是基于网页的工具。这些网页工具,在 UCSC Genome Browser的YouTube主页可以看到很多教学视频:https://www.youtube.com/ucsantacruz
Viewing alternate haplotypes with the UCSC Genome Browser
Exon-only display in the UCSC Genome Browser
How do I get the coordinates and sequences of exons using the UCSC Genome Browser
How do I learn which tables belong to a data track on the UCSC Genome Browser?
How do I identify codon numbers with the UCSC Genome Browser?
How do I find the SNPs upstream from genes using the UCSC Genome Browser?
How do I find all the SNPs in a gene using the UCSC Genome Browser?
How do I find a list of genes in a genomic region using the UCSC Genome Browser?
How do I identify exon numbers with the UCSC Genome Browser?
Using the Data Integrator
Multi-Region: View discontinuous regions in UCSC Browser
dbSNP data in the UCSC Genome Browser
Using the in-Silico PCR (isPCR) tool in the UCSC Genome Browser
Controlling the visibility of data tracks on the UCSC Genome Browser
Saving and Sharing Sessions on the UCSC Genome Browser
Basics, Part 2: Configuring the Browser
UCSC Genome Browser: Coronavirus Browser SARS-CoV-2
Basics. Part 3: Configuration + DNA navigation
Part 1: Genome Browser links: Dissecting / Understanding the URL
Part 2: Genome Browser links: Links inside genes and more tricks
Part 3: Genome Browser links: Composite tracks, custom tracks and spreadsheets
Basics. Part 1: Getting around in the Browser
如果需要熟悉UCSC系列工具,只需要看看上面的视频即可,当然了,如果你身边有师兄师姐直接教你是最好的啦!
用途:UCSC Genome Browser 允许用户查看和分析基因组序列信息。
使用方法:
用途:Table Browser 允许用户从 UCSC 数据库中检索和下载数据。
使用方法:
用途:UCSC BLAT 用于在基因组中快速比对用户提供的序列。
使用方法:
用途:UCSC Xena 浏览器用于整合、可视化和分析多种生物医学数据,包括基因表达、蛋白质表达、临床数据等。
使用方法:
EMBL-EBI(European Bioinformatics Institute)提供了多种生物信息学工具和数据库,以支持全球生命科学研究。这些网页工具,在 European Bioinformatics Institute - EMBL-EBI 的YouTube主页可以看到很多教学视频:
很多教学视频
用途:
使用方法:
用途:
使用方法:
用途:
使用方法:
用途:
使用方法:
用途:
使用方法:
比如实现生物学功能数据库(go以及kegg)注释(富集分析)的就有 3大在线分析工具:Enrichr、WebGestalt、gprofiler ,还有大名鼎鼎的DAVID(Database for Annotation, Visualization, and Integrated Discovery),以及后起之秀 Metascape,它们都可以用于功能富集分析的工具,帮助理解一组基因的生物学含义。
基本上每个领域都有大量的网页工具,这里就不一一列举:
而且每个领域都有自己的最新综述文章会整理和汇总相关网页工具
近期Genome Biology (2021) 杂志的一个文章:《Over 1000 tools reveal trends in the single- cell RNA-seq analysis landscape》系统性的梳理了2016-2021这5年间,位于https://www.scrna-tools.org/网页的超一千个软件工具算法。虽然是单细胞领域不仅仅是single-cell RNA sequencing (scRNA-seq). ,还有 其它比如:
但绝大部分工具仍然是普通单细胞转录组的降维聚类分群,主要是集中于常规分析流 :
这也是我在2018年的单细胞授课强调的,本质上仍然是对每个环节的R包的对象的熟悉程度。其实我一直强调,大家的基础课程学完后需要完成作业:单细胞基础视频课程结业考核20题 , 也就是熟练掌握5个R包,分别是: scater,monocle,Seurat,scran,M3Drop,因为这一千多个工具里面近6成都是基于R语言开发的。一些数据库的网页地址是:
Human cell atlas, HCA:https://data.humancellatlas.org/
Jingle Bells:http://jinglebells.bgu.ac.il/
CancerSEA:http://biocc.hrbmu.edu.cn/CancerSEA/
DISCO:https://www.immunesinglecell.org/
PanglaoDB:https://panglaodb.se/index.html
SC2disease:http://easybioai.com/sc2disease/
CellMarkrer:http://bio-bigdata.hrbmu.edu.cn/CellMarker/
scQuery:https://scquery.cs.cmu.edu/
BloodSpot:http://servers.binf.ku.dk/bloodspot/
SCPortalen:http://single-cell.clst.riken.jp/
scRNASeqDB:https://bioinfo.uth.edu/scrnaseqdb/
Single Cell Portal:https://singlecell.broadinstitute.org/single_cell
SCDevDB:https://scdevdb.deepomics.org/
KIT:http://humphreyslab.com/SingleCell/
VascularSingleCells:http://betsholtzlab.org/VascularSingleCells/database.html
Single Cell Expression Atlas:https://www.ebi.ac.uk/gxa/sc/home
TISCH:http://tisch.comp-genomics.org/home/
scTPA:http://sctpa.bio-data.cn/sctpa/
MCA:http://bis.zju.edu.cn/MCA/
HCL:https://db.cngb.org/HCL/
Tabula Muris :https://tabula-muris.ds.czbiohub.org/
SpatialDB:https://www.spatialomics.org/SpatialDB/
iSyTE:https://research.bioinformatics.udel.edu/iSyTE/ppi/index.php
DBTMEE:https://dbtmee.hgc.jp/
CeDR Atlas:https://ngdc.cncb.ac.cn/cedr
Aging Atlas:https://ngdc.cncb.ac.cn/aging/index
Gut Cell Atlas:https://www.gutcellatlas.org/
StemMapper:http://stemmapper.sysbiolab.eu/
ColorCells:https://rna.sysu.edu.cn/colorcells/
SPICA:https://spica.epfl.ch/projects
GRNdb:http://www.grndb.com/
CellPhoneDB:https://www.cellphonedb.org/
scMetabolism:http://www.cancerdiversity.asia/scMetabolism/
CDCP:https://db.cngb.org/cdcp/
THPA:https://www.proteinatlas.org/humanproteome/single+cell+type
前面我们说到过,真正的生信工程师其实不喜欢使用网页工具,虽然它有可视化的优点(所见即所得),但是它没办法批量和自动化,不符合我们的逻辑思维。
所以各个数据库网页工具也有编程接口,比如NCBI网站提供的API接口——Entrez Utilities (Eutils for short)。在R中,这个工具可以用rentrez,进行在线获取数据,可以先简单的看看它的一些官方文档描述:
首先可以查看一下它提供了哪些数据库的接口:
# install.packages('rentrez')
library(rentrez)
entrez_dbs()
我是2023-11-23 运行的上面的代码,从返回的结果来看是非常丰富:
> entrez_dbs()
[1] "pubmed" "protein" "nuccore" "ipg"
[5] "nucleotide" "structure" "genome" "annotinfo"
[9] "assembly" "bioproject" "biosample" "blastdbinfo"
[13] "books" "cdd" "clinvar" "gap"
[17] "gapplus" "grasp" "dbvar" "gene"
[21] "gds" "geoprofiles" "homologene" "medgen"
[25] "mesh" "nlmcatalog" "omim" "orgtrack"
[29] "pmc" "popset" "proteinclusters" "pcassay"
[33] "protfam" "pccompound" "pcsubstance" "seqannot"
[37] "snp" "sra" "taxonomy" "biocollections"
[41] "gtr"
有3大函数可以帮助我们认识这些数据库
db='sra'
entrez_db_summary(db) #Brief description of what the database is
entrez_db_searchable(db) #Set of search terms that can used with this database
entrez_db_links(db) #Set of databases that might contain linked records
大家可以自己运行这些代码看看效果:
> entrez_db_summary(db) #Brief description of what the database is
DbName: sra
MenuName: SRA
Description: SRA Database
DbBuild: Build231122-1603m.1
Count: 30604853
LastUpdate: 2023/11/22 20:56
每个函数都会返回关于指定的数据库的海量的信息,基本上就跟大家实时通过浏览器访问ncbi官网是同样的效果。
然后,针对每个数据库又可以使用下面的4个函数进行数据库查询交互:
有了上面的函数,我们很容易自动化查询各个癌症的ngs数据情况,配合它的年份。我们来一个简单的示例:
search_year <- function(year, term){
query <- paste(term, " AND (", year, "[PDAT])")
entrez_search(db="pubmed", term=query, retmax=0)$count
}
year <- 2015:2023
words=c('scRNA','WES','ATAC','CHIP')
df = do.call(cbind,
lapply(words, function(term){
sapply(year, search_year, term=term, USE.NAMES=FALSE)
}))
df
很容易看到最近五年的这些关键词的测序数据的趋势:
> df
[,1] [,2] [,3] [,4]
[1,] 335 330 62 4191
[2,] 277 431 69 4424
[3,] 289 519 108 4513
[4,] 392 618 154 4908
[5,] 574 739 220 5232
[6,] 831 978 338 5758
[7,] 1427 1194 483 6239
[8,] 1772 1359 508 6598
[9,] 2124 1159 557 5843
也可以把上面的数据结果可视化一下,折线图方便看趋势。
如果把前面的网页工具的REST(Representational State Transfer) API(Application Programming Interface) 写入了不同编程语言,其实大家还是得学编程基础,那么是否有一种方法可以避免网页工具的繁琐又能避免不学编程语言呢。那么就不得不提一下软件工具啦。
比如命令行工具包 TaxonKit,用于全面高效地处理 NCBI 分类数据:
可以理解它是ncbi的taxonomy子数据库的一个软件接口,我们只需要学习它的7个命令,就可以快速而且便利的访问ncbi的taxonomy子数据库。
子命令 | 功能 |
---|---|
list | 列出指定TaxId下所有子单元的的TaxID |
lineage | 根据TaxID获取完整谱系(lineage) |
reformat | 将完整谱系转化为“界门纲目科属种株"的自定义格式 |
name2taxid | 将分类单元名称转化为TaxID |
filter | 按分类学水平范围过滤TaxIDs |
lca | 计算最低公共祖先(LCA) |
taxid-changelog | 追踪TaxID变更记录 |
version | 显示版本信息、检测新版本 |
genautocomplete | 生成shell自动补全配置脚本 |
目前已经是V14啦,Datasets CLI versions 13 and below will continue to function after version 14 is released and are available for download through Conda and GitHub.
详见:NLM’s NCBI Datasets announces the release of version 14 of our command-line (CLI) tools, datasets, and dataformat.
只需要简单的conda安装它即可,命令是:conda install -c conda-forge ncbi-datasets-cli
,使用命令也很简单:
使用命令也很简单
强烈建议你推荐给身边的博士后以及年轻生物学PI,多一点数据认知,让他们的科研上一个台阶: