【生信进阶练习1000days】day8-OrganismDb.dplyr包
文章目录
- 学习章节
- 1. OrganismDb.dplyr 包
- 1.0 基础用法
- 1.1 获取TxDb对象中的启动子
- 1.2 Extract a table from the underlying database
- 1.3 执行一个复杂查询 Make a complex query between tables in the underlying database
- 1.4 Organism.dplyr 练习
学习章节
https://bioconductor.github.io/BiocWorkshops/introduction-to-bioconductor-annotation-resources.html#organism.dplyr-package
1. OrganismDb.dplyr 包
- 简介:The Organism.dplyr creates an on disk sqlite database to hold data of an organism combined from an ‘org’ package (e.g., org.Hs.eg.db) and a genome coordinate functionality of the ‘TxDb’ package
- It aims to provide an integrated presentation of identifiers and genomic coordinates. And a src_organism object is created to point to the database.
- The src_organism object is created as an extension of src_sql and src_sqlite from
dplyr
, which inherited alldplyr
methods. It also implements theselect()
interface fromAnnotationDbi
and genomic coordinates extractors fromGenomicFeatures
- OrganismDb.dplyr包将TxDb和Org.Db包中的相关数据整合到了本地
- 可以使用来自
Org.*
和TxDb.*
的函数提取注释包中的数据keytypes()
,select()
, …exons()
,promoters()
, …
- 可以使用
dplyr
的函数来显示过滤 **TxDb
和Org.Db
**的整合注释
library(Organism.dplyr)
src <- src_organism(dbpath = hg38light())
src
## src: sqlite 3.22.0 [D:\software\R-3.5.3\library\Organism.dplyr\extdata\light.hg38.knownGene.sqlite]
## tbls: id, id_accession, id_go, id_go_all, id_omim_pm,
## id_protein, id_transcript, ranges_cds, ranges_exon,
## ranges_gene, ranges_tx
解释-hg38light()
These functions are primarily for illustrating functionality.hg38light() and mm10light() provide access to
trimmed-down versions of Organism.dplyr data based derived from the TxDb.Hsapiens.UCSC.hg38.knownGene and
TxDb.Mmusculus.UCSC.mm10.ensGene data bases
src_organism()
Create a sqlite database from TxDb and corresponding Org packages
1.0 基础用法
- 建议使用
browseVignettes("Organism.dplyr")
来查看这个包的具体使用方法
## Look at all available tables
src_tbls(src)
## [1] "id_accession" "id_transcript" "id" "id_omim_pm"
## [5] "id_protein" "id_go" "id_go_all" "ranges_gene"
## [9] "ranges_tx" "ranges_exon" "ranges_cds"## Look at data from one specific table
tbl(src, "id")
## # Source: table<id> [?? x 6]
## # Database: sqlite 3.22.0 []
## entrez map ensembl symbol genename alias
## <chr> <chr> <chr> <chr> <chr> <chr>
## 1 1 19q13.4 ENSG00000121410 A1BG alpha-1-B glycoprotein A1B
## 2 1 19q13.4 ENSG00000121410 A1BG alpha-1-B glycoprotein ABG ## Look at fields of one table.
colnames(tbl(src, "id"))
## [1] "entrez" "map" "ensembl" "symbol" "genename" "alias"
1.1 获取TxDb对象中的启动子
options(width = 120)
promoters(src)
1.2 Extract a table from the underlying database
tbl(src, "id")
#> # Source: table<id> [?? x 6]
#> # Database: sqlite 3.22.0 []
#> entrez map ensembl symbol genename alias
#> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 1 19q13.4 ENSG00000121410 A1BG alpha-1-B glycoprotein A1B
#> 2 1 19q13.4 ENSG00000121410 A1BG alpha-1-B glycoprotein ABG
#> 3 1 19q13.4 ENSG00000121410 A1BG alpha-1-B glycoprotein GAB
#> 4 1 19q13.4 ENSG00000121410 A1BG alpha-1-B glycoprotein HYST2477
1.3 执行一个复杂查询 Make a complex query between tables in the underlying database
inner_join(tbl(src, "id"), tbl(src, "ranges_gene")) %>%filter(symbol %in% c("ADA", "NAT2")) %>%dplyr::select(gene_chrom, gene_start, gene_end,gene_strand, symbol, alias, map)
1.4 Organism.dplyr 练习
- How many supported organisms are implemented in Organism.dplyr?
browseVignettes("Organism.dplyr")
supportedOrganisms()
## 21
- Display the ensembl Id and genename description for symbol “NAT2”
# look at all avaliable tables
src_tbls(src)
# get ensembl Id and genename descriptiontbl(src, "id") %>%filter(symbol == "NAT2") %>%dplyr::select( ensembl,genename)
- Show all the alias for “NAT2” in the database
tbl(src, "id") %>%filter(symbol == "NAT2") %>%dplyr::select(alias)
- Display Gene ontology (GO) information for gene symbol “NAT2”
inner_join(tbl(src, "id"), tbl(src, "id_go")) %>%filter(symbol == "NAT2") %>%dplyr::select(entrez, ensembl, symbol, go, evidence, ontology)
- Gene transcript counts per gene symbol
txcount <- inner_join(tbl(src, "id"), tbl(src, "ranges_tx")) %>%dplyr::select(symbol, tx_id) %>%group_by(symbol) %>%summarize(count = n()) %>%dplyr::select(symbol, count) %>%arrange(desc(count)) %>%collect(n=Inf)
txcount
## plot
library(ggplot2)
ggplot(txcount, aes(x = symbol, y = count)) + geom_bar(stat="identity") +theme(axis.text.x = element_text(angle = 45, hjust = 1)) +ggtitle("Transcript count") +labs(x = "Symbol") +labs(y = "Count")
【生信进阶练习1000days】day8-OrganismDb.dplyr包相关推荐
- 生信分析之R语言常用R包一步下载
系列文章目录 生信分析第一步:R语言基础应用以及数据前处理 文章目录 R包下载 使用GEOquery包下载原始数据 芯片数据读取 GEOquery 下载并读取数据 提取GEO表达矩阵 提取GEO注释信 ...
- 生信识图之 点图进阶-3(MA)
各位亲爱的土豪富婆,承蒙您慧眼识珠大驾光临大Y老师为您准备的小灶课堂. -----以下是日常碎碎念,日理万机的您,可以直接跳到图图图图分割线享用----- 对于"诈尸式"更新,大Y ...
- 生信识图之 点图进阶-6(UMAP)
各位亲爱的土豪富婆,见字如面. -----以下是日常碎碎念,日理万机的您,可以直接跳到图图图图分割线享用----- 春天来啦,又到了--考研计划的时候.大Y老师不是会把咱们公众号的更新陆续同步到知乎上 ...
- 生信识图之 点图进阶-4 (PCA下篇)
各位亲爱的土豪富婆,承蒙您慧眼识珠大驾光临大Y老师为您准备的小灶课堂. 近期有朋友说发现有人抄袭咱们的文章,自标为"原创".对此大Y老师有心理准备,咱们的每一篇文章都是大Y老师仔细 ...
- 生信识图 之 点图进阶-1
各位亲爱的土豪富婆,承蒙您慧眼识珠大驾光临大Y老师为您准备的小灶课堂. -----以下是日常碎碎念,日理万机的您,可以直接跳到图图图图分割线享用----- 大Y老师做生信分析十多年了,在此期间结识很多 ...
- 生信宝典教程大放送,一站式学习生信技术
生物信息学包含生物数据分析.数据可视化.重复工作程序化,是生物.医学科研必备的技能之一.生信宝典精心组织生信学习系列教程.生信工具精品教程,通过大量的生信例子.关键的注释.浓缩的语句和录制的视频帮助快 ...
- 送书 | 知乎阅读300w+的生信学习指南(更新版)
先送书 在上周的留言送书活动中,恭喜下面这位读者获得书籍"Oracle高性能系统架构实战大全",请及时与生信宝典编辑(shengxinbaodian)联系. 2020过去三分之一了 ...
- 生信宝典:生物信息学习系列教程、视频、资源
生信的作用越来越大,想学的人越来越多,不管是为了以后发展,还是为了解决眼下的问题.但生信学习不是一朝一夕就可以完成的事情,也许你可以很短时间学会一个交互式软件的操作,却不能看完程序教学视频后就直接写程 ...
- 生信宝典文章集锦,一站式学习生信!众多干货,有趣有料
生信的作用越来越大,想学的人越来越多,不管是为了以后发展,还是为了解决眼下的问题.但生信学习不是一朝一夕就可以完成的事情,也许你可以很短时间学会一个交互式软件的操作,却不能看完程序教学视频后就直接写程 ...
- 生信和植物领域最新资讯合集
宏基因组/微生物组是当今世界科研最热门的研究领域之一,中科院科研人员创立"宏基因组"公众号,入选科研圈评选"2019年度学术媒体优质公众号联合海内外同行共同打造本领域纯干 ...
最新文章
- UVa540 Team Queue
- SpringBoot笔记1-使用idea创建SpringBoot的hello world
- 认识mongodb文档的动态模式
- 将数据转化为API,OpenDataSoft获540万美元A轮融资
- C++顺序容器之deque初探
- python:how does subclass call baseclass's __init__()
- html提交多个正则表达式,将多个html文件的正则表达式结果写入.txt outfile
- 【J2SE】java实现简单照片查看器
- 基于Modbus TCP-IP协议的WEINVIEW HMI与PC通讯
- bzoj 1503: [NOI2004]郁闷的出纳员 (splay)
- win7 安装SQL Server 2005 开发版 图文教程
- Word文档批量替换工具
- PPT 插入表格出现格式如何清除
- 关于自学es6的笔记上传
- 如何修改pdf文件内容并保存
- 以拼音输入法(自然语言处理)为例,简单理解隐含马尔可夫模型
- 怎么申请微信小程序流程_小程序发布需要什么资质
- 【python 淘宝爬虫】python 淘宝店铺名称,旺旺,销售量 抓取
- doNet面试宝典-常见整理(重复率高)
- python求一个序列的和_Python合集之Python序列(三)
热门文章
- ExtJs4学习(一):正确认识ExtJs4
- tesseract--目前最好的OCR,支持中文
- 用C++ Builder对图像进行特殊效果处理
- Java如何让程序一直运行,不停止
- numeric库函数——accumulate函数
- 循环队列和链队的表示和实现
- cpu性能参数如何看?
- 无锡linux内核开发,【Linux系统-无锡有前途吗】Softtek2021年Linux系统-无锡就业前景-看准网...
- 发那科oimf是什么时候出的_请问下FANUC Oi-MF系统怎么把卡里的程序传到机床里面?...
- JS 打印 data数据_用D3.js 十分钟实现字符跳动效果