生信格式 | wig(基因组浏览器绘制)

2024-06-02 22:58

本文主要是介绍生信格式 | wig(基因组浏览器绘制),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 介绍
      • 一、variableStep 格式
          • 1、特点及适用场景:
          • 2、格式:
          • 3、例子:
      • 二、fixedStep 格式
          • 1、特点及适用场景:
          • 2、格式:
          • 3、例子:
      • 三、数据值
          • 例子

Wig,BigWig,BedGraph,这是几种在基因组浏览器上绘制图形的数据格式。

不同的数据格式可以满足不同的显示需求,下面我们一一来看:

介绍

wig 文件全称叫 Wiggle Track Format, 用来绘制基因组上的图形轨迹的文件格式。wig 格式是较老的格式,用来显示密集且连续的数据,比如GC含量,概率分数,转录组数据等。

wig 数据有两种类型:variableStep 和 fixedStep。

我们先来研究这两种类型的文件,后面在基因组浏览器中利用这些文件显示轨迹。

一、variableStep 格式

mark

1、特点及适用场景:
  • 在指定的染色体片段区域绘制条形图
  • 用于全基因组数据集(大约百万分之十的数据点)
  • 指定的区域必须为恒定大小(由span参数指定)
  • 数据点间具有不规则间隔的数据,但是在某些情况下建议谨慎
  • 如果数据点的不规则间距太极端,此格式在编码和显示期间可能效率很低。在这种情况下,“bedGraph”是最佳格式。
  • 一般UCSC不建议采用该格式作为基因组浏览器输入文件,因为考虑到数据集大小与索引构建,都不如 bigwig 更高效
  • 使用 wigToBigWig 将 Wig 转换为 bigWig 文件,文件格式转换详解
2、格式:

声明行:以单词variableStep开头,后跟染色体规范。

数据行:两列,分别包含染色体位置和数据值。

variableStep  chrom=chrN
[span=windowSize]chromStartA  dataValueAchromStartB  dataValueB... etc ...  ... etc ...
3、例子:

下面表示在2号染色体上的300701-300705位置均显示12.5

variableStep chrom=chr2
300701 12.5
300702 12.5
300703 12.5
300704 12.5
300705 12.5 

可选的span参数(默认值:span = 1)允许更简洁地指定由连续的具有相同数据值的碱基组成的数据。

跨度从指定的每个染色体位置开始,并指示数据值应覆盖的碱基数。例如: 应用span=5后,相当于:

variableStep chrom=chr2 span=5
300701 12.5

wiggle 格式用于快速显示非常密集的数据。当每1,024个碱基只有几个数据点时,variableStep格式会变得效率极低。

如果variableStep数据点相距大于约100个碱基,则建议使用 BedGraph格式。

二、fixedStep 格式

mark

1、特点及适用场景:
  • 在指定的染色体片段区域绘制条形图
  • 最适合用于全基因组数据集(大约百万分之十的数据点)
  • 指定的区域必须为恒定大小(由span参数指定)
  • 染色体位置精确地有规律的间隔(由step参数指定)
2、格式:

声明行:单词fixedStep开头,并包含染色体,起始坐标和步长的规范 。

数据行:一列,包含数据值。

fixedStep  chrom=chrN
start=position  step=stepInterval
[span=windowSize]dataValue1dataValue2... etc ...
3、例子:

表示3号染色体上的三个区域(每个区域5个碱基):400601-400605、400701-400705和400801-400805,分别显示值11、22和33

fixedStep chrom=chr3 start=400601 step=100 span=5
11
22
33 

对于variableStep和fixedStep格式,必须在整个数据集中使用相同的。如果未指定跨度,则使用默认跨度1。

顾名思义,fixedStep 在整个数据集中需要相同的大小步长。如果未指定,则步长为1。

三、数据值

wiggle 格式的数据值可以包含整数,实数,正值或负值,但不支持 NaN 值。未指定的位置没有数据,也就不会显示。

需要注意:wiggle文件(variableStep and fixedStep )的染色体坐标是从1开始。

例如,对于长度为N的染色体,第一个位置为1,最后一个位置为N。

对于 bigwig 文件,使用 wiggle 转换为 bigwig,使用的染色体坐标是从1开始。

而使用bedGraph格式创建的BigWig文件使用0开始。

自定义 wiggle 轨迹的参数

track type=wiggle_0 name=track_label
description=center_label
visibility=display_mode color=r,g,b
altColor=r,g,b priority=priority
autoScale=on|off alwaysZero=on|off
gridDefault=on|off
maxHeightPixels=max:default:min
graphType=bar|points
viewLimits=lower:upper
yLineMark=real-value yLineOnOff=on|off
windowingFunction=mean+whiskers|maximum|mean|minimum
smoothingWindow=off|2-16

其他参数

autoScale         <on|off>                             # default is on
alwaysZero        <on|off>                             # default is off
gridDefault       <on|off>                             # default is off
maxHeightPixels   <max:default:min>                    # default is 128:128:11
graphType         <bar|points>                         # default is bar
viewLimits        <lower:upper>                        # default is range found in data
viewLimitsMax     <lower:upper>                        # suggested bounds of viewLimits, but not enforced
yLineMark         <real-value>                         # default is 0.0
yLineOnOff        <on|off>                             # default is off
windowingFunction <mean+whiskers|maximum|mean|minimum> # default is maximum, mean+whiskers is recommended
smoothingWindow   <off|[2-16]>                         # default is off
transformFunc     <NONE|LOG>                           # default is NONE
例子

