CUT&Tag 数据处理和分析教程(6)

简介: CUT&Tag 数据处理和分析教程(6)

简介

CUT&Tag 技术会在靠近固定酶的染色质颗粒两侧加上接头,不过染色质颗粒内部的标签化反应也有可能发生。所以,当 CUT&Tag 针对组蛋白修饰时,得到的主要是核小体长度(大约 180 bp)或其倍数的片段。而如果目标是转录因子,就会生成核小体大小的片段,同时混杂一些较短的片段,这些短片段分别来自旁边的核小体和转录因子结合的位置。此外,核小体表面的 DNA 也会被标签化。通过绘制片段长度分布图(精确到单个碱基对),可以观察到 10 bp 的锯齿形周期变化,这是成功的 CUT&Tag 实验的一个典型标志。

评估测序片段的长度分布

##== linux command ==##
mkdir -p $projPath/alignment/sam/fragmentLen

## Extract the 9th column from the alignment sam file which is the fragment length
samtools view -F 0x04 $projPath/alignment/sam/${histName}_bowtie2.sam | awk -F'\t' 'function abs(x){return ((x < 0.0) ? -x : x)} {print abs($9)}' | sort | uniq -c | awk -v OFS="\t" '{print $2, $1/2}' >$projPath/alignment/sam/fragmentLen/${histName}_fragmentLen.txt
##=== R command ===## 
## Collect the fragment size information
fragLen = c()
for(hist in sampleList){

  histInfo = strsplit(hist, "_")[[1]]
  fragLen = read.table(paste0(projPath, "/alignment/sam/fragmentLen/", hist, "_fragmentLen.txt"), header = FALSE) %>% mutate(fragLen = V1 %>% as.numeric, fragCount = V2 %>% as.numeric, Weight = as.numeric(V2)/sum(as.numeric(V2)), Histone = histInfo[1], Replicate = histInfo[2], sampleInfo = hist) %>% rbind(fragLen, .) 
}
fragLen$sampleInfo = factor(fragLen$sampleInfo, levels = sampleList)
fragLen$Histone = factor(fragLen$Histone, levels = histList)
## Generate the fragment size density plot (violin plot)
fig5A = fragLen %>% ggplot(aes(x = sampleInfo, y = fragLen, weight = Weight, fill = Histone)) +
    geom_violin(bw = 5) +
    scale_y_continuous(breaks = seq(0, 800, 50)) +
    scale_fill_viridis(discrete = TRUE, begin = 0.1, end = 0.9, option = "magma", alpha = 0.8) +
    scale_color_viridis(discrete = TRUE, begin = 0.1, end = 0.9) +
    theme_bw(base_size = 20) +
    ggpubr::rotate_x_text(angle = 20) +
    ylab("Fragment Length") +
    xlab("")

fig5B = fragLen %>% ggplot(aes(x = fragLen, y = fragCount, color = Histone, group = sampleInfo, linetype = Replicate)) +
  geom_line(size = 1) +
  scale_color_viridis(discrete = TRUE, begin = 0.1, end = 0.9, option = "magma") +
  theme_bw(base_size = 20) +
  xlab("Fragment Length") +
  ylab("Count") +
  coord_cartesian(xlim = c(0, 500))

ggarrange(fig5A, fig5B, ncol = 2)

相关文章
|
11月前
|
数据采集 编解码 数据可视化
三维基因组: Hi-C 差异分析(1)
三维基因组: Hi-C 差异分析(1)
三维基因组: Hi-C 差异分析(1)
|
10月前
|
数据可视化 数据处理
CUT&Tag 数据处理和分析教程(9)
CUT&Tag 数据处理和分析教程(9)
401 15
CUT&Tag 数据处理和分析教程(9)
|
Java Spring 容器
|
5月前
|
存储 SQL 机器学习/深度学习
sentieon | 泛基因组分析流程详解
泛基因组:指的是一个物种所有个体中全部基因的集合。它不再依赖于单个参考基因组,而是承认没有任何一个个体能够拥有其物种的全部基因。
448 1
|
11月前
|
数据可视化 数据处理
CUT&Tag 数据处理和分析教程(8)
CUT&Tag 数据处理和分析教程(8)
765 12
|
11月前
|
机器学习/深度学习 算法 Java
java家政系统实现智能派单?
本项目旨在构建一个基于JAVA的家政系统,通过实时派单满足用户即时需求。系统涵盖用户需求收集、服务人员数据库管理、智能匹配算法(如综合评分、机器学习模型)、实时通信通知、订单状态跟踪及动态调整等功能。同时,优化用户体验,强化安全与隐私保护,并采用微服务架构确保高并发稳定性。通过持续数据分析与算法迭代,实现高效精准的智能派单,提升服务质量和客户满意度。
326 0
|
11月前
|
数据可视化 数据挖掘 数据处理
CUT&Tag 数据处理和分析教程(7)
CUT&Tag 数据处理和分析教程(7)
CUT&Tag 数据处理和分析教程(7)
|
数据处理
CUT&Tag 数据处理和分析教程(2)
CUT&Tag 数据处理和分析教程(2)
CUT&Tag 数据处理和分析教程(2)
|
缓存 数据库 开发者
哇塞!Flask 也太厉害了吧!快速搭建 Web 应用从未如此简单,快来一探究竟!
【8月更文挑战第31天】作为一名热衷于 Web 开发的开发者,我最近深入研究了 Flask 这个轻量级 Python Web 框架。Flask 以简洁、灵活著称,是快速搭建 Web 应用的首选。本文将分享我的入门体验:从安装 (`pip install flask`) 到创建首个应用,再到模板渲染和表单处理。只需几行代码,就能启动开发服务器并展示 &quot;Hello, World!&quot;。此外,Flask 的扩展生态丰富,可轻松集成数据库、用户认证等功能,非常适合从小型项目到大型应用的各种场景。希望通过我的分享,帮助大家快速上手 Flask,开启 Web 开发之旅。
302 1

热门文章

最新文章