From 1b5ccfe4abf75ae9ba23ed03fa44e42692fc7768 Mon Sep 17 00:00:00 2001 From: Adrien Coulier Date: Thu, 29 Aug 2024 08:34:49 +0200 Subject: [PATCH 1/8] Implement first version of pipeline --- bin/create_sis_style_checksums.sh | 26 +++++++++++--------------- create_sis_style_checksums.nf | 24 ++++++++++++++++++++++++ nextflow.config | 15 +++++++++++++++ 3 files changed, 50 insertions(+), 15 deletions(-) create mode 100644 create_sis_style_checksums.nf create mode 100644 nextflow.config diff --git a/bin/create_sis_style_checksums.sh b/bin/create_sis_style_checksums.sh index a4a6573..014f36e 100755 --- a/bin/create_sis_style_checksums.sh +++ b/bin/create_sis_style_checksums.sh @@ -4,20 +4,18 @@ set -o errexit export FOLDER="$1" export INCLUDE_FILE="$2" -export OUTPUT_FILE="$3" -export IGNORE_CACHE="$4" -export FOLDER_NAME="$(basename "$FOLDER")" +export OUTPUT_FILE="checksums.md5" +export IGNORE_CACHE="$3" +export FOLDER_NAME=$(basename $FOLDER) export OUTPATH="$FOLDER/MD5/$OUTPUT_FILE" -export TMPPATH="${OUTPATH}.tmp" - -pushd "$FOLDER/.." > /dev/null +export TMPPATH="${OUTPUT_FILE}.tmp" mkdir -p "$(dirname "${OUTPATH}")" if [ "$(echo "$IGNORE_CACHE" |tr '[:upper:]' '[:lower:]')" = true ] then - rm -f "${OUTPATH}" + cp $OUTPATH $OUTPUT_FILE fi -touch "${OUTPATH}" +touch $OUTPUT_FILE rsync \ -vrktp \ @@ -25,8 +23,8 @@ rsync \ --relative \ --chmod=Dg+sx,ug+w,o-rwx \ --prune-empty-dirs \ - --exclude="${OUTPATH}" \ - --exclude="${TMPPATH}" \ + --exclude="$OUTPUT_FILE" \ + --exclude="$TMPPATH" \ --include-from="$INCLUDE_FILE" \ --exclude="*" \ "$(dirname "$FOLDER")/./${FOLDER_NAME}/" |\ @@ -42,15 +40,13 @@ comm \ -2 \ -3 \ - \ - <(sed -re 's/^\S+\s+//' "$OUTPATH" |sort) |\ + <(sed -re 's/^\S+\s+//' "$OUTPUT_FILE" |sort) |\ xargs \ -0 \ -d '\n' \ -r \ md5sum > "$TMPPATH" -cat <(grep -v '^$' "$OUTPATH") <(grep -v '^$' "$TMPPATH") > "${OUTPATH}.intermediate" -mv "${OUTPATH}.intermediate" "${OUTPATH}" +cat <(grep -v '^$' "$OUTPUT_FILE") <(grep -v '^$' "$TMPPATH") > "${OUTPUT_FILE}.intermediate" +mv "${OUTPUT_FILE}.intermediate" "${OUTPUT_FILE}" rm -f "$TMPPATH" - -popd > /dev/null diff --git a/create_sis_style_checksums.nf b/create_sis_style_checksums.nf new file mode 100644 index 0000000..0f9f088 --- /dev/null +++ b/create_sis_style_checksums.nf @@ -0,0 +1,24 @@ +process CREATE_SIS_STYLE_CHECKSUMS { + publishDir "${params.input_folder}/MD5/", mode: 'copy', overwrite: true + + input: + path input_folder + path include_file + val ignore_cache + + output: + path "checksums.md5" + + script: + """ + create_sis_style_checksums.sh $input_folder $include_file $ignore_cache + """ +} + +workflow { + CREATE_SIS_STYLE_CHECKSUMS( + params.input_folder, + params.include_file, + params.ignore_cache + ) +} diff --git a/nextflow.config b/nextflow.config new file mode 100644 index 0000000..ecc60d6 --- /dev/null +++ b/nextflow.config @@ -0,0 +1,15 @@ +profiles { + uppmax { + process { + shell = ['/bin/bash', '-euo', 'pipefail'] + errorStrategy = { task.exitStatus in [255] ? 'retry' : 'terminate' } + maxRetries = 2 + scratch = true + executor = 'slurm' + clusterOptions = { "-A $params.project" } + cpus = 1 + memory = '8G' + time = '3h' + } + } +} From c08544fcfb183de211f8eb01cf23c83e3ceadb3d Mon Sep 17 00:00:00 2001 From: Adrien Coulier Date: Mon, 9 Sep 2024 12:17:02 +0200 Subject: [PATCH 2/8] Rename script into `main.nf` --- create_sis_style_checksums.nf => main.nf | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename create_sis_style_checksums.nf => main.nf (100%) diff --git a/create_sis_style_checksums.nf b/main.nf similarity index 100% rename from create_sis_style_checksums.nf rename to main.nf From c88c3aa152b1e003f48d0856487ec3a796a70e48 Mon Sep 17 00:00:00 2001 From: Adrien Coulier Date: Mon, 9 Sep 2024 12:49:29 +0200 Subject: [PATCH 3/8] Add README --- README | 26 ++++++++++++++++++++++++++ main.nf | 2 +- nextflow.config | 2 ++ 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 README diff --git a/README b/README new file mode 100644 index 0000000..10164bb --- /dev/null +++ b/README @@ -0,0 +1,26 @@ +# Sisyphus-style checksums + +This pipeline takes a runfolder and an include file and generates a checksum +file compatible with [Sisyphus](https://github.com/Molmed/sisyphus). + +## Usage + +```nextflow +nextflow run main.nf --input_folder --include_file [--ignore_cache] +``` + +### Running on Uppmax +When running on Uppmax, use `-profile uppmax` and specify project with `--project ` + +## Input +- `--input_folder Date: Mon, 9 Sep 2024 12:49:37 +0200 Subject: [PATCH 4/8] Add .gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..96c08ad --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +work/ +.nextflow.log* +.nextflow From 7475e8aa920f3313b4c2cde4c7731d14528b0a57 Mon Sep 17 00:00:00 2001 From: Adrien Coulier Date: Mon, 9 Sep 2024 13:39:16 +0200 Subject: [PATCH 5/8] Add tests --- .gitignore | 6 ++- bin/create_sis_style_checksums.sh | 2 +- nf-test.config | 8 ++++ tests/main.nf.test | 43 ++++++++++++++++++ tests/main.nf.test.snap | 30 ++++++++++++ tests/nextflow.config | 5 ++ tests/test_resources/include.rsync | 7 +++ .../runfolder_cache/MD5/checksums.md5 | 3 ++ tests/test_resources/runfolder_cache/file1 | Bin 0 -> 5120 bytes tests/test_resources/runfolder_cache/file2 | Bin 0 -> 10240 bytes tests/test_resources/runfolder_cache/file3 | Bin 0 -> 10240 bytes tests/test_resources/runfolder_cache/file4 | Bin 0 -> 10240 bytes tests/test_resources/runfolder_cache/file5 | Bin 0 -> 10240 bytes .../runfolder_nocache/MD5/checksums.md5 | 2 + tests/test_resources/runfolder_nocache/file1 | Bin 0 -> 10240 bytes tests/test_resources/runfolder_nocache/file2 | Bin 0 -> 10240 bytes tests/test_resources/runfolder_nocache/file3 | Bin 0 -> 10240 bytes tests/test_resources/runfolder_nocache/file4 | Bin 0 -> 10240 bytes tests/test_resources/runfolder_nocache/file5 | Bin 0 -> 10240 bytes 19 files changed, 104 insertions(+), 2 deletions(-) create mode 100644 nf-test.config create mode 100644 tests/main.nf.test create mode 100644 tests/main.nf.test.snap create mode 100644 tests/nextflow.config create mode 100644 tests/test_resources/include.rsync create mode 100644 tests/test_resources/runfolder_cache/MD5/checksums.md5 create mode 100644 tests/test_resources/runfolder_cache/file1 create mode 100644 tests/test_resources/runfolder_cache/file2 create mode 100644 tests/test_resources/runfolder_cache/file3 create mode 100644 tests/test_resources/runfolder_cache/file4 create mode 100644 tests/test_resources/runfolder_cache/file5 create mode 100644 tests/test_resources/runfolder_nocache/MD5/checksums.md5 create mode 100644 tests/test_resources/runfolder_nocache/file1 create mode 100644 tests/test_resources/runfolder_nocache/file2 create mode 100644 tests/test_resources/runfolder_nocache/file3 create mode 100644 tests/test_resources/runfolder_nocache/file4 create mode 100644 tests/test_resources/runfolder_nocache/file5 diff --git a/.gitignore b/.gitignore index 96c08ad..24532e1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,7 @@ work/ + .nextflow.log* -.nextflow +.nextflow/ + +.nf-test.log* +.nf-test/ diff --git a/bin/create_sis_style_checksums.sh b/bin/create_sis_style_checksums.sh index 014f36e..e6996a0 100755 --- a/bin/create_sis_style_checksums.sh +++ b/bin/create_sis_style_checksums.sh @@ -11,7 +11,7 @@ export OUTPATH="$FOLDER/MD5/$OUTPUT_FILE" export TMPPATH="${OUTPUT_FILE}.tmp" mkdir -p "$(dirname "${OUTPATH}")" -if [ "$(echo "$IGNORE_CACHE" |tr '[:upper:]' '[:lower:]')" = true ] +if [ "$(echo "$IGNORE_CACHE" |tr '[:upper:]' '[:lower:]')" = false ] then cp $OUTPATH $OUTPUT_FILE fi diff --git a/nf-test.config b/nf-test.config new file mode 100644 index 0000000..870799d --- /dev/null +++ b/nf-test.config @@ -0,0 +1,8 @@ +config { + + testsDir "tests" + workDir ".nf-test" + configFile "tests/nextflow.config" + profile "" + +} diff --git a/tests/main.nf.test b/tests/main.nf.test new file mode 100644 index 0000000..15d9c73 --- /dev/null +++ b/tests/main.nf.test @@ -0,0 +1,43 @@ +nextflow_process { + name "Test Process CREATE_SIS_STYLE_CHECKSUMS" + script "main.nf" + process "CREATE_SIS_STYLE_CHECKSUMS" + + test("Generate checksums from scratch") { + when { + params { + input_folder = "${projectDir}/tests/test_resources/runfolder_nocache" + } + process { + """ + input[0] = "${projectDir}/tests/test_resources/runfolder_nocache" + input[1] = "${projectDir}/tests/test_resources/include.rsync" + input[2] = true + """ + } + } + then { + assert process.success + assert snapshot(process.out).match() + } + } + + test("Generate checksums with cache") { + when { + params { + input_folder = "${projectDir}/tests/test_resources/runfolder_cache" + } + process { + """ + input[0] = "${projectDir}/tests/test_resources/runfolder_cache" + input[1] = "${projectDir}/tests/test_resources/include.rsync" + input[2] = false + """ + } + } + then { + assert process.success + assert snapshot(process.out).match() + } + } +} diff --git a/tests/main.nf.test.snap b/tests/main.nf.test.snap new file mode 100644 index 0000000..958f7c8 --- /dev/null +++ b/tests/main.nf.test.snap @@ -0,0 +1,30 @@ +{ + "Generate checksums from scratch": { + "content": [ + { + "0": [ + "checksums.md5:md5,75a433b1e14782f06d44c93142a2d3fb" + ] + } + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "24.04.4" + }, + "timestamp": "2024-09-09T13:40:49.058439" + }, + "Generate checksums with cache": { + "content": [ + { + "0": [ + "checksums.md5:md5,d6a4e7c087ac3895562df860e16a9c10" + ] + } + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "24.04.4" + }, + "timestamp": "2024-09-09T13:40:53.342759" + } +} \ No newline at end of file diff --git a/tests/nextflow.config b/tests/nextflow.config new file mode 100644 index 0000000..c19b1ad --- /dev/null +++ b/tests/nextflow.config @@ -0,0 +1,5 @@ +/* +======================================================================================== + Nextflow config file for running tests +======================================================================================== +*/ diff --git a/tests/test_resources/include.rsync b/tests/test_resources/include.rsync new file mode 100644 index 0000000..b68204a --- /dev/null +++ b/tests/test_resources/include.rsync @@ -0,0 +1,7 @@ ++ */ + ++ file1 ++ file2 ++ file3 + +- MD5/ diff --git a/tests/test_resources/runfolder_cache/MD5/checksums.md5 b/tests/test_resources/runfolder_cache/MD5/checksums.md5 new file mode 100644 index 0000000..109dc81 --- /dev/null +++ b/tests/test_resources/runfolder_cache/MD5/checksums.md5 @@ -0,0 +1,3 @@ +cd06fdede6fc5f34dc50aef355f01071 runfolder_cache/file1 +124e298567318b923507fe84c94f0615 runfolder_cache/file2 +e944799aedc034b248f8e2c0a6e3384d runfolder_cache/file3 diff --git a/tests/test_resources/runfolder_cache/file1 b/tests/test_resources/runfolder_cache/file1 new file mode 100644 index 0000000000000000000000000000000000000000..c8115610642101e182e682b8aca5c00c7798896c GIT binary patch literal 5120 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 literal 0 HcmV?d00001 diff --git a/tests/test_resources/runfolder_cache/file2 b/tests/test_resources/runfolder_cache/file2 new file mode 100644 index 0000000000000000000000000000000000000000..451e8369cef7eaa03398d66ab8e345997427f2ed GIT binary patch literal 10240 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 GTg3AdDZ}Uh literal 0 HcmV?d00001 diff --git a/tests/test_resources/runfolder_cache/file3 b/tests/test_resources/runfolder_cache/file3 new file mode 100644 index 0000000000000000000000000000000000000000..9aea275640084eba9e7e769957f2b3a9bbe679ac GIT binary patch literal 10240 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
wP^%%V2NGsFy5djeO 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 GlR9oRrr}Be literal 0 HcmV?d00001 diff --git a/tests/test_resources/runfolder_cache/file5 b/tests/test_resources/runfolder_cache/file5 new file mode 100644 index 0000000000000000000000000000000000000000..3e56b9a9902626d87d4a7075a9896a4f50460e36 GIT binary patch literal 10240 zcmV+bDF4?R8=%`1fPuehg7>n->jt7g206LUANa)*wOkHE2cNws&;CR(cf0}-0o7&t z{?GFSg_rQ~_H)u1XOnA-2o62IqpF~XlZccHwwuFJZq&iVVde4r{2-Rq6wRwyjx>Jb zsF@6FU-b*5iC_!G1m@TH1S}{zEWkm-gN~0}xi|ia5skm_K5a8ARW}z?#;E8Z;6GpH zKrzq5eykj~gfDYIVDg=2$8Hm`Yx;oe{g(-<{Vx>M&oSO@HO@0x4lP;nLR-N7=40he zZ3WaC=G-wy892DK{r#{`t~F2)T!0me4JpNRkVUbUT1B<7MFJv)bcA&-T~*otnAoQ{ zf6;6vgNy!S%2U7h!OP2t?`oDsKD0j{vAyYYD>-Po3ez6eV-_OxyiIa+D zYgD%`lquWH_caWyJXc*3_MZO8rbetm z@K6WGG1b2xWezTYMg(}lSM}k??x`32^W0K9jOB$bZe>un96#ito27wtI40 zAWy|4*2g1Y7EiMkO~VM+pv#YcqR-t=tE=jn&Fs=D*Mg228d)TEC-F)u(^zdI*bhQ% z(iP%0TWYUN2U$pb=F|bjTif&jATlI4 zCo~8y0_cw%gi3O=_5p<}ZlpEW816uObiEwa*9VujT}HBFqW*P?ewDf4UV@f2=ly^-W~=wogjw!mi7+Yh zHk-ad1eaj`5`{t}e&U?xl)DWOA&@jSLeRnov1s#&vPW$I2hnLa9?;^T^rFa4PNvng zDA#?3Hxp7s1fXbqlqp)VF$avx09yf728=ke-f=z8Qh7~ksDqjZ({Gf$M-V4}%(~<6 zx}j>z^ui>;t<3oYJ1gqKMVT?(ymJ>#f~v}^v08MV;e@8)0A3J*G%B!E!n@B#Gp6c| z`578}>Ch#|{!$T8HPRV;oY(ml>_y$*s|6dUDd;KBV?;KLP|oPi6xn#yye7SO?`;!- z)>}x3i(BbS_fz3oQJ#0v$USJ~8N}cROlHdefMS#lq@OtxIm=!O26#f8m%N#5hA z0kAq~NHDKd#q@E)U!~kteDv}# zS@m4+zMBJhbBS-AtGoOk*qv5I2pt$*vX`$spUDg1i68?PsIq`cty=U&FXt7a@g{A> zuFC*}kUFWQU3}I6HnwGyJDcb_^Jm)LBA#kCDE_Qjx=c%h--%83C+ppndRj|C7f&9R zLs3OEj+D5Pt|-R?+R2V@Y;9wG#WUOM(Rxwu``{Cy4wdumr<)ghtSp6*f;P-`qR zQBD(<)1Pm~g2E_Yn>TICn<%XcY(#>hP$3Xl%Dr8l45lX}m?nwfmt0Cs&mW!K9eU{t zg=Fvri~_i3NM3)k**EOBolanGvRdtyzS(&^n@M%I3I|;5lfz}JqMbB6&y155Iy*#$ z+N)1Fg#= z`U?U6fMtUQ_vXn)DWa7WlL#3E4Breq*zog^%=*CYd;o z&?CncfnZvWvpZj_vW)HCU@^YyHF0nRhiAK_#ah;_)niku&(3l}KJUg)%am4$%Tvhi)!uLH*{!ij$pt0{IyB3rv$7834ABOlf?se~_4(8uf+CbJA>{#= zQUX_q{q^YjwB&FTq|*gn=M9-@K_<^kYKX%p5>3P3yZ95TgFMIrdGsS-F{g|jx6Qk? zZAUh*QFo0&N4rjk$nn%pX~9M>b5&n$5JwyEu78ZGNXEug1j@ljsJOgA+%XXdg;6DP zj8jf1PArM6X!9gy!p`A*&m@MyI^MujIOc9CZcWou`@P2Z!`@q8zAmTUh2|blE1=nP-0fVmp>My|5k#F#B z69Im_na^%Met@7%S-MTEd_s>Mw0Jsn3mVUXJlujCk++eGPeEWEz|FTyN^OrTqYQD5 z^0{ZaurkR`3aUw%RI^$E8}>RjV7(XXMP>?|dMeiQ5(pV##HQazu~CC2!P8=KLsjTS>kz zIKNUT7PL)=WNT{JLmJQw9kp7Kn$Dgr`78r#i_Q#1Q^S$iz4+L zzN-js8#2}Gsde4HqVei%`C!+c)$H)0p#t*4d6ii5hAT(oWka`OP zHYyaAf&j*(fCNI?LPj~s9|&dre*IFqps8nT3wr2U^BJ{0ZARY#PJ#tT&XS&qI#DR* zxN@O?jYL?BBJU7L(a=KLHwLL~8`X+1;B?1&OQ_PE-mfc{%O7{svoV1>A{8Toeb@-n zekuu@SOnG4%#DhGX58PU#L(QJwj+*jk(D@tvgA^*f<8P@PaeV23L6Q}FZjGlnxGeF z{J8yhP4_h!m)Z}(nQ9+*_Gu5n@g~x)uAnw>3xNrV5dQmd_bxX#nzH?pLlPK01U!^; z{j?(eEiAy|XmuWdC!Q7!80!T>G_o%PPy;CO30B^pEiYFj5B>?U`k_>pKR303&|H-6 zWy#26ut3fg`%DWxA$!QW=D0XVF<8fmc5`fqpK@j*S^5vOA?X}+TEmsh6)VDrJL?YT zHx&>0s~0ANU{zvWzJp{~u1F(<@7CwVP~%FikNtO||NQ3$$31#G^MZ}xUK1y}p5zKV zX`^=bJEr7Xs@^9RjxtlUB;zz&yX9E|e|tB&DW&41M>Q%nfn+!^oW%t(7ye~~(L681 zEFwgTXrzwoHKDsrb*-Hb{{%E znC5YdFVF83sO!jw?F7435CH$`KVsmzb-$m9W^1C{Q0+5Fao#QoW^O%ALRyQ!^>U{J z^M!_OyFS8~?Oip%?&s#3=6Ck>Fh3#K?W{>&Rte_cVI1MyCBy_ODjPGYt}+x-Z&y|} zyQqP1@Z@=|HO%L+fv;LI#FPt6s`%;9DiOd)~;?P`NbCmL+O?`|oPm z&MJRxzA!iZDrae?75A?WVG_o-jTF!M>~`EuC~kMwzv2|O5rin~sXM*!LFavZ0%|xm zcUDm}7c+WweProv!Q}%Mq(sqq>UDu|^^>{)8=4@p#-bXi8uA5#y{Tkb+sQUz;$mR;v$y(>l>YRTF(!I@#5g+`i>>=xTRI(F=}maziHPo4j;~v% zalt{@I{(S+O~RNoDi}5~J&QK!IktYaiCD-S6?V@~-)i`X%e#ib3ZYTMzN)csruf1; zlo(f8@i<}JQGJ$paaM`V{H=-Y(19hcXQ(HV-vxxz;v@grr8N-FS(p&C0i`-N6*NLx zlH3I%+=C{fUo#QeUI-#qd%d`=o?lsm$EBGVvO-^k{hkS%^qAu`u{|%AYm3vooeNqd zv#=M1NUiZ@sYO_HM3uDD(?3Rl{o*33$g!mQ5SjS=9D;te7tikkXfNbDfy{wn8HzWL z5*mt=&P~EiFIOLwOv5O7>46;Sl7YYB%~GVCt9WHXm6^@jWs+WVBY(goW{}T^sVydm zPkjJ*v;|G_B;rbeyetFKf?CBi@Z}}=c@5RQ&mXRC*T^S!bOog*f$1Dc84tD4*reRZ zFedS=_Ff7K|65^f%1aBIrX|~-Ry9tnlvytGBkb;w$_G6JU(y&D6j_Awwiq`n$SD{~ zM7weSdF0Kc79~VRb0bTT#or9itGd-S^ABJGYmY}s&GFx_7=5*HTE%48oKb>)|FxMHnde&={dGO^T+cN$VX&;$Eu}y zOIG0gii^Ux`VIW%0jr8wWK_ua(_oLdO@0qLBk*_ooL4t`(`&~G!0&`a4)~!8#@(6R z%l!(M<3aF2NPhL>jZ){Os>7h5e<}1wYz!(8@2?87w7Ag+5~!t)Z9SF?A}vT@BaBG0WC{ryKy+Ote+|@lh&ugcqNg=P_%D zhRtw;pjN_c!1VD`hv#QbqRbpO>4aRo5L}>g{o8Ww1uohc0(75hfTg$6n%zr z?m~kXItee*oX`AlN@mx|W2Bt9$x{=JkkwHX$2%>Z-hV~c=fyWwk2Y#y^#6h3&zuNF zTFAYE+*>;J(nZGWO`Z^Ot$XQtwb1L>L_-Cq%~T!j(L~lXt}DIM`zMHo4LzKjIAm%Q z5QLn7V(>v(Mz^#|8aC%oJkc&37WQ!JIL_CfATTsDI+B`B`_ESP>Kl_)FC4lsDs!S| z5}P{aHC3af{OHngbEXSp1fz&$MI89%4O4PAzw!nXOJXHzCl-QNt{F#IO(SCh9|r)f z*p6^4o(g?+rJn2WOTnEKOks^gQpR_3i-qyWcVQR-+vNWfyuL z$+*9PqS^V>-3(GHETUx+Zn{msk9Rm;brGmOZ^;m#m!KBhZ zs`xH~42M^TeO`$|Kr*b7*Vbt6TMqOCOPT&&l>24chX?b->^JR00v@ZJ-ol~6HWnml zO?ezr;yjxkJR%l%aLrr<%$fobI6|t|53!)5LMtS z#!kj6mlceX-%*T2^l>z7d91euh#di;DCu5=m)LcwARMF8=ztLcx)GSsic6&BJpXy@ zCwTKE5_pgxMKv*%ES{M2XfwHQq|#(srKI186erGlyo^0~0$#V_Wd|oO;UcCpvouLx ztxJ?k{rQ&BE(G&()8ZBo+qxQP)ofrOL^Q%(px}I_JZYW4gAngAAQl){Q?I-Psp>bI z#&fD8@JNNz>`GI8^5#*Lp>MYv1#n+WL~y#WPwyr&h)GU`QPwblDKd{@61U>r(|vdu zR7}SyKmXs!fVQ_CTZLms07}Yv(Zup$+9Ey&H~I(Vci)b=O1f z<1IvI(Rfx3lk2@37|p&Y7^-RjoV&VmSv2PT2P{)UkRO~rD1s946J4z9HO5crwi_fi zZq8Z3&1-=+536!Ov9G0?tH>HHH`-`KH^h>RDNBCNqPii&bkyFA(eXphV-L$G*g!0X z9wXb8%c|lokgMBRaUtAoU6s&>Gww+?{%b%G{U>Dm(un*5YaC!6I9O|;g4>VmySEKq zod!$-?cg88d4f_b{LB{WP z*A5kE|3?A{YHdSy8TCgZHT1!FN%Mugz@4i$FJw%CVcty+9Kso3hKU>RVoD zq*&a0rPlPGpVuncYs2b2@@ENTo8};tB;A)kC$j-3pwZ6UkZ9p`zE%pe<2e7ooQqk%{HsZB;O?$o=TO$AuUMk zKrW@cfamXl(3}>`FzxU}tf1mcbv$-wLaAop#Z|&dvqJ(BNWw&lh^()AC<_GGgO#5* z%(ebafrS&S_#R+ZZED*sZ%1=OB9J=dX$k>Yz@q;9Tm}N-4mPkg6mn}@FpfF3%-NVi z?3NQs9gP}hyME*uh$JeMsVjcD=J$i+h_Jo3i8-=ryUd1r635LJU)?xFv;i1T3^HB) z@!Hrfaur_+L?LDg)lDATWPFbQVVTl`Y2Aw#3IHVB^U1I!b4*D0Q+_3PR^AV?Wun>C zy_E-Sjs{8InT|P)7saw~3B1aP3c;CBuWk2C{FZ?uv?~nH#sn~zWXH}f)-v`xubX?= zr!ucqJ1L_eT=z54mU`su@=2ef8*Cc%1WFiP(}Ckoj$mdb=>D;)4tw-J7!O7g5WfHZ;oHS z#a-TeFYe*zNb6}yCNiZe;&rSM#n`J5rgCQdp8|NJQZVGbgp3ITf;1y1+hX4JyAeJU z(Q@vk_zWATW&k3_vc`_sje4|{IYzJE>AU0&k+I5A;><-I#b!G3h`^`1Ecfcw9<9+oqqy~1ITG+PeYQuow(CsvoD=RkD$5XukJFp*D}Zh;<}=WlWB#idS@5cta_?yFw(h1w0LkzxO^ zcXdc;nM1q2F(j1sjl0NdUlLBJz3SZS=QGr1VilpwMn*JzBXSl$BO`>Z25Th zr)VG)R=`O}`~3v-SW4Ru_R7tDlSJydgjv}R3`B6=4m_%N5^W6rDL%O&OA{!yrS|+M z|M1LGc}ES&y%|r7=mWX1+e|_~9_2au|Ke?PV@PL{XWyc95%HG!-3ws^LM0oF!4nB< zY*MTCZ-3&ja_+bsym!K?q{`3$@El!u- zDE~_b$b4=xn;k1F)X_G5JeNSnvrVY4n1(W?`=`9NFPmo5bv0x%B1-9~g*0Q)E9KfR zg`6Qw{U?4iQ~U1(Kvr5@(QfCRM8ZLC{CL4cZBvD5$pZQFnl}*74DD_KJz4bML~i@X zwL+LA3EaXC$F+4U^2-dQeu2aoD)@(!WA7QKSBc%R>yow%I%R|JqpAS@g&a0kN;wC8 zbO+90MO&zs`Nynq<1!?m0lpOsVPFF>^vg7Wc)v{K%9WJJV=mt+Mi3+J4W(31a8*M zW(by=tAIBnbR-vV>nN{7Qs=rRCqn2L9B3!eGbQeein8aH+HJ_@MH87QC z6^DeyYNRKz0M(YV{WTa?u)-jfTwEC)u)vN8N6=8&vGWsEn*sr0bAhOXUDx;fF9CLy z?xm?lT{`$CFObStE_`ns0)CghAz@7eNE7KOVdSQP)GGsKXr<>1*rUK|%x-!4*m7kC zT(O*enD)xC#3-Gut?pXGpK2W!$p!fRFRAE|t?-yDIQl;7Ym0|5xpgxR${H`^vn zLHBk~t&LoNN*0`~aiXJAYtVtn0rQ>e}et>@=gkFZq+)(b( zt`R=Z-rL|n{C6*$k0vi2pJbEAX;kjxQ#+HoV^GWu@vCzASk&p?pj4q-%CTPSgKU8= zR}YiyYR?Y{3iBWk(2xPIyRkQXl0ZB8OI?!4SSZR`V;%6G>gC||a*ep2Sm^9?1ly{DJRmt){> zx4IZDcTOExAJTGqmDbt3-7hz=&&Bl#xu|YV(iDe_9Uk2^& zx<&k1+5b}uYqqx$P71bsn~a1n&%S_pKfWC|N`Y1rNFY};-$kqO+VWFRE3m3R^e z^F3ougFgoJduf=d6N|UIRr|4VQ76h_Tx73GD4y0=k74^qbM+J&c+#>Q?Z*n~kVbxn zZVd97_Gx9!qZ?6Q&L;CN(pCLVE6WFf7A(FI#iWgJLS1a=x7Q;Ui-;4cnslAHZwTga z8OY@&0K{I@nbt)1A{6=^;i2N9Kt(T`^kvlIHCicAs}U|d)18>MehV@&O*w|IM4YOe z@62TDjY*ppB~E*6X%p@6&^%*{A#`7NwM#xj{w(ezc~|GxCy|Os!lj1hF{?x{a5TGQ zFfo`urOD%mWwWFQJmp%)Ge&{H znk8T%v><~%A~BWfs$N?>I&%>jR!vvT(zPr3yEMg%?*?&q`P7eHU+km&AdqQAB{07J z68zit2=<6^L<|9J z!mvL~Lu`!SXpzM^m^$bQHqb#yLc0LUAX9d?s?-;P#Zp!U7{pV8edt*}guS}_9<+@B zC%aJbsY)yfY{zXWBQaCo52r$s6`HY}%_c~2P{%2J>gQkn@9eB2Hd>AujVK*)QOO%D zr^u0lR{mq7sNFGE>Xpg(WCVhrE^Y+!DsZ6GP_Lut8uQZx<0N_I11uPFFj7t_iuY+~ z?6U0$`z|`)EI12iRP8{Tt$$!1{D{OA8*aF73 z%Q3*mC#W;}1r!@>i{{Ir0%wP7kOa{ho_oq;L`KC@o_6q#axNupeW}CSGTFQIFHCF! zDMT28M=r^*oZkF~!PNYC=dHL;7!>j-QW{-_9zX0S^@-k$*(79%7~9Xq%-Dx!HEO|D z#JUxxOFFQe9akXwc0!K_VtWQH7(F{idYsd15U?f{(-z;&N1_c0?V@>s0-AdYtW%?; zG0ns_tpdOq=~1HbUU^3>XnovLq2{8&^bCj^Th4oZ7ba+?%RGPk?LA@0xftNxea0(E zkIUZiG*5Cw{>Qv~)Ts{Xxo$2!rMe^K=sm;92U_V#$r;?)N0|s>2~5M7y%0G|20?7E zpeH(GZFgF(BqQgz&H%4@!k?^4m-6R%h(r7{K*c7zy?;+^WTrTzFPye z;^%9Y*&RBC<`T^-=*4a^(`uYefwCTB> z9|6DsI?%pFwW zyFJ{deq5ByWTkesY!@)+CSKuZ-IjkGI$=e=dFTn|EG&>eKITV<}`(;SL9Jo*)KMdH#`bm+5# zkYX2%38|Eg{z}r;5nadL5U?C5Ij3ykbkKA2>o&d2x8bWb)-2+TWdTE&u6L_t2B0V-gk1$|OD7Yu1pc;%CotIJ} z`@dvsvht<2r0^mZ%i?cxl?Xjhyu||g>qO?q`CF9tI?QTA-Ftn7$4Q}8`wGusnevld z|BxqbT;)gK#16Gs)Yow)1x-0B?|BYsG@sFXrJ>A`cK2g-c-%249AvlO1okq`%SFDs z5{W!ZtWi+x6Ss(sS+YVivholtMU35p~DPV5*sFhSMgZXs~N1&^2nd{2*Y-AP@aN&qx<5Wk^5ix zzi`S)#Kv#?+s|tib>0Buci~J@n@{palP-fhwjCp1&7BYyqNd$s(ipX_GCK<^1Z^mW zcT<-H%qAZ3Yf)NB2%fJ3#Tv6iVz8^-g-qlAX5@{nl48YM9R&T$vV*81tnTSMu?A;x z&Z+(9m8VQhjcFDB8+0K^6rUMryb5#|YfXQq?eo0q&-D46OO5?nvxWyc%P!46kw7mQ zonyC41(GS~B%`7^BO(PC6}9pw&U6GoIGJOgqC)@<<8%7WU3OU}8N8VrlKNBWGxOPn z)6{C_p$P18CT4Dr^M{P>wr+DxaK+Xhi0r45dWG_NsWW)D#Fd>$T|kW<4Q9=Pj|g+1 zK?Rv5v9fkhMzxmAO5$|)OB1}NuwCkG{P36XSFQY$3Z^h~HIk7|H5|)we`+@@-K!g4 GRLo^&ZMvlZ literal 0 HcmV?d00001 diff --git a/tests/test_resources/runfolder_nocache/MD5/checksums.md5 b/tests/test_resources/runfolder_nocache/MD5/checksums.md5 new file mode 100644 index 0000000..79c1e05 --- /dev/null +++ b/tests/test_resources/runfolder_nocache/MD5/checksums.md5 @@ -0,0 +1,2 @@ +cd06fdede6fc5f34dc50aef355f01071 runfolder_nocache/file1 +124e298567318b923507fe84c94f0615 runfolder_nocache/file2 diff --git a/tests/test_resources/runfolder_nocache/file1 b/tests/test_resources/runfolder_nocache/file1 new file mode 100644 index 0000000000000000000000000000000000000000..62268ff3bb24ec7ecd57fd43a1fba2633dbaf587 GIT binary patch literal 10240 zcmV+bDF4?G<3Awp1~eyo3WqidDxI0Xz6_s946OnQvP^L1A|FNo0A|2Os}nzfgV?eXS zhBl9WAtV;$L^fpr`{&Laf)2USG?e9Z=&KpGxjyt@kV zLGdb#kv*F+*0)+0Ko;c!uB*`*oQZJSi>hmnave;IRQcbcFQAL=1W9w|O zryORUfhS4Lvr>-l!Y1qc^Jcdlh_X+;ndm&HNqO3(AplvHa^8-A* zIqha16J5$tugB(7mAESqY!7P79#j+^>KBHy%v*ZL4OA({zNb2mmZ!P-FUu|<_N}33 zjv{NNwHH++cl3C6pT)96rQNugyYsrn1D|LHcuq-g|6N5x`Xp8Ge{?V~(b=8`#qq3K z@*e`Ql$h9WW$FP1^@&y|Nq{3k74n#xfV2+)M>{N8LXw1|p?yfx@Mtuvi%P$>b9G!h zvye#?oF5Sq%E32RPE5$v&a)X)|KZDGMr3Y@Cg1Pc%Z_;~aQ%^=!Z|cSLW(hi33w=A5sN*ID&q

)Z>O>Mlw}|r`r#him*S?x#@zN>FdAtV* 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 G`)5HU#q3!C literal 0 HcmV?d00001 diff --git a/tests/test_resources/runfolder_nocache/file2 b/tests/test_resources/runfolder_nocache/file2 new file mode 100644 index 0000000000000000000000000000000000000000..451e8369cef7eaa03398d66ab8e345997427f2ed GIT binary patch literal 10240 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 GTg3AdDZ}Uh literal 0 HcmV?d00001 diff --git a/tests/test_resources/runfolder_nocache/file3 b/tests/test_resources/runfolder_nocache/file3 new file mode 100644 index 0000000000000000000000000000000000000000..9aea275640084eba9e7e769957f2b3a9bbe679ac GIT binary patch literal 10240 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


wP^%%V2NGsFy5djeO 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 GlR9oRrr}Be literal 0 HcmV?d00001 diff --git a/tests/test_resources/runfolder_nocache/file5 b/tests/test_resources/runfolder_nocache/file5 new file mode 100644 index 0000000000000000000000000000000000000000..3e56b9a9902626d87d4a7075a9896a4f50460e36 GIT binary patch literal 10240 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 GRLo^&ZMvlZ literal 0 HcmV?d00001 From ba6b66a5db0ed782ba9a4ce7602f16be4c52b4ea Mon Sep 17 00:00:00 2001 From: Adrien Coulier Date: Mon, 9 Sep 2024 14:36:22 +0200 Subject: [PATCH 6/8] Configure CI --- .github/workflows/nf-test.yml | 48 +++++++++++++++++++++++++++++++++++ nextflow.config | 36 ++++++++++++++++---------- 2 files changed, 70 insertions(+), 14 deletions(-) create mode 100644 .github/workflows/nf-test.yml diff --git a/.github/workflows/nf-test.yml b/.github/workflows/nf-test.yml new file mode 100644 index 0000000..7466b7a --- /dev/null +++ b/.github/workflows/nf-test.yml @@ -0,0 +1,48 @@ +# Adapted from https://github.com/nf-core/demultiplex/blob/17cde5d8f22f5327beac9637e941e4775ada1b3f/.github/workflows/ci.yml +name: Run nf-test + +on: + push: + pull_request: + +env: + NXF_VER: 24.04.1 + NXF_ANSI_LOG: false + NFT_VER: "0.9.0" + NFT_WORKDIR: "~" + NFT_DIFF: "pdiff" + NFT_DIFF_ARGS: "--line-numbers --expand-tabs=2" + +jobs: + test: + name: Run nf-tests and pipeline + runs-on: "ubuntu-24.04" + steps: + - name: Check out pipeline code + uses: actions/checkout@v4 + + - uses: actions/setup-python@v4 + with: + python-version: "3.11" + + - name: Install pdiff to see diff between nf-test snapshots + run: | + python -m pip install --upgrade pip + pip install pdiff + + - name: Install Nextflow + uses: nf-core/setup-nextflow@v2 + with: + version: "${{ env.NXF_VER }}" + + - uses: nf-core/setup-nf-test@v1 + with: + version: ${{ env.NFT_VER }} + + - name: Run Tests + run: | + nf-test test --ci + + - name: Run pipeline with test data + run: | + nextflow run ${GITHUB_WORKSPACE} -profile test diff --git a/nextflow.config b/nextflow.config index b1c123e..fc8a924 100644 --- a/nextflow.config +++ b/nextflow.config @@ -1,17 +1,25 @@ +params.ignore_cache = false + profiles { - uppmax { - process { - shell = ['/bin/bash', '-euo', 'pipefail'] - errorStrategy = { task.exitStatus in [255] ? 'retry' : 'terminate' } - maxRetries = 2 - scratch = true - executor = 'slurm' - clusterOptions = { "-A $params.project" } - cpus = 1 - memory = '8G' - time = '3h' - } + uppmax { + process { + shell = ['/bin/bash', '-euo', 'pipefail'] + errorStrategy = { task.exitStatus in [255] ? 'retry' : 'terminate' } + maxRetries = 2 + scratch = true + executor = 'slurm' + clusterOptions = { "-A $params.project" } + cpus = 1 + memory = '8G' + time = '3h' + } + } + + test { + params { + input_folder = "${baseDir}/tests/test_resources/runfolder_nocache/" + include_file = "${baseDir}/tests/test_resources/include.rsync" + ignore_cache = false } + } } - -params.ignore_cache = false From ea992547079e6a23dbb43b5a3b878d881098b354 Mon Sep 17 00:00:00 2001 From: Adrien Coulier Date: Mon, 9 Sep 2024 16:26:57 +0200 Subject: [PATCH 7/8] Update README --- README | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README b/README index 10164bb..0708a39 100644 --- a/README +++ b/README @@ -24,3 +24,8 @@ this flag is set, the pipeline will look for previously computed checksums in ## Output The pipeline will write the results at `MD5/checksums.md5` in the input runfolder. + +## Running the tests +``` +nf-test test +``` From 2fbb3a5a9fe12c7f3a904c7d57da6352e48059d6 Mon Sep 17 00:00:00 2001 From: Adrien Coulier Date: Tue, 10 Sep 2024 09:47:44 +0200 Subject: [PATCH 8/8] Fix README --- README | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README b/README index 0708a39..246aa35 100644 --- a/README +++ b/README @@ -18,8 +18,9 @@ checksums need to be generated - `--include_file