As part of the homework of the class of Biometrics of Genetic Markers, offered by Dsc. Antonio Augusto Franco Garcia, ESALQ-USP, we constructed a genetic linkage map of an backcrosses population using software OneMap Version 2.0.7. The QTL mapping studies were conducted using R/qtl software version 1.40-8
rm(list = ls());ls()
## character(0)
setwd("C:\\Users\\alex\\Desktop\\bio")
getwd()
## [1] "C:/Users/alex/Desktop/bio"
#setRepositories(ind = 1:2)
#install.packages("onemap", dependencies=TRUE)
#install.packages("devtools")
library(devtools)
#install_github("augusto-garcia/onemap")
library(onemap)
list.files()
## [1] "1.pdf"
## [2] "1.png"
## [3] "2.pdf"
## [4] "3.pdf"
## [5] "EnsayoR.html"
## [6] "EnsayoR.Rmd"
## [7] "F2.txt"
## [8] "fake_f2_onemap.map"
## [9] "fake_f2_qtl.cro"
## [10] "fake_f2_qtl.cro.bak"
## [11] "fake_f2_qtl.map"
## [12] "fake_f2_qtl.map.bak"
## [13] "Genetic Map.Rmd"
## [14] "Genetic Map2.Rmd"
## [15] "Genetic_Map.html"
## [16] "Genetic_Map.knit.md"
## [17] "Genetic_Map.Rmd"
## [18] "Genetic_Map.utf8.md"
## [19] "Genetic_Map2.html"
## [20] "m_feb06.raw"
## [21] "MapF2.R"
## [22] "MapF2html.Rmd"
## [23] "MapRC.R"
## [24] "mimi2.png"
## [25] "mimulus-guttatus12.jpg"
## [26] "Mimulus.R"
## [27] "My Movie.wlmp"
## [28] "P0G2.pdf"
## [29] "P1G2.pdf"
## [30] "P2G2.pdf"
## [31] "P3G2.pdf"
## [32] "P4G2.pdf"
## [33] "P5G2.pdf"
## [34] "P6G2.pdf"
## [35] "P7G2.pdf"
## [36] "P8G2.pdf"
## [37] "P9G2.pdf"
## [38] "QTL Analysis - Interval Mapping - backcrosses populations.Rmd"
## [39] "QTL Analysis Interval Mapping backcrosses populations.Rmd"
## [40] "QTL_Analysis_-_Interval_Mapping_-_backcrosses_populations.Rmd"
## [41] "QTL_Analysis_Interval_Mapping_backcrosses_populations.Rmd"
## [42] "QTLanalysis.html"
## [43] "QTLanalysis.Rmd"
## [44] "RC.map"
## [45] "RC.txt"
## [46] "RC2.Rmd"
## [47] "RC3.R"
## [48] "RConemap.xlsx"
## [49] "rsconnect"
RC<-read_mapmaker(dir = "C:/Users/alex/Desktop/bio", file = "RC.txt" )
## --Read the following data:
## Type of cross: backcross
## Number of individuals: 103
## Number of markers: 14
## Missing trait values:
## BW: 0
FR<-rf_2pts(RC, LOD = 3, max.rf = 0.37, verbose = TRUE)
## Computing 91 recombination fractions ...
GL<-make_seq(FR,"all")
GRL <- group(GL)
## Selecting markers:
## group 1
## ..............
LG1 <- make_seq(FR,"all")
LG2_rcd_f2 <- rcd(LG1)
##
## order obtained using RCD algorithm:
##
## 1 2 3 4 5 6 7 8 9 10 11 12 13 14
##
## calculating multipoint map using tol = 1e-04 .
LG2_rcd_final <- order_seq(input.seq = LG2_rcd_f2, n.init = 5,
subset.search = "twopt",
twopt.alg = "rcd", THRES = 3,
draw.try = FALSE, wait = 1)
##
## Cross type: backcross
## Choosing initial subset using 'two-point' approach
##
## order obtained using RCD algorithm:
##
## 1 2 3 4 5 6 7 8 9 10 11 12 13 14
##
## calculating multipoint map using tol = 0.1 .
##
##
## Comparing 60 orders:
##
##
|
| | 0%
|
|= | 2%
|
|== | 3%
|
|=== | 5%
|
|==== | 7%
|
|===== | 8%
|
|====== | 10%
|
|======== | 12%
|
|========= | 13%
|
|========== | 15%
|
|=========== | 17%
|
|============ | 18%
|
|============= | 20%
|
|============== | 22%
|
|=============== | 23%
|
|================ | 25%
|
|================= | 27%
|
|================== | 28%
|
|==================== | 30%
|
|===================== | 32%
|
|====================== | 33%
|
|======================= | 35%
|
|======================== | 37%
|
|========================= | 38%
|
|========================== | 40%
|
|=========================== | 42%
|
|============================ | 43%
|
|============================= | 45%
|
|============================== | 47%
|
|=============================== | 48%
|
|================================ | 50%
|
|================================== | 52%
|
|=================================== | 53%
|
|==================================== | 55%
|
|===================================== | 57%
|
|====================================== | 58%
|
|======================================= | 60%
|
|======================================== | 62%
|
|========================================= | 63%
|
|========================================== | 65%
|
|=========================================== | 67%
|
|============================================ | 68%
|
|============================================== | 70%
|
|=============================================== | 72%
|
|================================================ | 73%
|
|================================================= | 75%
|
|================================================== | 77%
|
|=================================================== | 78%
|
|==================================================== | 80%
|
|===================================================== | 82%
|
|====================================================== | 83%
|
|======================================================= | 85%
|
|======================================================== | 87%
|
|========================================================= | 88%
|
|========================================================== | 90%
|
|============================================================ | 92%
|
|============================================================= | 93%
|
|============================================================== | 95%
|
|=============================================================== | 97%
|
|================================================================ | 98%
|
|=================================================================| 100%
##
##
##
## Running try algorithm
## 2 --> M2 : ......
## 3 --> M3 : .......
## 5 --> M5 : .......
## 6 --> M6 : ........
## 7 --> M7 : .........
## 9 --> M9 : ..........
## 10 --> M10 : ..........
## 12 --> M12 : ...........
## 13 --> M13 : ...........
##
## LOD threshold = 3
##
## Positioned markers: 1 2 4 5 6 7 8 10 11 13 14
##
## Markers not placed on the map: 3 9 12
##
##
## Calculating LOD-Scores
## 3 --> M3 : ............
## 9 --> M9 : ............
## 12 --> M12 : ............
##
##
## Placing remaining marker(s) at most likely position
## 9 --> M9 : ............
## 3 --> M3 : .............
## 12 --> M12 : ..............
##
## Estimating final genetic map using tol = 10E-5.
Ligação_grupo_1 <- make_seq(LG2_rcd_final, "force")
ripple_seq(Ligação_grupo_1,ws = 5, LOD =6)
## 1-2-3-4-5-|-6-...
## Alternative orders:
## 1 2 3 4 5 ... : 0.00
## 1 3 2 4 5 ... : -3.24
## 1 2 4 3 5 ... : -3.58
## 1 4 3 2 5 ... : -5.58
##
## ...-1-|-2-3-4-5-6-|-7-...
## Alternative orders:
## 2 3 4 5 6 ... : 0.00
## 3 2 4 5 6 ... : -3.24
## 2 4 3 5 6 ... : -3.58
## 4 3 2 5 6 ... : -5.58
##
## ...-2-|-3-4-5-6-7-|-8-...
## Alternative orders:
## ... 3 4 5 6 7 ... : 0.00
## ... 4 3 5 6 7 ... : -3.58
##
## ...-3-|-4-5-6-7-8-|-9-... OK
##
## ...-4-|-5-6-7-8-9-|-10-...
## Alternative orders:
## ... 5 6 7 8 9 ... : 0.00
## ... 5 6 7 9 8 ... : -3.24
##
## ...-5-|-6-7-8-9-10-|-11-...
## Alternative orders:
## ... 6 7 8 9 10 ... : 0.00
## ... 6 7 9 8 10 ... : -3.24
##
## ...-6-|-7-8-9-10-11-|-12-...
## Alternative orders:
## ... 7 8 9 10 11 ... : 0.00
## ... 7 9 8 10 11 ... : -3.24
## ... 7 8 9 11 10 ... : -3.36
##
## ...-7-|-8-9-10-11-12-|-13-...
## Alternative orders:
## ... 8 9 10 11 12 ... : 0.00
## ... 8 9 10 12 11 ... : -3.02
## ... 9 8 10 11 12 ... : -3.24
## ... 8 9 11 10 12 ... : -3.36
##
## ...-8-|-9-10-11-12-13-|-14-...
## Alternative orders:
## ... 9 10 11 12 13 : 0.00
## ... 9 10 12 11 13 : -3.02
## ... 9 11 10 12 13 : -3.36
##
## 9-|-10-11-12-13-14
## Alternative orders:
## 10 11 12 13 14 ... : 0.00
## 10 12 11 13 14 ... : -3.02
## 11 10 12 13 14 ... : -3.36
rf_graph_table(Ligação_grupo_1, axis.cex=1, inter=FALSE)
map<-list(Ligação_grupo_1)
Genetic Map estimated using data from a population of backcrossing with OneMap version 2.0.7
draw_map(map, names= TRUE, horizontal = TRUE,grid=TRUE, cex.mrk=1, cex.grp = 1)
write_map(map,"RC.map")
#install.packages("qtl")
library(qtl)
raw_file <- paste(system.file("extdata", package = "onemap"),
"RC.txt", sep = "\\")
fake_f2_qtl <- read.cross("mm", file = "C:\\Users\\alex\\Desktop\\bio\\RC.txt",
mapfile = "RC.map")
## --Read the following data:
## Type of cross: bc
## Number of individuals: 103
## Number of markers: 14
## Number of phenotypes: 1
## --Cross type: bc
str(raw_file)
## chr "C:/Users/alex/Documents/R/win-library/3.4/onemap/extdata\\RC.txt"
Finally, we can run an interval mapping analysis for these data using the R/qtl version 1.40-8 software, function called scanone
fake_f2_qtl <- calc.genoprob(fake_f2_qtl, step = 2)
out_em <- scanone(fake_f2_qtl, method = "em")
out_hk <- scanone(fake_f2_qtl, method = "hk")
plot(out_em, out_hk, col = c("blue", "red"))
Here we performed an interval mapping using two methods: mixture models with EM algorithm and Haley-Knott regression. The blue lines indicate the first model and the red lines indicate the latter. We can observe that there is no apparent difference between the two models. Besides, both indicate a possible formation of QTL between position 10 and 30 in the map. Also, with the two mapping models it is difficult to dicard out the formation of false QTLs.