bam文件读取_把bam文件读入R,并且转为grange对象
把bam文件读入R,并且转为grange对象
假如你的Windows电脑有个bam文件,不想传输到linux服务器去使用samtools等命令行工具来探索它,就可以使用R语言!
有成熟的R包可以把bam文件读入R,比如Rsamtools,很简单的代码:
library(Rsamtools)
bamFile="alignResults.BAM"
quickBamFlagSummary(bamFile)
# https://kasperdanielhansen.github.io/genbioconductor/html/Rsamtools.html
bam
bam
值得注意的是,这里我虽然不再演示了,但是作为初学者的你,应该是知道
但是把读入的数据变成grange对象就需要一点点技巧,下面演示如何创建grange对象samtools等命令行工具有多复杂的功能和技巧, 那么这个R包就可以多复杂,如果你学习足够努力,那就发一个你比较Rsamtools和samtools命令行工具的心得笔记给我吧,我会给你惊喜的,我的邮箱是 jmzeng1314@163.com
names(bam[[1]])
tmp=as.data.frame(do.call(cbind,lapply(bam[[1]], as.character)))
tmp=tmp[tmp$flag!=4,] # 60885 probes
# intersect() on two GRanges objects.
library(GenomicRanges)
my_seq
IRanges(as.numeric(pos)-60, as.numeric(pos)+60),
as.character(strand),
id = as.character(qname)))
得到对象如下:
image
关于 grange对象
三年前我在生信菜鸟团博客就多次强调过这个重点了,在R里面处理生物信息学数据是躲不过这个定义的,有点类似于各式各样的生物信息学文件格式,是一个标准。
对这个grange对象也会有很多很多的方法,假设有一个grange对象命名为exon_txdb,来自于代码
library("TxDb.Hsapiens.UCSC.hg19.knownGene")
txdb
exon_txdb=exons(txdb)
genes_txdb=genes(txdb)
那么操作它的函数有:
seqnames(exon_txdb)返回一个class 'Rle' [package "S4Vectors"] with 4 slots,有93个染色体信息,以及每条染色体上面有多少个外显子信息
ranges(exon_txdb)返回外显子的起始终止位点,长度,以及其它信息,也是一个对象class 'IRanges' [package "IRanges"] with 6 slots
strand(exon_txdb)返回外显子的正负链信息,要么在正链要么在负链
mcols(exon_txdb)返回exon的id编号,1到27750个
seqlengths(exon_txdb)返回每条染色体的长度信息
names
length
GRanges对象还有很多其它类型的操作,非常好玩的,split,shift,resize,flank,reduce,gaps,disjoin,coverage
其它求交集并集和都可以用,union,intersect,setdiff,pintersect,psetdiff
bam文件读取_把bam文件读入R,并且转为grange对象相关推荐
- dat文件读取_微信dat文件如何查看
dat转码软件使用说明 可以百度 远芳小憩 查看小店内的软件 各位同学下载软件后,如何操作?如何找到dat文件?如何使用?又有哪些注意事项呢? 这里会为大家一一道来. 问题1 :如果下载失败怎么办? ...
- python 移动文件语句_[转]Python文件操作
这里的"文件"不单单指磁盘上的普通文件,也指代任何抽象层面上的文件.例如:通过URL打开一个Web页面"文件",Unix系统下进程间通讯也是通过抽象的进程&qu ...
- dat文件读取_比特币blk.dat文件结构及读取软件
比特币节点(Bitcoin Core)的~/.bitcoin/blocks/目录中的blk.dat 文件中包含了节点接收到的原始区块数据,这些数据文件构成了比特币区块链的基础,同时也是区块链数据分析获 ...
- java压缩文件读取_用Java读取/写入压缩和非压缩文件
java压缩文件读取 这篇文章的主要原因是尝试不要重复自己( DRY ),因为通常,我会遇到递归的需求,即读写压缩的和非压缩的文件(主要是JSON和CSV). 首先让我们看看如何读取文本文件. 注意我 ...
- rfa 文件读取_「rfa」rfa文件用什么软件打开? - seo实验室
rfa 后缀名.rfa的用什么软件可以打开?什么是文件扩展名为RFA?有没有人给您发送过RFA文件,而您却不知道该如何打开?可能您在电脑上发现了一个 RFA文件却不知道这是做什么用的?windows ...
- python文件读取输出-Python 读写文件中数据
1 需求 在文件 h264.txt 中的数据如图1,读入该文件中的数据,然后将第1列的地址删除,然后将数据输出到h264_out.txt中: 图1 h264.txt 数据截图 图2 输出文件 h264 ...
- python文件读取写入元组_python文件和元组
python文件操作 相较于java,Python里的文件操作简单了很多 python 获取当前文件所在的文件夹: os.path.dirname(__file__) 写了一个工具类,用来在当前文件夹 ...
- c语言实现指定路径文件读取_C语言实现文件复制功能(包括文本文件和二进制文件)...
文件的复制是常用的功能,要求写一段代码,让用户输入要复制的文件以及新建的文件,然后对文件进行复制.能够复制的文件包括文本文件和二进制文件,你可以复制1G的电影,也可以复制1Byte的txt文档.实现文 ...
- python文件读取数据-Python从文件中读取数据
一.读取整个文件内容 在读取文件之前,我们先创建一个文本文件resource.txt作为源文件. resource.txt my name isjoker, I am18years old, How ...
最新文章
- 指纹锁就安全了?防火防盗还得防AI
- 【译】 WebSocket 协议第十一章——IANA 注意事项(IANA Considerations)
- 浏览Github必备的5款神器级别的Chrome插件
- python函数参数定义不合法_下列哪种函式参数定义不合法?
- Django View使用装饰器捕获数据库连接异常
- java join yield_java中join和yield有什么区别?
- java dao层的泛型get方法_dao层的泛型实现(2种方法)
- 如何给小朋友解释单摆运动_法国教育学者:如何培养儿童的逻辑思维和时间观念...
- java+编辑距离自动机_编辑距离,重叠,组装算法和python程序.pptx
- 第七章 (四)BFS(路径寻找问题)
- DirectX Repair(DirectX修复工具)官方中文增强版V4.1.0.30770 | directx repair修复工具增强版下载
- 9种常用的数据分析方法
- nmake命令(windows下的makefile)
- Bartender编辑数据小标题中嵌入的数据更改无效,无法在条码中显示已经扫描的条码号
- 【Python】遗传算法求解二元函数最值
- 太阳系混的最惨行星:被“降级”至今未归队
- 【SYS/BIOS】4.2节同步模块之事件模块
- android egl 代码,Android配置EGL环境
- 最简单DIY基于ESP8266的智能彩灯③(在网页用按钮+滑动条+手机APP控制RGB灯)
- 为什么Vue(默认情况下)比React性能更好
热门文章
- 解决虚拟机-虚拟网络配置没有桥接模式,本地没有虚拟网卡
- linux下下载fnl数据,使用python直接提取fnl再分析资料的气象因子数据
- python中有这样一条语句_在Python中一行书写两条语句时,语句之间可以使用__________作为分隔符。_学小易找答案...
- 固态硬盘坏了的表现是什么?从哪里可以看出来?
- 无法搜索到对方电脑共享的文件
- cairosvg在linux中的安装_Cairo编程
- cairo填充_cairo graphics 手册(2)
- 使用Python播放MIDI音符
- 移动端天气系统--【下雨】效果之【雨滴】的实现和分析
- OpenCV数字图像处理基于C++:灰度变换