文章目录

  • 学习章节
  • 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 all dplyr methods. It also implements the select() interface from AnnotationDbi and genomic coordinates extractors from GenomicFeatures
  • OrganismDb.dplyr包将TxDb和Org.Db包中的相关数据整合到了本地
  • 可以使用来自Org.*TxDb.*的函数提取注释包中的数据
    • keytypes(), select(), …
    • exons(), promoters(), …
  • 可以使用dplyr的函数来显示过滤 **TxDbOrg.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包相关推荐

  1. 生信分析之R语言常用R包一步下载

    系列文章目录 生信分析第一步:R语言基础应用以及数据前处理 文章目录 R包下载 使用GEOquery包下载原始数据 芯片数据读取 GEOquery 下载并读取数据 提取GEO表达矩阵 提取GEO注释信 ...

  2. 生信识图之 点图进阶-3(MA)

    各位亲爱的土豪富婆,承蒙您慧眼识珠大驾光临大Y老师为您准备的小灶课堂. -----以下是日常碎碎念,日理万机的您,可以直接跳到图图图图分割线享用----- 对于"诈尸式"更新,大Y ...

  3. 生信识图之 点图进阶-6(UMAP)

    各位亲爱的土豪富婆,见字如面. -----以下是日常碎碎念,日理万机的您,可以直接跳到图图图图分割线享用----- 春天来啦,又到了--考研计划的时候.大Y老师不是会把咱们公众号的更新陆续同步到知乎上 ...

  4. 生信识图之 点图进阶-4 (PCA下篇)

    各位亲爱的土豪富婆,承蒙您慧眼识珠大驾光临大Y老师为您准备的小灶课堂. 近期有朋友说发现有人抄袭咱们的文章,自标为"原创".对此大Y老师有心理准备,咱们的每一篇文章都是大Y老师仔细 ...

  5. 生信识图 之 点图进阶-1

    各位亲爱的土豪富婆,承蒙您慧眼识珠大驾光临大Y老师为您准备的小灶课堂. -----以下是日常碎碎念,日理万机的您,可以直接跳到图图图图分割线享用----- 大Y老师做生信分析十多年了,在此期间结识很多 ...

  6. 生信宝典教程大放送,一站式学习生信技术

    生物信息学包含生物数据分析.数据可视化.重复工作程序化,是生物.医学科研必备的技能之一.生信宝典精心组织生信学习系列教程.生信工具精品教程,通过大量的生信例子.关键的注释.浓缩的语句和录制的视频帮助快 ...

  7. 送书 | 知乎阅读300w+的生信学习指南(更新版)

    先送书 在上周的留言送书活动中,恭喜下面这位读者获得书籍"Oracle高性能系统架构实战大全",请及时与生信宝典编辑(shengxinbaodian)联系. 2020过去三分之一了 ...

  8. 生信宝典:生物信息学习系列教程、视频、资源

    生信的作用越来越大,想学的人越来越多,不管是为了以后发展,还是为了解决眼下的问题.但生信学习不是一朝一夕就可以完成的事情,也许你可以很短时间学会一个交互式软件的操作,却不能看完程序教学视频后就直接写程 ...

  9. 生信宝典文章集锦,一站式学习生信!众多干货,有趣有料

    生信的作用越来越大,想学的人越来越多,不管是为了以后发展,还是为了解决眼下的问题.但生信学习不是一朝一夕就可以完成的事情,也许你可以很短时间学会一个交互式软件的操作,却不能看完程序教学视频后就直接写程 ...

  10. 生信和植物领域最新资讯合集

    宏基因组/微生物组是当今世界科研最热门的研究领域之一,中科院科研人员创立"宏基因组"公众号,入选科研圈评选"2019年度学术媒体优质公众号联合海内外同行共同打造本领域纯干 ...

最新文章

  1. UVa540 Team Queue
  2. SpringBoot笔记1-使用idea创建SpringBoot的hello world
  3. 认识mongodb文档的动态模式
  4. 将数据转化为API,OpenDataSoft获540万美元A轮融资
  5. C++顺序容器之deque初探
  6. python:how does subclass call baseclass's __init__()
  7. html提交多个正则表达式,将多个html文件的正则表达式结果写入.txt outfile
  8. 【J2SE】java实现简单照片查看器
  9. 基于Modbus TCP-IP协议的WEINVIEW HMI与PC通讯
  10. bzoj 1503: [NOI2004]郁闷的出纳员 (splay)
  11. win7 安装SQL Server 2005 开发版 图文教程
  12. Word文档批量替换工具
  13. PPT 插入表格出现格式如何清除
  14. 关于自学es6的笔记上传
  15. 如何修改pdf文件内容并保存
  16. 以拼音输入法(自然语言处理)为例,简单理解隐含马尔可夫模型
  17. 怎么申请微信小程序流程_小程序发布需要什么资质
  18. 【python 淘宝爬虫】python 淘宝店铺名称,旺旺,销售量 抓取
  19. doNet面试宝典-常见整理(重复率高)
  20. python求一个序列的和_Python合集之Python序列(三)

热门文章

  1. ExtJs4学习(一):正确认识ExtJs4
  2. tesseract--目前最好的OCR,支持中文
  3. 用C++ Builder对图像进行特殊效果处理
  4. Java如何让程序一直运行,不停止
  5. numeric库函数——accumulate函数
  6. 循环队列和链队的表示和实现
  7. cpu性能参数如何看?
  8. 无锡linux内核开发,【Linux系统-无锡有前途吗】Softtek2021年Linux系统-无锡就业前景-看准网...
  9. 发那科oimf是什么时候出的_请问下FANUC Oi-MF系统怎么把卡里的程序传到机床里面?...
  10. JS 打印 data数据_用D3.js 十分钟实现字符跳动效果