绘制Circos基因圈图

news2024/10/6 12:33:45

写在前面

昨天在绘制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的分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/820489.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PCB制版技术02

4.30 PCB库很重视它实际的尺寸和样子 4.31 PCB库很重视它实际的尺寸和样子&#xff0c;但是原理图就不需要了&#xff0c;我们只是在原理上做一个解释 4.32 我们习惯把角放在中央的位置 4.43 鼠标的右键可以取消选择的方框 4.44 放置引脚&#xff0c;连续击两下就出来了 4.45 …

从声通科技的发展来看,AI行业如何回答可持续盈利这一命题?

AI浪潮下&#xff0c;相关企业头顶新兴技术的光环&#xff0c;脚下是亏损的阴影。尽管业内不同企业身处不同的细分赛道&#xff0c;但是在巨大的成本支出面前&#xff0c;步伐还是有些难迈开。 当前&#xff0c;也有一些AI企业希望借助风口在更受投资者关注的舞台施展拳脚。据…

你真的会自动化吗?Web自动化测试-PO模式实战,一文通透...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 PO模式 Page Obj…

2.数组,对象,元组,自定义类型,接口,字面量,枚举,any

目录 1 数组 2 对象 3 元组 4 类型别名(自定义类型) 5 接口 5.1 基本使用 5.2 接口继承 6 字面量类型 7 枚举类型 7.1 基本使用 7.2 枚举的默认值 7.3 给枚举数值 7.4 给枚举字符串值 7.5 ts的枚举转换为js 8 any类型 1 数组 只包含数字的数组…

联想存储 HH0301_DE4000H

Help - Eclipse SDKhttps://thinksystem.lenovofiles.com/storage/help/index.jsp?topic%2Fthinksystem_system_manager_11.60.3%2Foverview.html&langzh/CN池和卷组的工作原理 要配置存储、可创建池或卷组&#xff0c;用于容纳要在存储阵列中使用的硬盘&#xff08;HDD&…

复习之linux系统的引导修复

启动Linux系统时&#xff0c;需要先通电&#xff0c;接着系统会自动进行bios初始化&#xff0c;对硬件进行检测并初始化硬件时钟&#xff0c;之后就进入了 Linux系统引导过程。Linux系统引导过程的具体内容和引导修复方法将在下文中进行详细介绍。由于我们在引导修复时需要利用…

Android Studio 关于BottomNavigationView 无法预览视图我的解决办法

一、前言&#xff1a;最近在尝试一步一步开发一个自己的软件&#xff0c;刚开始遇到的问题就是当我们引用 com.google.android.material.bottomnavigation.BottomNavigationView出现了无法预览视图的现象&#xff0c;我也在网上查了很多中解决方法&#xff0c;最后在执行了如下…

腾讯云从业者认证考试知识点——云服务器

文章目录 云服务器的产品概览腾讯云服务器的优势腾讯云服务器选型腾讯云服务器计费方案 云服务器的产品概览 腾讯云服务器的产品&#xff1f; CVM云服务器&#xff08;Cloud Virtual Machine&#xff0c;CVM&#xff09;提供安全可靠的弹性计算服务。 可以在云端获取和启用 CV…

大数据课程D3——hadoop的MapReduce

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解MapReduce的作用和特点; ⚪ 掌握MapReduce的组件; ⚪ 掌握MapReduce的Shuffle; ⚪ 掌握MapReduce的小文件问题; ⚪ 掌握MapReduce的压缩机制; ⚪ 掌握MapReduce的推测执行机制…

docker存储空间报错解决(谨慎操作,会影响原来的容易镜像,不熟练切勿操作)

报错内容 [rootDream package]# docker build -t imapp . [] Building 21.0s (6/19)> [internal] load build definition from Dockerfile 0.1s> > transferring …

提升维修服务体验,轻松解决问题:揭秘上门维修小程序的关键功能与用户体验

当今社会&#xff0c;随着科技的发展&#xff0c;上门维修小程序成为了人们解决维修问题的首选。下面将介绍开发上门维修小程序时的必备功能&#xff0c;以及这些功能如何提供便利和增加用户体验。   在线维修预约功能&#xff1a;上门维修小程序提供了在线预约平台&#xff…

dreamStudio试用教程【AI绘画】

文章目录 dreamStudio 简介打开官网如下邮箱登录即可切换随机提示词新用户的试用次数目前只有25张图像&#x1f4d9; 预祝各位 前途似锦、可摘星辰 dreamStudio 简介 https://github.com/Stability-AI/StableStudio StabilityAI在官网上重磅宣布——旗下的文生图应用DreamStu…

SpringBoot(十)教你手把手自定义starter

一个月的时间&#xff0c;转眼已经到了我的SpringBoot系列的第十篇文章。还记得我的第二篇文章SpringBoot&#xff08;二&#xff09;starter介绍_springboot的starter_heart荼毒的博客-CSDN博客 曾经介绍过starter。starter除了官方提供的以外&#xff0c;我们也可以自定义。本…

【LeetCode每日一题】——766.托普利茨矩阵

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【题目进阶】八【解题思路】九【时间频度】十【代码实现】十一【提交结果】 一【题目类别】 矩阵 二【题目难度】 简单 三【题目编号】 766.托普利茨矩阵 四【题目描述…

iPhone 8 Plus透明屏有哪些场景化应用?

iPhone 8 Plus是苹果公司于2017年推出的一款智能手机&#xff0c;它采用了全新的玻璃机身设计&#xff0c;使得手机更加美观和时尚。 而透明屏则是一种新型的屏幕技术&#xff0c;可以使手机屏幕呈现出透明的效果&#xff0c;给人一种科技感十足的视觉体验。 透明屏是通过使用…

Java常用工具类

1、Date类 Date类主要用来存储时间&#xff0c;精确到毫秒&#xff0c;内部是通过一个long值来进行存储的。 2、Calendar&#xff08;日历类&#xff09; 主要用来处理时间&#xff0c;例如&#xff0c;获取时间的某个部分&#xff0c;改变时间的某个部分&#xff1b;对时间…

【go语言学习笔记】03 Go 语言深入理解

文章目录 一、指针详解1. 指针的声明和定义2. 指针的操作2.1 获取指针指向的值2.2 修改指针指向的值2.3 给指针变量分配内存 3. 指针接收者4. 什么情况下使用指针5. 指向接口的指针 二、参数传递1. 值类型2. 指针类型3. 引用类型3.1 map3.2 chan 4. 类型的零值 三、内存分配1. …

Android 9系统源码_音频管理(一)按键音效源码解析

前言 当用户点击Android智能设备的按钮的时候&#xff0c;如果伴随有按键音效的话&#xff0c;会给用户更好的交互体验。本期我们将会结合Android系统源码来具体分析一下控件是如何发出按键音效的。 一、系统加载按键音效资源 1、在TV版的Android智能设备中&#xff0c;我们…

vscode插件美化C/C++和HTML

配置html语言自动补全&#xff0c;在设置中搜索Emmet 设置->搜索 Emmet Abbreviation 验证自动补全 输入html&#xff0c;下键选择html:5&#xff0c;自动补全整个开头语言

极简在线商城系统,支持docker一键部署

Hmart 给大家推荐一个简约自适应电子商城系统&#xff0c;针对虚拟商品在线发货&#xff0c;支持企业微信通知&#xff0c;支持docker一键部署&#xff0c;个人资质也可搭建。 前端 后端 H2 console 运行命令 docker run -d --name mall --restartalways -p 8080:8080 -e co…