感谢CJ大神的反复修改,这个功能越变越好了!
本文旨在复现CJ大神推文内容,具体请参考“省心炸鸡”,手动狗头(//www.greatytc.com/p/b9034ce82ec2)
首先需要获取的是染色体位置,我的办法是在GFF3文件里取得。
复制出来的文件都在同一个单元格里,这个时候只需要使用分列功能就能把信息分开。
保存为txt文件
Chr | Length |
---|---|
1A | 594102056 |
1B | 689851870 |
1D | 495453186 |
2A | 780798557 |
2B | 801256715 |
2D | 651852609 |
3A | 750843639 |
3B | 830829764 |
3D | 615552423 |
4A | 744588157 |
4B | 673617499 |
4D | 509857067 |
5A | 709773743 |
5B | 713149757 |
5D | 566080677 |
6A | 618079260 |
6B | 720988478 |
6D | 473592718 |
7A | 736706236 |
7B | 750620385 |
7D | 638686055 |
之后需要准备基因位置文件,首先用tbtools提取所有基因的ID和位置。这里使用GFF3 gene position parse。正经的IOS(input,output,start)流程没什么可说的。
之后再input之前获得的文件。在set condition text填入需要提取的gene ID。模式选择包含(contain),过滤模式选择提取(extract)。
需要注意的是,提取出来的文件行列不能直接使用,需要设置table行列。
第一列gene或者transcript ID,第二列chromosome,第三列起始位置,第四列结束为止,第五列图形分组(从0开始排起,目前只试过四种最多几种不清楚)。需要注意的是,该功能里merge会把不同颜色的基因堆叠在一起,而如果ID来自不同的图形分组(第五列信息)则不会。
填入对应信息即可
默认全部分成一组的话,你就能得到
显然没什么意义,分成三组,再加入颜色信息。
说个题外话,关于颜色的批量填充,在excel里按照组分类可以写个if套娃,例如下面这样
=if(c1=0,"253,180,98",if(c1=1,"228,26,28","31,120,180"))
也可以写个index,然后用match去返回需要的颜色标签(R,G,B)
=INDEX({"253,180,98","228,26,28","31,120,180"},MATCH(C1,{0,1,2},0))
同理,你可以用类似方法给自己的基因批量分类。
最后的最后,一定要换形状,否则merge的时候信息会出错。
哦对了 基因密度信息请参考这里://www.greatytc.com/p/801807865864
最后,祝大家磕盐顺利