什么是Granges

Granges是R语言中的数据结构,它主要用来存储基因组中的坐标区间。对于R语言的用户来说,这是一种非常快捷的方式来处理基因组的数据。
我们知道基因组中有非常多的间隔区间,例如基因区域,snp区域,启动子区域 等等。很多区域之间都会有相互的重叠,例如启动子可能会和SNP区域有重叠,转录因子结合位点会覆盖启动子区域 等等。

GenomicRangesIRanges两个包,可以很方便有效的帮助我们处理基因组中的区域坐标问题。
另外,命令行工具中也有一个类似功能的软件:bedtools 。我们也可以用它来处理overlap。

关于IRanges

计算生物学中的很多工作,都可以用整数区间的操作和整数区间的重叠来表达。(把基因组看作一个线性的坐标轴,其实指的就是基因组中的坐标运算)
现在有一系列对象: 一个转录本(在基因组中,可以视作一段整数区间间隔),SNP的集合(宽度为1的区间间隔),转录结合位点,一系列比对到基因组上的短序列。
我们可能要解决的任务是: 哪些转录因子结合位点覆盖了基因的启动子区域(两组间隔之间的重叠),哪些SNP包含在外显子集合中 。
IRanges 是整数区间间隔的集合. GRangesIRanges类似,但它包含了相关的染色体和链的情况,需要注意一些标记。IRanges是GRanges的实现基础,这些包的开发主要依赖于区间的代数运算。

IRanges的基础用法

  • 可以通过只设定区间的 Start位点,End位点(Width不需要设定,函数会根据start和end位点,自动计算width长度)构建一个IRanges对象
ir1 <- IRanges(start = c(1,3,5), end = c(3,5,7))
ir1
## IRanges of length 3
##     start end width
## [1]     1   3     3
## [2]     3   5     3
## [3]     5   7     3
  • 也可以通过只设定区间的Start位点,和 Width区间长度(函数会自动根据Start位点和Width长度, 计算End位点)构建一个IRanges对象
ir2 <- IRanges(start = c(1,3,5), width = 3)## 比对ir1和ir2构建的IRanges对象是否一致
all.equal(ir1, ir2)
## [1] TRUE
  • IRanges对象包含多个间隔; 每个间隔称为一个范围range。 所以上面的ir1包含3个范围(range)。
    可以使用start(), end(), width()函数来查看IRanges对象的性质,也可以用这三个函数来更改IRanges对象的起始位点,终止位点,区间长度
# 查看起始坐标
start(ir1)
## [1] 1 3 5# 更改ir2的区间长度
width(ir2) <- 1
ir2
## IRanges of length 3
##     start end width
## [1]     1   1     1
## [2]     3   3     1
## [3]     5   5     1
  • 我们可以给每个Range命名
names(ir1) <- paste("A", 1:3, sep = "")
ir1
## IRanges of length 3
##     start end width names
## [1]     1   3     3    A1
## [2]     3   5     3    A2
## [3]     5   7     3    A3
  • 每个IRanges对象的维度是1,可以用length()函数计算IRanges包含了多少个Range
dim(ir1)
## NULL
length(ir1)
## [1] 3
  • 由于IRanges对象的维度是1,所以我们可以把它包含的子集元素视作向量,像操作向量那样操作它的子集元素
#### 根据元素坐标提取子集
ir1[1]
## IRanges of length 1
##     start end width names
## [1]     1   3     3    A1#### 根据name提取子集
ir1["A1"]
## IRanges of length 1
##     start end width names
## [1]     1   3     3    A1#### 使用c() 连接两个IRanges对象
c(ir1, ir2)
## IRanges of length 6
##     start end width names
## [1]     1   3     3    A1
## [2]     3   5     3    A2
## [3]     5   7     3    A3
## [4]     1   1     1
## [5]     3   3     1
## [6]     5   5     1

未完待续

