基因家族分析九(绘制串联重复基因的circos图)

一:准备文件

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里面的文件路径


karyotype=/home/spider/project/yuantao/test/Athaliana/gene_duplication/repeat_gene_circos/chr.info

file=/home/spider/project/yuantao/test/Athaliana/gene_duplication/repeat_gene_circos/Link.txt

file=/home/spider/project/yuantao/test/Athaliana/gene_duplication/repeat_gene_circos/text.txt

3.运行circos

$circos -conf circos.conf
结果

你可能感兴趣的:(基因家族分析九(绘制串联重复基因的circos图))