Aqui faremos os ajustes do grupos gerados a partir dos dados com novos marcadores (disponível aqui) conforme o mapa já pulicado. Para mais informações acesse a página principal.

1 Carregando os dados

library(onemap)

ref <- read.csv(file = "LG.csv", stringsAsFactors = FALSE)

data1 <- read_mapmaker(file = "data_with_head.raw")
LOD <- suggest_lod(data1)
rf2points <- rf_2pts(data1, LOD = LOD, max.rf = 0.5)


load("LGs_force_HMM_Markers_First_Check.RData")
load("LGs_safe_HMM_Markers_First_Check.RData")

2 Unindo grupos 1 e 13 correspondentes ao LG1 do mapa de referência

load(file = "LG1.Rdata")
load(file = "LG13.Rdata")

seq1_13 <- c(LG1$seq.num, LG13.ord.seq$seq.num)

seq1_13_mk <- make_seq(rf2points, seq1_13)

group_LG1_13 <- group(seq1_13_mk, LOD = 4.1)
##    Selecting markers: 
##    group    1 
##     ............

Para unir os grupos foi necessário reduzir o limiar em LOD.

2.1 Comparação com o mapa publicado

seq <- group_LG1_13$seq.num

names_seq <- colnames(data1$geno)[seq]

comp <- pos <- lgs <- pos2 <- num_lgs <- list()
for (i in 1:length(ref)){
  comp[[i]] <- ref[[i]] %in% names_seq
  pos[[i]] <- which(comp[[i]] == TRUE)
  lgs[[i]] <- ref[[i]][pos[[i]]]
  pos2[[i]] <- names_seq %in% lgs[[i]]
  num_lgs[[i]] <- seq[pos2[[i]]]
}
comp
## [[1]]
##  [1]  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE FALSE
## [12]  TRUE FALSE FALSE FALSE FALSE FALSE
## 
## [[2]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[3]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[4]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[5]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[6]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[7]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[8]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[9]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[10]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[11]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[12]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[13]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[14]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE

2.2 Juntando os grupos com HMM

LG1.ord <- order_seq(seq1_13_mk)

LG1.ord.seq <- make_seq(LG1.ord, "force")

rf_graph_table(LG1.ord.seq, scale = 2.2,
               inter = FALSE)

2.3 Removendo marcadores duvidosos

Temp <- c(231)

Exc <- LG1.ord.seq$seq.num %in% Temp

pos <- which(Exc == TRUE)

LG1.Exc <- LG1.ord.seq$seq.num[-pos]

LG1 <- make_seq(rf2points, LG1.Exc)

LG1.ord <- order_seq(LG1, n.init = 5, THRES = 3,
                       touchdown = TRUE, draw.try = FALSE)


LG1.1.ord.seq <- make_seq(LG1.ord, "force")

rf_graph_table(LG1.1.ord.seq, scale = 2.2,
               inter = FALSE)

ord1 <- LG1.1.ord.seq$seq.num
names_seq <- colnames(data1$geno)[ord1]

LG1.trash1 <- LG1.1.ord.seq

save(LG1.trash1, file = "LG1.trash1.Rdata")

Dos marcadores antigos que estavam presentes no conjunto de dados, apenas retiramos o marcador AAT333.

2.4 Breve avaliação para verificar a presença de todos os marcadores do mapa publicado

Verificando se os marcadores antigos estão presentes nesse novo conjunto de dados sem dos marcadores com desvios na segregação.

ref_tot <- as.vector(as.matrix(ref))
ref_tot_filt <- ref_tot[-which(ref_tot == "")]

comp <- ref_tot_filt %in% colnames(data1$geno) 
pos <- which(comp == FALSE)
incomp <- ref_tot_filt[pos]  

length(incomp)
## [1] 39

Muitos dos marcadores que compunham o grupo 1 no mapa de referência apresentavam desvio na segregação. Posteriormente tentaremos encaixá-los

data <- read_mapmaker(file = "m_feb06.raw")
##  --Read the following data:
##  Type of cross:          f2 
##  Number of individuals:  287 
##  Number of markers:      418 
##  Missing trait values:       
##    fl: 11 
##    fs: 19 
##    ft: 11 
##    ll: 20 
##    nv: 12 
##    pa: 35 
##   pal: 11 
##    pv: 12 
##    sa: 11 
##    sl: 11 
##    ss: 28 
##    tl: 11 
##    tp: 12 
##    tw: 11 
##    vi: 12 
##    ww: 11
comp <- ref_tot_filt %in% colnames(data$geno)
pos <- which(comp == FALSE)
missing <- ref_tot_filt[pos]
missing
##  [1] "AA173c" "CA389c" "CC385c" "BC586c" "AA374c" "CA183c" "AA186c"
##  [8] "BA279c" "BD316c" "AA454c" "AA118c" "CC171c" "AA371c" "CA258c"
## [15] "BB103c" "CYCLB"  "CC338c" "BA396c" "AA153c" "BC526c" "AAT356"
## [22] "CYCLA"  "BA245c" "AA296c" "CB263c"

Alem disso, seria necessário padronizar o nome de 25 dos marcadores do mapa antigo que não estão compatíveis com os nomes do novo conjunto de dados.

3 Unindo grupos 14 e 9 referentes ao grupo 14 do mapa publicado

load("LG14.Rdata")
load("LG9.Rdata")


seq9_14 <- c(LG14.ord.seq$seq.num, LG9.ord.seq$seq.num)

seq9_14_mk <- make_seq(rf2points, seq9_14)

group_LG9_14 <- group(seq9_14_mk, LOD = 4.1)
##    Selecting markers: 
##    group    1 
##     ................

3.1 Comparação com o mapa publicado

seq <- group_LG9_14$seq.num

names_seq <- colnames(data1$geno)[seq]

comp <- pos <- lgs <- pos2 <- num_lgs <- list()
for (i in 1:length(ref)){
  comp[[i]] <- ref[[i]] %in% names_seq
  pos[[i]] <- which(comp[[i]] == TRUE)
  lgs[[i]] <- ref[[i]][pos[[i]]]
  pos2[[i]] <- names_seq %in% lgs[[i]]
  num_lgs[[i]] <- seq[pos2[[i]]]
}
comp
## [[1]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[2]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[3]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[4]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[5]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[6]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[7]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[8]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[9]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[10]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[11]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[12]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[13]]
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE
## 
## [[14]]
##  [1] FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE

3.2 Juntando os grupos com HMM

LG14.ord <- order_seq(seq9_14_mk)

LG14.ord.seq <- make_seq(LG14.ord, "force")

rf_graph_table(LG14.ord.seq, scale = 2.2,
               inter = FALSE)

LG14.trash1 <- LG14.ord.seq

save(LG14.trash1, file = "LG14.trash1.Rdata")

Mantemos todos os marcadores, ficamos na dúvida quanto ao 223, mas a presença dele não altera muito o tamanho do mapa.