学习章节

https://bioconductor.github.io/BiocWorkshops/r-and-bioconductor-for-everyone-an-introduction.html#introduction-to-bioconductor

文章目录

  • 学习章节
  • 1. Bioconductor的一些补充小用法
  • 2. Working with Genomic Ranges
    • 2.1 importing data 导入bed文件
    • 2.2 Working with genomic ranges
    • 2.3 Genomic annotations
    • 2.4 Overlaps

1. Bioconductor的一些补充小用法

使用valid()查看包安装的版本情况

> BiocManager::valid()* sessionInfo()R version 3.5.3 (2019-03-11)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)Matrix products: defaultlocale:
[1] LC_COLLATE=Chinese (Simplified)_China.936  LC_CTYPE=Chinese (Simplified)_China.936
[3] LC_MONETARY=Chinese (Simplified)_China.936 LC_NUMERIC=C
[5] LC_TIME=Chinese (Simplified)_China.936    attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     loaded via a namespace (and not attached):
[1] BiocManager_1.30.4 compiler_3.5.3     tools_3.5.3        yaml_2.2.0        Bioconductor version '3.8'* 45 packages out-of-date* 0 packages too newcreate a valid installation withBiocManager::install(c("AnnotationFilter", "backports", "biomaRt", "Biostrings", "broom", "checkmate", "devtools","digest", "dplyr", "DT", "ensembldb", "fs", "GenomicAlignments", "GenomicFeatures","ggplot2", "ggrepel", "gridGraphics", "httpuv", "igraph", "knitr", "pillar", "processx","progress", "ProtGenerics", "rcmdcheck", "RcppArmadillo", "remotes", "reprex", "rGREAT","rlang", "robustbase", "rtracklayer", "rvest", "segmented", "shiny", "shinyFiles", "sys","testthat", "tinytex", "usethis", "vegan", "WGCNA", "xfun", "xtable", "zip"), update = TRUE, ask = FALSE)more details: BiocManager::valid()$too_new, BiocManager::valid()$out_of_dateWarning message:
45 packages out-of-date; 0 packages too new 

avaliable() 用于搜索相关的包

## 例如这里输入TxDb.Hsapiens,它会自动匹配相关的包
BiocManager::available("TxDb.Hsapiens")
#> [1] "TxDb.Hsapiens.BioMart.igis"
#> [2] "TxDb.Hsapiens.UCSC.hg18.knownGene"
#> [3] "TxDb.Hsapiens.UCSC.hg19.knownGene"
#> [4] "TxDb.Hsapiens.UCSC.hg19.lincRNAsTranscripts"
#> [5] "TxDb.Hsapiens.UCSC.hg38.knownGene"

通过网站https://support.bioconductor.org/ 来查询解决和包相关的问题

2. Working with Genomic Ranges

  • Importing data
  • Working with genomic ranges
  • Genomic annotations
  • Overlaps

rtracklayer包提供函数import() 帮助用户读取基因组格式的文件(例如:BED,GTF,VCF,FASTA) 并封装成Bioconductor下的对象。GenomicRanges包提供了多种函数,来在基因组坐标系下操纵各种数据。

2.1 importing data 导入bed文件

library(rtracklayer)
## 使用file.choose() 来选择文件
fname <- file.choose()   # CpGislands.Hsapiens.hg38.UCSC.bed
fname
file.exists(fname)
## 使用import()函数导入bed文件。导入后,将以GenomicRanges的对象描述这份CpG岛数据。
cpg <- import(fname)
cpg

注意 BED格式的文件,它们的坐标体系是0-based的,并且intervals是半开区间(start在范围内,end在范围后一个坐标里)
而Bioconductor得坐标是1-based,并且是闭区间(start和end坐标都包含在范围内),因此使用import()函数导入数据得时候,它会自动将bed文件坐标转换为Bioconductor文件对象的坐标。

2.2 Working with genomic ranges

## 使用函数 keepStandardChromosomes 保留标准染色体,标准染色体指的是chr1-22和x,y染色体
## 很多时候我们获取的数据里 可能染色体不止chr1-22与x,y ;
## 可能还包含其它染色体,例如:chr22_KI270738v1_random这样的染色体。
## 通过keepStandardChromosomes 就可以去除这些其它的染色体,只保留标准染色体
cpg <- keepStandardChromosomes(cpg, pruning.mode = "coarse")
cpg

