Bioconductor学习_基因组坐标体系-Granges和IRanges
什么是Granges
Granges是R语言中的数据结构,它主要用来存储基因组中的坐标区间。对于R语言的用户来说,这是一种非常快捷的方式来处理基因组的数据。
我们知道基因组中有非常多的间隔区间,例如基因区域,snp区域,启动子区域 等等。很多区域之间都会有相互的重叠,例如启动子可能会和SNP区域有重叠,转录因子结合位点会覆盖启动子区域 等等。
GenomicRanges
和IRanges
两个包,可以很方便有效的帮助我们处理基因组中的区域坐标问题。
另外,命令行工具中也有一个类似功能的软件:bedtools 。我们也可以用它来处理overlap。
关于IRanges
计算生物学中的很多工作,都可以用整数区间的操作和整数区间的重叠来表达。(把基因组看作一个线性的坐标轴,其实指的就是基因组中的坐标运算)
现在有一系列对象: 一个转录本(在基因组中,可以视作一段整数区间间隔),SNP的集合(宽度为1的区间间隔),转录结合位点,一系列比对到基因组上的短序列。
我们可能要解决的任务是: 哪些转录因子结合位点覆盖了基因的启动子区域(两组间隔之间的重叠),哪些SNP包含在外显子集合中 。
IRanges
是整数区间间隔的集合. GRanges
和IRanges
类似,但它包含了相关的染色体和链的情况,需要注意一些标记。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相关推荐
- 百家号 python高手养成_【一点资讯】Python使用PyQt5进行图形界面GUI编程之详解QWidget类的坐标体系 www.yidianzixun.com...
Python使用PyQt5进行图形界面GUI编程之详解QWidget类的坐标体系 上篇内容,我们详细介绍了使用PyCharm中LiveTemplate功能快速输入一个GUI应用框架的办法.(参见学会这 ...
- 【Bioconductor系列】利用Bioconductor包进行基因组变异位点注释
基因组变异位点注释 安装工作流程所需的biconductor包 source("http://bioconductor.org/workflows.R") workflowInst ...
- Win32 OpenGL编程(4) 2D图形基础(颜色及坐标体系进阶知识)
Win32 OpenGL 编程 (4) 2D 图形基础(颜色及坐标体系进阶知识) write by 九天雁翎 (JTianLing) -- blog.csdn.net/vagrxie 讨论新闻组及文件 ...
- 学习全基因组测序数据分析2:FASTA和FASTQ
本文转载自微信公众号解螺旋的矿工,作者为黄树嘉,已获得授权.黄树嘉写了WGS系列的文章,堪称教科书级别的生物信息学习材料.虽然本平台只关注宏基因组领域,但此系列文章知识体系完善.干货满满,是值得每位专 ...
- python3从零开始学习_从零开始学习PYTHON3讲义(十五)让画面动起来
<从零开始PYTHON3>第十五讲 虽然看起来绘图和音乐并不相关,但是听过了上一讲的内容你一定知道,这是游戏编程中四个需要处理内容的两部分,这两部分必须同时.并行的处理,不能因为某一项计算 ...
- 医学图像——医学坐标体系
转自 作者:豚大叔的小屋 链接:https://www.jianshu.com/p/b8fe11a33319 仅作为个人学习记录 1.医学坐标体系介绍 医学图像处理的一个难题是坐标体系的不一致.当前, ...
- 理解Unity3D中的四种坐标体系
coffeecato写在前面:本文比较了unity3d中的四种坐标系,在使用unity3d开发的过程中,已经多次被坐标转换之类的问题卡住,这篇文章可以说是系统的对四种坐标系进行了总结,结合实际的使用经 ...
- STL学习_配接器篇
STL学习_配接器篇 定义 配接器(Adapter)在STL组件的灵活组合运用功能上,扮演着轴承.转换器的角色.它事实上是一种设计模式.即将一个class的接口转换为另一个class的接口,使原本因接 ...
- python ui bs_Guibs的Python学习_列表
Guibs 的 Python学习_列表# 列表# 列表由一系列按特定顺序排列的元素组成, 其中元素和元素之间可以没有任何关系 # 在 Python 中, 用方括号 [] 来表示列表, 并用逗号 , 分 ...
- 2.cocos2d-x坐标体系(UI坐标系,GL坐标系,本地坐标,世界坐标,节点坐标)
openGL & UI坐标体系 OpenGL坐标系:该坐标原点在屏幕左下角,x轴向右,y轴向上.这也就是cocos2dx中用到的坐标系. 屏幕坐标系:该坐标系的原点在屏幕左上角,x轴向右 ...
最新文章
- maven上传本地仓库
- LVS:三种负载均衡方式比较
- iOS 6 自动布局入门
- ReactiveLodeBalancerClientFilter响应式负载均衡代理
- Java分布式篇5——FastDFS
- C语言 · 前缀表达式
- spark运行pi_如何使用甜蜜的橙色Pi起床并运行
- 确认!聚划算百亿补贴要向iPad 8等新品下手,这次是真的刚刚好
- igress+nginx部署
- pycharm怎么做html网页_html下拉菜单怎么做
- k380没有验证码_罗技K380蓝牙键盘
- java 死链检测_网站死链检测工具/网站地图生成工具
- 【Excel】两组行数不同数据做二维柱状图
- 数值分析思考题(钟尔杰版)参考解答——第一章
- 农村配电设施存在的安全隐患及应采取的措施130637
- 【JY】浅析各动力求解算法及其算法数值阻尼(人工阻尼)
- msvcp140.dll丢失的详细修复教程
- 使用easyexcel快速导出xlsx表格(简洁、高效、易懂)
- 第四章 语料库与语言知识库
- CVS 常用操作命令
热门文章
- Docker Centos安装Openssh
- PHP中钩子函数的实现与认识
- 英老汉3000个空酒瓶造房子
- gettype php,gettype
- class path resource [spring/] cannot be resolved to URL because it does not exist
- word 代码块_Python+Excel+Word一秒制作百份合同
- 1059 Prime Factors (25 分)质因子 易错题
- 动物统计加强版 nyoj290
- origin刻度消失_使用Origin制作XRD图基本技巧,你get到了嘛?
- pyqt一个text实时显示另一个text的内容_python:基于tkinter打造的股票实时监控声音报警器! 自动监控,声音警报...