前面介绍了生物信息学软件工具的大致分类,详细的目录如下所示
- 网页工具(最易上手)
- 云平台(有门槛,比如需要看视频教程)
- 海外知名云平台
- 国内商业公司云平台
- 编程语言(需要系统性学习计算机基础知识)
- 单个模块就是软件
- 多个模块多个命令
- 首先需要在什么是基于编程语言的生物信息学软件这个概念达成共识!
- C语言体系源代码
- Java编程语言的软件
- Perl编程语言的软件
- 基于Python编程语言的软件
- 基于R编程语言的软件
- 其它编程语言的软件
- 混合多种编程语言的软件
- 二进制可执行程序
- 有图形用户界面(GUI)的软件
- conda软件管理方案
- 不同操作系统的软件管理仓库
接下来我们就一一介绍它们,首先是最易上手的网页工具:
生物信息学领域有许多在线工具和资源,这些工具提供了各种分析和可视化功能,无需用户进行大量的本地安装和配置。而且绝大部分都是大机构开发和维护,知名度比较好的大机构包括:
- NCBI(National Center for Biotechnology Information)
- UCSC( University of California, Santa Cruz )
- EMBL-EBI(European Bioinformatics Institute)
它们各自提供了海量的工具,比如NCBI的在线blast,UCSC 的 Genome Browser,以及EMBL-EBI的EMBOSS。
当然了,网页工具其实也可以按照功能来进行分类,或者ngs组学数据种类分类就更复杂了。比如实现生物学功能数据库(go以及kegg)注释(富集分析)的就有 3大在线分析工具:Enrichr、WebGestalt、gprofiler ,还有大名鼎鼎的DAVID(Database for Annotation, Visualization, and Integrated Discovery),以及后起之秀 Metascape,它们都可以用于功能富集分析的工具,帮助理解一组基因的生物学含义。
齐全的NBCI网页工具
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 ,因为是官方机构,视频还算是制作精良:
视频还算是制作精良
实际上每个细分数据库页面都可以出一系列图文版本或者视频教学,但是如果有基本的网页工具概念,很容易摸索他们的各自的用法:
1. PubMed:
用途:PubMed 是一个生物医学文献检索工具,用于查找生物医学文献。
使用方法:
- 在网页上访问 PubMed:PubMed
- 在搜索框中输入关键词,然后按 Enter 键或点击搜索按钮。
- 浏览检索结果,点击文章标题可以查看详细信息。
2. BLAST (Basic Local Alignment Search Tool):
用途:BLAST 用于在数据库中搜索生物序列的同源序列。
使用方法:
- 在网页上访问 NCBI BLAST:BLAST
- 选择合适的 BLAST 工具(例如,blastn 用于核酸序列比对,blastp 用于蛋白质序列比对)。
- 输入查询序列,选择适当的数据库,然后点击“BLAST”按钮。
- 分析 BLAST 结果页面,查看匹配的序列信息。
3. GenBank:
用途:GenBank 是一个包含DNA、RNA和蛋白质序列的数据库。
使用方法:
- 在网页上访问 GenBank:GenBank
- 在搜索框中输入关键词,如基因名或Accession号,然后按 Enter 键。
- 浏览检索结果,点击特定记录以查看详细信息。
4. Entrez Gene:
用途:Entrez Gene 提供基因信息的检索和浏览。
使用方法:
- 在网页上访问 Entrez Gene:Entrez Gene
- 在搜索框中输入基因名、Symbol或ID,然后按 Enter 键。
- 查看检索结果,点击特定基因以查看详细信息。
5. NCBI Gene Expression Omnibus (GEO):
用途:GEO 存储和提供基因表达数据。
使用方法:
- 在网页上访问 GEO:GEO
- 在搜索框中输入关键词,如实验名或基因名,然后按 Enter 键。
- 查看检索结果,点击特定实验以查看详细信息。
上面的是最常见的5个细分数据库,对我们生信工程师来说还包括SRA等数据库也需要熟练使用。
同样齐全的UCSC系列工具
UCSC(University of California, Santa Cruz)提供了一系列生物信息学工具和数据库,其中一些是基于网页的工具。这些网页工具,在 UCSC Genome Browser的YouTube主页可以看到很多教学视频:https://www.youtube.com/ucsantacruz
代码语言:javascript复制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系列工具,只需要看看上面的视频即可,当然了,如果你身边有师兄师姐直接教你是最好的啦!
1. UCSC Genome Browser:
用途:UCSC Genome Browser 允许用户查看和分析基因组序列信息。
使用方法:
- 在网页上访问 UCSC Genome Browser:UCSC Genome Browser
- 选择感兴趣的生物物种(Human、Mouse等)和基因组版本。
- 在搜索框中输入基因名、基因ID或坐标,并点击“Submit”按钮。
- 浏览基因组浏览器,查看基因、SNP、转录因子结合位点等信息。
2. Table Browser:
用途:Table Browser 允许用户从 UCSC 数据库中检索和下载数据。
使用方法:
- 在网页上访问 Table Browser:Table Browser
- 选择目标数据库和数据表。
- 定义检索条件,选择要检索的字段。
- 点击“get output”按钮,选择下载格式,然后点击“submit”按钮。
3. UCSC BLAT:
用途:UCSC BLAT 用于在基因组中快速比对用户提供的序列。
使用方法:
- 在网页上访问 UCSC BLAT:UCSC BLAT
- 选择目标基因组。
- 输入查询序列,选择比对参数,然后点击“submit”按钮。
- 查看 BLAT 结果,包括比对位置、分数等信息。
4. UCSC Xena 浏览器:
用途:UCSC Xena 浏览器用于整合、可视化和分析多种生物医学数据,包括基因表达、蛋白质表达、临床数据等。
- 数据整合:Xena 浏览器整合了来自不同实验和项目的大量公共数据,包括 The Cancer Genome Atlas (TCGA)、Genome Data Analysis Centers (GDAC)、International Cancer Genome Consortium (ICGC) 等。
- 数据可视化:提供多种图表和可视化工具,包括基因表达热图、生存曲线、基因特征图等,帮助用户直观地理解数据。
- 交互式分析:用户可以根据兴趣选择不同的数据集,应用过滤条件,进行交互式分析。
- 分享和导出:用户可以保存他们的工作,创建自定义视图,以及分享他们的分析结果。
使用方法:
- 访问 Xena 浏览器:UCSC Xena 浏览器
- 选择数据集:在“主页”中,选择感兴趣的数据集,例如 TCGA 数据。
- 选择数据类型:选择要查看的数据类型,如基因表达、蛋白质表达、临床数据等。
- 可视化和分析:选择数据集后,您可以使用 Xena 浏览器的交互式工具进行可视化和分析。例如,您可以生成基因表达热图、绘制生存曲线等。
- 导出和分享:如果您进行了一些定制的分析或创建了自定义视图,您可以将其导出并分享给其他人。
EMBL-EBI网页工具也多种多样
EMBL-EBI(European Bioinformatics Institute)提供了多种生物信息学工具和数据库,以支持全球生命科学研究。这些网页工具,在 European Bioinformatics Institute - EMBL-EBI 的YouTube主页可以看到很多教学视频:
- https://www.youtube.com/@EMBL-EBI
很多教学视频
1. Ensembl Genome Browser:
用途:
- Ensembl Genome Browser 用于查看和分析多个生物物种的基因组信息。
使用方法:
- 在网页上访问 Ensembl Genome Browser:Ensembl
- 选择感兴趣的生物物种。
- 输入基因名、坐标或其他关键词,查看基因组信息、基因结构、SNP等。
2. UniProt:
用途:
- UniProt 提供蛋白质序列和功能信息的综合性数据库。
使用方法:
- 在网页上访问 UniProt:UniProt
- 在搜索框中输入蛋白质名、Accession号或其他关键词。
- 查看蛋白质的序列、结构、功能注释等信息。
3. EBI Search:
用途:
- EBI Search 是一个用于在 EMBL-EBI 数据库中搜索生物学数据的工具。
使用方法:
- 在网页上访问 EBI Search:EBI Search
- 输入关键词,选择要搜索的数据库。
- 查看搜索结果,点击条目以查看详细信息。
4. EMBL-EBI Tools:
用途:
- EMBL-EBI 提供了多种生物信息学工具,包括序列分析、结构预测、数据可视化等。
使用方法:
- 在网页上访问 EMBL-EBI Tools:EMBL-EBI Tools
- 选择感兴趣的工具类别,如"Sequence Analysis"或"Structural Bioinformatics"。
- 选择要使用的具体工具,按照页面上的指导使用工具。
5. European Nucleotide Archive (ENA):
用途:
- ENA 是一个维护和分发核酸序列数据的数据库。
使用方法:
- 在网页上访问 ENA:ENA
- 输入Accession号、样本名或其他关键词,查看核酸序列和相关信息。
其它网页工具
比如实现生物学功能数据库(go以及kegg)注释(富集分析)的就有 3大在线分析工具:Enrichr、WebGestalt、gprofiler ,还有大名鼎鼎的DAVID(Database for Annotation, Visualization, and Integrated Discovery),以及后起之秀 Metascape,它们都可以用于功能富集分析的工具,帮助理解一组基因的生物学含义。
基本上每个领域都有大量的网页工具,这里就不一一列举:
- http://kobas.cbi.pku.edu.cn/
- https://www.omicshare.com/tools/Home/Soft/seqlogo
- https://weblogo.berkeley.edu/
- https://www.ebi.ac.uk/Tools/msa/mview/
- https://www.ebi.ac.uk/Tools/psa/genewise/
- https://itol.embl.de/
而且每个领域都有自己的最新综述文章会整理和汇总相关网页工具
单细胞网页工具
近期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). ,还有 其它比如:
- chromatin accessibility
- DNA methylation
- protein abundance
- spatial location
但绝大部分工具仍然是普通单细胞转录组的降维聚类分群,主要是集中于常规分析流 :
- step1: 创建对象
- step2: 质量控制
- step3: 表达量的标准化和归一化
- step4: 去除干扰因素(多个样本整合)
- step5: 判断重要的基因
- step6: 多种降维算法
- step7: 可视化降维结果
- step8: 多种聚类算法
- step9: 聚类后找每个细胞亚群的标志基因
- step10: 继续分类
这也是我在2018年的单细胞授课强调的,本质上仍然是对每个环节的R包的对象的熟悉程度。其实我一直强调,大家的基础课程学完后需要完成作业:单细胞基础视频课程结业考核20题 , 也就是熟练掌握5个R包,分别是: scater,monocle,Seurat,scran,M3Drop,因为这一千多个工具里面近6成都是基于R语言开发的。一些数据库的网页地址是:
代码语言:javascript复制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,进行在线获取数据,可以先简单的看看它的一些官方文档描述:
- https://cran.r-project.org/web/packages/rentrez/vignettes/rentrez_tutorial.html
- https://github.com/ropensci/rentrez/wiki
- https://github.com/ropensci/rentrez
首先可以查看一下它提供了哪些数据库的接口:
代码语言:javascript复制# install.packages('rentrez')
library(rentrez)
entrez_dbs()
我是2023-11-23 运行的上面的代码,从返回的结果来看是非常丰富:
代码语言:javascript复制> 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大函数可以帮助我们认识这些数据库
代码语言:javascript复制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
大家可以自己运行这些代码看看效果:
代码语言:javascript复制> 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个函数进行数据库查询交互:
- Searching databases: entrez_search()
- Finding cross-references : entrez_link()
- Getting summary data: entrez_summary()
- Fetching full records: entrez_fetch()
有了上面的函数,我们很容易自动化查询各个癌症的ngs数据情况,配合它的年份。我们来一个简单的示例:
代码语言:javascript复制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
很容易看到最近五年的这些关键词的测序数据的趋势:
代码语言:javascript复制> 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
比如命令行工具包 TaxonKit,用于全面高效地处理 NCBI 分类数据:
- https://bioinf.shenwei.me/taxonkit/
- https://github.com/shenwei356/taxonkit/
- https://bioinf.shenwei.me/taxonkit/chinese/
可以理解它是ncbi的taxonomy子数据库的一个软件接口,我们只需要学习它的7个命令,就可以快速而且便利的访问ncbi的taxonomy子数据库。
子命令 | 功能 |
---|---|
list | 列出指定TaxId下所有子单元的的TaxID |
lineage | 根据TaxID获取完整谱系(lineage) |
reformat | 将完整谱系转化为“界门纲目科属种株"的自定义格式 |
name2taxid | 将分类单元名称转化为TaxID |
filter | 按分类学水平范围过滤TaxIDs |
lca | 计算最低公共祖先(LCA) |
taxid-changelog | 追踪TaxID变更记录 |
version | 显示版本信息、检测新版本 |
genautocomplete | 生成shell自动补全配置脚本 |
command-line (CLI) tools
目前已经是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,多一点数据认知,让他们的科研上一个台阶:
- 生物信息学马拉松授课(买一得五) ,你的生物信息学入门课
- 时隔5年,我们的生信技能树VIP学徒继续招生啦
- 144线程640Gb内存服务器共享一年仍然是仅需800
- 千呼万唤始出来的独享生物信息学云服务器
- 生信技能树知识整理实习生又又又开放申请啦(不招了,谢谢)
- 生信共享办公室出租