GenomicRanges对象包含两个部分

  • 必需的:seqnames(染色体号),start(起始位点),end(终止位点),strand (正链或负链)
  • 非必需的:另外的元素,例如本例中的name。

必需的元素内容,可以使用函数start(), end(), width()获取。非必需的元素,使用$符号获取内容。

head( start(cpg) )
#> [1] 155188537   2226774  36306230  47708823  53737730 144179072
head( cpg$name )## 使用subset()函数获取染色体1号和2号上的cpg岛
subset(cpg, seqnames %in% c("chr1", "chr2"))

2.3 Genomic annotations

## 导入注释数据
library("TxDb.Hsapiens.UCSC.hg38.knownGene")
## 查看注释数据中的所有转录本
tx <- transcripts(TxDb.Hsapiens.UCSC.hg38.knownGene)
tx
## 为了演示方便,目前只保留标准染色体
tx <- keepStandardChromosomes(tx, pruning.mode="coarse")
tx

2.4 Overlaps

可以使用findOverlaps(),nearest(),precede()follow()函数,来完成overlaps

## count the number of CpG islands that overlap each transcript
olaps <- countOverlaps(tx, cpg)
length(olaps)     # 1 count per transcript
#> [1] 182435
table(olaps)
## 将计算的overlaps加入GR对象
tx$cpgOverlaps <- countOverlaps(tx, cpg)
tx
## subsetting the GRanges objects for transcripts satisfying particular conditions, in a coordinated fashion ## where the software does all the book-keeping to makes sure the correct ranges are selected.
subset(tx, cpgOverlaps > 10)

【生信进阶练习1000days】day1-Bioconductor的一些补充小用法与Working with Genomic Ranges相关推荐

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

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

  2. [生信]biomaRt 基因ID的转换

    [生信]基因ID的转换 Bioconductor系列之biomaRt 包的安装 选择数据库 三个主要函数getBM,getSequence,getLDS 几个实用的例子 例.对几个基因symbol,注 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  10. camunda流程定义表无数据_[Python04] 学习snakemake,三步轻松搭建生信流程!

    随着学习的不断深入,分析的数据越来越多.你会发现,日常生信分析不过是调用一些相同的函数或者包分析不同的数据,换汤不换药. 那么,如何把分析过程流程化,让数据像工厂的流水线一样自动被处理? 最简单的法子 ...

最新文章

  1. 关于OSD::mkfs: ObjectStore::mkfs failed with error (5) Input/output error问题的解决
  2. SQL语句中between and 范围
  3. 区块链 智能合约 简介
  4. cmd输入pip报错_安装pip报错:WARNING: Retrying (Retry(total=4,...
  5. PHP之session与cookie
  6. Java实现string转byte
  7. AndroidStudio中如何打开hierarchyviewer.bat
  8. wxWidgets:wxRearrangeDialog类用法
  9. css3 transtion and transform
  10. hive sql 怎么实现循环_不出办公室就能无水造纸?让废纸“秒循环再生”怎么实现的...
  11. [css] 列举CSS优化、提高性能的方法
  12. 【转】十八个绝招把你从压力中营救出来
  13. Linux 基本操作命令
  14. wxwindows编译
  15. gxworks2使用指令手册_编程软件GX-Works2简单工程功能块篇操作手册三菱GX-Works2手册 - 广州凌控...
  16. java如何生成jar包
  17. get 请求中文乱码问题
  18. 取名五行字典(金木水火土)
  19. 微信小程序公农历转换的实现
  20. 【软考软件评测师】2016年下案例分析历年真题

热门文章

  1. x=n; y=1; while(x=(y−1)∗(y−1)) y++; 以上程序的时间复杂度为 ?
  2. zabbix3.0 安装方法
  3. CCIE学习笔记 2---BGP选路(属性值)
  4. OAF_文件系列9_实现OAF解析Excel并读取至数据库JXL
  5. Java中String,StringBuffer,StringBuilder的区别及其使用
  6. Websense:别让移动设备触痛企业的安全神经
  7. 使用fastcgi_cache加速Nginx
  8. linux代码折叠,VIM 代码折叠 :set foldmethod=marker
  9. php limit offset 1,laravel自定义分页的实现案例offset()和limit()
  10. 【前端】相信你会用到的一篇笔记---HTML篇