基因组circos图绘制流程记录

一、Circos安装

conda 安装

conda create --name circos

conda install circos

二、circos输入文件准备

前提必须文件:参考基因组文件,基因组注释文件(gff3), CDS文件

1、染色体信息文件

染色体信息文件格式:

前2列:固定为`chr -`,表明我们要画染色体轮廓

第3列:染色体ID,像身份证号,`注意:如果ID中除了“_”有其他符号一律会报错`

第4列:染色体Label,像人名,会显示在图上而ID不会

第5列:染色体起始位置第6列:染色体终止位置

第7列:染色体的颜色,chr1-4,chry代表的都是circos内置颜色的名称

chr-Chr1 C1030427671chr1

chr-Chr2 C2019698289chr2

chr-Chr3 C3023459830chr3

2、间隔区间基因密度文件

2.1 统计分隔区间,格式如下:

第1列:染色体ID第2列:起始分隔点第3列:终止分割点

-w: windowSize:要根据你基因组的大小,动态调整

bedtools sort:由于后面要使用bedtools做一些统计,因此需要排序,不过默认也是排好的,以防万一。

2.2 统计基因密度,格式如下:

第1列:染色体ID

第2列:在染色体上的起始位置

第3列:在染色体上的终止位置

第4列:区间内基因的数目

Chr1    0  100000  29

Chr1    100000  200000  36

Chr1    200000  300000  31

2.3 统计GC含量,格式如下:

2.4 统计重复序列密度,格式如下:

grep '[[:blank:]]similarity[[:blank:]]' zhujieshu.repeat.gff3 | awk '{print $1"\t"$4"\t"$5}'| bedtools coverage -a zhujieshu.chr.fasta.100kb -b - | cut -f 1-4 > zhujieshu.repeat.density.txt

2.5 共线性文件,格式如下:

第1列:染色体ID,指连线起始的染色体

第2列:连线起始的染色体的起始位置

第3列:连线起始的染色体的终止位置

第4列:染色体ID,指连线的终止染色体

第5列:连线终止的染色体的起始位置

第6列:连线终止的染色体的终止位置

Chr1    6265416 6266937 Chr1    27686992    27688127

Chr1    6331398 6333743 Chr1    27759973    27761588

三、物种间共线性分析

共线性分析可以很好地解释进化关系和多倍化事件。主要用的是Python版McScan(jcvi工具包),这个包很强大,是从MCScanx升级而来的基因组共线性分析软件。

安装流程(踩坑记录):

使用conda安装

conda create -y -c bioconda -n jcvi jcvi

pip install jcvi

之后 运行过程中会报错,原因是缺少LAST

通过conda安装LAST

conda install LAST

然后运行之仍然会报错,原因是缺少LaTex

通过conda安装LaTex

conda install texlive-core

恭喜你!安装的问题就解决啦,感谢conda!

后面就是共线性流程:

python -m jcvi.formats.gff bed --type=mRNA --key=ID genome_file/zhujieshu.gene.gff3 -o zhujieshu.bed

如果没有CDS文件,就自己提取

gffread in.gff3 -g ref.fa -x cds.fa

python -m jcvi.compara.catalog ortholog qiuqie zhujiashu 

python -m jcvi.compara.synteny screen --minspan=30 --simple qiuqie.zhujieshu.anchors qiuqie.zhujieshu.anchors.new

python simple2links.py qiuqie.zhujieshu.anchors.simple     生成qiuqie.zhujieshu.anchors.simple_link.txt文件就可因用来画圈图了

四、circos配置文件画图

有了前面的准备文件以后,我们就可以配置文件,进行画图了

#指定染色体文件(绝对/相对路径+文件名)

karyotype = chr.info.txt

#↓↓↓###########################################################

chromosomes_units = 1000000  #定义最小单位,即100万bp为一个units,即1u = 100w,后面刻度线都是基于此的操作,如果染色体长度都在5kw以上,推荐用100w,否则推荐用10w

<colors>  #原来的颜色太丑了,重新定义颜色,注意重新定义颜色都需要加上*号

chr1* = red

chr2* = orange

chr3* = green

chr4* = blue

</colors>

#↑↑↑###########################################################

<links>

<link>

file          = zhujieshu_qiuqie/qiuqie.zhujieshu.anchors.simple_link.txt  #指定存放内部连线数据的文件

radius        = 0.7r                #radius定义内部连线区域的大小,表示从0-0.7r均为连线区域,预留出位置为了给其他图形留出空间

bezier_radius = 0r            #控制连线的弯曲程度,数值越大越弯曲,范围为0r-1.5r

crest = 1  #简单理解为弯曲点的位置,越大弯曲点越向中中靠拢。由外到内数值依次减小,范围为0-1.25

thickness    = 2  #连线的粗细

#以下为开启丝带模式,其宽度与坐标差值相同,当然为了绘制出明显的丝带效果,你要人为的去夸大坐标差值才能明显显示出来

ribbon = yes

flat = yes

##stroke_thickness = 2

<rules>  #用来做条件判断的标签,圈图各式各样就在于rule的不同使用

<rule>

condition    = var(intrachr)        #condition表示条件,=后面为具体的动作。此为获取在同一条染色体间的连线

show          = no                  #规定在同一条染色体间的连线不展示