Bioconductor学习_基因组坐标体系-Granges和IRanges相关推荐

  1. 百家号 python高手养成_【一点资讯】Python使用PyQt5进行图形界面GUI编程之详解QWidget类的坐标体系 www.yidianzixun.com...

    Python使用PyQt5进行图形界面GUI编程之详解QWidget类的坐标体系 上篇内容,我们详细介绍了使用PyCharm中LiveTemplate功能快速输入一个GUI应用框架的办法.(参见学会这 ...

  2. 【Bioconductor系列】利用Bioconductor包进行基因组变异位点注释

    基因组变异位点注释 安装工作流程所需的biconductor包 source("http://bioconductor.org/workflows.R") workflowInst ...

  3. Win32 OpenGL编程(4) 2D图形基础(颜色及坐标体系进阶知识)

    Win32 OpenGL 编程 (4) 2D 图形基础(颜色及坐标体系进阶知识) write by 九天雁翎 (JTianLing) -- blog.csdn.net/vagrxie 讨论新闻组及文件 ...

  4. 学习全基因组测序数据分析2:FASTA和FASTQ

    本文转载自微信公众号解螺旋的矿工,作者为黄树嘉,已获得授权.黄树嘉写了WGS系列的文章,堪称教科书级别的生物信息学习材料.虽然本平台只关注宏基因组领域,但此系列文章知识体系完善.干货满满,是值得每位专 ...

  5. python3从零开始学习_从零开始学习PYTHON3讲义(十五)让画面动起来

    <从零开始PYTHON3>第十五讲 虽然看起来绘图和音乐并不相关,但是听过了上一讲的内容你一定知道,这是游戏编程中四个需要处理内容的两部分,这两部分必须同时.并行的处理,不能因为某一项计算 ...

  6. 医学图像——医学坐标体系

    转自 作者:豚大叔的小屋 链接:https://www.jianshu.com/p/b8fe11a33319 仅作为个人学习记录 1.医学坐标体系介绍 医学图像处理的一个难题是坐标体系的不一致.当前, ...

  7. 理解Unity3D中的四种坐标体系

    coffeecato写在前面:本文比较了unity3d中的四种坐标系,在使用unity3d开发的过程中,已经多次被坐标转换之类的问题卡住,这篇文章可以说是系统的对四种坐标系进行了总结,结合实际的使用经 ...

  8. STL学习_配接器篇

    STL学习_配接器篇 定义 配接器(Adapter)在STL组件的灵活组合运用功能上,扮演着轴承.转换器的角色.它事实上是一种设计模式.即将一个class的接口转换为另一个class的接口,使原本因接 ...

  9. python ui bs_Guibs的Python学习_列表

    Guibs 的 Python学习_列表# 列表# 列表由一系列按特定顺序排列的元素组成, 其中元素和元素之间可以没有任何关系 # 在 Python 中, 用方括号 [] 来表示列表, 并用逗号 , 分 ...

  10. 2.cocos2d-x坐标体系(UI坐标系,GL坐标系,本地坐标,世界坐标,节点坐标)

     openGL & UI坐标体系 OpenGL坐标系:该坐标原点在屏幕左下角,x轴向右,y轴向上.这也就是cocos2dx中用到的坐标系. 屏幕坐标系:该坐标系的原点在屏幕左上角,x轴向右 ...

最新文章

  1. maven上传本地仓库
  2. LVS:三种负载均衡方式比较
  3. iOS 6 自动布局入门
  4. ReactiveLodeBalancerClientFilter响应式负载均衡代理
  5. Java分布式篇5——FastDFS
  6. C语言 · 前缀表达式
  7. spark运行pi_如何使用甜蜜的橙色Pi起床并运行
  8. 确认!聚划算百亿补贴要向iPad 8等新品下手,这次是真的刚刚好
  9. igress+nginx部署
  10. pycharm怎么做html网页_html下拉菜单怎么做
  11. k380没有验证码_罗技K380蓝牙键盘
  12. java 死链检测_网站死链检测工具/网站地图生成工具
  13. 【Excel】两组行数不同数据做二维柱状图
  14. 数值分析思考题(钟尔杰版)参考解答——第一章
  15. 农村配电设施存在的安全隐患及应采取的措施130637
  16. 【JY】浅析各动力求解算法及其算法数值阻尼(人工阻尼)
  17. msvcp140.dll丢失的详细修复教程
  18. 使用easyexcel快速导出xlsx表格(简洁、高效、易懂)
  19. 第四章 语料库与语言知识库
  20. CVS 常用操作命令

热门文章

  1. Docker Centos安装Openssh
  2. PHP中钩子函数的实现与认识
  3. 英老汉3000个空酒瓶造房子
  4. gettype php,gettype
  5. class path resource [spring/] cannot be resolved to URL because it does not exist
  6. word 代码块_Python+Excel+Word一秒制作百份合同
  7. 1059 Prime Factors (25 分)质因子 易错题
  8. 动物统计加强版 nyoj290
  9. origin刻度消失_使用Origin制作XRD图基本技巧,你get到了嘛?
  10. pyqt一个text实时显示另一个text的内容_python:基于tkinter打造的股票实时监控声音报警器! 自动监控,声音警报...