10_Master Table


Building a master table with the ARS, OEM, dist to CEN, dist to JUNC, dist to TER, signifRFD/MH, ∆ICgn, signif∆IC, ∆nanoT, signif∆nanoT, CTF19, RIF1, FKH1FKH2, dist toRFDsig.

suppressMessages(library(GenomicRanges))
suppressMessages(library(tidyverse))
suppressMessages(library(rtracklayer))
`%+%`<-paste0
seqinfSY <- readRDS("Data/seqinfSY.rds")

Import Ori table

ars2keep <- import("Data/ars2keep_lim10k_cl1500_2_dtac1500.bed") %>% sort
ars2keep$score <- NULL
ars2 <- mcols(ars2keep) %>% as_tibble

add OEM data

Data were compiled from OEM bigwig

oemBY1_bw <- import("BigFiles/BigWig/BY1_oem_10k.bw")
oemBY2_bw <- import("BigFiles/BigWig/BY2_oem_10k.bw")
oemBY3_bw <- import("BigFiles/BigWig/BY3_oem_10k.bw")
oemSY1_bw <- import("BigFiles/BigWig/SY1_oem_10k.bw")
oemSY2_bw <- import("BigFiles/BigWig/SY2_oem_10k.bw")
oemSY3_bw <- import("BigFiles/BigWig/SY3_oem_10k.bw")
oemBY1 <- coverage(oemBY1_bw,weight=oemBY1_bw$score)
oemBY2 <- coverage(oemBY2_bw,weight=oemBY2_bw$score)
oemBY3 <- coverage(oemBY3_bw,weight=oemBY3_bw$score)
oemSY1 <- coverage(oemSY1_bw,weight=oemSY1_bw$score)
oemSY2 <- coverage(oemSY2_bw,weight=oemSY2_bw$score)
oemSY3 <- coverage(oemSY3_bw,weight=oemSY3_bw$score)

ars2$OEMBY1 <- sapply(seq_along(ars2keep), function(i) {
    mean(oemBY1[ars2keep[i]],na.rm=T)
    })
ars2$OEMBY2 <- sapply(seq_along(ars2keep), function(i) {
    mean(oemBY2[ars2keep[i]],na.rm=T)
    })
ars2$OEMBY3 <- sapply(seq_along(ars2keep), function(i) {
    mean(oemBY3[ars2keep[i]],na.rm=T)
    })
ars2$OEMSY1 <- sapply(seq_along(ars2keep), function(i) {
    mean(oemSY1[ars2keep[i]],na.rm=T)
    })
ars2$OEMSY2 <- sapply(seq_along(ars2keep), function(i) {
    mean(oemSY2[ars2keep[i]],na.rm=T)
    })
ars2$OEMSY3 <- sapply(seq_along(ars2keep), function(i) {
    mean(oemSY3[ars2keep[i]],na.rm=T)
    })

ars2$dOEM1 <- ars2$OEMSY1-ars2$OEMBY1
ars2$dOEM2 <- ars2$OEMSY2-ars2$OEMBY2
ars2$dOEM3 <- ars2$OEMSY3-ars2$OEMBY3
ars2 <- ars2 %>%
    mutate(OEMm_BY=pmap_dbl(.,function(OEMBY1,OEMBY2,OEMBY3,...) mean(c(OEMBY1,OEMBY2,OEMBY3),na.rm=T))) %>%
    mutate(OEMm_SY=pmap_dbl(.,function(OEMSY1,OEMSY2,OEMSY3,...) mean(c(OEMSY1,OEMSY2,OEMSY3),na.rm=T))) %>%
    mutate(d_OEMm=pmap_dbl(., function(dOEM1,dOEM2,dOEM3,...) mean(c(dOEM1,dOEM2,dOEM3),na.rm=T)))

Importing RFD test results

bgsigMH2 <- import("Data/bgsigMH.bed")
distArs2RFD <- distanceToNearest(ars2keep,bgsigMH2)
ars2$dt_signif_RFD <- mcols(distArs2RFD)[,1]
#ars2 <- ars2 %>%
#   mutate(signif_RFDMH=dt_signif_RFD<5000)

