一:准备文件

1.染色体长度文件
偷懒直接打开gff文件,前几行就是染色体信息,粘贴出来就好,保存为chr_length.txt
2.Text文件
在图片中显示的gene名字
打开上一步生成的shaixuan.result文件

去除1,2列合并为1列,去除.后面的数字,删除重复,保存为gene_id.text。
再根据gene_id提取gff中的位置信息。
$grep -f gene_id.text ../../Ensembl_TAIR/Arabidopsis_thaliana.TAIR10.41.gff3 |awk ' $3=="gene"{print $1,$4,$5,$9}'|sed 's/;.*//g'|sed 's/ID=//g' >text.txt
生成的结果就是需要的绘图的text.txt文件。

3.Link文件
用到的文件:1是上一步的text文件,2是之前生成的shaixuan.result文件。将shaixuan.result文件粘贴的excel,只需要前两列转录本id,将其转换成gene_id(去掉后面的.数字)

1.提取上图右边两列gene_id的位置信息。用到一个vLOOKUP函数来提取染色体位置。
![]()
2.基因起始位置
![]()
3.基因终止位置
![]()
最后如下:

复制粘贴一次数值,反正等会粘贴进别的其他东西,删除两列ID

下图就是我们要的Link文件格式,复制粘贴为Link.txt文件。

二:绘图
到此,就准备好了需要的三个文件
- 染色体长度文件:chr_length.txt
- text文件
- Link文件
这里由于是要绘制circos图,需要将上诉三个文件转换成circos绘图需要的一个circos.conf和一个染色体长度karyotype文件。用到一个perl脚本
$perl circos.pl --chr chr_length.txt --circle Link.txt --type link --circle text.txt --type text -od circose1
##生成的文件夹里就是需要的circos.conf文件
当然你要是不会脚本也可以自己转换成circos需要的文件,前提是你会用circos软件。
1.首先是染色体长度文件
我们把从gff前面几行复制来的长度信息转换成circos需要的染色体长度文件:
chr.info
chr - 1 1 0 30427671 chr1
chr - 2 2 0 19698289 chr2
chr - 3 3 0 23459830 chr3
chr - 4 4 0 18585056 chr4
chr - 5 5 0 26975502 chr5
chr - Mt Mt 0 366924 chr6
chr - Pt Pt 0 154478 chr7
2.就是circos.conf文件
其中最重要的就是我们之前准备的Link文件和text文件,把这两个文件的路径分别加到circos,conf的link和plots的的位置即可。
下面就是我们加到circos.conf里面的文件路径
</ideogram>
karyotype=/home/spider/project/yuantao/test/Athaliana/gene_duplication/repeat_gene_circos/chr.info
<link>
file=/home/spider/project/yuantao/test/Athaliana/gene_duplication/repeat_gene_circos/Link.txt
<plots>
file=/home/spider/project/yuantao/test/Athaliana/gene_duplication/repeat_gene_circos/text.txt
3.运行circos
$circos -conf circos.conf

网友评论