diff --git a/jass/test/data_real/initTable.hdf5 b/jass/test/data_real/initTable.hdf5 index 85a869ff55510f47b6622db2a0c81bfa8e904be5..821bdcc09b2740e389cec2d5049da4fb1b2d3523 100644 Binary files a/jass/test/data_real/initTable.hdf5 and b/jass/test/data_real/initTable.hdf5 differ diff --git a/jass/test/data_real/worktable-withnans.hdf5 b/jass/test/data_real/worktable.hdf5 similarity index 100% rename from jass/test/data_real/worktable-withnans.hdf5 rename to jass/test/data_real/worktable.hdf5 diff --git a/jass/test/data_test1/COV.csv b/jass/test/data_test1/COV.csv new file mode 100644 index 0000000000000000000000000000000000000000..2c45ac17818b90efa5afbc3d58060bf9c65263a8 --- /dev/null +++ b/jass/test/data_test1/COV.csv @@ -0,0 +1,3 @@ +ID z_DISNEY_RATATOUY z_DISNEY_POCAHONT +z_DISNEY_RATATOUY 2.05403006060606 0.394332909090909 +z_DISNEY_POCAHONT 0.394332909090909 1.17729254545455 diff --git a/jass/test/data_test1/SumStatTab.txt b/jass/test/data_test1/SumStatTab.txt new file mode 100644 index 0000000000000000000000000000000000000000..c35ae04ecf7404997a7401dfd84c29a2ef2dfe40 --- /dev/null +++ b/jass/test/data_test1/SumStatTab.txt @@ -0,0 +1,13 @@ +rsid position chr region Z_ratatouy Z_pocahont +rs1 1 1 1 0.812 -1.06 +rs2 2 1 1 2.197 0.937 +rs3 3 1 2 2.049 0.854 +rs4 1 2 3 1.632 1.461 +rs5 2 2 3 0.254 -1.413 +rs6 3 2 4 0.491 0.567 +rs7 4 2 4 -0.324 0.583 +rs8 5 2 4 -1.662 -1.307 +rs9 1 3 5 1.768 -0.54 +rs10 2 3 5 0.026 1.948 +rs11 3 3 6 1.129 0.054 +rs12 4 3 7 -2.38 0.352 diff --git a/jass/test/data_test1/chr.txt b/jass/test/data_test1/chr.txt new file mode 100644 index 0000000000000000000000000000000000000000..337d7e8e0b79701321e9bffec5fd47093cd0a61b Binary files /dev/null and b/jass/test/data_test1/chr.txt differ diff --git a/jass/test/data_test1/initTable.hdf5 b/jass/test/data_test1/initTable.hdf5 new file mode 100644 index 0000000000000000000000000000000000000000..43518edff657babee693ad6a63b453d2fbe434cb Binary files /dev/null and b/jass/test/data_test1/initTable.hdf5 differ diff --git a/jass/test/data_test1/metadata.txt b/jass/test/data_test1/metadata.txt new file mode 100644 index 0000000000000000000000000000000000000000..8eb75e7afde9d6be08b89e2cf8892384a384af5a --- /dev/null +++ b/jass/test/data_test1/metadata.txt @@ -0,0 +1,5 @@ +information content +title Mock dataset with disney +description "lorem ipsum" +ancestry DIS +assembly dSNY diff --git a/jass/test/data_test1/regions.txt b/jass/test/data_test1/regions.txt new file mode 100644 index 0000000000000000000000000000000000000000..c7241b86a4541d8c7d7f5c5ba9e6317e339a64e2 --- /dev/null +++ b/jass/test/data_test1/regions.txt @@ -0,0 +1,8 @@ +chr start stop +chr1 1 2 +chr1 3 4 +chr2 1 2 +chr2 3 5 +chr3 1 2 +chr3 3 3 +chr3 4 4 diff --git a/jass/test/data_test1/summary.csv b/jass/test/data_test1/summary.csv new file mode 100644 index 0000000000000000000000000000000000000000..149b6ca13274a17c43fced1f210ca452e0d7f733 --- /dev/null +++ b/jass/test/data_test1/summary.csv @@ -0,0 +1,3 @@ +Outcome FullName Consortium Type Reference ReferenceLink dataLink internalDataLink Nsample Ncase Ncontrol +RATATOUY Ratatouille ou la mort de l'hygiène en cuisine DISNEY BrainWashing Courgette et al., 1754 http://www.marmiton.org/recettes/recette_ratatouille_23223.asp pouet pouet 1000000 +POCAHONT Pocahontas mange des tapas DISNEY BrainWashing Rolfe et al., 1614 https://fr.wikipedia.org/wiki/Pocahontas Gargar Gargar 1000000 diff --git a/jass/test/data_real/initTable-computed-cov.hdf5 b/jass/test/data_test1/worktable.hdf5 similarity index 67% rename from jass/test/data_real/initTable-computed-cov.hdf5 rename to jass/test/data_test1/worktable.hdf5 index 09c727c19fe74d47c8b6c4d5ca482d2c899a37b6..69f0978b16d217d89fc994c26c296cc397846bb5 100644 Binary files a/jass/test/data_real/initTable-computed-cov.hdf5 and b/jass/test/data_test1/worktable.hdf5 differ diff --git a/jass/test/data_test1/z_DISNEY_POCAHONT_chr1.txt b/jass/test/data_test1/z_DISNEY_POCAHONT_chr1.txt new file mode 100644 index 0000000000000000000000000000000000000000..ded3476cd998c42133d1ca9c4d5d27b3f4b60c22 --- /dev/null +++ b/jass/test/data_test1/z_DISNEY_POCAHONT_chr1.txt @@ -0,0 +1,4 @@ +rsid position refAllele altAllele Z +rs1 1 C T -1.06 +rs2 2 G T 0.937 +rs3 3 C T 0.854 diff --git a/jass/test/data_test1/z_DISNEY_POCAHONT_chr2.txt b/jass/test/data_test1/z_DISNEY_POCAHONT_chr2.txt new file mode 100644 index 0000000000000000000000000000000000000000..d4eec567807c2eec9e6932c02faec9daa46fcf22 --- /dev/null +++ b/jass/test/data_test1/z_DISNEY_POCAHONT_chr2.txt @@ -0,0 +1,6 @@ +rsid position refAllele altAllele Z +rs4 1 G T 1.461 +rs5 2 A T -1.413 +rs6 3 A C 0.567 +rs7 4 A G 0.583 +rs8 5 C G -1.307 diff --git a/jass/test/data_test1/z_DISNEY_POCAHONT_chr3.txt b/jass/test/data_test1/z_DISNEY_POCAHONT_chr3.txt new file mode 100644 index 0000000000000000000000000000000000000000..18264b859cb897c27cc558548820a1d5b2abd83a --- /dev/null +++ b/jass/test/data_test1/z_DISNEY_POCAHONT_chr3.txt @@ -0,0 +1,5 @@ +rsid position refAllele altAllele Z +rs9 1 C T -0.54 +rs10 2 G T 1.948 +rs11 3 A C 0.054 +rs12 4 A C 0.352 diff --git a/jass/test/data_test1/z_DISNEY_RATATOUY_chr1.txt b/jass/test/data_test1/z_DISNEY_RATATOUY_chr1.txt new file mode 100644 index 0000000000000000000000000000000000000000..a4e8fa9cd4ec1ba8dac092aab3230362196e20c3 --- /dev/null +++ b/jass/test/data_test1/z_DISNEY_RATATOUY_chr1.txt @@ -0,0 +1,4 @@ +rsid position refAllele altAllele Z +rs1 1 C T 0.812 +rs2 2 G T 2.197 +rs3 3 C T 2.049 diff --git a/jass/test/data_test1/z_DISNEY_RATATOUY_chr2.txt b/jass/test/data_test1/z_DISNEY_RATATOUY_chr2.txt new file mode 100644 index 0000000000000000000000000000000000000000..86f61ecbd7d6aab1dc8b7655cebfed8fbf272ee6 --- /dev/null +++ b/jass/test/data_test1/z_DISNEY_RATATOUY_chr2.txt @@ -0,0 +1,6 @@ +rsid position refAllele altAllele Z +rs4 1 G T 1.632 +rs5 2 A T 0.254 +rs6 3 A C 0.491 +rs7 4 A G -0.324 +rs8 5 C G -1.662 diff --git a/jass/test/data_test1/z_DISNEY_RATATOUY_chr3.txt b/jass/test/data_test1/z_DISNEY_RATATOUY_chr3.txt new file mode 100644 index 0000000000000000000000000000000000000000..c1959185fdc4e2157ede61fc170790e6c863d8bc --- /dev/null +++ b/jass/test/data_test1/z_DISNEY_RATATOUY_chr3.txt @@ -0,0 +1,5 @@ +rsid position refAllele altAllele Z +rs9 1 C T 1.768 +rs10 2 G T 0.026 +rs11 3 A C 1.129 +rs12 4 A C -2.38 diff --git a/jass/test/data_test2/COV.csv b/jass/test/data_test2/COV.csv new file mode 100644 index 0000000000000000000000000000000000000000..46119fe1b9a6a3eb86a4666fb07f93d318018fa0 --- /dev/null +++ b/jass/test/data_test2/COV.csv @@ -0,0 +1,7 @@ +ID z_BMW_ISETTA z_BMW_MINI z_FIAT_CINQCENT z_FIAT_CINQUECENTO z_MERCO_SMART z_TATA_TATANANO +z_BMW_ISETTA 2 1 1 1 1 1 +z_BMW_MINI 1 2 1 1 1 1 +z_FIAT_CINQCENT 1 1 2 1 1 1 +z_FIAT_CINQUECENTO 1 1 1 2 1 1 +z_MERCO_SMART 1 1 1 1 2 1 +z_TATA_TATANANO 1 1 1 1 1 2 diff --git a/jass/test/data_test2/chr.txt b/jass/test/data_test2/chr.txt new file mode 100644 index 0000000000000000000000000000000000000000..9c5544b333bb58576eb22e68abfca405ed445acb Binary files /dev/null and b/jass/test/data_test2/chr.txt differ diff --git a/jass/test/data_test2/create_unit_test_smart.R b/jass/test/data_test2/create_unit_test_smart.R new file mode 100644 index 0000000000000000000000000000000000000000..71a0e7631b1c5ea8ab8804b94ff984665164ea91 --- /dev/null +++ b/jass/test/data_test2/create_unit_test_smart.R @@ -0,0 +1,87 @@ +## There 6 phenotypes +sumtab <- read.table("summary.txt", sep="\t", header=TRUE, stringsAsFactors = FALSE) +## Zscore ID: z_CONSORITUM_PHENOTYPE_chr#chr.txt +ids <- sprintf("z_%s_%s",sumtab$Consortium, sumtab$Outcome) +## The covariance is set to 1 and the variance to 2 +COV <- toeplitz(c(2,1,1,1,1,1)) +rownames(COV) <- colnames(COV) <- ids + + +## Structure: +# - 5 chromosomes, 2 regions per chromosomes +# - 10 regions, 2 regions per chromosome +# - 30 SNPs, 3 SNPs per region + +## Structure of missing values region per region ; +## ".." means no missing values +## "XX" means the whole region is missing +# +# Z1 Z2 Z3 Z4 Z5 Z6 +# R1 .. .. .. .. .. .. +# R2 .. .. .. .. .. .. +# R3 XX .. .. .. .. .. +# R4 .. XX .. .. .. .. +# R5 .. .. XX .. .. .. +# R6 .. .. .. XX .. .. +# R7 .. .. .. .. XX .. +# R8 .. .. .. .. .. XX +# R9 XX XX XX .. .. .. +# R10 .. .. .. XX XX XX +filenames <- paste0(rep(ids,e=5), "_chr", rep(1:5, 6), ".txt") + +## rsid : rs_#chr_#region_#snp +rsid <- paste0("rs", "_chr", rep(1:5, e=6), # chr + "_reg", sprintf("%02i", rep(1:10, e=3)), # region + "_", sprintf("%02i", 1:30)) # snp +pos <- rep(1:6, 5) +chr <- rep(1:5, e=6) +reg <- rep(1:10, e=3) +ref <- "A" +alt <- "G" +BIGZ <- matrix(1:(30*6), 30, 6) +BIGZ[grep("reg03", rsid),1] <- NA +BIGZ[grep("reg04", rsid),2] <- NA +BIGZ[grep("reg05", rsid),3] <- NA +BIGZ[grep("reg06", rsid),4] <- NA +BIGZ[grep("reg07", rsid),5] <- NA +BIGZ[grep("reg08", rsid),6] <- NA +BIGZ[grep("reg09", rsid),1:3] <- NA +BIGZ[grep("reg10", rsid),4:6] <- NA +rownames(BIGZ) <- rsid + +# What does it look like ? +require(pheatmap) +png("zscores.png", res = 100) +pheatmap(BIGZ, cluster_rows = FALSE, cluster_cols = FALSE, cellwidth = 10, cellheight = 10) +dev.off() +# Create regions + +# Create Z scores + + +# Write covariance matrix +write.table(data.frame(ID=ids, COV), file="COV.csv", row.names = F, quote=F, sep="\t") + +# Write region file +regions <- data.frame(chr=sprintf("chr%i", rep(1:5,e=2)), + start=rep(c(1,4),5), + stop=rep(c(3,6),5)) +write.table(regions, file="regions.txt", row.names = F, quote=F, sep="\t") +# Write all the Z files +k <- 1 +for (j in 1:6) { + for (chrnum in 1:5) { + ind <- grep(sprintf("chr%i", chrnum), rsid) + tmp <- data.frame(rsid = rsid[ind], + pos = pos[ind], + ref=ref, + alt=alt, + Zscore=unname(BIGZ[ind, j])) + write.table(na.omit(tmp), file = filenames[k], quote=FALSE) + k <- k+1 + } +} + +# Compute the summary statistic + + diff --git a/jass/test/data_test2/initTable.hdf5 b/jass/test/data_test2/initTable.hdf5 new file mode 100644 index 0000000000000000000000000000000000000000..b7dc5d7db470bf3819f4617cd3b9e92e1a2c1f0d Binary files /dev/null and b/jass/test/data_test2/initTable.hdf5 differ diff --git a/jass/test/data_test2/metadata.txt b/jass/test/data_test2/metadata.txt new file mode 100644 index 0000000000000000000000000000000000000000..e70e8c5f23fb4ce9142e833a6da916d228e9f001 --- /dev/null +++ b/jass/test/data_test2/metadata.txt @@ -0,0 +1,5 @@ +information content +title Mock dataset with car +description "lorem ipsum" +ancestry CAR +assembly car1 diff --git a/jass/test/data_test2/regions.txt b/jass/test/data_test2/regions.txt new file mode 100644 index 0000000000000000000000000000000000000000..020c4d931922cf1e0b267f44c89dea30e9b73385 --- /dev/null +++ b/jass/test/data_test2/regions.txt @@ -0,0 +1,11 @@ +chr start stop +chr1 1 3 +chr1 4 6 +chr2 1 3 +chr2 4 6 +chr3 1 3 +chr3 4 6 +chr4 1 3 +chr4 4 6 +chr5 1 3 +chr5 4 6 diff --git a/jass/test/data_test2/summary.csv b/jass/test/data_test2/summary.csv new file mode 100644 index 0000000000000000000000000000000000000000..6aef4f3a55b773fa1a7faf0ec0488aba59e3373d --- /dev/null +++ b/jass/test/data_test2/summary.csv @@ -0,0 +1,7 @@ +Outcome FullName Consortium Type Reference ReferenceLink dataLink internalDataLink Nsample Ncase Ncontrol +ISETTA Wer an seine Frau denkt, fahrt Isetta. BMW Pascher Ghirlanda, S., Jansson, L., & Enquist, M. (2002). Chickens prefer beautiful humans. Human Nature, 13(3), 383_389. https://fr.wikipedia.org/wiki/Isetta /data_test2/isetta /data_test2/isetta 1000000 +MINI Matte hi BMW Cher Fardin, M. A. (2014). On the rheology of cats. Rheology Bulletin, 83(2). https://fr.wikipedia.org/wiki/Mini_(1959-2000) /data_test2/mini /data_test2/mini 1000000 +CINQCENT TE baby come on, uh-huh Trackmasters uh-huh FIAT Pascher Liu, J., Li, J., Feng, L., Li, L., Tian, J., & Lee, K. (2014). Seeing Jesus in toast: Neural and behavioral correlates of face pareidolia. Cortex, 53, 60_77. https://www.fiat500nelmondo.it/fr/tag/cinquecento/ /data_test2/cinqcent /data_test2/cinqcent 1000000 +CINQUECENTO Elle a tout d une grande FIAT Cher Royet, J.-P., Meunier, D., Torquet, N., Mouly, A.-M., & Jiang, T. (2016). The Neural Bases of Disgust for Cheese: An fMRI Study. Frontiers in Human Neuroscience, 10, 511. https://doi.org/10.3389/fnhum.2016.00511 https://fr.wikipedia.org/wiki/Cinquecento /data_test2/cinquecento /data_test2/cinquecento 1000000 +SMART Pas assez cher mon fils MERCO Cher Barss, P. (1984). Injuries due to falling coconuts. The Journal of Trauma, 24(11), 990_1. https://fr.wikipedia.org/wiki/Smart /data_test2/smart /data_test2/smart 1000000 +TATANANO Qu est-ce que t as sous ton grand chapeau? TATA Pascher Kruger, J., & Dunning, D. (1999). Unskilled and unaware of it: how difficulties in recognizing ones own incompetence lead to inflated self-assessments. Journal of Personality and Social Psychology, 77(6), 1121_34. https://fr.wikipedia.org/wiki/Tata_Nano /data_test2/tatanano /data_test2/tatanano 1000000 diff --git a/jass/test/data_real/worktable-nonans.hdf5 b/jass/test/data_test2/worktable.hdf5 similarity index 86% rename from jass/test/data_real/worktable-nonans.hdf5 rename to jass/test/data_test2/worktable.hdf5 index 2e1f6526b9f5f2741ed7627bb6f72e12e543ae4f..3f450db54e44deaaebf5df421e71aeb66a69e8ea 100644 Binary files a/jass/test/data_real/worktable-nonans.hdf5 and b/jass/test/data_test2/worktable.hdf5 differ diff --git a/jass/test/data_test2/z_BMW_ISETTA_chr1.txt b/jass/test/data_test2/z_BMW_ISETTA_chr1.txt new file mode 100644 index 0000000000000000000000000000000000000000..ba168c87cb4a0d7a71bb9e345e8e52058f81c6c6 --- /dev/null +++ b/jass/test/data_test2/z_BMW_ISETTA_chr1.txt @@ -0,0 +1,7 @@ +rsid position refAllele altAllele Z +rs_chr1_reg01_01 1 A G 1.001 +rs_chr1_reg01_02 2 A G 2.001 +rs_chr1_reg01_03 3 A G 3.001 +rs_chr1_reg02_04 4 A G 4.001 +rs_chr1_reg02_05 5 A G 5.001 +rs_chr1_reg02_06 6 A G 6.001 diff --git a/jass/test/data_test2/z_BMW_ISETTA_chr2.txt b/jass/test/data_test2/z_BMW_ISETTA_chr2.txt new file mode 100644 index 0000000000000000000000000000000000000000..f654684b8edbad4b0c8570e6e673a898bf3968e8 --- /dev/null +++ b/jass/test/data_test2/z_BMW_ISETTA_chr2.txt @@ -0,0 +1,4 @@ +rsid position refAllele altAllele Z +rs_chr2_reg04_10 4 A G 10.001 +rs_chr2_reg04_11 5 A G 11.001 +rs_chr2_reg04_12 6 A G 12.001 diff --git a/jass/test/data_test2/z_BMW_ISETTA_chr3.txt b/jass/test/data_test2/z_BMW_ISETTA_chr3.txt new file mode 100644 index 0000000000000000000000000000000000000000..30b5fefe1978c0e8d5b8002adcebc6f674bab97b --- /dev/null +++ b/jass/test/data_test2/z_BMW_ISETTA_chr3.txt @@ -0,0 +1,7 @@ +rsid position refAllele altAllele Z +rs_chr3_reg05_13 1 A G 13.001 +rs_chr3_reg05_14 2 A G 14.001 +rs_chr3_reg05_15 3 A G 15.001 +rs_chr3_reg06_16 4 A G 16.001 +rs_chr3_reg06_17 5 A G 17.001 +rs_chr3_reg06_18 6 A G 18.001 diff --git a/jass/test/data_test2/z_BMW_ISETTA_chr4.txt b/jass/test/data_test2/z_BMW_ISETTA_chr4.txt new file mode 100644 index 0000000000000000000000000000000000000000..f5269355934349a3552ac1421a1761b3e57c9af4 --- /dev/null +++ b/jass/test/data_test2/z_BMW_ISETTA_chr4.txt @@ -0,0 +1,7 @@ +rsid position refAllele altAllele Z +rs_chr4_reg07_19 1 A G 19.001 +rs_chr4_reg07_20 2 A G 20.001 +rs_chr4_reg07_21 3 A G 21.001 +rs_chr4_reg08_22 4 A G 22.001 +rs_chr4_reg08_23 5 A G 23.001 +rs_chr4_reg08_24 6 A G 24.001 diff --git a/jass/test/data_test2/z_BMW_ISETTA_chr5.txt b/jass/test/data_test2/z_BMW_ISETTA_chr5.txt new file mode 100644 index 0000000000000000000000000000000000000000..be6510ece435217aad150b535b63a6c7a3b36843 --- /dev/null +++ b/jass/test/data_test2/z_BMW_ISETTA_chr5.txt @@ -0,0 +1,4 @@ +rsid position refAllele altAllele Z +rs_chr5_reg10_28 4 A G 28.001 +rs_chr5_reg10_29 5 A G 29.001 +rs_chr5_reg10_30 6 A G 30.001 diff --git a/jass/test/data_test2/z_BMW_MINI_chr1.txt b/jass/test/data_test2/z_BMW_MINI_chr1.txt new file mode 100644 index 0000000000000000000000000000000000000000..fe30e814732cf650b50b165aecfe015eabb061bc --- /dev/null +++ b/jass/test/data_test2/z_BMW_MINI_chr1.txt @@ -0,0 +1,7 @@ +rsid position refAllele altAllele Z +rs_chr1_reg01_01 1 A G 31.001 +rs_chr1_reg01_02 2 A G 32.001 +rs_chr1_reg01_03 3 A G 33.001 +rs_chr1_reg02_04 4 A G 34.001 +rs_chr1_reg02_05 5 A G 35.001 +rs_chr1_reg02_06 6 A G 36.001 diff --git a/jass/test/data_test2/z_BMW_MINI_chr2.txt b/jass/test/data_test2/z_BMW_MINI_chr2.txt new file mode 100644 index 0000000000000000000000000000000000000000..8d43408a9306776e8d1d8f5888e5a734ac8b163b --- /dev/null +++ b/jass/test/data_test2/z_BMW_MINI_chr2.txt @@ -0,0 +1,4 @@ +rsid position refAllele altAllele Z +rs_chr2_reg03_07 1 A G 37.001 +rs_chr2_reg03_08 2 A G 38.001 +rs_chr2_reg03_09 3 A G 39.001 diff --git a/jass/test/data_test2/z_BMW_MINI_chr3.txt b/jass/test/data_test2/z_BMW_MINI_chr3.txt new file mode 100644 index 0000000000000000000000000000000000000000..01931f84bbf48153933ae21b4590f8e367157f4a --- /dev/null +++ b/jass/test/data_test2/z_BMW_MINI_chr3.txt @@ -0,0 +1,7 @@ +rsid position refAllele altAllele Z +rs_chr3_reg05_13 1 A G 43.001 +rs_chr3_reg05_14 2 A G 44.001 +rs_chr3_reg05_15 3 A G 45.001 +rs_chr3_reg06_16 4 A G 46.001 +rs_chr3_reg06_17 5 A G 47.001 +rs_chr3_reg06_18 6 A G 48.001 diff --git a/jass/test/data_test2/z_BMW_MINI_chr4.txt b/jass/test/data_test2/z_BMW_MINI_chr4.txt new file mode 100644 index 0000000000000000000000000000000000000000..7cbd68f13544cfe0da4b81cf38b0a1853e63ec0a --- /dev/null +++ b/jass/test/data_test2/z_BMW_MINI_chr4.txt @@ -0,0 +1,7 @@ +rsid position refAllele altAllele Z +rs_chr4_reg07_19 1 A G 49.001 +rs_chr4_reg07_20 2 A G 50.001 +rs_chr4_reg07_21 3 A G 51.001 +rs_chr4_reg08_22 4 A G 52.001 +rs_chr4_reg08_23 5 A G 53.001 +rs_chr4_reg08_24 6 A G 54.001 diff --git a/jass/test/data_test2/z_BMW_MINI_chr5.txt b/jass/test/data_test2/z_BMW_MINI_chr5.txt new file mode 100644 index 0000000000000000000000000000000000000000..ee8a72149b041dba76cde9e38347aac4fc8dc185 --- /dev/null +++ b/jass/test/data_test2/z_BMW_MINI_chr5.txt @@ -0,0 +1,4 @@ +rsid position refAllele altAllele Z +rs_chr5_reg10_28 4 A G 58.001 +rs_chr5_reg10_29 5 A G 59.001 +rs_chr5_reg10_30 6 A G 60.001 diff --git a/jass/test/data_test2/z_FIAT_CINQCENT_chr1.txt b/jass/test/data_test2/z_FIAT_CINQCENT_chr1.txt new file mode 100644 index 0000000000000000000000000000000000000000..90c8298ac67ab48c1521708e82dd2cc8aadc08bd --- /dev/null +++ b/jass/test/data_test2/z_FIAT_CINQCENT_chr1.txt @@ -0,0 +1,7 @@ +rsid position refAllele altAllele Z +rs_chr1_reg01_01 1 A G 61.001 +rs_chr1_reg01_02 2 A G 62.001 +rs_chr1_reg01_03 3 A G 63.001 +rs_chr1_reg02_04 4 A G 64.001 +rs_chr1_reg02_05 5 A G 65.001 +rs_chr1_reg02_06 6 A G 66.001 diff --git a/jass/test/data_test2/z_FIAT_CINQCENT_chr2.txt b/jass/test/data_test2/z_FIAT_CINQCENT_chr2.txt new file mode 100644 index 0000000000000000000000000000000000000000..eaeaedff3e765943efabe07bc592cafafe2e2153 --- /dev/null +++ b/jass/test/data_test2/z_FIAT_CINQCENT_chr2.txt @@ -0,0 +1,7 @@ +rsid position refAllele altAllele Z +rs_chr2_reg03_07 1 A G 67.001 +rs_chr2_reg03_08 2 A G 68.001 +rs_chr2_reg03_09 3 A G 69.001 +rs_chr2_reg04_10 4 A G 70.001 +rs_chr2_reg04_11 5 A G 71.001 +rs_chr2_reg04_12 6 A G 72.001 diff --git a/jass/test/data_test2/z_FIAT_CINQCENT_chr3.txt b/jass/test/data_test2/z_FIAT_CINQCENT_chr3.txt new file mode 100644 index 0000000000000000000000000000000000000000..79f6654e10d70614c5df7b159e4632649943f512 --- /dev/null +++ b/jass/test/data_test2/z_FIAT_CINQCENT_chr3.txt @@ -0,0 +1,4 @@ +rsid position refAllele altAllele Z +rs_chr3_reg06_16 4 A G 76.001 +rs_chr3_reg06_17 5 A G 77.001 +rs_chr3_reg06_18 6 A G 78.001 diff --git a/jass/test/data_test2/z_FIAT_CINQCENT_chr4.txt b/jass/test/data_test2/z_FIAT_CINQCENT_chr4.txt new file mode 100644 index 0000000000000000000000000000000000000000..e3ee62385639908a2e5b4ac9a6fe25701391101b --- /dev/null +++ b/jass/test/data_test2/z_FIAT_CINQCENT_chr4.txt @@ -0,0 +1,7 @@ +rsid position refAllele altAllele Z +rs_chr4_reg07_19 1 A G 79.001 +rs_chr4_reg07_20 2 A G 80.001 +rs_chr4_reg07_21 3 A G 81.001 +rs_chr4_reg08_22 4 A G 82.001 +rs_chr4_reg08_23 5 A G 83.001 +rs_chr4_reg08_24 6 A G 84.001 diff --git a/jass/test/data_test2/z_FIAT_CINQCENT_chr5.txt b/jass/test/data_test2/z_FIAT_CINQCENT_chr5.txt new file mode 100644 index 0000000000000000000000000000000000000000..ff4a6d54b2699b83c398267413910ea680412861 --- /dev/null +++ b/jass/test/data_test2/z_FIAT_CINQCENT_chr5.txt @@ -0,0 +1,4 @@ +rsid position refAllele altAllele Z +rs_chr5_reg10_28 4 A G 88.001 +rs_chr5_reg10_29 5 A G 89.001 +rs_chr5_reg10_30 6 A G 90.001 diff --git a/jass/test/data_test2/z_FIAT_CINQUECENTO_chr1.txt b/jass/test/data_test2/z_FIAT_CINQUECENTO_chr1.txt new file mode 100644 index 0000000000000000000000000000000000000000..ab76c899a0c8cacc10549e329126c162467efe95 --- /dev/null +++ b/jass/test/data_test2/z_FIAT_CINQUECENTO_chr1.txt @@ -0,0 +1,7 @@ +rsid position refAllele altAllele Z +rs_chr1_reg01_01 1 A G 91.001 +rs_chr1_reg01_02 2 A G 92.001 +rs_chr1_reg01_03 3 A G 93.001 +rs_chr1_reg02_04 4 A G 94.001 +rs_chr1_reg02_05 5 A G 95.001 +rs_chr1_reg02_06 6 A G 96.001 diff --git a/jass/test/data_test2/z_FIAT_CINQUECENTO_chr2.txt b/jass/test/data_test2/z_FIAT_CINQUECENTO_chr2.txt new file mode 100644 index 0000000000000000000000000000000000000000..41efda8549747b5aa27865a3e3bf1e4c7eb6589b --- /dev/null +++ b/jass/test/data_test2/z_FIAT_CINQUECENTO_chr2.txt @@ -0,0 +1,7 @@ +rsid position refAllele altAllele Z +rs_chr2_reg03_07 1 A G 97.001 +rs_chr2_reg03_08 2 A G 98.001 +rs_chr2_reg03_09 3 A G 99.001 +rs_chr2_reg04_10 4 A G 100.001 +rs_chr2_reg04_11 5 A G 101.001 +rs_chr2_reg04_12 6 A G 102.001 diff --git a/jass/test/data_test2/z_FIAT_CINQUECENTO_chr3.txt b/jass/test/data_test2/z_FIAT_CINQUECENTO_chr3.txt new file mode 100644 index 0000000000000000000000000000000000000000..bb75d15270802fdd2ce684f50b84cb10da58aa8e --- /dev/null +++ b/jass/test/data_test2/z_FIAT_CINQUECENTO_chr3.txt @@ -0,0 +1,4 @@ +rsid position refAllele altAllele Z +rs_chr3_reg05_13 1 A G 103.001 +rs_chr3_reg05_14 2 A G 104.001 +rs_chr3_reg05_15 3 A G 105.001 diff --git a/jass/test/data_test2/z_FIAT_CINQUECENTO_chr4.txt b/jass/test/data_test2/z_FIAT_CINQUECENTO_chr4.txt new file mode 100644 index 0000000000000000000000000000000000000000..f39337397edcfd212ec5f5a0d84ad2b08cd518ce --- /dev/null +++ b/jass/test/data_test2/z_FIAT_CINQUECENTO_chr4.txt @@ -0,0 +1,7 @@ +rsid position refAllele altAllele Z +rs_chr4_reg07_19 1 A G 109.001 +rs_chr4_reg07_20 2 A G 110.001 +rs_chr4_reg07_21 3 A G 111.001 +rs_chr4_reg08_22 4 A G 112.001 +rs_chr4_reg08_23 5 A G 113.001 +rs_chr4_reg08_24 6 A G 114.001 diff --git a/jass/test/data_test2/z_FIAT_CINQUECENTO_chr5.txt b/jass/test/data_test2/z_FIAT_CINQUECENTO_chr5.txt new file mode 100644 index 0000000000000000000000000000000000000000..ce0f5748472d5cd7e27f945ed87aecef2840603a --- /dev/null +++ b/jass/test/data_test2/z_FIAT_CINQUECENTO_chr5.txt @@ -0,0 +1,4 @@ +rsid position refAllele altAllele Z +rs_chr5_reg09_25 1 A G 115.001 +rs_chr5_reg09_26 2 A G 116.001 +rs_chr5_reg09_27 3 A G 117.001 diff --git a/jass/test/data_test2/z_MERCO_SMART_chr1.txt b/jass/test/data_test2/z_MERCO_SMART_chr1.txt new file mode 100644 index 0000000000000000000000000000000000000000..c1690edd2238a345d6579cb796abe8d21817eaa7 --- /dev/null +++ b/jass/test/data_test2/z_MERCO_SMART_chr1.txt @@ -0,0 +1,7 @@ +rsid position refAllele altAllele Z +rs_chr1_reg01_01 1 A G 121.001 +rs_chr1_reg01_02 2 A G 122.001 +rs_chr1_reg01_03 3 A G 123.001 +rs_chr1_reg02_04 4 A G 124.001 +rs_chr1_reg02_05 5 A G 125.001 +rs_chr1_reg02_06 6 A G 126.001 diff --git a/jass/test/data_test2/z_MERCO_SMART_chr2.txt b/jass/test/data_test2/z_MERCO_SMART_chr2.txt new file mode 100644 index 0000000000000000000000000000000000000000..b550771006bb7919a0199d3a3d2f7e0429eb5b80 --- /dev/null +++ b/jass/test/data_test2/z_MERCO_SMART_chr2.txt @@ -0,0 +1,7 @@ +rsid position refAllele altAllele Z +rs_chr2_reg03_07 1 A G 127.001 +rs_chr2_reg03_08 2 A G 128.001 +rs_chr2_reg03_09 3 A G 129.001 +rs_chr2_reg04_10 4 A G 130.001 +rs_chr2_reg04_11 5 A G 131.001 +rs_chr2_reg04_12 6 A G 132.001 diff --git a/jass/test/data_test2/z_MERCO_SMART_chr3.txt b/jass/test/data_test2/z_MERCO_SMART_chr3.txt new file mode 100644 index 0000000000000000000000000000000000000000..e81f2ac70279ecaa6fc7f626e35952af4a47e49a --- /dev/null +++ b/jass/test/data_test2/z_MERCO_SMART_chr3.txt @@ -0,0 +1,7 @@ +rsid position refAllele altAllele Z +rs_chr3_reg05_13 1 A G 133.001 +rs_chr3_reg05_14 2 A G 134.001 +rs_chr3_reg05_15 3 A G 135.001 +rs_chr3_reg06_16 4 A G 136.001 +rs_chr3_reg06_17 5 A G 137.001 +rs_chr3_reg06_18 6 A G 138.001 diff --git a/jass/test/data_test2/z_MERCO_SMART_chr4.txt b/jass/test/data_test2/z_MERCO_SMART_chr4.txt new file mode 100644 index 0000000000000000000000000000000000000000..bb4267422d8903207c9f986377365925fede7c97 --- /dev/null +++ b/jass/test/data_test2/z_MERCO_SMART_chr4.txt @@ -0,0 +1,4 @@ +rsid position refAllele altAllele Z +rs_chr4_reg08_22 4 A G 142.001 +rs_chr4_reg08_23 5 A G 143.001 +rs_chr4_reg08_24 6 A G 144.001 diff --git a/jass/test/data_test2/z_MERCO_SMART_chr5.txt b/jass/test/data_test2/z_MERCO_SMART_chr5.txt new file mode 100644 index 0000000000000000000000000000000000000000..84a041f4660f4e7927c65caa88997efb7b2f9505 --- /dev/null +++ b/jass/test/data_test2/z_MERCO_SMART_chr5.txt @@ -0,0 +1,4 @@ +rsid position refAllele altAllele Z +rs_chr5_reg09_25 1 A G 145.001 +rs_chr5_reg09_26 2 A G 146.001 +rs_chr5_reg09_27 3 A G 147.001 diff --git a/jass/test/data_test2/z_TATA_TATANANO_chr1.txt b/jass/test/data_test2/z_TATA_TATANANO_chr1.txt new file mode 100644 index 0000000000000000000000000000000000000000..909ae54449de02a93e2988cdcbcc12205d913dff --- /dev/null +++ b/jass/test/data_test2/z_TATA_TATANANO_chr1.txt @@ -0,0 +1,7 @@ +rsid position refAllele altAllele Z +rs_chr1_reg01_01 1 A G 151.001 +rs_chr1_reg01_02 2 A G 152.001 +rs_chr1_reg01_03 3 A G 153.001 +rs_chr1_reg02_04 4 A G 154.001 +rs_chr1_reg02_05 5 A G 155.001 +rs_chr1_reg02_06 6 A G 156.001 diff --git a/jass/test/data_test2/z_TATA_TATANANO_chr2.txt b/jass/test/data_test2/z_TATA_TATANANO_chr2.txt new file mode 100644 index 0000000000000000000000000000000000000000..7b83919ad2352ca41bb726672d95f5795939cb6a --- /dev/null +++ b/jass/test/data_test2/z_TATA_TATANANO_chr2.txt @@ -0,0 +1,7 @@ +rsid position refAllele altAllele Z +rs_chr2_reg03_07 1 A G 157.001 +rs_chr2_reg03_08 2 A G 158.001 +rs_chr2_reg03_09 3 A G 159.001 +rs_chr2_reg04_10 4 A G 160.001 +rs_chr2_reg04_11 5 A G 161.001 +rs_chr2_reg04_12 6 A G 162.001 diff --git a/jass/test/data_test2/z_TATA_TATANANO_chr3.txt b/jass/test/data_test2/z_TATA_TATANANO_chr3.txt new file mode 100644 index 0000000000000000000000000000000000000000..2e18b72c75b85e8b36de115ad275c31e2ee23431 --- /dev/null +++ b/jass/test/data_test2/z_TATA_TATANANO_chr3.txt @@ -0,0 +1,7 @@ +rsid position refAllele altAllele Z +rs_chr3_reg05_13 1 A G 163.001 +rs_chr3_reg05_14 2 A G 164.001 +rs_chr3_reg05_15 3 A G 165.001 +rs_chr3_reg06_16 4 A G 166.001 +rs_chr3_reg06_17 5 A G 167.001 +rs_chr3_reg06_18 6 A G 168.001 diff --git a/jass/test/data_test2/z_TATA_TATANANO_chr4.txt b/jass/test/data_test2/z_TATA_TATANANO_chr4.txt new file mode 100644 index 0000000000000000000000000000000000000000..c10363107c3e979971a3e60e8ff1efef7fd0f3a3 --- /dev/null +++ b/jass/test/data_test2/z_TATA_TATANANO_chr4.txt @@ -0,0 +1,4 @@ +rsid position refAllele altAllele Z +rs_chr4_reg07_19 1 A G 169.001 +rs_chr4_reg07_20 2 A G 170.001 +rs_chr4_reg07_21 3 A G 171.001 diff --git a/jass/test/data_test2/z_TATA_TATANANO_chr5.txt b/jass/test/data_test2/z_TATA_TATANANO_chr5.txt new file mode 100644 index 0000000000000000000000000000000000000000..765fd14e4bc6d5742677609829a04b54c1ec48c9 --- /dev/null +++ b/jass/test/data_test2/z_TATA_TATANANO_chr5.txt @@ -0,0 +1,4 @@ +rsid position refAllele altAllele Z +rs_chr5_reg09_25 1 A G 175.001 +rs_chr5_reg09_26 2 A G 176.001 +rs_chr5_reg09_27 3 A G 177.001 diff --git a/jass/test/data_test2/zscores.png b/jass/test/data_test2/zscores.png new file mode 100644 index 0000000000000000000000000000000000000000..d311c401bcdb3f586728a01a5314a19be8b9d6dd Binary files /dev/null and b/jass/test/data_test2/zscores.png differ diff --git a/jass/test/test_init_table.py b/jass/test/test_init_table.py index 3d7b0ef77d96b29fa17daef24032b2fd5c8de1df..e790689b9dfc8672cf6c016d86c990fa76cfc73d 100644 --- a/jass/test/test_init_table.py +++ b/jass/test/test_init_table.py @@ -19,13 +19,10 @@ class TestInitTable(object): # Create a temporary directory self.test_dir = tempfile.mkdtemp() input_data_path = self.get_file_path_fn("*chr*.txt") - if self.computed_cov: - init_covariance_path = None - else: - init_covariance_path = self.get_file_path_fn("COV.csv") + init_covariance_path = self.get_file_path_fn("COV.csv") regions_map_path = self.get_file_path_fn("regions.txt") description_file_path = self.get_file_path_fn("summary.csv") - self.expected_hdf_path = self.get_file_path_fn(f"initTable{'-computed-cov' if self.computed_cov else ''}.hdf5") + self.expected_hdf_path = self.get_file_path_fn("initTable.hdf5") init_table_path = os.path.join(self.test_dir, "test_init_table.hdf5") create_inittable_file( input_data_path, @@ -69,15 +66,15 @@ class TestInitTable(object): assert_frame_equal(self.expected_cov, self.result_cov, check_like=True) -params = [("nonans", "data_real", True), ("withnans", "data_real", False)] +params = [("nonans", "data_test1"), ("withnans", "data_test2")] -for name, param, computed_cov in params: +for name, param in params: cls_name = "TestInitTable_%s" % (name,) print(cls_name) globals()[cls_name] = type( cls_name, (TestInitTable, JassTestCase), - {"test_folder": param, "computed_cov":computed_cov, "__test__": True}, + {"test_folder": param, "__test__": True}, ) if __name__ == "__main__": diff --git a/jass/test/test_plots.py b/jass/test/test_plots.py index ad0012abe26c219928e091f836c1a26e87034b9f..7748ccbabb60dfe47cb3a3e260d4af3fda9fd3c3 100644 --- a/jass/test/test_plots.py +++ b/jass/test/test_plots.py @@ -2,21 +2,24 @@ from __future__ import absolute_import import os, shutil, tempfile -from pathlib import Path -from jass.models import plots +from pandas import read_hdf +from pandas.testing import assert_frame_equal + +from jass.models.plots import create_global_plot from . import JassTestCase class TestPlots(JassTestCase): - test_folder = "data_real" + test_folder = "data_test1" def setUp(self): # Create a temporary directory - self.test_dir = Path(tempfile.mkdtemp()) - self.worktable_hdf_path = self.get_file_path_fn("worktable-withnans.hdf5") + self.test_dir = tempfile.mkdtemp() + self.worktable_hdf_path = self.get_file_path_fn("worktable.hdf5") + self.global_plot_path = os.path.join(self.test_dir, "global_manhattan.png") def tearDown(self): # Remove the directory after the test @@ -24,16 +27,10 @@ class TestPlots(JassTestCase): pass def test_create_global_plot(self): - plots.create_global_plot(self.worktable_hdf_path, self.test_dir / "global_plot.png") - - def test_create_qq_plot(self): - plots.create_qq_plot(self.worktable_hdf_path, self.test_dir / "qq_plot.png") - - def test_create_quadrant_plot(self): - plots.create_quadrant_plot(self.worktable_hdf_path, self.test_dir / "quadrant_plot.png") - - def test_create_qq_plot_by_GWAS(self): - plots.create_qq_plot_by_GWAS(self.worktable_hdf_path, self.test_dir) + """ + Compare result and expected SumStatJostTab + """ + create_global_plot(self.worktable_hdf_path, self.global_plot_path) if __name__ == "__main__": diff --git a/jass/test/test_worktable.py b/jass/test/test_worktable.py index 8509e2056c7d773d114c6d26a5f54bab1f86b523..20e076584a74cfddfc6883aef7cce9c5088ccb5d 100644 --- a/jass/test/test_worktable.py +++ b/jass/test/test_worktable.py @@ -21,7 +21,7 @@ class TestWorkTable(object): cls.test_dir = tempfile.mkdtemp() init_file_path = cls.get_file_path_fn("initTable.hdf5") cls.result_hdf_path = os.path.join(cls.test_dir, "test_worktable.hdf5") - cls.expected_hdf_path = cls.get_file_path_fn(f"worktable{'-nonans' if cls.remove_nan else '-withnans'}.hdf5") + cls.expected_hdf_path = cls.get_file_path_fn("worktable.hdf5") # with coerce_pickle_protocol(4): create_worktable_file( cls.phenotypes_sel, init_file_path, cls.result_hdf_path, cls.remove_nan @@ -84,16 +84,21 @@ class TestWorkTable(object): ) -phenotypes_real = [ - "z_MAGIC_FAST-GLUCOSE", - "z_MAGIC_FAST-INSULIN", - "z_MAGIC_GLUCOSE-TOLERANCE", - "z_MAGIC_HBA1C", +phenotypes_disney = ["z_DISNEY_POCAHONT", "z_DISNEY_RATATOUY"] +phenotypes_cars = [ + "z_BMW_ISETTA", + "z_BMW_MINI", + "z_FIAT_CINQCENT", + "z_FIAT_CINQUECENTO", + "z_MERCO_SMART", + "z_TATA_TATANANO", ] params = [ - ("nonans", "data_real", phenotypes_real, True), - ("withnans", "data_real", phenotypes_real, False), + ("nonans", "data_test1", phenotypes_disney, True), + ("withnans", "data_test2", phenotypes_cars, False), + # ("nonans", "data_test1_37", phenotypes_disney, True), + # ("withnans", "data_test2_37", phenotypes_cars, False), ] for name, param, phenotypes_sel, remove_nan in params: diff --git a/jass/test/update_test_hdf5_files.sh b/jass/test/update_test_hdf5_files.sh index 5ec8a85a8228207e3634ecd40d30f4b3e6255e4e..35e5729cc5c41ea7910035759d8d9edbda9d2e35 100755 --- a/jass/test/update_test_hdf5_files.sh +++ b/jass/test/update_test_hdf5_files.sh @@ -25,13 +25,7 @@ for DATA_DIR in $DATA_DIRS; do echo "Creating inittable" jass create-inittable --input-data-path "./${DATA_DIR}/z*.txt" --init-covariance-path "./${DATA_DIR}/COV.csv" --init-genetic-covariance-path ${GEN_COV} --regions-map-path "./${DATA_DIR}/regions.txt" --description-file-path "./${DATA_DIR}/summary.csv" --init-table-metadata-path "./${DATA_DIR}/metadata.txt" --init-table-path "./${DATA_DIR}/initTable.hdf5" - echo "Creating inittable without pre-computed covariance matrix" - jass create-inittable --input-data-path "./${DATA_DIR}/z*.txt" --init-genetic-covariance-path ${GEN_COV} --regions-map-path "./${DATA_DIR}/regions.txt" --description-file-path "./${DATA_DIR}/summary.csv" --init-table-metadata-path "./${DATA_DIR}/metadata.txt" --init-table-path "./${DATA_DIR}/initTable-computed-cov.hdf5" - - echo "Creating worktable with Nan" - jass create-project-data --init-table-path "${DATA_DIR}/initTable.hdf5" --phenotype ${TRAITS} --worktable-path ./${DATA_DIR}/worktable-withnans.hdf5 - echo "Creating worktable" - jass create-project-data --init-table-path "${DATA_DIR}/initTable.hdf5" --phenotype ${TRAITS} --worktable-path ./${DATA_DIR}/worktable-nonans.hdf5 --remove-nans + jass create-project-data --init-table-path "${DATA_DIR}/initTable.hdf5" --phenotype ${TRAITS} --worktable-path ./${DATA_DIR}/worktable.hdf5 done \ No newline at end of file