Add distance to CEN, TEL and Junction

CEN <- import("Genome_annotations/SY14_CEN.gff3") 
chromSY <- import("Genome_annotations/chromBYonSYgr.bed") %>% sort
seqinfo(chromSY) <- seqinfSY

chromJunction <- gaps(chromSY-10)
chromTrueJunction <- chromJunction[4:18]
TEL_SY <- chromJunction[c(3,19)]

ars2$dt_CEN <- data.frame(distanceToNearest(resize(ars2keep,fix="center",width=1),CEN))[,3]
ars2$dt_JUNC <- data.frame(distanceToNearest(resize(ars2keep,fix="center",width=1),chromTrueJunction))[,3]
ars2$dt_TEL <- data.frame(distanceToNearest(resize(ars2keep,fix="center",width=1),TEL_SY))[,3]

Add results on Init

ars.init <- readRDS("Data/ARSinitMAnorm2.rds") %>%
    mutate(dInit_SY_BY=Mval) %>%    select(c(name,dInit_SY_BY,dInitSY_BY_padj=padj))
ars3 <- left_join(ars2,ars.init,by="name")

To affect the variation of the initiations between SY and BY (dInit_SY_BY), we used Mval from the MAnorm2 analysis which correspond to difference between the normalised initiation signal. If this value is positive, it means that there are more initiation in the SY compared to the BY.

Add results on nanoT

ars.RT <- readRDS("Data/ARS_nanotiming_MApadj.rds") %>%
    # mutate(RT_BY=pmap_dbl(., function(BY_rep1, BY_rep2,BY_rep3,...) mean(c(BY_rep1,BY_rep2,BY_rep3)))) %>%
    # mutate(RT_SY=pmap_dbl(., function(SY_rep1,SY_rep2,SY_rep3,...) mean(c(SY_rep1, SY_rep2,SY_rep3)))) %>%
    mutate(dRT_SY_BY=pmap_dbl(., function(SY_rep1,SY_rep2,SY_rep3,BY_rep1, BY_rep2,BY_rep3,...) mean(c(SY_rep1, SY_rep2,SY_rep3))-mean(c(BY_rep1,BY_rep2,BY_rep3)))) %>%
#   select(c(name,RT_BY,RT_SY,dRT_SY_BY,dRT_SY_BY_padj=padj))
    select(c(name,dRT_SY_BY,dRT_SY_BY_padj=padj))
ars4 <- left_join(ars3,ars.RT,by="name")

dRT_SY_BY is the difference of the mean RT values between BY and SY. If it is negative, it indicates that this Ori replicated later in SY compared to BY

Add biblio data

arsbiblio <- read_tsv("Data/ARS_withBiblioData_namesBYSY.tsv",show_col_types = FALSE) %>%
    select(c(6,22:25))

ars5 <- left_join(ars4,arsbiblio,by="name")

write_tsv(ars5,"Data/BYSY_MasterTable.tsv")

ars6 <- ars5 %>% select(-c(4:12))

write_tsv(ars6,"Data/BYSY_MasterTable_simple.tsv")

Add Table 1,2 and 3 annotations

AnnotTable <- read_tsv("Data_raw/Annot_Table.tsv",show_col_types = FALSE,na = character()) %>% mutate(Table123=paste0(Table1,Table2,Table3)) %>% mutate(Table123=ifelse(Table123=="AA","A",Table123))

ars7 <- left_join(ars6,AnnotTable,by="name")

