diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2f7f872fba56f247866e22fdb95943d770e3cf44..fe1cbe4c0f7a3d5a83dce23c4e13feeb80205a1c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -27,7 +27,7 @@ test-python: test-docker-compose: - image: docker/compose + image: docker:24 needs: [] # when: delayed # start_in: 3 minutes @@ -37,10 +37,11 @@ test-docker-compose: when: runner_system_failure script: - apk update && apk upgrade && apk add jq bash curl + - docker compose version - ./test_docker_compose.sh after_script: - - docker-compose logs back > log/docker-compose.back.log - - docker-compose logs > log/docker-compose.log + - docker compose logs back > log/docker-compose.back.log + - docker compose logs > log/docker-compose.log artifacts: when: always paths: diff --git a/jass/test/data_test1/worktable.hdf5 b/jass/test/data_real/initTable-computed-cov.hdf5 similarity index 67% rename from jass/test/data_test1/worktable.hdf5 rename to jass/test/data_real/initTable-computed-cov.hdf5 index 69f0978b16d217d89fc994c26c296cc397846bb5..09c727c19fe74d47c8b6c4d5ca482d2c899a37b6 100644 Binary files a/jass/test/data_test1/worktable.hdf5 and b/jass/test/data_real/initTable-computed-cov.hdf5 differ diff --git a/jass/test/data_real/initTable.hdf5 b/jass/test/data_real/initTable.hdf5 index 821bdcc09b2740e389cec2d5049da4fb1b2d3523..85a869ff55510f47b6622db2a0c81bfa8e904be5 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_test2/worktable.hdf5 b/jass/test/data_real/worktable-nonans.hdf5 similarity index 86% rename from jass/test/data_test2/worktable.hdf5 rename to jass/test/data_real/worktable-nonans.hdf5 index 3f450db54e44deaaebf5df421e71aeb66a69e8ea..2e1f6526b9f5f2741ed7627bb6f72e12e543ae4f 100644 Binary files a/jass/test/data_test2/worktable.hdf5 and b/jass/test/data_real/worktable-nonans.hdf5 differ diff --git a/jass/test/data_real/worktable.hdf5 b/jass/test/data_real/worktable-withnans.hdf5 similarity index 100% rename from jass/test/data_real/worktable.hdf5 rename to jass/test/data_real/worktable-withnans.hdf5 diff --git a/jass/test/data_test1/COV.csv b/jass/test/data_test1/COV.csv deleted file mode 100644 index 2c45ac17818b90efa5afbc3d58060bf9c65263a8..0000000000000000000000000000000000000000 --- a/jass/test/data_test1/COV.csv +++ /dev/null @@ -1,3 +0,0 @@ -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 deleted file mode 100644 index c35ae04ecf7404997a7401dfd84c29a2ef2dfe40..0000000000000000000000000000000000000000 --- a/jass/test/data_test1/SumStatTab.txt +++ /dev/null @@ -1,13 +0,0 @@ -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 deleted file mode 100644 index 337d7e8e0b79701321e9bffec5fd47093cd0a61b..0000000000000000000000000000000000000000 Binary files a/jass/test/data_test1/chr.txt and /dev/null differ diff --git a/jass/test/data_test1/initTable.hdf5 b/jass/test/data_test1/initTable.hdf5 deleted file mode 100644 index 43518edff657babee693ad6a63b453d2fbe434cb..0000000000000000000000000000000000000000 Binary files a/jass/test/data_test1/initTable.hdf5 and /dev/null differ diff --git a/jass/test/data_test1/metadata.txt b/jass/test/data_test1/metadata.txt deleted file mode 100644 index 8eb75e7afde9d6be08b89e2cf8892384a384af5a..0000000000000000000000000000000000000000 --- a/jass/test/data_test1/metadata.txt +++ /dev/null @@ -1,5 +0,0 @@ -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 deleted file mode 100644 index c7241b86a4541d8c7d7f5c5ba9e6317e339a64e2..0000000000000000000000000000000000000000 --- a/jass/test/data_test1/regions.txt +++ /dev/null @@ -1,8 +0,0 @@ -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 deleted file mode 100644 index 149b6ca13274a17c43fced1f210ca452e0d7f733..0000000000000000000000000000000000000000 --- a/jass/test/data_test1/summary.csv +++ /dev/null @@ -1,3 +0,0 @@ -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_test1/z_DISNEY_POCAHONT_chr1.txt b/jass/test/data_test1/z_DISNEY_POCAHONT_chr1.txt deleted file mode 100644 index ded3476cd998c42133d1ca9c4d5d27b3f4b60c22..0000000000000000000000000000000000000000 --- a/jass/test/data_test1/z_DISNEY_POCAHONT_chr1.txt +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index d4eec567807c2eec9e6932c02faec9daa46fcf22..0000000000000000000000000000000000000000 --- a/jass/test/data_test1/z_DISNEY_POCAHONT_chr2.txt +++ /dev/null @@ -1,6 +0,0 @@ -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 deleted file mode 100644 index 18264b859cb897c27cc558548820a1d5b2abd83a..0000000000000000000000000000000000000000 --- a/jass/test/data_test1/z_DISNEY_POCAHONT_chr3.txt +++ /dev/null @@ -1,5 +0,0 @@ -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 deleted file mode 100644 index a4e8fa9cd4ec1ba8dac092aab3230362196e20c3..0000000000000000000000000000000000000000 --- a/jass/test/data_test1/z_DISNEY_RATATOUY_chr1.txt +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 86f61ecbd7d6aab1dc8b7655cebfed8fbf272ee6..0000000000000000000000000000000000000000 --- a/jass/test/data_test1/z_DISNEY_RATATOUY_chr2.txt +++ /dev/null @@ -1,6 +0,0 @@ -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 deleted file mode 100644 index c1959185fdc4e2157ede61fc170790e6c863d8bc..0000000000000000000000000000000000000000 --- a/jass/test/data_test1/z_DISNEY_RATATOUY_chr3.txt +++ /dev/null @@ -1,5 +0,0 @@ -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 deleted file mode 100644 index 46119fe1b9a6a3eb86a4666fb07f93d318018fa0..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/COV.csv +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index 9c5544b333bb58576eb22e68abfca405ed445acb..0000000000000000000000000000000000000000 Binary files a/jass/test/data_test2/chr.txt and /dev/null differ diff --git a/jass/test/data_test2/create_unit_test_smart.R b/jass/test/data_test2/create_unit_test_smart.R deleted file mode 100644 index 71a0e7631b1c5ea8ab8804b94ff984665164ea91..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/create_unit_test_smart.R +++ /dev/null @@ -1,87 +0,0 @@ -## 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 deleted file mode 100644 index b7dc5d7db470bf3819f4617cd3b9e92e1a2c1f0d..0000000000000000000000000000000000000000 Binary files a/jass/test/data_test2/initTable.hdf5 and /dev/null differ diff --git a/jass/test/data_test2/metadata.txt b/jass/test/data_test2/metadata.txt deleted file mode 100644 index e70e8c5f23fb4ce9142e833a6da916d228e9f001..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/metadata.txt +++ /dev/null @@ -1,5 +0,0 @@ -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 deleted file mode 100644 index 020c4d931922cf1e0b267f44c89dea30e9b73385..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/regions.txt +++ /dev/null @@ -1,11 +0,0 @@ -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 deleted file mode 100644 index 6aef4f3a55b773fa1a7faf0ec0488aba59e3373d..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/summary.csv +++ /dev/null @@ -1,7 +0,0 @@ -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_test2/z_BMW_ISETTA_chr1.txt b/jass/test/data_test2/z_BMW_ISETTA_chr1.txt deleted file mode 100644 index ba168c87cb4a0d7a71bb9e345e8e52058f81c6c6..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_BMW_ISETTA_chr1.txt +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index f654684b8edbad4b0c8570e6e673a898bf3968e8..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_BMW_ISETTA_chr2.txt +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 30b5fefe1978c0e8d5b8002adcebc6f674bab97b..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_BMW_ISETTA_chr3.txt +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index f5269355934349a3552ac1421a1761b3e57c9af4..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_BMW_ISETTA_chr4.txt +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index be6510ece435217aad150b535b63a6c7a3b36843..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_BMW_ISETTA_chr5.txt +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index fe30e814732cf650b50b165aecfe015eabb061bc..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_BMW_MINI_chr1.txt +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index 8d43408a9306776e8d1d8f5888e5a734ac8b163b..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_BMW_MINI_chr2.txt +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 01931f84bbf48153933ae21b4590f8e367157f4a..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_BMW_MINI_chr3.txt +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index 7cbd68f13544cfe0da4b81cf38b0a1853e63ec0a..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_BMW_MINI_chr4.txt +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index ee8a72149b041dba76cde9e38347aac4fc8dc185..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_BMW_MINI_chr5.txt +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 90c8298ac67ab48c1521708e82dd2cc8aadc08bd..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_FIAT_CINQCENT_chr1.txt +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index eaeaedff3e765943efabe07bc592cafafe2e2153..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_FIAT_CINQCENT_chr2.txt +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index 79f6654e10d70614c5df7b159e4632649943f512..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_FIAT_CINQCENT_chr3.txt +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index e3ee62385639908a2e5b4ac9a6fe25701391101b..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_FIAT_CINQCENT_chr4.txt +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index ff4a6d54b2699b83c398267413910ea680412861..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_FIAT_CINQCENT_chr5.txt +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index ab76c899a0c8cacc10549e329126c162467efe95..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_FIAT_CINQUECENTO_chr1.txt +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index 41efda8549747b5aa27865a3e3bf1e4c7eb6589b..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_FIAT_CINQUECENTO_chr2.txt +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index bb75d15270802fdd2ce684f50b84cb10da58aa8e..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_FIAT_CINQUECENTO_chr3.txt +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index f39337397edcfd212ec5f5a0d84ad2b08cd518ce..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_FIAT_CINQUECENTO_chr4.txt +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index ce0f5748472d5cd7e27f945ed87aecef2840603a..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_FIAT_CINQUECENTO_chr5.txt +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index c1690edd2238a345d6579cb796abe8d21817eaa7..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_MERCO_SMART_chr1.txt +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index b550771006bb7919a0199d3a3d2f7e0429eb5b80..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_MERCO_SMART_chr2.txt +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index e81f2ac70279ecaa6fc7f626e35952af4a47e49a..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_MERCO_SMART_chr3.txt +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index bb4267422d8903207c9f986377365925fede7c97..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_MERCO_SMART_chr4.txt +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 84a041f4660f4e7927c65caa88997efb7b2f9505..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_MERCO_SMART_chr5.txt +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 909ae54449de02a93e2988cdcbcc12205d913dff..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_TATA_TATANANO_chr1.txt +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index 7b83919ad2352ca41bb726672d95f5795939cb6a..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_TATA_TATANANO_chr2.txt +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index 2e18b72c75b85e8b36de115ad275c31e2ee23431..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_TATA_TATANANO_chr3.txt +++ /dev/null @@ -1,7 +0,0 @@ -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 deleted file mode 100644 index c10363107c3e979971a3e60e8ff1efef7fd0f3a3..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_TATA_TATANANO_chr4.txt +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index 765fd14e4bc6d5742677609829a04b54c1ec48c9..0000000000000000000000000000000000000000 --- a/jass/test/data_test2/z_TATA_TATANANO_chr5.txt +++ /dev/null @@ -1,4 +0,0 @@ -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 deleted file mode 100644 index d311c401bcdb3f586728a01a5314a19be8b9d6dd..0000000000000000000000000000000000000000 Binary files a/jass/test/data_test2/zscores.png and /dev/null differ diff --git a/jass/test/test_init_table.py b/jass/test/test_init_table.py index e790689b9dfc8672cf6c016d86c990fa76cfc73d..3d7b0ef77d96b29fa17daef24032b2fd5c8de1df 100644 --- a/jass/test/test_init_table.py +++ b/jass/test/test_init_table.py @@ -19,10 +19,13 @@ class TestInitTable(object): # Create a temporary directory self.test_dir = tempfile.mkdtemp() input_data_path = self.get_file_path_fn("*chr*.txt") - init_covariance_path = self.get_file_path_fn("COV.csv") + if self.computed_cov: + init_covariance_path = None + else: + 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("initTable.hdf5") + self.expected_hdf_path = self.get_file_path_fn(f"initTable{'-computed-cov' if self.computed_cov else ''}.hdf5") init_table_path = os.path.join(self.test_dir, "test_init_table.hdf5") create_inittable_file( input_data_path, @@ -66,15 +69,15 @@ class TestInitTable(object): assert_frame_equal(self.expected_cov, self.result_cov, check_like=True) -params = [("nonans", "data_test1"), ("withnans", "data_test2")] +params = [("nonans", "data_real", True), ("withnans", "data_real", False)] -for name, param in params: +for name, param, computed_cov in params: cls_name = "TestInitTable_%s" % (name,) print(cls_name) globals()[cls_name] = type( cls_name, (TestInitTable, JassTestCase), - {"test_folder": param, "__test__": True}, + {"test_folder": param, "computed_cov":computed_cov, "__test__": True}, ) if __name__ == "__main__": diff --git a/jass/test/test_plots.py b/jass/test/test_plots.py index 7748ccbabb60dfe47cb3a3e260d4af3fda9fd3c3..ad0012abe26c219928e091f836c1a26e87034b9f 100644 --- a/jass/test/test_plots.py +++ b/jass/test/test_plots.py @@ -2,24 +2,21 @@ from __future__ import absolute_import import os, shutil, tempfile +from pathlib import Path -from pandas import read_hdf -from pandas.testing import assert_frame_equal - -from jass.models.plots import create_global_plot +from jass.models import plots from . import JassTestCase class TestPlots(JassTestCase): - test_folder = "data_test1" + test_folder = "data_real" def setUp(self): # Create a temporary directory - 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") + self.test_dir = Path(tempfile.mkdtemp()) + self.worktable_hdf_path = self.get_file_path_fn("worktable-withnans.hdf5") def tearDown(self): # Remove the directory after the test @@ -27,10 +24,16 @@ class TestPlots(JassTestCase): pass def test_create_global_plot(self): - """ - Compare result and expected SumStatJostTab - """ - create_global_plot(self.worktable_hdf_path, self.global_plot_path) + 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) if __name__ == "__main__": diff --git a/jass/test/test_worktable.py b/jass/test/test_worktable.py index 20e076584a74cfddfc6883aef7cce9c5088ccb5d..8509e2056c7d773d114c6d26a5f54bab1f86b523 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("worktable.hdf5") + cls.expected_hdf_path = cls.get_file_path_fn(f"worktable{'-nonans' if cls.remove_nan else '-withnans'}.hdf5") # with coerce_pickle_protocol(4): create_worktable_file( cls.phenotypes_sel, init_file_path, cls.result_hdf_path, cls.remove_nan @@ -84,21 +84,16 @@ class TestWorkTable(object): ) -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", +phenotypes_real = [ + "z_MAGIC_FAST-GLUCOSE", + "z_MAGIC_FAST-INSULIN", + "z_MAGIC_GLUCOSE-TOLERANCE", + "z_MAGIC_HBA1C", ] params = [ - ("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), + ("nonans", "data_real", phenotypes_real, True), + ("withnans", "data_real", phenotypes_real, 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 35e5729cc5c41ea7910035759d8d9edbda9d2e35..5ec8a85a8228207e3634ecd40d30f4b3e6255e4e 100755 --- a/jass/test/update_test_hdf5_files.sh +++ b/jass/test/update_test_hdf5_files.sh @@ -25,7 +25,13 @@ 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.hdf5 + jass create-project-data --init-table-path "${DATA_DIR}/initTable.hdf5" --phenotype ${TRAITS} --worktable-path ./${DATA_DIR}/worktable-nonans.hdf5 --remove-nans done \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index eca93137eabad0c9c1d363794dff515723c22b0e..84e13569e56fde86189563ebd034265eb4295998 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,7 +7,7 @@ numpy pandas tables scipy -matplotlib +matplotlib>=3.7.4 seaborn celery importlib-metadata==4.13.0 diff --git a/test_docker_compose.sh b/test_docker_compose.sh index 065e9633f738282b499bd295a8db824ec8c6efd2..376ffc083583148758339a94760a284ed7741dfe 100755 --- a/test_docker_compose.sh +++ b/test_docker_compose.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash -if [ "$(docker-compose ps | grep jass | grep -v Exit | wc -l)" == "0" ]; then - docker-compose -f docker-compose.yaml -f docker-compose.test.yaml up -d --build || exit 99 +if [ "$(docker compose ps | grep jass | grep -v Exit | wc -l)" == "0" ]; then + docker compose -f docker-compose.yaml -f docker-compose.test.yaml up -d --build || exit 99 echo "Waiting some time for interface to be up" sleep 5 else @@ -110,7 +110,13 @@ curl --location http://0.0.0.0:8080/api/projects/$PROJECT_ID/genome_full \ if [ ! -s log/07-*.csv ]; then exit 07; fi echo "Waiting for worktable" +I=0 while [[ "$(jq .status.worktable projects/project_$PROJECT_ID/meta.json)" != "\"READY\"" ]]; do + I=$(expr $I + 1) + if [ $I -gt 120 ]; then + echo "Waited too long, exiting" + exit 77 + fi echo "... waiting for worktable" sleep 1 done