生物节律之衰减昼夜节律计算:circacompare使用篇(6)

最近在进行lumicycle实验,接触到了细胞上面的衰减的昼夜节律。
关于这一点,和动物造模有所不同,在细胞上面,由于细胞过于密集+培养时长延长+培养基介质长期不更换的因素,细胞的昼夜节律会越来越衰减,关于这种情况下我们应该怎么计算呢?

首先,查阅资料,了解Lumicycle这一仪器的使用,这个仪器一般我们接触不到,在这里就不在详细描述了,只要知道它可以用来记录细胞的昼夜节律就可以了,当然动物的组织切片也是可以的,就是操作会更复杂一点。

关于我们所使用的细胞,我们使用的Bmal1::dluc U2OS细胞和Per2::dluc U2OS细胞。这两个细胞历史也比较悠久了,下面简单介绍一下它们是怎么构建的。

慢病毒载体

图中各个元件的作用

SIN-LTR 自灭活长末端复制片段,帮助慢病毒将其序列整合到宿主基因组中
RRE REV反应元件,一种约 350 个核苷酸、高度结构化的顺式作用 RNA 元件,对于病毒复制至关重要
PPT HIV-1 中央多嘌呤束,作为正链合成的引物产生一个flap元件,是所有逆转录病毒RNA基因组形成双链cDNA的关键
P SV40 Promoter SV40启动子序列,引入在Per2启动子上游,避免活性位点整合效应
T SV40 terminator SV40终止子序列,引入在Per2启动子上游,与SV40启动子序列合在一起构建“增强子陷阱诱饵”,阻断整合位点附近增强子活性
mPer2 小鼠Per2启动子序列
dluc 含有PEST序列的荧光素酶基因,在PEST的帮助下荧光素酶快速降解以保证不在细胞质内积累,实时反应上游启动子活性
IRES 内部核糖体加入位点,遇到终止密码子翻译不停滞,继续向下翻译
EGFP 增强型绿色荧光蛋白序列,用于流式分选
WPRE 土拨鼠转录后调控元件,提高基因表达

使用如上图所示的慢病毒载体感染U2OS细胞,之后使用流式分选筛查GFP荧光活性较强和振幅较大的细胞,这类细胞被称为Per2::dluc U2OS。Bmal1::dluc U2OS构建方案类似。

我们在这里使用了Bmal1::dluc U2OS细胞,其基础振幅相对于Per2::dluc U2OS要更高一点。
使用lumicycle生物节律性光度测定仪记录细胞的昼夜节律,连续记录7天以上,读入Lumicycle analysis软件,简单查看一下振荡趋势。

原始图像

很容易看出,细胞的昼夜节律振幅是不断下降的,其中,第一个周期由于更换培养基介质带来的高瞬时发光所以弃之不用。
这样的图像是不易计算昼夜节律的,我们需要对其进行基准化,也就是减去一个Mesor(均值)。
程序自带的基准化算法有三种,分别是Polynomial fit,Running Average,Butterworth,之后我们可以得到基准化后的图像
基准化图像

程序自带的拟合算法有7种,分别是Sin fit,Sin fit (damped),Sin fit (undamp),LM Fit (Damped Sine),LM Fit (Sin),Periodogram,FFT。
对于这些基准化和拟合算法,我们查阅文献看看别人怎么使用的。
文献中常用算法

由上可知,我们选择一阶多项式进行基准化,选择指数衰减形式的正(余)弦函数进行曲线拟合。

既然是使用指数衰减形式的正(余)弦函数进行拟合,那么我们完全可以使用circacompare进行计算,见Introduction to circacompare,里面提到了它也可以用来计算指数形式的振幅衰减。


R中操作如下:

#1.收集要读入的文件和实验分组情况
library(readxl)
library(tidyverse)
library(stringr)
library(magrittr)
library(circacompare)
library(ggplot2)

file1 <- list.files(".",pattern = "subtracted.csv")
x <- str_remove(file1,"\\d_subtracted.csv")
unique(x)
group <- factor(x,labels = c("B","CYS","DEX","VNN"))#分组

要读入的数据(经过一阶多项式基准化的)长这样:


经过程序基准化后的数据

第一列日期
第二列时间
第三列相对于零点的天数
第四列基准化后的值
第五列程序衰减余弦拟合的值

当然,也完全可以读入原始数据,即未经过基准化的,然后自己一阶函数线性拟合一下,原始的数据长这样:


原始数据

第一列日期
第二列时间
第三列相对于零点的天数
第四列原始值
第五列程序一阶多项式拟合的基准值,第四列减去第五列即为上面第四列中基准化后的值

#拟合得基准(自己预测的)值,并与程序输出的基准值比较
x1 <- read.csv("B51_Raw11111.csv",skip = 3,header = F)[,3:5]
colnames(x1) <- c("day","raw","predicted_program")
res <- with(x1,lm(raw~poly(day,1)))

a <-data.frame(day=x1$day) 
predicted_myself <- predict(res,a)
a$predicted_myself <- predicted_myself

judge <- a$predicted_myself-x1$predicted_program
summary(judge<0.01)#拟合的基准值与程序输出基准值差异都在0.01内,误差非常小
#   Mode    TRUE 
#logical    1186 
#之后可以使用程序输出的基准值,也可以使用我们自己拟合的预测基准值,之后拿原始值减去基准值即可得基准化后的值,可以用于后期衰减cosinor拟合
x1$subtracted_program <- x1$raw-x1$predicted_program
#或者
x1$subtracted_myself <- x1$raw-a$predicted_myself
#2.读入每个样品的振荡数据并合并起来
dat1 <- data.frame()
for (i in seq(24)) {
  example1 <- read.csv(file = file1[i],skip = 3,header = F)[,3:5]#跳过前三行,选取第三到五列
  colnames(example1) <- c("day","subtracted","fitted")
  example1$id <- ifelse(i%%6==0,6,i%%6)
  example1$time <- example1$day*24
  example1$group <- group[i]
  example1$measure <- example1$subtracted
  example1 <- example1[,c("id","group","time","measure","day","subtracted","fitted")]
  example1 <- example1[example1$day>=1 & example1$day<=6, ]
  dat1 <- rbind(dat1,example1)
}
# library(openxlsx)
# write.xlsx(dat1,file = "all.xlsx",overwrite = T)

dat1长这样:


简单处理过的数据
#3.计算每个样本的振荡情况并写出
data2 <- data.frame(parameter=c("rhythmic_p","mesor","amplitude","alpha_decay","phase_radians","peak_time_hours","period"))
for (x in levels(group)) {
  for(y in seq(6)){
    res <- circa_single(x = dat1 %>% filter(group==x & id==y),
                        col_time = "time",
                        col_outcome = "measure",
                        period = NA,
                        control=list(period_param=T,decay_params=c("alpha")))
    res1 <- res$summary
    data2<- cbind(data2,res1$value)
    colnames(data2)[ncol(data2)] <- paste0(x,y,"_value")
  }  
}
library(openxlsx)
write.xlsx(data2,file = "all_stat.xlsx",overwrite = T)

data2长这样:


每个样品的统计信息
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容