write_tsv(ars7,"Data/BYSY_MasterTable_simple_Table123.tsv")
write_tsv(ars7,"Data/TableS2.tsv")
LS0tCnRpdGxlOiAiQllTWSBwcm9qZWN0IE5vdGVib29rIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tICAKIyAxMF9NYXN0ZXIgVGFibGUgIAoqKiogIAoKQnVpbGRpbmcgYSBtYXN0ZXIgdGFibGUgd2l0aCB0aGUgQVJTLCBPRU0sIGRpc3QgdG8gQ0VOLCBkaXN0IHRvIEpVTkMsIGRpc3QgdG8gVEVSLCBzaWduaWZSRkQvTUgsIOKIhklDZ24sIHNpZ25pZuKIhklDLCDiiIZuYW5vVCwgc2lnbmlm4oiGbmFub1QsIENURjE5LCBSSUYxLCBGS0gxRktIMiwgZGlzdCB0b1JGRHNpZy4gIAoKYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0Kc3VwcHJlc3NNZXNzYWdlcyhsaWJyYXJ5KEdlbm9taWNSYW5nZXMpKQpzdXBwcmVzc01lc3NhZ2VzKGxpYnJhcnkodGlkeXZlcnNlKSkKc3VwcHJlc3NNZXNzYWdlcyhsaWJyYXJ5KHJ0cmFja2xheWVyKSkKYCUrJWA8LXBhc3RlMApzZXFpbmZTWSA8LSByZWFkUkRTKCJEYXRhL3NlcWluZlNZLnJkcyIpCmBgYAoKIyMjIEltcG9ydCBPcmkgdGFibGUKYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KYXJzMmtlZXAgPC0gaW1wb3J0KCJEYXRhL2FyczJrZWVwX2xpbTEwa19jbDE1MDBfMl9kdGFjMTUwMC5iZWQiKSAlPiUgc29ydAphcnMya2VlcCRzY29yZSA8LSBOVUxMCmFyczIgPC0gYXNfdGliYmxlKGFyczJrZWVwKSAlPiUgc2VsZWN0KGMobmFtZSxzdGFydCxlbmQpKQpgYGAKCiMjIyBhZGQgT0VNIGRhdGEgIAoKRGF0YSB3ZXJlIGNvbXBpbGVkIGZyb20gT0VNIGJpZ3dpZwoKYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0Kb2VtQlkxX2J3IDwtIGltcG9ydCgiQmlnRmlsZXMvQmlnV2lnL0JZMV9vZW1fMTBrLmJ3IikKb2VtQlkyX2J3IDwtIGltcG9ydCgiQmlnRmlsZXMvQmlnV2lnL0JZMl9vZW1fMTBrLmJ3IikKb2VtQlkzX2J3IDwtIGltcG9ydCgiQmlnRmlsZXMvQmlnV2lnL0JZM19vZW1fMTBrLmJ3IikKb2VtU1kxX2J3IDwtIGltcG9ydCgiQmlnRmlsZXMvQmlnV2lnL1NZMV9vZW1fMTBrLmJ3IikKb2VtU1kyX2J3IDwtIGltcG9ydCgiQmlnRmlsZXMvQmlnV2lnL1NZMl9vZW1fMTBrLmJ3IikKb2VtU1kzX2J3IDwtIGltcG9ydCgiQmlnRmlsZXMvQmlnV2lnL1NZM19vZW1fMTBrLmJ3IikKb2VtQlkxIDwtIGNvdmVyYWdlKG9lbUJZMV9idyx3ZWlnaHQ9b2VtQlkxX2J3JHNjb3JlKQpvZW1CWTIgPC0gY292ZXJhZ2Uob2VtQlkyX2J3LHdlaWdodD1vZW1CWTJfYnckc2NvcmUpCm9lbUJZMyA8LSBjb3ZlcmFnZShvZW1CWTNfYncsd2VpZ2h0PW9lbUJZM19idyRzY29yZSkKb2VtU1kxIDwtIGNvdmVyYWdlKG9lbVNZMV9idyx3ZWlnaHQ9b2VtU1kxX2J3JHNjb3JlKQpvZW1TWTIgPC0gY292ZXJhZ2Uob2VtU1kyX2J3LHdlaWdodD1vZW1TWTJfYnckc2NvcmUpCm9lbVNZMyA8LSBjb3ZlcmFnZShvZW1TWTNfYncsd2VpZ2h0PW9lbVNZM19idyRzY29yZSkKCmFyczIkT0VNQlkxIDwtIHNhcHBseShzZXFfYWxvbmcoYXJzMmtlZXApLCBmdW5jdGlvbihpKSB7CgltZWFuKG9lbUJZMVthcnMya2VlcFtpXV0sbmEucm09VCkKCX0pCmFyczIkT0VNQlkyIDwtIHNhcHBseShzZXFfYWxvbmcoYXJzMmtlZXApLCBmdW5jdGlvbihpKSB7CgltZWFuKG9lbUJZMlthcnMya2VlcFtpXV0sbmEucm09VCkKCX0pCmFyczIkT0VNQlkzIDwtIHNhcHBseShzZXFfYWxvbmcoYXJzMmtlZXApLCBmdW5jdGlvbihpKSB7CgltZWFuKG9lbUJZM1thcnMya2VlcFtpXV0sbmEucm09VCkKCX0pCmFyczIkT0VNU1kxIDwtIHNhcHBseShzZXFfYWxvbmcoYXJzMmtlZXApLCBmdW5jdGlvbihpKSB7CgltZWFuKG9lbVNZMVthcnMya2VlcFtpXV0sbmEucm09VCkKCX0pCmFyczIkT0VNU1kyIDwtIHNhcHBseShzZXFfYWxvbmcoYXJzMmtlZXApLCBmdW5jdGlvbihpKSB7CgltZWFuKG9lbVNZMlthcnMya2VlcFtpXV0sbmEucm09VCkKCX0pCmFyczIkT0VNU1kzIDwtIHNhcHBseShzZXFfYWxvbmcoYXJzMmtlZXApLCBmdW5jdGlvbihpKSB7CgltZWFuKG9lbVNZM1thcnMya2VlcFtpXV0sbmEucm09VCkKCX0pCgphcnMyJGRPRU0xIDwtIGFyczIkT0VNU1kxLWFyczIkT0VNQlkxCmFyczIkZE9FTTIgPC0gYXJzMiRPRU1TWTItYXJzMiRPRU1CWTIKYXJzMiRkT0VNMyA8LSBhcnMyJE9FTVNZMy1hcnMyJE9FTUJZMwphcnMyIDwtIGFyczIgJT4lCgltdXRhdGUoT0VNbV9CWT1wbWFwX2RibCguLGZ1bmN0aW9uKE9FTUJZMSxPRU1CWTIsT0VNQlkzLC4uLikgbWVhbihjKE9FTUJZMSxPRU1CWTIsT0VNQlkzKSxuYS5ybT1UKSkpICU+JQoJbXV0YXRlKE9FTW1fU1k9cG1hcF9kYmwoLixmdW5jdGlvbihPRU1TWTEsT0VNU1kyLE9FTVNZMywuLi4pIG1lYW4oYyhPRU1TWTEsT0VNU1kyLE9FTVNZMyksbmEucm09VCkpKSAlPiUKCW11dGF0ZShkX09FTW09cG1hcF9kYmwoLiwgZnVuY3Rpb24oZE9FTTEsZE9FTTIsZE9FTTMsLi4uKSBtZWFuKGMoZE9FTTEsZE9FTTIsZE9FTTMpLG5hLnJtPVQpKSkKCmBgYAoKIyMjIEltcG9ydGluZyBSRkQgdGVzdCByZXN1bHRzCgpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQpiZ3NpZ01IMiA8LSBpbXBvcnQoIkRhdGEvYmdzaWdNSC5iZWQiKQpkaXN0QXJzMlJGRCA8LSBkaXN0YW5jZVRvTmVhcmVzdChhcnMya2VlcCxiZ3NpZ01IMikKYXJzMiRkdF9zaWduaWZfUkZEIDwtIG1jb2xzKGRpc3RBcnMyUkZEKVssMV0KI2FyczIgPC0gYXJzMiAlPiUKIwltdXRhdGUoc2lnbmlmX1JGRE1IPWR0X3NpZ25pZl9SRkQ8NTAwMCkKYGBgCgojIyMgQWRkIGRpc3RhbmNlIHRvIENFTiwgVEVMIGFuZCBKdW5jdGlvbgpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQpDRU4gPC0gaW1wb3J0KCJHZW5vbWVfYW5ub3RhdGlvbnMvU1kxNF9DRU4uZ2ZmMyIpIApjaHJvbVNZIDwtIGltcG9ydCgiR2Vub21lX2Fubm90YXRpb25zL2Nocm9tQllvblNZZ3IuYmVkIikgJT4lIHNvcnQKc2VxaW5mbyhjaHJvbVNZKSA8LSBzZXFpbmZTWQoKY2hyb21KdW5jdGlvbiA8LSBnYXBzKGNocm9tU1ktMTApCmNocm9tVHJ1ZUp1bmN0aW9uIDwtIGNocm9tSnVuY3Rpb25bNDoxOF0KVEVMX1NZIDwtIGNocm9tSnVuY3Rpb25bYygzLDE5KV0KCmFyczIkZHRfQ0VOIDwtIGRhdGEuZnJhbWUoZGlzdGFuY2VUb05lYXJlc3QocmVzaXplKGFyczJrZWVwLGZpeD0iY2VudGVyIix3aWR0aD0xKSxDRU4pKVssM10KYXJzMiRkdF9KVU5DIDwtIGRhdGEuZnJhbWUoZGlzdGFuY2VUb05lYXJlc3QocmVzaXplKGFyczJrZWVwLGZpeD0iY2VudGVyIix3aWR0aD0xKSxjaHJvbVRydWVKdW5jdGlvbikpWywzXQphcnMyJGR0X1RFTCA8LSBkYXRhLmZyYW1lKGRpc3RhbmNlVG9OZWFyZXN0KHJlc2l6ZShhcnMya2VlcCxmaXg9ImNlbnRlciIsd2lkdGg9MSksVEVMX1NZKSlbLDNdCgpgYGAKCiMjIyBBZGQgcmVzdWx0cyBvbiBJbml0CmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CmFycy5pbml0IDwtIHJlYWRSRFMoIkRhdGEvQVJTaW5pdE1Bbm9ybTIucmRzIikgJT4lCgltdXRhdGUoZEluaXRfU1lfQlk9TXZhbCkgJT4lCXNlbGVjdChjKG5hbWUsZEluaXRfU1lfQlksZEluaXRTWV9CWV9wYWRqPXBhZGopKQphcnMzIDwtIGxlZnRfam9pbihhcnMyLGFycy5pbml0LGJ5PSJuYW1lIikKYGBgClRvIGFmZmVjdCB0aGUgdmFyaWF0aW9uIG9mIHRoZSBpbml0aWF0aW9ucyBiZXR3ZWVuIFNZIGFuZCBCWSAoZEluaXRfU1lfQlkpLCB3ZSB1c2VkIE12YWwgZnJvbSB0aGUgTUFub3JtMiBhbmFseXNpcyB3aGljaCBjb3JyZXNwb25kIHRvIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgbm9ybWFsaXNlZCBpbml0aWF0aW9uIHNpZ25hbC4gSWYgdGhpcyB2YWx1ZSBpcyBwb3NpdGl2ZSwgaXQgbWVhbnMgdGhhdCB0aGVyZSBhcmUgbW9yZSBpbml0aWF0aW9uIGluIHRoZSBTWSBjb21wYXJlZCB0byB0aGUgQlkuCgojIyMgQWRkIHJlc3VsdHMgb24gbmFub1QKYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0KYXJzLlJUIDwtIHJlYWRSRFMoIkRhdGEvQVJTX25hbm90aW1pbmdfTUFwYWRqLnJkcyIpICU+JQoJIyBtdXRhdGUoUlRfQlk9cG1hcF9kYmwoLiwgZnVuY3Rpb24oQllfcmVwMSwgQllfcmVwMixCWV9yZXAzLC4uLikgbWVhbihjKEJZX3JlcDEsQllfcmVwMixCWV9yZXAzKSkpKSAlPiUKCSMgbXV0YXRlKFJUX1NZPXBtYXBfZGJsKC4sIGZ1bmN0aW9uKFNZX3JlcDEsU1lfcmVwMixTWV9yZXAzLC4uLikgbWVhbihjKFNZX3JlcDEsIFNZX3JlcDIsU1lfcmVwMykpKSkgJT4lCgltdXRhdGUoZFJUX1NZX0JZPXBtYXBfZGJsKC4sIGZ1bmN0aW9uKFNZX3JlcDEsU1lfcmVwMixTWV9yZXAzLEJZX3JlcDEsIEJZX3JlcDIsQllfcmVwMywuLi4pIG1lYW4oYyhTWV9yZXAxLCBTWV9yZXAyLFNZX3JlcDMpKS1tZWFuKGMoQllfcmVwMSxCWV9yZXAyLEJZX3JlcDMpKSkpICU+JQojCXNlbGVjdChjKG5hbWUsUlRfQlksUlRfU1ksZFJUX1NZX0JZLGRSVF9TWV9CWV9wYWRqPXBhZGopKQoJc2VsZWN0KGMobmFtZSxkUlRfU1lfQlksZFJUX1NZX0JZX3BhZGo9cGFkaikpCmFyczQgPC0gbGVmdF9qb2luKGFyczMsYXJzLlJULGJ5PSJuYW1lIikKYGBgCmRSVF9TWV9CWSBpcyB0aGUgZGlmZmVyZW5jZSBvZiB0aGUgbWVhbiBSVCB2YWx1ZXMgYmV0d2VlbiBCWSBhbmQgU1kuIElmIGl0IGlzIG5lZ2F0aXZlLCBpdCBpbmRpY2F0ZXMgdGhhdCB0aGlzIE9yaSByZXBsaWNhdGVkIGxhdGVyIGluIFNZIGNvbXBhcmVkIHRvIEJZCgojIyMgQWRkIGJpYmxpbyBkYXRhCmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CmFyc2JpYmxpbyA8LSByZWFkX3RzdigiRGF0YS9BUlNfd2l0aEJpYmxpb0RhdGFfbmFtZXNCWVNZLnRzdiIsc2hvd19jb2xfdHlwZXMgPSBGQUxTRSkgJT4lCglzZWxlY3QoYyg2LDIyOjI1KSkKCmFyczUgPC0gbGVmdF9qb2luKGFyczQsYXJzYmlibGlvLGJ5PSJuYW1lIikKCndyaXRlX3RzdihhcnM1LCJEYXRhL0JZU1lfTWFzdGVyVGFibGUudHN2IikKCmFyczYgPC0gYXJzNSAlPiUgc2VsZWN0KC1jKDQ6MTIpKQoKd3JpdGVfdHN2KGFyczYsIkRhdGEvQllTWV9NYXN0ZXJUYWJsZV9zaW1wbGUudHN2IikKYGBgCgpBZGQgVGFibGUgMSwyIGFuZCAzIGFubm90YXRpb25zCmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CkFubm90VGFibGUgPC0gcmVhZF90c3YoIkRhdGFfcmF3L0Fubm90X1RhYmxlLnRzdiIsc2hvd19jb2xfdHlwZXMgPSBGQUxTRSxuYSA9IGNoYXJhY3RlcigpKSAlPiUgbXV0YXRlKFRhYmxlMTIzPXBhc3RlMChUYWJsZTEsVGFibGUyLFRhYmxlMykpICU+JSBtdXRhdGUoVGFibGUxMjM9aWZlbHNlKFRhYmxlMTIzPT0iQUEiLCJBIixUYWJsZTEyMykpCgphcnM3IDwtIGxlZnRfam9pbihhcnM2LEFubm90VGFibGUsYnk9Im5hbWUiKQoKd3JpdGVfdHN2KGFyczcsIkRhdGEvQllTWV9NYXN0ZXJUYWJsZV9zaW1wbGVfVGFibGUxMjMudHN2IikKd3JpdGVfdHN2KGFyczcsIkRhdGEvVGFibGVTMi50c3YiKQoKYGBgCg==