1、下面是 Wig 格式的文件,分别包含 variableStep 和 fixedStep 格式创建的两段轨迹

browser position chr19:49304200-49310700
browser hide all
#	150 base wide bar graph at arbitrarily spaced positions,
#	threshold line drawn at y=11.76
#	autoScale off viewing range set to [0:25]
#	priority = 10 positions this as the first graph
#	Note, one-relative coordinate system in use for this format
track type=wiggle_0 name="variableStep" description="variableStep format" visibility=full autoScale=off viewLimits=0.0:25.0 color=50,150,255 yLineMark=11.76 yLineOnOff=on priority=10
variableStep chrom=chr19 span=150
49304701 10.0
49304901 12.5
49305401 15.0
49305601 17.5
49305901 20.0
49306081 17.5
49306301 15.0
49306691 12.5
49307871 10.0
#	200 base wide points graph at every 300 bases, 50 pixel high graph
#	autoScale off and viewing range set to [0:1000]
#	priority = 20 positions this as the second graph
#	Note, one-relative coordinate system in use for this format
track type=wiggle_0 name="fixedStep" description="fixedStep format" visibility=full autoScale=off viewLimits=0:1000 color=0,200,100 maxHeightPixels=100:50:20 graphType=points priority=20
fixedStep chrom=chr19 start=49307401 step=300 span=200
1000900800700600500400300200100

2、 选择菜单栏My DataCustom Tracks

mark

3、将上面的代码粘贴到输入框,点 Submit

mark

4、简要信息显示,点Go进行绘制

mark

5、拿到绘制好的轨迹图

mark

这篇关于生信格式 | wig(基因组浏览器绘制)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1025330

相关文章

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

使用C++将处理后的信号保存为PNG和TIFF格式

《使用C++将处理后的信号保存为PNG和TIFF格式》在信号处理领域,我们常常需要将处理结果以图像的形式保存下来,方便后续分析和展示,C++提供了多种库来处理图像数据,本文将介绍如何使用stb_ima... 目录1. PNG格式保存使用stb_imagephp_write库1.1 安装和包含库1.2 代码解

CSS自定义浏览器滚动条样式完整代码

《CSS自定义浏览器滚动条样式完整代码》:本文主要介绍了如何使用CSS自定义浏览器滚动条的样式,包括隐藏滚动条的角落、设置滚动条的基本样式、轨道样式和滑块样式,并提供了完整的CSS代码示例,通过这些技巧,你可以为你的网站添加个性化的滚动条样式,从而提升用户体验,详细内容请阅读本文,希望能对你有所帮助...

IDEA如何将String类型转json格式

《IDEA如何将String类型转json格式》在Java中,字符串字面量中的转义字符会被自动转换,但通过网络获取的字符串可能不会自动转换,为了解决IDEA无法识别JSON字符串的问题,可以在本地对字... 目录问题描述问题原因解决方案总结问题描述最近做项目需要使用Ai生成json,可生成String类型

使用Python绘制蛇年春节祝福艺术图

《使用Python绘制蛇年春节祝福艺术图》:本文主要介绍如何使用Python的Matplotlib库绘制一幅富有创意的“蛇年有福”艺术图,这幅图结合了数字,蛇形,花朵等装饰,需要的可以参考下... 目录1. 绘图的基本概念2. 准备工作3. 实现代码解析3.1 设置绘图画布3.2 绘制数字“2025”3.3

使用Python绘制可爱的招财猫

《使用Python绘制可爱的招财猫》招财猫,也被称为“幸运猫”,是一种象征财富和好运的吉祥物,经常出现在亚洲文化的商店、餐厅和家庭中,今天,我将带你用Python和matplotlib库从零开始绘制一... 目录1. 为什么选择用 python 绘制?2. 绘图的基本概念3. 实现代码解析3.1 设置绘图画

Python绘制土地利用和土地覆盖类型图示例详解

《Python绘制土地利用和土地覆盖类型图示例详解》本文介绍了如何使用Python绘制土地利用和土地覆盖类型图,并提供了详细的代码示例,通过安装所需的库,准备地理数据,使用geopandas和matp... 目录一、所需库的安装二、数据准备三、绘制土地利用和土地覆盖类型图四、代码解释五、其他可视化形式1.

如何用Python绘制简易动态圣诞树

《如何用Python绘制简易动态圣诞树》这篇文章主要给大家介绍了关于如何用Python绘制简易动态圣诞树,文中讲解了如何通过编写代码来实现特定的效果,包括代码的编写技巧和效果的展示,需要的朋友可以参考... 目录代码:效果:总结 代码:import randomimport timefrom math

【WebGPU Unleashed】1.1 绘制三角形

一部2024新的WebGPU教程,作者Shi Yan。内容很好,翻译过来与大家共享,内容上会有改动,加上自己的理解。更多精彩内容尽在 dt.sim3d.cn ,关注公众号【sky的数孪技术】,技术交流、源码下载请添加微信号:digital_twin123 在 3D 渲染领域,三角形是最基本的绘制元素。在这里,我们将学习如何绘制单个三角形。接下来我们将制作一个简单的着色器来定义三角形内的像素

Flutter 进阶:绘制加载动画

绘制加载动画:由小圆组成的大圆 1. 定义 LoadingScreen 类2. 实现 _LoadingScreenState 类3. 定义 LoadingPainter 类4. 总结 实现加载动画 我们需要定义两个类:LoadingScreen 和 LoadingPainter。LoadingScreen 负责控制动画的状态,而 LoadingPainter 则负责绘制动画。