1. recos还可以这么玩
recos开发之初是为了展现同源染色体之间的共线性关系、序列结构差异和两个基因的各自特性,绘制出一个高质量可以放在文章中的图片。除了展示两个基因组的比较,recos还可以用来绘制单个基因组上每条染色体相关特性信息的图像,例如重测序项目中SNP、InDel、SV等变异在基因组的密度分布,覆盖深度。
2. 如何操作
关于软件安装和使用,大家可以查看recos基因组及共线性可视化这篇简文。软件只接受两个参数,-c 指定绘图的配置文件,-o 指定输出文件名称,配置文件为ini格式,下面给出了一个完整的例子:
[canvas] #用于定义整个画布的大小、图形方向、图形元素所在的位置和大小等
width = 2000 #画布宽度,像素
height = 1200 #画布高度,像素
direction = vertical #图形元素的方向,水平或垂直
axis_ratio = 0.05 #坐标轴占画布的大小,0.05表示占总大小的5%,举例:如果direction为水平,表示占高度的5%
name_ratio = 0.05 #染色体名称占画布的大小
margin = 10,10,10,10 #画布四周留白的大小,像素
inner_ratio = 0.15,0.2,0.3,0.2,0.15 #每个染色体对占一个区域,里面分为5部分,详见后面对参数的说明
[axis]
canvas_position = left #坐标轴在画布中的位置,举例:如果direction为水平,则只能是上或下
ticks_minor = 1Mb #坐标轴中较短刻度的步长
ticks_major = 5Mb #坐标轴较长刻度的步长
ticks_minor_len = -5 #较短刻度的长度,像素,负值可以调整方向
ticks_major_len = -10 #较长刻度的长度,像素,负值可以调整方向
axis_line = 0.7 #以坐标轴区域为参考,坐标轴主线在里面的位置,举例:0.5表示居中
axis_color = rgb(0,0,0) #坐标轴颜色
axis_label = 0.2 #以坐标轴区域为参考,刻度标签名称所在位置
axis_label_size = 12 #刻度标签名称的大小,像素
axis_label_color = rgb(0,255,255) #刻度标签名称的颜色
axis_width = 1 #坐标轴线条宽度
axis_opacity = 1 #坐标轴线条透明度
label_unit = Mb #刻度标签名称的单位
[chromosome]
canvas_position = bottom #展示染色体比较的绘图元素在画布中的位置
chromosome_list = /data/example/ref_query.list #定义染色体比较关系、条带颜色、染色体长度、透明度、比较ID等
chroms = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 #比较ID的列表在chromosome_list定义,指定展示顺序
name_position = center #染色体名称标签的位置
round=15 #设置染色体条带两端为圆形,越大弧度越大,默认为0,表示直角
[ref_out1] #定义参考基因组外侧要展示的图形元素
file =/data/PAV/ref.bed
type = hist #以直方图展示
pos0 = 0 #起始位置,最小为0
pos1 = 1 #终止位置,最大为1,可以是小数
low_color = rgb(0,0,0) #低位色
color = rgb(0, 0, 255) #颜色
high_color =rgb(0, 0, 255) #高位色
min = 100 #绘图时的最小值
max = 5000 ##绘图时的最大值
[ref_in1] #定义参考基因组条带内部要展示的图形元素
file = /data/example/gly.gc.bed
type = heatmap #以热图展示
pos0 = 0
pos1 = 1
low_color = rgb(255,255,255)
color = rgb(0, 0, 255)
high_color =rgb(255, 0, 0)
min = 0.3
max = 0.5
[qry_in1] #定义查询基因组条带内部要展示的图形元素
file =/data/PAV/query.bed
type = hist
pos0 = 0
pos1 = 1
low_color = rgb(0,0,0)
color = rgb(255, 0, 0)
high_color =rgb(255, 0, 0)
min = 100
max = 5000
[link1] #定义染色体对的共线性关系,文件内部可以设置共线性块的颜色,来区分是否时SV,以及其类型
coord = /data/coords.txt
ini文件中使用中括号([])括起来的部分称为“节”或“section”,下方为对应section的参数名称与值。inner_ratio参数是我们实现目标的关键,每对用于比较的染色体在图中都占一个固定的区域,这个区域又被分为5个部分,这个参数后面是用逗号分隔的5个小数,用于指定这5部分占该区域的比例。
参数名称 | 相关说明 |
---|---|
inner_ratio | 逗号分隔的5个小数,相加等于1,表示每部分占区域的比例 |
这里假设我们只想展示1、2、3三个区域,只需要将4和5的数字设置为0即可,比如我们设置inner_ratio = 0.5,0.3,0.2,0,0,那么第1部分占区域的50%大小,第2部分占区域的30%大小,第三部分占区域20%的大小。
3. 其他参数
配置文件中,section名称为ref_out*、ref_in*、link*、qry_in*、qry_out*下面的参数用于配置这5部分中的几何图形。这几个类型的section是可选的,用户可以添加0个或多个section类型,每个section类型通过*(数字)区分,添加1个或多个几何图形。由于我们只设置了前3个部分的大小(inner_ratio = 0.5,0.3,0.2,0,0),所以只需要设置*ref_out*、ref_in*即可,需要注意的是:
序号 | 注意点 | 说明 |
---|---|---|
1 | * | 数字,从小到大排序后添加几何图形,合理顺序可以避免图形遮挡 |
2 | link | 添加共线性连接线,配置颜色区分不同的SV类型,不支持type参数 |
3 | type | 指定几何图形类型,支持line、tile、hist、heatmap四种几何图形 |
4. 输入文件格式
ref_out*、ref_in*、qry_in*、qry_out*这四个section下面都可以配置file参数指定输入文件的路径,格式为四列的bed文件:
列号 | 类型 | 配置说明 |
---|---|---|
1 | 字符串 | 染色体名称,必须与chromosome_list文件中的染色名称对应 |
2 | 数值 | 起始位置 |
3 | 数值 | 终止位置 |
4 | 数值 | 对应染色体区间内的value值,可以是GC比例、SNP、或InDel数目 |
5. 说明
这个例子作为example6添加到了github仓库,运行会有警告信息,但是图形可以正常绘制。