matlab wiggle打开,wig、bigWig和bedgraph文件详解
我们一般会熟悉sam/bam格式文件,就是把测序reads比对到参考基因组后的文件!bam或者bed格式的文件主要是为了追踪我们的reads到底比对到了参加基因组的什么区域,而UCSC规定的这几个文件格式(wig、bigWig和bedgraph)用处不一样,仅仅是为了追踪参考基因组的各个区域的覆盖度,测序深度!而且这些定义好的文件,可以无缝连接到UCSC的Genome Browser工具里面进行可视化!
对SE数据,可以用macs2 pileup --extsize 200 -i $sample.bam -o $sample.bdg 把bam文件转换为bedgraph文件,不需要call peaks这一步骤。
而UCSC的ftp里面可以下载bedGraphToBigWig $sample.bdg ~/reference/genome/mm10/mm10.chrom.sizes $sample.bw 把bedgraph文件转换为bw文件,其余的转换工具都可以下载。
具体文件格式定义请直接看UCSC的官网,下面是我基于自己的理解来翻译的,没什么特殊的,建议大家看原文,然后自己翻译一个,跟我比较!
这3种文件格式都是UCSC规定的,所以它提供了系列工具进行互相转换,可以直接下载可执行版本程序:http://hgdownload.cse.ucsc.edu/admin/exe/
常见的工具如下:
bigWigToBedGraph — this program converts a bigWig file to ASCII bedGraph format.
bigWigToWig — this program converts a bigWig file to wig format.
bigWigSummary — this program extracts summary information from a bigWig file.
bigWigAverageOverBed — this program computes the average score of a bigWig over each bed, which may have introns.
bigWigInfo — this program prints out information about a bigWig file.
其实对我们的bam文件,用samtools软件也可以很容易得到基因组区域的覆盖度和测序深度,比如:
samtools depth -r chr12:126073855-126073965 Ip.sorted.bam
chr12 126073855 5
chr12 126073856 15
chr12 126073857 31
chr12 126073858 40
chr12 126073859 44
chr12 126073860 52
~~~~~~~~~其余省略输出~~~~~~~~~
这其实就是wig文件的雏形,但是wig文件会更复杂一点!
首先它不需要第一列了,因为全部是重复字段,只需要在每个染色体的第一行定义好染色体即可。
首先需要设置这个wig文件在UCSC的Genome Browser工具里面显示的属性:
track type=wiggle_0 name=track_labeldescription=center_labelvisibility=display_modecolor=r,g,baltColor=r,g,bpriority=priorityautoScale=on|offalwaysZero=on|offgridDefault=on|offmaxHeightPixels=max:default:mingraphType=bar|pointsviewLimits=lower:upperyLineMark=real-valueyLineOnOff=on|offwindowingFunction=mean+whiskers|maximum|mean|minimumsmoothingWindow=off|2-16
type=wiggle_0 这个是默认的, 而且到目前为止,必须是这样的!其余的都是可选参数,自己读官网说明
这些参数一般不用管,除非你很熟悉了UCSC的Genome Browser工具
然后需要设置每条染色体的属性,几个比较重要的参数是:
fixedStepchrom=chrNstart=positionstep=stepInterval[span=windowSize]
下面是wig的一个具体例子:
track type=print wiggle_0 name=hek description=hek
variableStep chrom=chr1 span=10
10008 7
10018 14
10028 27
10038 37
10048 45
10058 43
10068 37
10078 26
~~~~~~~~~其余省略输出~~~~~~~~~
可以看到我设置的参数很少很少,而且我是直接对sort后的bam文件用脚本变成wig文件的。
那么bigwig格式文件就没什么好讲的了,它就是wig格式文件的二进制压缩版本,这样更加节省空间。
我们只需要用UCSC提供的工具把自己的wig文件转换一下即可,步骤如下:
Save this wiggle file to your machine (this satisfies steps 1 and 2 above).
Save this text file to your machine. It contains the chrom.sizes for the human (hg19) assembly (this satisfies step 4 above).
Download the wigToBigWig utility (see step 3).
Run the utility to create the bigWig output file (see step 5):
wigToBigWig wigVarStepExample.gz hg19.chrom.sizes myBigWig.bw
最后我们讲一下BedGraph格式文件,它是BED文件的扩展,是4列的BED格式,但是需要添加UCSC的Genome Browser工具里面显示的属性,但是一般就定义有限的几个属性即可。
track type=bedGraph name=track_labeldescription=center_labelvisibility=display_modecolor=r,g,baltColor=r,g,bpriority=priorityautoScale=on|offalwaysZero=on|offgridDefault=on|offmaxHeightPixels=max:default:mingraphType=bar|pointsviewLimits=lower:upperyLineMark=real-valueyLineOnOff=on|offwindowingFunction=maximum|mean|minimumsmoothingWindow=off|2-16
有一点需要注意:These coordinates are zero-based, half-open.
Chromosome positions are specified as 0-relative. The first chromosome position is 0. The last position in a chromosome of length N would be N - 1. Only positions specified have data.
Positions not specified do not have data and will not be graphed.
All positions specified in the input data must be in numerical order.
我这里有一个MACS对CHIP-seq数据call peaks附带的BedGraph文件,也可以用工具直接从bam格式文件得到:
track type=bedGraph name="hek_treat_all" description="Extended tag pileup from MACS version 1.4.2 20120305"
chr1 9997 9999 1
chr1 9999 10000 2
chr1 10000 10001 4
chr1 10001 10003 5
chr1 10003 10007 6
chr1 10007 10010 7
chr1 10010 10012 8
chr1 10012 10015 9
chr1 10015 10016 10
chr1 10016 10017 11
chr1 10017 10018 12
matlab wiggle打开,wig、bigWig和bedgraph文件详解相关推荐
- wig、bigWig和bedgraph文件详解
http://www.bio-info-trainee.com/1815.html http://blog.biochen.com/archives/892
- python open 打开是什么类型的文件-详解Python中open()函数指定文件打开方式的用法...
文件打开方式 当我们用open()函数去打开文件的时候,有好几种打开的模式. 'r'->只读 'w'->只写,文件已存在则清空,不存在则创建. 'a'->追加,写到文件末尾 'b'- ...
- python怎么打开npz文件_numpy的文件存储.npy .npz 文件详解
Numpy能够读写磁盘上的文本数据或二进制数据. 将数组以二进制格式保存到磁盘 np.load和np.save是读写磁盘数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 ...
- Linux中/proc目录下文件详解
Linux中/proc目录下文件详解(一) 声明:可以自由转载本文,但请务必保留本文的完整性. 作者:张子坚 email:zhangzijian@163.com 说明:本文所涉及示例均在fedora ...
- linux /proc目录文件详解
Linux中/proc目录下文件详解(一) /proc文件系统下的多种文件提供的系统信息不是针对某个特定进程的,而是能够在整个系统范围的上下文中使用.可以使用的文件随系统配置的变化而变化.命令proc ...
- Linux配置启动挂载:fstab文件详解
Linux配置启动挂载:fstab文件详解 [日期:2014-12-23] 来源:Linux社区 作者:aceking10 [字体:大 中 小] fstab文件介绍 fstab文件包含了你的电脑上的存 ...
- PE文件详解(教程1-7)
PE文件详解(教程1-7) ========================================= PE教程1: PE文件格式一览 PE 的意思就是 Portable Executable ...
- oracle参数文件initorcl位置,oracle 参数文件详解
参数文件 两类参数文件: pfile:文本文件的参数文件,可以使用vi,vim等编辑器修改,文件名通常为init.ora spfile:二进制的参数文件,不能直接修改,只能存放在Oracle服务器端, ...
- packageinfo.java_package-info.java文件详解
package-info.java文件详解 一.pacakge-info.java介绍 pacakge-info.java是一个Java文件,可以添加到任何的Java源码包中.pacakge-info ...
最新文章
- SQL重要知识点梳理!
- js正则验证特殊字符
- 转--SDP 协议分析
- 总算是把用户流失分析讲清楚了!
- 终端乱码的终极解决方案
- mysql 8.0 一条insert语句的具体执行流程分析(三)
- AI(artificial intelligence)的学习
- indes.php默认文件,linux-php的编译安装3
- 用Javascript实现Repeater
- SCVMM2012R2 服务模版系列(一)包含SQL实例的单层服务模版
- flying saucer技术生成pdf文档
- 优化AI搜索引擎,从这3个领域入手!
- Spring Boot Admin 发送监控邮件
- tftp64能Ping通,但是无法load下载bin文件
- 2021支付宝集五福【攻略】!!!
- RabbitMQ实现订单超时设计思路、以及在订单过期临界点支付成功如何处理
- 产品经理可以考哪些证书提升自己?一篇文章回答你
- 试题 算法训练 生活大爆炸版石头剪刀布
- Rolling back JDBC Connection [org.sqlite.jdbc4.JDBC4Connection
- css background-image 背景图片自适应宽高
热门文章
- 转 Android屏幕适配全攻略(最权威的官方适配指导)
- 常见的系统架构设计介绍
- 「Photoshop2021入门教程」新功能——快速操作
- Django的视图函数(二):request对象、视图函数返回值(HTML响应、JsonResponse)、反向解析(视图函数)、HttpResponse子类
- 19号笔刷 ps_19号笔刷(ps19号笔刷在哪)
- 【C++】宏定义函数指针类型
- 比较LMS和RLS算法的性能
- PostgreSQL行级安全策略RLS和数据加密
- 预约上门App平台的接单方式
- 基于 python 和 UDP 协议实现简易聊天室(多人群聊)----详细解析带字幕