</rule>

<rule>

condition    = 1                  #condition = 1表示永远成立

color        = eval(var(chr1))    #连线的颜色与对应的染色体的颜色相同

flow          = continue          #当上面的rule执行完之后继续执行下面的rule,可以改为stop

</rule>

<rule>

condition  = max(var(size1),var(size2)) < 50kb  # 如果连线端点的值小于50kb则不显示,这个我不是特别确定。

show      = no

</rule>

</rules>

</link>

</links>

<plots>

#GC content

<plot>

type = line

stroke_thickness = 1

file = genome_file/qiuqie_zhujieshu.GC.density.txt

fill_color = green

stroke_color = black

glyph = circle

glyph_size = 5

#max = 100

min = 30000

r1 = 0.82r

r0 = 0.72r

</plot>

#gene density

<plot>

type = histogram

#stroke_thickness = 1

file = genome_file/qiuqie_zhujieshu.gene.density.txt

fill_color = blue

#stroke_color = black

glyph = circle

glyph_size = 5

#max = 100

#min = 0

r1 = 0.92r

r0 = 0.82r

</plot>

<plot>

type = heatmap

#stroke_thickness = 1

file = genome_file/qiuqie_zhujieshu.repeat.density.txt

fill_color = blue

#stroke_color = black

glyph = circle

glyph_size = 5

#max = 100

#min = 0

r1 = 0.97r

r0 = 0.92r

</plot>

</plots>

#-----------------------------------------------------------------------------------

<ideogram>                #这是定义染色体相关参数的标签,以</ideogram>结尾,其中包括要设置的参数

<spacing>                #定义染色体间隙宽度的标签,以</spacing>,其中包括要设置的参数

default = 0.005r          #r指的是圆的周长,设置0.5%圆的周长为间隙

#<pairwise hsY;hs1>      #可以用<pairwise>标签特别指定某些染色体的间隙(用的是ID),因为在大多数文章中,都会留一个大间隙,来放label

#spacing = 20r            #这里20r表示是相对default = 0.005r的20倍,也就是10%的圆的周长

#</pairwise>              #标签都要以</>结尾,

</spacing>                #间隙定义结束,下面是对染色体样式的调整

radius          = 0.90r  #轮廓的位置,这里的r指的是半径,由圆心到圆周上范围依次是0-1r,,超出部分将不再显示。

thickness        = 20p    #染色体整体的宽度,这里p指的是像素大小,也可以用r表示,1r=1500p

fill            = yes    #是否为染色体填充颜色,如果为yes,自动用第七列定义的颜色着色

stroke_color    = dgrey  #染色体边框的颜色,支持多种格式的输入,如:red或255,182,106

stroke_thickness = 2p    #染色体边框的粗细

#↓↓↓##########################染色体标签###############################

show_label      = yes        #选择yes表示要显示label

label_font      = default    # 字体可以再 etc/fonts.conf 查看所有,默认为CMUBright-Roman

label_radius    = dims(image,radius)-60p  #使用dims()获取图像半径的大小,从而定位染色体标签的位置,也可以直接定义1.075r

label_size      = 30        #字体的大小

label_parallel  = yes        #将Label的方向设置为与染色体平行

#↑↑↑###########################################################

</ideogram>              #定义染色体属性的标签结束

#↓↓↓#########################刻度线###############################

show_ticks          = yes  #选择yes表示要显示刻度线

show_tick_labels    = yes  #选择yes表示要显示刻度线的数值

#定义刻度线的整体位置与形状

<ticks>                    #刻度线的转用标签,但凡是复数出现的,其下面的参数都表示全局参数,像下面的<tick>单数形式,都表示局部参数

radius          = 1r      #刻度线的位置,1r为最远距离,超过1r不再显示

color            = black

thickness        = 2p

multiplier      = 1e-6    #把刻度线标签(bp)缩小10万倍显示

format          = %d      #然后以整数的形式标记在刻度线上

#定义小的刻度线,且不显示数值

<tick>

spacing        = 5u        #最开始我们定义1u = 1000000,表示每500w bp显示一个小刻度线

size          = 10p

show_label    = no        #由于小的刻度线展示出来太密集,因此我们no不展示,默认不展示

</tick>

#定义大的刻度线,显示数值

<tick>

spacing        = 25u

size          = 15p

show_label    = yes

label_size    = 20p

label_offset  = 10p      #设置数值和刻度线之间的间隔

format        = %d

</tick>

</ticks>

#↑↑↑###########################################################

#-----------------------------------------------------------------------------------

#下面是每次都要复制粘贴上去的,他们属于circos自带的配置文件,用于调用颜色,距离,报错等信息

<image>                    #注意路径

<<include etc/image.conf>> #注意引用外部配置文件需要使用<<#>>

</image>

<<include etc/colors_fonts_patterns.conf>>

#官方没有提到下面的文件,但是没有这个文件会报错,所以还是加上去

五、画图

配置文件准备好以后,运行:

circos -conf circos.conf

生成circos.png、circos.svg两个文件

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,230评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,261评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,089评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,542评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,542评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,544评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,922评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,578评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,816评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,576评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,658评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,359评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,937评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,920评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,859评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,381评论 2 342

推荐阅读更多精彩内容