## ----width_control, echo = FALSE------------------------------------------------------------------ options(width = 100) ## ----BiocManager_install, eval = FALSE------------------------------------------------------------ # if (!requireNamespace("BiocManager", quietly = TRUE)) { # install.packages("BiocManager") # } # BiocManager::install("Pedixplorer") ## ----library_charge------------------------------------------------------------------------------- library(Pedixplorer) ## ----Pedigree_creation---------------------------------------------------------------------------- data("sampleped") print(sampleped[1:10, ]) ped <- Pedigree(sampleped[c(3, 4, 10, 35, 36), ]) print(ped) ## ----ped1----------------------------------------------------------------------------------------- ped <- Pedigree(sampleped) print(famid(ped)) ped1 <- ped[famid(ped) == "1"] summary(ped1) plot(ped1) ## ----ped1_title----------------------------------------------------------------------------------- plot(ped1, title = "Pedigree 1", legend = TRUE, leg_loc = c(5, 15, 4.5, 5)) ## ----datped2-------------------------------------------------------------------------------------- datped2 <- sampleped[sampleped$famid == 2, ] datped2[datped2$id %in% 203, "sex"] <- 2 datped2 <- datped2[-which(datped2$id %in% 209), ] ## ----fixped2-------------------------------------------------------------------------------------- tryout <- try({ ped2 <- Pedigree(datped2) }) fixped2 <- with(datped2, fix_parents(id, dadid, momid, sex)) fixped2 ped2 <- Pedigree(fixped2) plot(ped2) ## ----calc_kinship--------------------------------------------------------------------------------- kin2 <- kinship(ped2) kin2[1:9, 1:9] ## ----kin_all-------------------------------------------------------------------------------------- ped <- Pedigree(sampleped) kin_all <- kinship(ped) kin_all[1:9, 1:9] kin_all[40:43, 40:43] kin_all[42:46, 42:46] ## ----kin_twins------------------------------------------------------------------------------------ reltwins <- as.data.frame(rbind(c(206, 207, 1, 2), c(125, 126, 1, 1))) colnames(reltwins) <- c("indId1", "indId2", "code", "family") ped <- Pedigree(sampleped, reltwins) kin_all <- kinship(ped) kin_all[24:27, 24:27] kin_all[46:50, 46:50] ## ----status--------------------------------------------------------------------------------------- df2 <- sampleped[sampleped$famid == 2, ] names(df2) df2$status <- c(1, 1, rep(0, 12)) ped2 <- Pedigree(df2) summary(status(ped(ped2))) plot(ped2) ## ----labels--------------------------------------------------------------------------------------- mcols(ped2)$Names <- c( "John\nDalton", "Linda", "Jack", "Rachel", "Joe", "Deb", "Lucy", "Ken", "Barb", "Mike", "Matt", "Mindy", "Mark", "Marie\nCurie" ) plot(ped2, label = "Names") ## ----two_affection-------------------------------------------------------------------------------- mcols(ped2)$bald <- as.factor(c(0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1)) ped2 <- generate_colors(ped2, col_aff = "bald", add_to_scale = TRUE) plot(ped2, legend = TRUE) ## ----twins---------------------------------------------------------------------------------------- ## create twin relationships rel_df <- data.frame( indId1 = c("210", "212"), indId2 = c("211", "213"), code = c(1, 3), family = c("2", "2") ) rel(ped2) <- upd_famid_id(with(rel_df, Rel(indId1, indId2, code, family))) plot(ped2) ## ----inbreeding----------------------------------------------------------------------------------- indid <- 195:202 dadid <- c(NA, NA, NA, 196, 196, NA, 197, 199) momid <- c(NA, NA, NA, 195, 195, NA, 198, 200) sex <- c(2, 1, 1, 2, 1, 2, 1, 2) ped3 <- data.frame( id = indid, dadid = dadid, momid = momid, sex = sex ) ped4df <- rbind.data.frame(df2[-c(1, 2), 2:5], ped3) ped4 <- Pedigree(ped4df) plot(ped4) ## ----spouse--------------------------------------------------------------------------------------- ## create twin relationships rel_df2 <- data.frame( id1 = "211", id2 = "212", code = 4, famid = "2" ) new_rel <- c(rel(ped2), with(rel_df2, Rel(id1, id2, code, famid))) rel(ped2) <- upd_famid_id(new_rel) plot(ped2) ## ----plotped1------------------------------------------------------------------------------------- df1 <- sampleped[sampleped$famid == 1, ] relate1 <- data.frame( id1 = 113, id2 = 114, code = 4, famid = 1 ) ped1 <- Pedigree(df1, relate1) plot(ped1) ## ----ordering------------------------------------------------------------------------------------- df1reord <- df1[c(35:41, 1:34), ] ped1reord <- Pedigree(df1reord, relate1) plot(ped1reord) ## ----scales modif--------------------------------------------------------------------------------- scales(ped1) fill(ped1)$fill <- c("green", "blue", "purple") fill(ped1)$density <- c(30, 15, NA) fill(ped1)$angle <- c(45, 0, NA) border(ped1)$border <- c("red", "black", "orange") plot(ped1, legend = TRUE) ## ----ped2df, eval = FALSE------------------------------------------------------------------------- # dfped2 <- as.data.frame(ped(ped2)) # dfped2 ## ----subset--------------------------------------------------------------------------------------- ped2_rm210 <- ped2[-10] rel(ped2_rm210) rel(ped2) ## ----subset_more---------------------------------------------------------------------------------- ped2_trim210 <- subset(ped2, "2_210", keep = FALSE) id(ped(ped2_trim210)) rel(ped2_trim210) ped2_trim_more <- subset(ped2_trim210, c("2_212", "2_214"), keep = FALSE) id(ped(ped2_trim_more)) rel(ped2_trim_more) ## ----shrink1-------------------------------------------------------------------------------------- set.seed(200) shrink1_b30 <- shrink(ped1, max_bits = 30) print(shrink1_b30[c(2:8)]) plot(shrink1_b30$pedObj) ## ----shrink2-------------------------------------------------------------------------------------- set.seed(10) shrink1_b25 <- shrink(ped1, max_bits = 25) print(shrink1_b25[c(2:8)]) plot(shrink1_b25$pedObj) ## ----unrelateds----------------------------------------------------------------------------------- ped2 <- Pedigree(df2) set.seed(10) set1 <- unrelated(ped2) set1 set2 <- unrelated(ped2) set2 ## ----unrelkin------------------------------------------------------------------------------------- df2 is_avail <- df2$id[df2$avail == 1] kin2[is_avail, is_avail] ## ------------------------------------------------------------------------------------------------- sessionInfo()