From 95ff85f021159ca2a1b39104fa046ce6b5a6ff04 Mon Sep 17 00:00:00 2001 From: Waldir Leoncio Date: Thu, 27 Jan 2022 11:16:32 +0100 Subject: [PATCH 1/3] Added read.genepop() to greedyMix() (closes #19) --- R/greedyMix.R | 11 +- .../ext/GENEPOP_format_trained_clustering.gen | 108 ++++++++++++++++++ 2 files changed, 117 insertions(+), 2 deletions(-) create mode 100644 inst/ext/GENEPOP_format_trained_clustering.gen diff --git a/R/greedyMix.R b/R/greedyMix.R index 3988510..624c529 100644 --- a/R/greedyMix.R +++ b/R/greedyMix.R @@ -5,6 +5,7 @@ #' @importFrom utils read.delim #' @importFrom vcfR read.vcfR #' @importFrom Rsamtools scanBam +#' @importFrom adegenet read.genepop .readExt #' @references Samtools: a suite of programs for interacting #' with high-throughput sequencing data. #' @export @@ -33,8 +34,14 @@ greedyMix <- function(data, format, verbose = TRUE) { } else if (format == "bam") { out <- Rsamtools::scanBam(data) } else if (format == "genepop") { - # TODO #19: implement load_genepop() - stop("GenePop files not yet supported.") + if (toupper(adegenet::.readExt(data)) == "TXT") { + message("Creating a copy of the file with the .gen extension") + dataGen <- gsub("txt", "gen", data) + file.copy(data, dataGen) + out <- adegenet::read.genepop(dataGen) + } else { + out <- adegenet::read.genepop(data) + } } else { stop("Format not supported.") } diff --git a/inst/ext/GENEPOP_format_trained_clustering.gen b/inst/ext/GENEPOP_format_trained_clustering.gen new file mode 100644 index 0000000..d3f700c --- /dev/null +++ b/inst/ext/GENEPOP_format_trained_clustering.gen @@ -0,0 +1,108 @@ +Baseline data for trained clustering +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +POP +Area1_1, 1717 1111 0000 0404 0505 0606 0707 1212 0707 1212 +Area1_2, 0909 1010 0505 0404 0505 1010 0707 1111 0707 1212 +Area1_3, 0000 1010 1414 0404 0505 0606 1111 1212 0707 1212 +Area1_4, 1111 1010 1515 0404 0101 0606 1313 1111 0707 0808 +Area1_5, 0101 1010 1212 0404 0505 0606 0909 1212 0707 1212 +Area1_6, 1111 1010 1414 0404 0505 0606 1111 1212 0707 1010 +Area1_7, 1515 1010 0707 0404 0505 0606 0707 1212 0707 1212 +Area1_8, 1515 1212 0606 0404 0505 0606 1616 1212 0707 1010 +Area1_9, 0909 1010 1010 0404 0505 0606 1919 1212 0707 1010 +Area1_10, 0000 0000 0000 0404 0505 0606 1111 1010 0707 0000 +Area1_11, 0000 0000 0000 0404 0505 0505 1919 1212 0404 1111 +Area1_12, 1515 1010 0606 0404 0505 0606 1616 1212 0202 1212 +Area1_13, 1515 1010 1515 0404 0505 0606 0707 0606 0707 1212 +Area1_14, 0505 1010 1919 0404 0202 0606 1111 1010 0202 1212 +Area1_15, 1111 1010 1414 0404 0505 0606 1616 0606 0707 1212 +Area1_16, 1515 1212 0000 0404 0505 0606 1919 1212 0707 1212 +Area1_17, 1515 1010 1515 0404 0505 0606 1919 1212 0707 1212 +Area1_18, 1515 1010 1212 0404 0505 0606 0909 1212 0707 1010 +Area1_19, 1515 1212 0606 0404 0505 0606 1515 1212 0707 1212 +Area1_20, 1717 1414 1717 0404 0505 0606 0808 1212 0707 0808 +Area1_21, 1515 1212 1212 0404 0505 0606 0808 1818 0707 1212 +Area1_22, 1313 1111 1212 0404 0505 0606 1313 1212 0707 1212 +Area1_23, 1515 1212 1212 0404 0505 0606 1313 1010 0707 1212 +Area1_24, 0000 0000 0000 0404 0505 0606 1919 1212 0404 0000 +Area1_25, 0000 0000 0000 0404 0202 0101 1919 1919 0707 1212 +Area1_26, 1313 1010 0202 0404 0505 0606 1717 1212 0707 1212 +POP +Area2_1, 1706 0505 1212 0404 0606 0808 1309 1111 0909 1413 +Area2_2, 1511 0707 1209 0404 0602 0808 1111 1004 0902 1310 +Area2_3, 1711 0000 1412 0402 0000 0000 1913 1002 0000 1313 +Area2_4, 1715 1515 1412 0404 0505 0604 1313 1010 1007 1309 +Area2_5, 1515 1515 1412 0404 0505 0606 1515 1111 0707 0908 +Area2_6, 1309 0000 1212 0404 0603 0802 1311 1204 0903 1309 +Area2_7, 1313 0505 1212 0404 0606 0808 1616 1414 0909 1206 +Area2_8, 1307 0707 1212 0404 0606 0808 1313 1004 0909 1313 +Area2_9, 0000 1212 1209 0404 0505 0606 0000 1106 0707 1208 +Area2_10, 1307 0000 1212 0404 0606 0806 1313 1005 0909 1111 +Area2_11, 0000 0707 1409 0505 0606 0808 1616 1110 0909 1309 +Area2_12, 1807 0000 1212 0505 0606 0000 0909 0401 0909 1309 +Area2_13, 1511 1212 1212 0404 0505 0604 1313 1110 0707 1210 +Area2_14, 1111 1515 1412 0505 0606 0808 1414 1004 0909 1313 +Area2_15, 1817 0707 1212 0505 0707 0909 1111 1004 0909 1313 +Area2_16, 1913 1511 1212 0404 0606 0000 0909 1212 0909 1313 +Area2_17, 1515 0000 0000 0000 0505 1006 1313 1005 0707 1212 +Area2_18, 0707 0606 1408 0404 0202 0101 1313 1615 0202 1307 +Area2_19, 0707 1309 0909 0502 0202 0101 2009 1510 0202 0704 +POP +Area3_1, 1507 0706 1212 0202 0202 0000 0905 1409 0202 0707 +Area3_2, 1507 1313 1212 0202 0202 0101 1613 1510 0202 0807 +Area3_3, 1313 1414 1212 0404 0202 0101 1909 1510 0202 0704 +Area3_4, 1515 0909 1212 0502 0202 0101 1409 1210 0202 0807 +Area3_5, 1515 0808 1212 0502 0202 0101 1111 1510 0202 1007 +Area3_6, 1306 0909 1212 0202 0202 0101 0807 1512 0202 0707 +Area3_7, 0000 1009 1212 0404 0202 0101 1109 0702 0202 0808 +Area3_8, 1507 0606 1212 0404 0202 0101 1908 1409 0202 0707 +Area3_9, 1515 0606 1212 0202 0202 0101 0909 1510 0202 1207 +Area3_10, 1307 1010 1412 0202 0202 0101 1709 1615 0202 1207 +Area3_11, 1307 1005 1212 0404 0202 0101 1709 1510 0202 0703 +Area3_12, 1109 0902 1212 0404 0202 0101 0909 1002 0202 1207 +Area3_13, 1307 0606 1412 0404 0202 0101 0807 1515 0202 1207 +Area3_14, 1717 1407 1212 0404 0202 0101 1107 1409 0202 0805 +Area3_15, 1307 1007 1412 0404 0505 0101 0909 0000 0202 0807 +Area3_16, 1811 0000 1212 0404 0505 0000 1515 0707 0000 1212 +Area3_17, 1907 1414 1512 0402 0705 0000 0000 0000 0909 1212 +POP +Area4_1, 1311 2019 1212 0404 0505 0000 1919 0707 0707 1109 +Area4_2, 1309 2018 1512 0404 0505 0000 1919 0808 0707 1111 +Area4_3, 1509 2118 1212 0404 0505 0000 1515 0707 0707 1107 +Area4_4, 1715 2221 1512 0404 0505 0000 1919 0707 0707 1111 +Area4_5, 1515 2121 1512 0404 0505 0000 1515 0707 0606 0707 +Area4_6, 1717 2222 1512 0404 0505 0000 1913 0707 0707 0907 +Area4_7, 1715 2221 1512 0404 0505 0000 1313 0707 0606 1111 +Area4_8, 1813 2320 1512 0404 0505 0000 1515 0707 0707 1107 +Area4_9, 1311 2019 1512 0404 0505 0000 1515 0707 0707 1111 +Area4_10, 1311 2019 1512 0000 0505 0000 1313 0707 0707 0909 +Area4_11, 1111 2625 0000 0000 0505 0606 0707 0903 0505 0505 +Area4_12, 0907 2724 0000 0404 0505 0605 1914 1105 0505 0707 +Area4_13, 1511 1610 1212 0404 0505 0605 1513 1105 1107 0704 +Area4_14, 1513 0404 1111 0404 0505 0606 1515 1111 1207 1107 +Area4_15, 1311 1616 1212 0404 0505 0606 1313 1111 0707 1107 +Area4_16, 1109 0606 1212 0404 0000 0000 1515 0902 0807 0505 +Area4_17, 1107 1004 1506 0404 0505 0606 1515 1212 0707 1108 +Area4_18, 1107 0904 1512 0404 0505 0606 1913 1105 1107 1107 +Area4_19, 1109 1313 1212 0404 0505 0606 1915 1111 1007 1107 +Area4_20, 1711 1604 1212 0404 0505 0606 1915 1212 1107 1007 +Area4_21, 1111 0606 1515 0404 0505 0606 1707 1009 0807 0502 +Area4_22, 1311 0603 1512 0404 0505 0606 1714 0707 0807 0501 +POP +Area5_1, 0711 1212 1513 0202 0707 0808 1408 0000 0909 1210 +Area5_2, 1118 0101 1212 0202 0803 0901 0808 0000 1101 1211 +Area5_3, 1518 0000 1512 0404 0707 0806 0909 0000 0909 1212 +Area5_4, 1309 0000 1512 0202 0606 0707 1508 0000 0808 1204 +Area5_5, 0718 0000 1512 0402 0707 0806 0707 0000 0909 1208 +Area5_6, 1818 1414 1212 0404 0707 0000 1916 0000 0909 1208 +Area5_7, 1318 1313 1212 0404 0606 0000 1908 0000 0808 1008 +Area5_8, 1818 0000 1212 0404 0000 0806 1616 0000 0808 1212 From 1832ad7a455852650133f0d45367849da91da65e Mon Sep 17 00:00:00 2001 From: Waldir Leoncio Date: Thu, 27 Jan 2022 11:16:47 +0100 Subject: [PATCH 2/3] Increment version number to 0.0.0.9004 --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index dc23fa6..d5c41ec 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: rBAPS Title: Bayesian Analysis of Population Structure -Version: 0.0.0.9003 +Version: 0.0.0.9004 Date: 2020-11-09 Authors@R: c( From 9d1e8f7ae61e90d1da6d02c2d4af5ea6a460c0ff Mon Sep 17 00:00:00 2001 From: Waldir Leoncio Date: Thu, 27 Jan 2022 11:19:10 +0100 Subject: [PATCH 3/3] Adding adegenet to imports --- DESCRIPTION | 2 +- NAMESPACE | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index d5c41ec..04f7a3f 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -40,4 +40,4 @@ RoxygenNote: 7.1.2 Suggests: testthat (>= 2.1.0) Imports: - methods, ape, vcfR, Rsamtools + methods, ape, vcfR, Rsamtools, adegenet diff --git a/NAMESPACE b/NAMESPACE index 05595f3..8b111c8 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -51,6 +51,8 @@ export(uiputfile) export(writeMixtureInfo) import(utils) importFrom(Rsamtools,scanBam) +importFrom(adegenet,.readExt) +importFrom(adegenet,read.genepop) importFrom(ape,as.DNAbin) importFrom(ape,read.FASTA) importFrom(methods,is)