circos教程Word文件下载.docx
- 文档编号:8646793
- 上传时间:2023-05-12
- 格式:DOCX
- 页数:38
- 大小:3.69MB
circos教程Word文件下载.docx
《circos教程Word文件下载.docx》由会员分享,可在线阅读,更多相关《circos教程Word文件下载.docx(38页珍藏版)》请在冰点文库上搜索。
chr-hs16hs160chr16
chr-hs17hs170chr17
chr-hs18hs180chr18
chr-hs19hs190chr19
chr-hs20hs200chr20
chr-hs21hs210chr21
chr-hs22hs220chr22
chr-hsxhsx00chrx
chr-hsyhsy0chry
一般的,我们都会在染色体组型文件当中加上条纹图谱的信息,这样才会让染色体图谱看上去有被染色的效果。
文件格式与之前的一致,也只有七列。
bandDOMAINIDLABELSTARTENDCOLOR
这里的DOMAIN就是染色体组型当中的ID就好了,其它的定义与前面的一致。
下面就是一个例子。
bandhs102300000gneg
bandhs123000005400000gpos25
bandhs154000007200000gneg
bandhs172000009200000gpos25
bandhs19200000gneg
bandhs1gpos50
bandhs1gneg
bandhs1gpos25
bandhs1p33p33gpos75
bandhs1gpos100
bandhs1gpos75
...
cytogeneticbands的名称例子:
其命名规则是之前的数字、字母为染色体代号,一般是数字或者X,Y。
而之后会有字母p或者q。
p代表短臂,q代表长臂。
而每个band都会有颜色深浅的不同,这里主要以gpos和gneg来区别。
为了和真实值更接近,circos还定义了一系列的灰度。
设置文件
circos的设置文件可以分为多个文件,也可以只写在一个文件里。
一般地,为了人们阅读方便,都会写在多个文件,每个文件描述不同的部分,最后由一个主文件来调用就可以了。
这一节,需要设置三个方面,一,数据源,二如何画染色体,三如何画坐标,所以我们也将它分为三个文件,分别名为,,和。
由来定义数据源,并调用和。
的内容
<
colors>
white=255,255,255
black=0,0,0
blue=0,0,255
includeetc/
fonts>
includeetc/>
>
/fonts>
include>
image>
/image>
#specifythekaryotypefilehere
karyotype=
chromosomes_units=1000000
chromosomes_display_default=yes
这里可以注意到它引入其它文件时使用的是<
的方式。
注意,这里include会从circos所在的目录开始寻找,而不是当前目录。
我们可以在circos的安装目录当中找到一个名为etc的目录,可以点击查看其中的,,以及的内容。
在circos当中使用karyotype=xxx语句来定义了karyotype的数据来源。
chromosomes_units=1000000定义了基准单位。
可以试着把这个值扩大10倍。
接下来我们看。
在文件中,定义了如何显示染色体组型。
ideogram>
spacing>
default=
break=5u
/spacing>
#positionconfiguration
radius=
thickness=100p
fill=yes
fill_color=black
stroke_thickness=2
stroke_color=black
#labelconfiguration
show_label=yes
label_font=bold
label_radius=dims(ideogram,radius)+
label_with_tag=yes
label_size=36
label_parallel=no
#bandconfiguration
show_bands=yes
fill_bands=yes
band_stroke_thickness=2
band_stroke_color=white
band_transparency=0
/ideogram>
在当中定义了如何来绘制刻度。
show_ticks=yes
show_tick_labels=yes
ticks>
skip_first_label=no
skip_last_label=no
radius=dims(ideogram,radius_outer)
tick_separation=3p
label_separation=1p
multiplier=1e-6
color=black
thickness=4p
size=20p
tick>
spacing=1u
show_label=no
thickness=2p
color=dgrey
/tick>
spacing=5u
thickness=3p
color=vdgrey
spacing=10u
label_size=20p
label_offset=10p
format=%d
grid=yes
grid_color=dgrey
grid_thickness=1p
grid_start=
grid_end=
/ticks>
好了,有了这些文件,我们就可以让程序跑起来了。
/path/to/circos/bin/circos-conf./
第一个问题,如何显示部分染色体,如何显示染色体的一部分,如何截段显示染色体,如何按自定义的顺序来显示
显示部分染色体前面我讲过,在染色体组型文件中需要写入染色体的正确大小,而不是自己想画的那一部分。
而设置画哪些染色体,画染色体的哪部分,都应该在设置文件中来阐明。
在文件中有一句chromosomes_display_default=yes,它的意思就是显示所有的染色体。
如果只需要显示部分染色体,我们先注释掉这一行,而后使用chromosomes=hs1;
hs2;
hs3这样的语句来指定需要显示的染色体。
hs1,hs2,sh3都是染色体组型文件当中的id。
原语句
替换成
chromosomes_display_default=no
chromosomes=hs1;
hs3
使用chromosomes=hs1;
hs3这样的语句来指定需要显示的染色体
如果只想去掉其中的一两条染色体,上面的写法又太麻烦了。
circos提供了”-”运算符。
chromosomes=-hs1;
-hs2;
-hs3
这样的就是不显示hs1,hs2,hs3。
不显示hs1,hs2,hs3
显示染色体的一部分一条染色体,只想显示它的一小截,需要使用chromosomes=…;
ID:
START-END;
…这样的定义。
比如只希望显示hs1的0~100Mb,hs2的50~150Mb,h3的50~100Mb应该是原语句
chromosomes=hs1:
0-100;
hs2:
50-150;
hs3:
50-100;
hs4;
hs5;
hs6;
hs7;
hs8
显示hs1的0~100Mb,hs2的50~150Mb,h3的50~100Mb
奇怪的是这里的起止数字并没有单位,难道是默认的以Mb为单位吗并不是这样的。
因为我们在文件中定义有chromosomes_units=1000000,它才会以Mb为单位显示。
在circos的绘图单位中,有一个u单位,这个u就是指的chromosomes_units了。
如果你将chromosomes_units设置成10M,那么上面的语句就需要改成hs1:
0-10…这样子。
嗯,有没有象前面一样的”-”运算符呢有的。
hs3;
chromosomes_breaks=-hs1:
100-200;
-hs2:
0-50;
150-);
-hs3:
0-50
其中”)”表示染色体的末端。
段点显示不明显啊。
这需要我们来定义一个段点显示的方式。
在文件中<
…<
加入下面的语句
axis_break=yes
axis_break_style=1
axis_break_at_edge=yes
break_style1>
stroke_color=black
fill_color=blue
thickness=
stroke_thickness=2
/break_style>
就可以定义出蓝色的轴线了。
其中,axis_break_style后面设置的数值就是自己定义的<
break_style..>
当中的数值。
定义一个段点显示的方式
我们也可以结合着”chromosomes”和”chromosomes_breaks”来显示,这样可以更方便的控制复杂的段点。
比如
hs4:
25-75;
-hs4:
-hs5:
75-);
-hs6:
-hs7:
-hs8:
75-)
控制复杂的段点
自定义顺序显示自定义顺序使用chromosomes_order来定义。
假设我们设置chromosomes=hs1;
hs8。
我们使用
chromosomes_order=hs2,hs3,hs1,hs5,hs4,hs8,hs7,hs6
可以得到2,3,1,5,4,8,7,6的顺序。
得到2,3,1,5,4,8,7,6的顺序
有的人可能觉着这种方法太麻烦了,如果我们希望hs4显示在hs5之后,这种相对顺序的设置可以使用
chromosomes_order=hs5,hs4
hs4显示在hs5之后
但是我们发现,这显示出来的顺序是12365478,也就是说,5后面的6先被拿出来,将4放入,4的位置空了,于是把6放到4的位置上去了。
如果我们需要的是12354678这样子的顺序,也就是说只是换一下4和5的顺序的话,就需要把3也设置进来。
思考的方式是先将4空出来,把5放在4的位置,然后把4放进5的位置,可以使用
chromosomes_order=hs3,hs5,hs4
顺序是12365478
如果我们想将某个,或者某几个染色体放在最前面或者最后面,可以使用^或者$定位符。
chromosomes_order=^,hs5
就是让hs5显示在第一位。
而
chromosomes_order=hs5,$
就是让hs5显示在最后一位。
使用$定位符
如果我们想将hs3和hs2间隔一位显示,可以使用chromosomes_order=hs3,-,hs2。
但是这样显示的结果是45312678。
排序过程是把hs3做为锚定点,先将它后面的两位空出来,然后将hs2和它前面的一位放入,再把空出来的两个位置补满。
如果想分组显示,可以使用chromosomes_order=hs3,hs2,|,hs8,hs1这样的行式。
但是我个人认为这些排序方式作用并不是很大,因为它的排序过程并不是那么直观,反而不是直接依次写入来得直接。
第二个问题,如何设置间隔
设置间隔
我们前面已经了解到了一些,在文件中<
就是用于设置间隔的,也了解到什么是u单位。
在circos中,除了u单位,还有一个r单位。
r是relative的首字母,它是指相对于全图的大小。
比如本文中使用的deault=就是使用的r单位。
我们可以将u视作绝对单位,把r视作相对单位。
10u单位
单位
如何设置某两个之间的间隔与其它的不同呢我们可以使用<
pairwise>
标签来定义。
default=
#default=10u
<
pairwisehs1;
hs2>
spacing=
/pairwise>
pairwisehs3>
spacing=15u
就会让hs1和hs2之间变得很小,而hs3两端固定为15u。
让hs1和hs2之间变得很小,而hs3两端固定为15u
第三个问题,如何修改染色体名字和显示位置
染色体的名称及名称位置染色体的名称,实际上是由染色体组型文件设定的。
在设置文件中,我们可以更改的是它的后缀,并不能修改名称本身。
如果需要变换名称本身,需要直接修改染色体组型文件的ID值。
在前面的例子中,有分段显示染色体的,如果染色体有多段的话,它们的标签都是一样的,这样并不容易识别,如果顺序再打乱的话,就更加能以分别。
我们可以使用更改后缀的方式来让显示的区分变得明显。
chromosomes=hs1[a]:
hs1[b]:
hs2[c]:
hs2[d]:
hs3[e]
chromosomes_order=^,a,c,e,|,b,$
更改后缀的方式来让显示的区分变得明显
我们可以使用
label_with_tag=no
来关闭染色体名称的显示。
如果我们希望变换名称显示的位置,可以通过label_radius,label_center以及label_parallel等参数来设置。
其中label_radius使用到了一个函数dims(),它的意思就是尺度(Dimension),它有两个参数,一个是计算谁的尺寸,一个是计算哪一部分的尺寸。
比如dims(ideogram,radius_inner),就是指ideogram设置当中radius_inner的值。
而dims(ideogram,radius_outer)就是指ideogram设置当中radius_outer的值。
通常的label_center都是no,也就是外对齐的,如果设置它为yes,就是居中对齐了。
假设我们将当中的
改变为
label_radius=dims(ideogram,radius_inner)-
变换名称显示的位置
如果我们设置
label_parallel=yes
我们打开etc/会发现它链接了etc/设置文件,在后者当中,它设置了angle_offset=-90。
这就是为什么排在第一位的染色体总是从图像的最上方开始显示。
circos对角度的解释是这样的:
-90
|
180--+--0
90
该文件还可能设置有angle_orientation=counterclockwise,它的意思是反时针方向排布。
默认值为”clockwise”。
染色体的位置我们可能会觉得,染色体画得是不是太靠边了,有没有办法让它往中间靠靠呢只需要修改<
中的radius参数就可以了。
试着将
修改为
染色体的位置
如果希望画逐一设置染色体的所画的半径呢?
修改
为
hs8;
hs9;
hs10
chromosomes_radius=hs1:
;
hs5:
hs6:
hs7:
hs8:
hs9:
hs10:
逐一设置染色体的所画的半径
如果觉着它画得太粗了,换细一点呢修改
thickness=50p
换细一点
第四个问题,如何只画染色体,不填充条纹呢
只需要设置当中show_bands=no就可以了。
如果想显示条纹,但不填充,设置show_bands=yes,fill_bands=no就可以了。
但实用性不大。
如果想设置填充条纹的不透明度呢设置band_transparency为大于0的整数即可。
比如设置为2。
于是我们得到七彩的染色体图谱。
设置填充条纹的不透明度
第五个问题,如何设置坐标刻度
这是一个比较复杂的问题。
以后会专门介绍。
这里就只解释一下结构。
show_ticks是否显示刻度show_tick_labels是否显示刻度字符然后使用<
来定义每一种刻度。
数据结构
IDSTARTEND
这里的ID对应的是karyotypes数据文件当中的ID,start和end分别定义起始和终止的位置。
下面就是具体的例子:
hs10259871
hs16694582686613
hs127279053991852
hs156454566816208
hs17553915
hs1
数据保存在文本文件当中就可以了,之后由conf文件调用。
当然这一数据文件可以更复杂,用于定义每个highlight的位置,色彩,以及宽度等等。
hs112989721300443fill_color=blue
hs113117381324571fill_color=red,r0=,r1=+50p
hs113970261421444fill_color=green,r0=,r1=
hs114374171459927fill_color=green,r0=,r1=
hs115407461555847fill_color=yellow
hs115609621645635fill_color=purple
hs116241791645623fill_color=grey
与之前一致的,我们需要设置好circos的设置文件,它需要包括前一节介绍的全部:
,和来定义一,数据源,二如何画染色体,三如何画坐标。
而highlight的部分,直接定在文件当中也好,或者写在当中,由来调用也是一样的。
我们来看具体的示例:
/colors>
karyotyp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- circos 教程