绘制Circos基因圈图


写在前面

昨天在绘制Circos圈图,已经隔了2年左右没有做这类的图了。这时间过得真是快,但是文章和成果依旧是没有很明显的成效。只能安慰自己,后面的时间继续加油吧!关于Cirocs图的制作,我从刚开始到现在都是是使用TBtools进行制作的,说实话,对于不想写代码的我(或是你)来说,生信可视化工具真的很方便。目前,生信可视化的工具很多,自己也加着2-3个类似的群,但最后一直使用到现在,以至于后面一直会使用的,TBtools是其中一个。我们在前面,也发表全程使用TBtools做分析教程,共线性分析 | Advance Circos图绘制基于TBtools做基因家族分析。从使用者的角度来说,TBtools真心是一个不错的软件,基于开发者和用户的反馈和需求开发很多小软件。

关于今天的教程

我一直在说,我是一直在分享自己的学习笔记,所以内容等方面都是基于自己目前在学习内容,或是遇到的问题及解决方法。一方面是在记录自己的学习笔记,一方面是为了后续自己用到便于查找(我基本使用到需要的),最后是为了分享给需要的同学。但是,自己的能力有限,很多高深的内容自己涉及不到,或是没能力涉及。因此,也欢迎各老师或同学来投稿或分享你的学习笔记

一个人的力量是有限的,但是一群人的力量是无法预测的!!

Cirocs教程分享

需要的文件

  1. 基因组长度文件
Chr1	56706830
Chr2	51972579
Chr3	58931556
Chr4	64763011
Chr5	44819618
Chr6	42866092
Chr7	56236587
Chr8	49719271
  1. 所需绘制文件的位置信息文件
Chr2	35739245	35739448	1	.
Chr2	36071610	36072481	1	-
Chr2	36199462	36199872	1	.
Chr2	36274372	36276705	1	-
Chr2	36443766	36444019	1	.
Chr2	39128193	39128397	1	.
Chr2	39485207	39485428	1	.
Chr2	41001395	41003552	1	+

基因组长度文件

  1. 打开TBtools中Fasta stats
  2. 拖入基因文件和输出信息

所绘制的基因的文件

  1. 方法1:直接提取,可以使用教程共线性分析 | Advance Circos图绘制的方法。

获得基因位置信息文件


删除不必要的信息

提取目标基因的信息



拖拽文件文件时,Selected Coluumn选择我们要match的列


  1. 自己制作,所需的信息也就是的那么个,我们可以通过自己的注释文件进行提取就可以,使用awk命令就医做简单的提取,我们这里就不在赘述。

我这里做个简单的记录,自己是补充前面做的分析的图,因此,自己手中并没有特定的绘图问题,只有一个总文件和所需绘图的基因ID,因此,只能用基因ID进行提取信息。

## 导入总文件
df <- read.table("all_lncRNA.bed.txt",header = T)
head(df)
##----
ID	Chromosome	Start	End	type	Strand
MSTRG.247.1	Chr1	152110	154340	1	+
MSTRG.364.2	Chr1	1230854	1231704	1	+
MSTRG.410.1	Chr1	1536449	1536977	1	+
MSTRG.545.1	Chr1	2665821	2668057	1	+
MSTRG.545.2	Chr1	2665899	2667587	1	+
MSTRG.545.3	Chr1	2665902	2668057	1	+

(1)入所需基因ID文件,由于各列的长度不同,因此不能正常使用read.table或read.csv函数导入

df <- readLines("typeID.txt")
# 将每行数据按照空格或制表符进行拆分,得到一个列表
df.list <- strsplit(df,"\\s+")

# 计算最大列数,用于确定数据框的列数
max_cols <- max(sapply(df.list, length))
# 将数据补齐到相同的列数,用NA填充缺失值
df_matrix <- t(sapply(df.list, function(x) {c(x, rep(NA, max_cols - length(x)))}))
# 将数据补齐到相同的列数,用NA填充缺失值
data <- as.data.frame(df_matrix)
head(data)
colnames(data) <- c("C", "D", "H", "Ma", "O", "P", "S")
data <- data[-1,]  ## 删除首行
head(data)

正常运行,应该有更简单的导入方法,欢迎交流。

(2)使用merge()函数,或是其他函数进行提取,其实merge在这里有点不太合适。

c <- as.data.frame(data$C) 
c02 <- cold[!apply(is.na(c), 1, any),]

c03 <- as.data.frame(c02)
colnames(c03) <- c("ID")
head(c03)

df02 <- merge(df, c03, by = "ID")
head(df02)
write.table(df02, "C.bed.txt", sep = '\t',quote = FALSE, row.names = F, col.name = F)

此步仅记录自己本次做的过程,可忽略,亦可交流。

绘图

打开Advanced Circos

输入所需文件

这里,我就只需要输入基因长度文件信息即可

获得基因圈图

添加其他文件信息,点击Show Control Dialog

左边是调整基因圈图的参数,右边是添加其他信息和调整参数

提供了很多图形的选项,根据自己的需求进行调整即可,以及颜色的调整。


最后就是细节调整,这些主要依赖于个人的审美和搭配。



---
**往期文章:**

**1. 最全WGCNA教程(替换数据即可出全部结果与图形)**

- [WGCNA分析 | 全流程分析代码 | 代码一](https://mp.weixin.qq.com/s/M0LAlE-61f2ZfpMiWN-iQg)


- [WGCNA分析 | 全流程分析代码 | 代码二](https://mp.weixin.qq.com/s/Ln9TP74nzWhtvt7obaMp1A)

- [WGCNA分析 | 全流程代码分享 | 代码三](https://mp.weixin.qq.com/s/rU76rLG4AayuiHbDhgOGBg)

----

**2. 精美图形绘制教程**

- [精美图形绘制教程](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzAwODY5NDU0MA==&action=getalbum&album_id=2614156000866385923&scene=173&from_msgid=2455848496&from_itemidx=1&count=3&nolastread=1#wechat_redirect)

**3. 转录组分析教程**

小杜的生信筆記,主要发表或收录生物信息学的教程,以及基于R的分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!!

猜你喜欢

转载自blog.csdn.net/kanghua_du/article/details/132034468