From 2c406826a109f14b033f12467c6248d963878820 Mon Sep 17 00:00:00 2001 From: Heinrich Lukas Weil Date: Tue, 28 Nov 2023 16:47:37 +0100 Subject: [PATCH 01/15] add querymodel helper function and minimal README --- README.md | 39 +++++++++++---- src/ARCtrl.QueryModel/Investigation.fs | 66 +++++--------------------- 2 files changed, 42 insertions(+), 63 deletions(-) diff --git a/README.md b/README.md index c6537b0..3c95f27 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # ARCtrl.NET -> **ARCtrl.NET** is the .NET IO implementation of [ARCtrl](https://github.com/nfdi4plants/ARCtrl) - -| Version | Downloads | -| :--------|-----------:| -|Nuget|Nuget| +This library functions as an IO wrapper for the [ARCtrl](https://github.com/nfdi4plants/ARCtrl) library in .NET. + +The documentation for the actual functions for manipulating the ARC datamodel can be found [here](https://github.com/nfdi4plants/ARCtrl/tree/main/docs/scripts_fsharp). + +## Usage ```fsharp #r "nuget: ARCtrl.NET, 1.0.0-beta.2" @@ -12,11 +12,32 @@ open ARCtrl.NET open ARCtrl -let arc = ARC.load(myArcPath) -// work work work +let arcPath = "" + +let arc = ARC.load(arcPath) + +let isa = arc.ISA.Value -arc.Write(myArcPath) +isa.InitStudy("MyStudy") + +arc.Write(arcPath) ``` -For documentation on manipulationh of the datamodel, see https://github.com/nfdi4plants/ARCtrl/tree/main/docs +## Development + +`./build.cmd runtests` + +## ARCtrl.Querymodel + +```fsharp +open ARCtrl +open ARCtrl.QueryModel +open ARCtrl.ISA + +let i = ArcInvestigation("Dummy Investigation") + +i.ArcTables.Values().WithName("Dummy Header").First.ValueText + +i.GetAssay("Dummy Assay").LastSamples +``` \ No newline at end of file diff --git a/src/ARCtrl.QueryModel/Investigation.fs b/src/ARCtrl.QueryModel/Investigation.fs index 4befdba..a773bbf 100644 --- a/src/ARCtrl.QueryModel/Investigation.fs +++ b/src/ARCtrl.QueryModel/Investigation.fs @@ -11,60 +11,18 @@ open System.Collections [] module ArcInvestigationExtensions = - ///// Queryable representation of an ISA Investigation. Implements the QProcessSequence interface - //type ArcInvestigation with - - // /// Returns the QStudy with the given name - // member this.Study(studyName : string) = - // this.Studies - // |> List.find (fun s -> s.Identifier.Value = studyName) - - // /// Returns the nth QStudy - // member this.Study(i : int) = - // this.Studies - // |> List.item i - - // /// Returns the QAssay with the given name (registered in the study with the given study name) - // member this.Assay(assayName : string, ?StudyName : string) = - // match StudyName with - // | Some sn -> - // this.Study(sn).Assay(assayName) - // | None -> - // this.Studies - // |> List.collect (fun s -> s.Assays) - // |> List.find (fun a -> a.FileName.Value.Contains assayName) - - // /// get the protocol or sheet (in ISATab logic) with the given name - // member this.Protocol (sheetName : string) = - // base.Protocol(sheetName, $"Assay \"{this.FileName}\"") - - // /// get the nth protocol or sheet (in ISATab logic) - // member this.Protocol (index : int) = - // base.Protocol(index, $"Assay \"{this.FileName}\"") - - // /// Returns the initial inputs final outputs of the assay, to which no processPoints - // static member getRootInputs (investigation : QInvestigation) = QProcessSequence.getRootInputs investigation - - // /// Returns the final outputs of the investigation, which point to no further nodes - // static member getFinalOutputs (investigation : QInvestigation) = QProcessSequence.getFinalOutputs investigation - - // /// Returns the initial inputs final outputs of the investigation, to which no processPoints - // static member getRootInputOf (investigation : QInvestigation) (sample : string) = QProcessSequence.getRootInputsOfBy (fun _ -> true) sample investigation - - // /// Returns the final outputs of the investigation, which point to no further nodes - // static member getFinalOutputsOf (investigation : QInvestigation) (sample : string) = QProcessSequence.getFinalOutputsOfBy (fun _ -> true) sample investigation - - // static member toString (rwa : QInvestigation) = JsonSerializer.Serialize(rwa,JsonExtensions.options) - - // static member toFile (path : string) (rwa:QInvestigation) = - // File.WriteAllText(path,QInvestigation.toString rwa) - - // static member fromString (s:string) = - // JsonSerializer.Deserialize(s,JsonExtensions.options) - - // static member fromFile (path : string) = - // File.ReadAllText path - // |> QInvestigation.fromString + /// Queryable representation of an ISA Investigation. Implements the QProcessSequence interface + type ArcInvestigation with + + /// Returns the QStudy with the given name + member this.ArcTables + with get() : ArcTables = + seq { + for s in this.Studies do yield! s.Tables + for a in this.Assays do yield! a.Tables + } + |> ResizeArray + |> ArcTables module Investigation = From 26a3ed4cf0049c4c675c755256bdf8642aa72d69 Mon Sep 17 00:00:00 2001 From: David Zimmer Date: Mon, 18 Dec 2023 17:15:25 +0100 Subject: [PATCH 02/15] Create TestArc --- .../TestObjects/TestArc/.gitignore | 56 ++++++++++++++++++ .../TestObjects/TestArc/assays/.gitkeep | 0 .../TestArc/assays/MSEval_Cold/README.md | 0 .../assays/MSEval_Cold/dataset/.gitkeep | 0 .../MSEval_Cold/dataset/sampleOutCold.txt | 0 .../TestArc/assays/MSEval_Cold/isa.assay.xlsx | Bin 0 -> 11742 bytes .../assays/MSEval_Cold/protocols/.gitkeep | 0 .../TestArc/assays/MSEval_Heat/README.md | 0 .../assays/MSEval_Heat/dataset/.gitkeep | 0 .../assays/MSEval_Heat/dataset/sampleOut.txt | 0 .../TestArc/assays/MSEval_Heat/isa.assay.xlsx | Bin 0 -> 13166 bytes .../assays/MSEval_Heat/protocols/.gitkeep | 0 .../TestArc/assays/MS_Cold/README.md | 0 .../TestArc/assays/MS_Cold/dataset/.gitkeep | 0 .../TestArc/assays/MS_Cold/isa.assay.xlsx | Bin 0 -> 14967 bytes .../TestArc/assays/MS_Cold/protocols/.gitkeep | 0 .../TestArc/assays/MS_Heat/README.md | 0 .../TestArc/assays/MS_Heat/dataset/.gitkeep | 0 .../TestArc/assays/MS_Heat/isa.assay.xlsx | Bin 0 -> 15295 bytes .../TestArc/assays/MS_Heat/protocols/.gitkeep | 0 .../assays/SamplePreparation_Cold/README.md | 0 .../SamplePreparation_Cold/dataset/.gitkeep | 0 .../SamplePreparation_Cold/isa.assay.xlsx | Bin 0 -> 12574 bytes .../SamplePreparation_Cold/protocols/.gitkeep | 0 .../assays/SamplePreparation_Heat/README.md | 0 .../SamplePreparation_Heat/dataset/.gitkeep | 0 .../SamplePreparation_Heat/isa.assay.xlsx | Bin 0 -> 14171 bytes .../SamplePreparation_Heat/protocols/.gitkeep | 0 .../TestArc/isa.investigation.xlsx | Bin 0 -> 9197 bytes .../TestObjects/TestArc/runs/.gitkeep | 0 .../TestObjects/TestArc/studies/.gitkeep | 0 .../ChlamydomonasColdTimeCourse/README.md | 0 .../isa.study.xlsx | Bin 0 -> 21407 bytes .../protocols/.gitkeep | 0 .../resources/.gitkeep | 0 .../ChlamydomonasHeatTimeCourse/README.md | 0 .../isa.study.xlsx | Bin 0 -> 23551 bytes .../protocols/.gitkeep | 0 .../resources/.gitkeep | 0 .../TestObjects/TestArc/workflows/.gitkeep | 0 40 files changed, 56 insertions(+) create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/.gitignore create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/.gitkeep create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Cold/README.md create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Cold/dataset/.gitkeep create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Cold/dataset/sampleOutCold.txt create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Cold/isa.assay.xlsx create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Cold/protocols/.gitkeep create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Heat/README.md create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Heat/dataset/.gitkeep create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Heat/dataset/sampleOut.txt create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Heat/isa.assay.xlsx create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Heat/protocols/.gitkeep create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Cold/README.md create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Cold/dataset/.gitkeep create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Cold/isa.assay.xlsx create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Cold/protocols/.gitkeep create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Heat/README.md create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Heat/dataset/.gitkeep create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Heat/isa.assay.xlsx create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Heat/protocols/.gitkeep create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Cold/README.md create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Cold/dataset/.gitkeep create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Cold/isa.assay.xlsx create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Cold/protocols/.gitkeep create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Heat/README.md create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Heat/dataset/.gitkeep create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Heat/isa.assay.xlsx create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Heat/protocols/.gitkeep create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/isa.investigation.xlsx create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/runs/.gitkeep create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/.gitkeep create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/ChlamydomonasColdTimeCourse/README.md create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/ChlamydomonasColdTimeCourse/isa.study.xlsx create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/ChlamydomonasColdTimeCourse/protocols/.gitkeep create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/ChlamydomonasColdTimeCourse/resources/.gitkeep create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/ChlamydomonasHeatTimeCourse/README.md create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/ChlamydomonasHeatTimeCourse/isa.study.xlsx create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/ChlamydomonasHeatTimeCourse/protocols/.gitkeep create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/ChlamydomonasHeatTimeCourse/resources/.gitkeep create mode 100644 tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/workflows/.gitkeep diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/.gitignore b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/.gitignore new file mode 100644 index 0000000..25b86b4 --- /dev/null +++ b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/.gitignore @@ -0,0 +1,56 @@ +# ----- macos rules ----- +# taken from https://github.com/github/gitignore/blob/main/Global/macOS.gitignore +# General +.DS_Store +.AppleDouble +.LSOverride +# Icon must end with two \r +Icon +# Thumbnails +._* +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk +# ----- windows rules ----- +# taken from https://github.com/github/gitignore/blob/main/Global/Windows.gitignore +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db +# Dump file +*.stackdump +# Folder config file +[Dd]esktop.ini +# Recycle Bin used on file shares +$RECYCLE.BIN/ +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp +# Windows shortcuts +*.lnk +# ----- linux rules ----- +# taken from https://github.com/github/gitignore/blob/main/Global/Linux.gitignore +*~ +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* +# KDE directory preferences +.directory +# Linux trash folder which might appear on any partition or disk +.Trash-* +# .nfs files are created when an open file is removed but is still being accessed +.nfs* diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/.gitkeep b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Cold/README.md b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Cold/README.md new file mode 100644 index 0000000..e69de29 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Cold/dataset/.gitkeep b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Cold/dataset/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Cold/dataset/sampleOutCold.txt b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Cold/dataset/sampleOutCold.txt new file mode 100644 index 0000000..e69de29 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Cold/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Cold/isa.assay.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..a670c9e3f065d53216991e6075c815570c5876ad GIT binary patch literal 11742 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 literal 0 HcmV?d00001 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Cold/protocols/.gitkeep b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Cold/protocols/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Heat/README.md b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Heat/README.md new file mode 100644 index 0000000..e69de29 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Heat/dataset/.gitkeep b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Heat/dataset/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Heat/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Heat/isa.assay.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..209dbe062a766ec38be4743b8a56bb1ce6cc1c32 GIT binary patch literal 15295 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 literal 0 HcmV?d00001 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Heat/protocols/.gitkeep b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Heat/protocols/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Cold/README.md b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Cold/README.md new file mode 100644 index 0000000..e69de29 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Cold/dataset/.gitkeep b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Cold/dataset/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Cold/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Cold/isa.assay.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..a3e55032e7364098344770220542e2e4740a199b GIT binary patch literal 12574 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 E2UPd>DgXcg literal 0 HcmV?d00001 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Cold/protocols/.gitkeep b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Cold/protocols/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Heat/README.md b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Heat/README.md new file mode 100644 index 0000000..e69de29 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Heat/dataset/.gitkeep b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Heat/dataset/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Heat/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Heat/isa.assay.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..7ccfef0e223510fdf367599f9e0caae5388401c6 GIT binary patch literal 14171 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 c3NjGD59WSshDZQeZ~)+*`N!G+0k&I?nE(I) literal 0 HcmV?d00001 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Heat/protocols/.gitkeep b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Heat/protocols/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/isa.investigation.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/isa.investigation.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..192143ff6d824bf9086ae1dc815200cad2121d29 GIT binary patch literal 9197 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

5t~;N!Yt0YE>pfuR0^qBa#@Aduzyr*EbbM z{lv2Rlx7pU%C8-iYDQJNjOlRJl=h?Qn)IG>#eLeNI&5ZOUjX!>zVBo8kg|v>(;g8rNad_?`O|nCtw15;6RK2fWe5bqd25&MBRG zltlsiQ8CTy|0JBIN^LeFt@PYX45{7sluPN$IAGKQ)?=teD zOp@D=209RV${~HZ9?@|EGysLl+E*zAFb4_EyCT4sIst$$o~1tEoI|Ujohugtr|!VS&iAEvi&KLAMza2LwQ>zkQy=v(?ezZV_-9uq_$ZV zXCX1z0%d#t(E&)7ac%6!3!5`Dhv;6mPl9SSI)=-th->pD8SddvW-XQ#m00$I!^A&6fZk@)Vq9+^d9!`Mfva}}&YznS}=CZs;CyFe2auG$= z+#04xE!X}x_%}u98o#lhOI6f$h1w;6+2ua8X9?&9g@VTsFk}hrg@nS#@iAlx>V<`( z$LTO!K=3_M_mc(P5h*VYF8a2Iojl1Z&LSR&J4UNtpOL4>H!RTNWm@ZEciy1GhktK& zWP_OJ(iE!9$1UDo^vxAl_8<+r^qhbpdz&bfk;SGg)HZdJ^@*b&vB=rG#O;XS7eNg^ zizeS!NFa88c!d8aXn|-y4E@0W8)&0)MUq1>QS66baQ_+6e}Y)kdNp;jOT1{7*W2Jo zHwHO*@^(V?NSy?OXC3TBAtl4TuzwgX%O)^yb|qux&sFw+Lu{JtD$+mLmI!Sb5>{*; z$x&AanO1rgGiSFPBaHB(jMz_a8G;0ZBVe(3^caE#!y|C9JoFes1fwH-V)5uL$9qmNOq`rpY!AH4Ft~Pgd(N;S_IoiS=~29Wy*yU$<;_;X0p~UBMIkgRNbt zo1FOx8?YIel{a`b`FaKaW-U{;@r`9DzU;xB;@K?k4zE79VXX@tJP@%L4!(}F%clOd zf5X-P5M9RfbN~IVPd)n&YcGFd{xeVi3Dtn&y2Tr2xr3Mg!q z1%ECzV!yneA}|d&U3!Oto+>bRxOMtVKu-af5}W}2WqwZum_1{pGM|q4A5;~6yL$OP zb^c~3dTNXC+^Ue@j1R3gNslvsgwD45wl6w&tooKJEh6GDWRC@r zAHKk_|3($bp8vmb1b^V{=LY(NzZBrr_Q6H5VcL4)H2%MwL6^%NB>#sH>VtR*q$WWkBOUeDdN`zj-0_7m9FNg; zL*`(3eA<=_)PUU7#`w!7e*^sF6YN^)RRW|bTuR+>dY8*iIXlUL2uZi7e=sNl5{qWf zHfS&`0u#$}&o+24DuN=5X74s+h1sE8$(0%$3bZOGAwxD}H^3zpHwYK*yRzc1#03N( z;r4qM=!1)#ol7=mS6aA%C4>0`a4YUAV|LXzuq`@7Tn`M7AnsXg0*&N2ZGa4)DZ#a) z$zJ1clsgDN@Yo3Goh@SkA{EC1ZqNUluzxwwe|XjZVCo-7`%fO0#Z(BzB@h7r;sN=u zuJwOYwvzKq&is8XSN7oQ|HqVV0{Y{_IRx(H$+PU$BIg0;4!a)1BXulbMj3+&UDn^YE@s>neS6p1N}h~+efK@{|BuBW`Dh)u zJ`n`TX0&>cH8Qf~rguM>4YA`wc5!0b^zb!z45-)k1BaFk(VUAyp>x91|GM(ii;dEy2n_-|eQ#MH(6eiip1dUCnDxcWd5}F=HnNL&_dr(^9c7S)bR(V4o z%^Bybqh7075}06Z?;->6Qr+R(lUMETrr8ou3yz?##ZAk6CtvO2jS!We7V_FPEsQcH35+k&2OTyQP(hBMJhh>|Un4c^GFbs71m*md$m78y@l_g}H zT0)sZ8m-)0S20cc4r9?b5rRcK6KSVZ;t?xORn_D*$+-8lqtDrdKmx#2DP(p=2N9H} zVd`6=Xn3~=)+py-(CkCes0>@wX%S^VKGX;Wz7>;4HnFf3e$_LK(8O20^Y}b4D&O=% z4_M$PVa^fse!D!n4(k^5zd3yDH>huIq?5CQrc_fqUx+h!e|^Q?H0XZ2JpRRfG*A7j zZ=n0-aXhvA{TJVD?an$TbC>Vc)lm}mmhbI>QXJvx8UbP2C22(6W%Uo^3#uriK&0ni zpu*V$EMfzRBB+OMrRU=#VEQ^F$9=A~XMJk~nnREs0^QatZN$G?DPq%Wr0O8ojicRg z-1)Z4GsZ739dhJ1lCE1L+9ReDtk0QbD?#oL*Z~?lsw*+Iru&GIXc5Icy|ZfFb>h*4 z7472TdrN|BJMy&=H|Hod!Qpe1;!cK?s!R>ypTo!dOi8}1UQKM;*7TQJF9`aWkQ)KZ z!QvNQwl_3x!K8Ak$}7RjN!S%-vdiY=-z!a3%}gQT6-j&jWX$kIZl5pg7EiPr4&f)# zGm+i^SE8KL;cROZ4ts*2+j5Mufb*(+;>ds>6%wgrf_tzGwolv&zl5MTfpR_TdNXWO z->Vr}3*@dp7V(lg9KwBJdmRJu!o|mqpHck3(Xm^P=ZRXZ?kT_vdo6 zIenoT(@E>}Ywe-iyIWDK^bViEF{+EJ!yKiKx;=K%k#IRKnD3t8vo^+Tx}gJz0_Rx9T43Q~=|`Fjsoa-07-k#cPka zm^nrB*2=bwGI+?uM-N)v81You;zMo0i_NO}6Td@scdb+?nw2>mBY87?6;~V;10*pF zee*B+E9sguE}ApS$EkVRQjU9YEVh`K9(#A&lAU{DqN}2zW(3Ix#+W4y=^fG4aFgj$ zUP7dG=nb}F=T+~+D96haEEz3J43mM6yUB1Pz%(4Vw|6t&sNO{&8YD*8BXH#nZ z+=}nSejJ00YAs1d-4aMer8YglZ}-?}1=CDN&SCwCeu&e*HXwV}>B#mR=(OMM(Q+h6p`zrXz|A|A+@$ zFS%vt298ROB5~jkwQ7gA^1&^_N{SVNzE0wpxK41s18&qpO-*Kc=-7yWs9>k#3D&^O zTFivKNB14WF^i>+$XVXxSaQB7Ww-n^lbk-zi0bb%O7z4yN-G(?c_&N)Y31N|ok|jscuZoOL)z(a{NN5Y5vK>F>eWSp8Sr~J_ zvngnGDE3Ew`=+wiz|H`Jpfu0*VCyQyBlxSDT6iS;ySA$c!-;J6!_(M$$ATHOd!T@q zgFjD+>Y=ijeJVN4(=7f-GM8c0dXiQQ%vJ|4HRHP@s6Ao>4c7da!C9YEwms z8_uWk*IM0US32Zv!vqywq`8wPP+g;GNjJ-y;U%W?pL>iGA*fMN@&@0r8-G0Qbm^}6 zI9{NVWIs2K0kmx0tU}Bh1!*8U6$_?M7x_Z;t8^|9y*6rR2m~%W$q|uO7wnWzxZxU| znss2TC{6tev`V4B%JP>s+IrbW9s~Sx8+n@E^dtrr3?GepTy-*p<-Az_DmM;__iD-9tzS8{$?7UQAMB3 zhX$kZtIlq>`-jn{^}-3W=2Wl_&E5DH9_CmcJo6gp$!T&G!mnia`4!XR66*EEpL4yt z*HhnS#j}U^eM^34~}MnV2t?B zRa@|n?KBf8wMbWKT9S*efkdp}vL>3P6iINFm;5Nhsu24oS&qTD8?;u%oM~!qIHPr> zni|>rj&QNY;k_-vzAm-lY;JkV;xufRg394EdBMeZuX!P7kOWDnLzB;ar=5LaG>Yc% zVC_Z;XNBcIG>H@}C5UAthdvYpsz}}=@0Xdvck`EVw%8>sU|baSd=GchW#tsfiezy! zk3FxMfV`Xj&Hy9YL(}UKWf?@G<~)GU59J@r^?Aw=-SF|mXl6R=(x4XaN0VuoyWke; z$5j*#&mqWt7pyLdBH|f*i!su#JK)bo$gY~P}JtCq^q~dmUKeK zEIpNB>F^SAwOGnR&N)@wX(U3SQN$4>aBi%3&G74VC5Q+3!-kf|G5oZ175$d|x+7Wk z%ic#@_BiL+J3jpz-0Om46nRP=AElyd#u(q1?&se5RNR|yOT5y@JsP|<+HICiAI~$x z#`T6S=9q}uJPvpAqQZVZ@GJ<*3qhJ<*p^Q;6}pvAh`cE$LEX!5PjnoXv}30v)A_RTr-Pec7AkwbXxMnZblW3UA~78L~{`|2!c zF7J}z+ZGYqFYjSH%zsAo|7zD%1J3guz+v?y6$l8%-*#W`C#f^x2z+ zH&&|9WURgONJ41qM~O4i6mr>k?v`q(z6?{@wg&k706s|{IjUM$E1p1zyKpvgyn5Pj z8mwY9lnxoRu)+H+bE+yGgeFrBRD|lvpaV_8mqN{)@MwpJJ;`0#PnYIhxMK{|JSniG zbf*0Y2ib^f@{b^r`P;`#a(@Q=aJoz zKcd>tkWuN*V9Q?ZUx@ZOw8co$@ucL!ej-(9ywXK$FOR2NyqaT7P*G%uLxOv*s{XT8Vwf!98biX1})^a*nAI(^1azvW1Z+B9mU%R&*>)=x3toe;u@HZSV?7q3RcfkYV zcWE;uQOg)^lnbYd)he(nkE#r<9jqm$f4)pAdfd8Po1%X28@$R3u`<=I6pY^9x~Gte zT4NGc&u<(@p0Y8hZ}yC{0EXWoV+3Y znBMnKU}t&ta{$Pvju=pW47zW(UUxcj@!tyvbX<_vYDQ$>B8Kr+D|BhZcr&_1XDfm{ zhgjESS9h4(wVRvQi#97qRw6vGqJ<84wo-Vp-w1>tqAsl+xN@?*?=+9J+c(s;ZBx7A zC1A1TZJIv8Zy3|g@R28sNy@5so#mapTVVMg=jPn%w~+^oo$6>cm<3|?%P#fp%W`}E zQc4sjGM9D0lPR>I>)#_xqzGe(@oOsDr*) zRZW}j*NCp2d3>~fdpR39%JdXkIrckNp<#pDu{Zf{c@Rmns)D5g@-)G zI%p`e2|(2DScIvlOQyhXJy=ZU!uQwaSFw3)WLTFrrw?$^jBBQzkVIS8w%XwkY=$GdbAnw;WCZ>LH&WGQL;4*{ZhGUN^Thn!Uf6{) zUnKe%Ke)?wjxO^`wUa0i;rDr?fkw5o{mc$WoTW&Ns0=U+KwV>HAfcjb*d@pBlAWgx6ZoD_k-|EK~6cxb=7HX7M_p3NnZ)mda zS%rWhjVd**1C5GJ@K(G!3|$4Dp8q{f*4NOTXYA97UX|09pI*Eo7o)v$ii9_4Hjzph z15WVAova+87f!*xVJ!Ki@n#5Z=H#y`)JNR}x>!uN;YgNaD?EhZubPkwio8l~w*3nN zG(XMw@c0kL6y;;2O`{Z;y2>DmD2gQ`M|7xeK-0uUy4kO()s`UY%+307imJ#`So4&1 ziMZ~MIt9#~eI;@r=fvnj3&f-zq$oR|ddYbdardDQT@*a=&Ik(W=3 zC$p5=9zbp?pGaHMqjK7;=9Ho;j#BZbC!D$Ppek-+@9H&7>=!&>#kKW0*A2S+Vc(C_ znt~0d=%07SOEwY9kPa{%d0kH0SOM=3s2DykMf}h?l72d&tY7G`jYzC@6$-*4ZG!D;tI1k zhH$Q#8$)1UTy$}h%V*y%UW->HeI@4fa13gPbxZgrE7HiJyKHI5h zytSf32ooH-o!KRj6}6os4WBQx+ey3=EzH}!FZw~RyNjs{W>UID?Le^vK5>=?+o2x` zo7!OlNf0T~A0yt)wYHyl4;;8#=Udq2{PTRL zUCC*iCf$kWE*7(B0+T2xQ!;$(J8}Y&A8c*EFQIoyi9*%h?wU_aMu;zBG3lzwo5|<( zN@|K=owI`-N$NG6qU1S@Sk>~f`c^kkY%O7#2MLg_v&anLK0ytTl8)(RzZbSI7c4M@WM5NnjegU{4_SD<^SpDRWWfgE4IssR^cPrxcVsLuQ0HnZvCInGM zsQO!ijvJ`Oam-SQZ-IkLL!5L*-YN>h0+xMg?Ao#gm`pUT*eldd7vxf-PJ7za1eIA; z&n%8+3%%wg*am@iT&*X^I&XM&x_f}B@I7H^2EVA5n4Nv#Oy|EwgEMvAOXvd8djVc# z{|>!>#`4dKq)EbzV(_2nULWY$XEAsLql9$cA^DE98BgGTvV(&HfKqUw6=!RMjn%3{ zz_xq;z1!LIcCm4j9w%9Q@5^(v2Y^mb?lvoFSV2Z@Cl9k6tLjsH5;;k0Ms}_qk)c-r zwZ}IA)S~k{jf*tziq4u+Fi3@<3)rjTC#eFvN`oV&X$5k67{7uCb2zaftsdTACfP~% zPL3*0LUAvbM7I zI$doq!LYv0@ctkr2R)osmnC+p*TPnh2g#oQY7-NhMF2Xw@bY4F2REm&+@A?9=mFj> zUEn_^^HWzihKvFKkRmjju1Zv`y_Q4IXF$IG5Ty_1g>&m+myTHAU7a#hQa5B7FOJg~V#-s&Sd&txX ztZ~%f_=}dKImqRRM@&oZ9fy*Kc}fHJBf-mDRczE>OhjG>F>FgnoAh9JZV-4Mh1c#o zIUDZxxsv3B$<+JCC2+$X0fnMt_n}*=V=oM)ZK?))$N&D6;E`dA>Nv2{nZU}^{$2V1 z+7dhUanZpZ=)j{?>|N7R^fSEJ7Q-_1l45o?f7)H@ov?+=IN2yKx2G` zxZkaLxpGUdF86T3M$^FF4(nviUBmxfJ-jpH?C$z@!lzXW`J%cDvAv@EN{p3z<-{SW7>sWh< zPzPvqzXto!xZ3!aMR>0Q*xim==Df}oTC`rls7{bUjHhk zEt$ol|8O~I2p@~C)JQglVH`cz`|BkGJl@9(q`sN!@~WlDDZ~_b3@>X3qd|VanL464 z%aLA?{d4_Y5jf9A;Ne*hCoKs=39aN#f`5xBCAz^kRPO`^e$hrj;GXRHqgS1dLhz*b zI9qb;&s6-({FxDFqS}^Z)Ko4LDGWwYYNBt=$3FA^@E5?9mdXP!JeNhic2UIipi3>N zoiF{X2#;osC3tYuWs~$PImwNL<=jD2v#RWcE-q*GX+wk?liex zXo4x6c^9=|=9zIc@0x0>T!n#}&z+N&51v3bzXsJZFAIg~fY`~KzY4o3Po`k&-V3!Z zf5o9T^#PR#q=11^lx(oUZ4|WG7U`TaAf0I~gmZBxBfe6C8Md4Xy0}fGLlPiZq8m9t zyW_ysv4lMSx)b;4mN?%4Z&oSFUgpg8iFYS?z?2R(LNc8?yh4dK&!Zh)CVL!o3=@5> zuviZRyeEz+d77w{l>G|VfsRnjwyc*{O%3E1K_+kU{0|$Yq^CZlHq9YCmY<~^TzO{u zCJxJFQW(ZeGEm7g+l9ARKJ#HG6ULo3+nH{l(VQ^*YOI^{8KlQX-nu5{$^#v=@^s9R zqtX!kGRGxK#j5fr)MxoP_R0)FhB(J;d97E-l~Q0`>B@Uiia8PS)X;uhhn<8jb(M)N zDz~2j$XLUZaNvm;1HDJ`GEM8WW*wN4Sqisnpz^FHe(fH7AemR(}wmV6jG!pKUEe_`1er zi;^gmgW`MEjTZT43z28N_`1pY9m*Uk?CGXS0QbBY?rAe#V6chhbrxhog5$h3b-25z zWbm%@jw|Q4_CThtUr<}M4A?}vA2GwQNaMMvIo9BxI7o%(fcDD7-Y za&406aEujzj~l`ep!7T3Y^KY5ln071ij!rQ!wi75b;xHkcrvNJ&pEPW=T)wuB- z@J~T-)lMnEBdi9|&yR>Mq>3CUCFrV|sb4}NTtw;0BlcvHNb37TrqJ%+eHaN-##fx` za;BY@Ah~8hbZ*u^2L@R6sm$j?Xc%Rok(z?d>QEp3O4K`!I;A+&b3jLIS?LJ^6C}gn zsQRR=%Zjfu3c*v(BDVANDq_H~5_tAG%Yua|koyvcAg>FJnm+!p3B>ptD6dqN26p{x zo75}Dk}dYC1h_5l<*BS#ny+6Fm%R-|DEl}iX8N8nZ!3oDlGKLVi~`3Y6`1%iHbaJI zJd7n}*9t`lT>n=Zi(X3pNCI=5@1?{!=Ky%8d{Ev7oiWOUI&j2zc&ryjIt3RAR#&z> zd_kr0yz<%~?w#Q1cvT9$Z z!n2V>lAsJoGLO_@Wc)fnt;>b=r2vwUS3Pj);As@84Y=75PEX6vA)b-uwVH^neix9b z7?s+G$ppb)j-qDLjr)d^lKH$)8!GVe>qydrJF6lWPHF-DYLtk2{4(el>IS&&1nmd1 zX(Cm6CX-ipj}SXnnJ1?2qbc2i!ZI9`m{vUna27F3AOdD`ETmRni>3W@zGnf+=~_?e zgeF-j@-_o?is?(D&C$>4IHNt@Q=!UJ<07~(Krv|4mATt_l%HjzJZVaf9+p2U*=f&Z zuIz50wB56=a<@|`NMLP1EF>gjpoV7ICPIx5_(o#@bw$dG>l-N_Z$OeCq^P?7RH`OI z)scL6z&$O=zXH&UfV`rBr>Ku~W1;^BxWQ4 zhLJ7kzJusQ$!$7>f1xLPj)VjBOFoRgq!d)4LVzEg32L2k(sjb5V%^(RJEF<$@cI_x zn>QSfUacD9GVTC(ewf(h3|HQ=CmKi{N|CZxscK*e{O9MAt<6spsNX9GJvT!57DTeQ zd1;7eih>lu4%BQ78btXqNkwGAf80tsIlH|wZI-1h4nW)~Ez#|S&(qt)5@zRda>t3xgNm-z8d#(l^{y0|} zf=BE)@aS>xA1pLj&~s2jY=H#etHn#W{Ls|F)@83{NOs9G2rP{AyOQ(~?ha-eD1+Kb zEKKxLhP417xfadhHCR(vx>VAxogT6-Num0GzgRolpL*S};aq1R`t5(ImAB3q09v+KjN%O&n1qzXj#s?N8dcv1i!4_e()A!~LYJ3$bh~z@&*TR}BR! zMkUy*_JokGn@ZN~G!^FRqegD;5mH+~34YH{GK;cW@Iy}5Hqdg=1+8ra6NKqLQPwH! zl@jt61G~F#nMTbm*)&{jQSJ|O2?8ac4Iit?#4IQRze0l&*y_>2gg|feJ>xZ$%+XIn z@^1v_p{3O-!_4T4SH#O0hg#+le+fDPu%6F|b`hPG@b{>=hnBX13Ld95lCU@0LUyBn z{aF~W&ju)fhkV)%H&K{*qkZANw*R(Q+qJRP*oHXU(d-BAl{Wtw7oh8e!zcruw>Ss! zFcFE3!gy$k?UHF+^)>16Xa4=7T@Ui9mTFWKG+K=PJr7ve3J2cF2*ZRJCOhwAR6*wv z(o?}gQ>H5@HUa^>@wye>NPrJD$rL=z;<6ZBL6;ST$oSydhF_CrKWA-l;10q=DHB9K zLv%f{2@>ZpMY0Y9Q>SEDg)(xGb4N4!&dxs?GiDYXwFH6`_RcV+GZcP6R zPO~aeJ$o?=hW&Nxc z0q|2`Yh0S)dC-SCU((zt5rCm~fLjo2hDy*?n#thUK6?IoKR0S@DLaV5=W5l~Gh|1s zEjmQeQz-syPBS z&kIr)EUNN`kswrO4wH7V1ZxZyVla}Lt0pbWLiO_{~f-4@%?39&Ta)>&M*Tmn@Qw*|~1%zB%{ya)B zWkRm*!qg9Y$>szRlpl^ov^N#4f+FM{Tur0JO^gqgl&9i<3>O-XHMoUVs18nKK42E z4vMqeF}2k@bQvfubjL-23?`A{$ zZTj=R)am#4wf}G_ntJd)DV~ZJw`->0no^@A{zu@J@nd%oFuT0Ne5{aeCSp3o?<6qQ zAjjJ;K#%#T>hw6WRD3Iir>9^a-v5fUKX}wNr&ycA3~QboieV{_ue9GURLXd^Ay9Kt z@6cgKQ8Cbiys9~_1m#&ad`7zm$A(jD(vXw&+k0}(UDGJa*ixUC+k!=NO_2T`hbg_= zp8I^9(=|DUaTfEq;5xWcJq)9NZZ@b-8F_oy{h_I$pmvVJKuTHN>(`?G+cVE0c`4N2 zxOsKnfAsvaA|Opmj)qB#>Y0fN%l!f0$@N~NRE;AneV4q1Q9)(loAZ`5E!!pbd=?|V zW#~>JI?F)Z9>gth+fxww##75sg|lQG+^R+z*FIGeO@KZaWT!a=-Y3zTlf)w|g+cLh z$eZWD1mjWqaIY+OA~m8aLE}@M*t$-4D90X3`+;rY=Tw$*ZNc8tmfqG$dskyO3ddjZ zUmIE6*y4X-k{sSNl|#EkH*UllDyXv84ox7`S7=WsS`+44`+COh(`b&iBE8y^$p_~- zx@^&lgSG|U^(UUoaUFGae{diI+abj-d{T~xY~Ly<_fdR=hqi1=cv$`hg>+xk_rwe#mHJ+!!yXY1ce(!iVU=?Z; zu*l=qY`r<=30Uom@oNpRkLb@s8xxzRH*mH3n;Y7nUJdS_Hqx`%ozrXLat6UT_#GphGM+QnZ)SmQL^!mou)J=)9aJ zPlKEOE}~(3(g!86wvW6`7c2g~d*J@a1D-ZZLpK91{jgp%CIl%1PS}$qLTgK)p=3H# z-HvR@PcUY5azKtQT;ht=%&j}Cj?*D9i9t>s49nAA%mhnkq(zuu5=^sxWYm^Fe@QYa zELIv!&ER`$+8MWJ4^NOOQmo#(Cdv|x3v+g^HgH z?>L66zAilB9s_T8Yr2jll;!uMq>tTffxk0fSk_H+=bJRPHd@6V%L%###n})a8$rpU ze<*h6o?>O$eiX}9O|UFdoHG5rFe@e+dM>76k70<+$EJq3O{bUFMRJIS;I;8h_QCK- zEj#WA-qr3W<)ff8W*h57#bFmAt^5UT*N*MW*+`>S$IIrHoFb9zE`**b&QVbRPWtlQ zIL!%|l=<+j7m&=P9cORowkEPM4jqfqu8YNwpA&sTF2a z71S&#(yH-oqRTiH)PB*#mmsXdW|$lCSoqQ%Vi%U#O~BM zSCehlnYjMg66eRA<}I-85D^o!xuu^0sRyxDV*C~teAZ-v=0RV66}>^cu}!Dph*F=YzMU-vZe=RMo{6Fv8@q!HKTVL) z59EtR*@dEm!!%Lo&=X&haf~9k|7w94yWRwct}j+%gTgX2ZK-rV(fUM9DY#^}+Ae$W z>yrzCr>|188kH7bO)3Za3vdSAxc*|fXLxe9LM>gBX6mlJ>kLd0A`y_OTMmhG?d}si z$jV)45x{5LDZ`p8mMxB&B~{DZXb2y-H@7KBhj`ROTon!+4Y+)|#6rRXm-41>?GQ3C z-tziosY=$Xe93y%tRjc<^EulF!Y{q?FZK1CttFq~&A4r6#?HZZg3aoDH5Zxtysl1n zZdD&CLaRSyGz_ieUUh8g!n?$9Pv~634uu}d%*e)aUCPx{Vbn~p10nNGNoAss?fFZ~ zBDJzN=N!O!9YY?c>>}0& zCnApg@1)iuDF2E?=7ZGzT6aHhw)t3HJd-n}+U20@b}w)Gfgx%sIkIufoL+0UQ**0$ zav$Zceiua=!D0Df1l;;$4aN1sy7A`m*q{2AMN0h7^BAMljPa|$_oLK1IQYLo${3x0 ze)7^y(IYTk+!EWGEbmLHx>-A3>>VGQp-=aGSgxGwz-G=KFHzqiKly0=V|w5~_+T4m ztg|C|8j*3Qf*77zEzudBosw#)CUo}k^x&fQGU=hww!Dx}@P5ZJZ{-7uA%9SeOOMd_ zIBIPU5`r^QuGG06JXq8&=`Yx!agR&xPlUi;Wo%=W$)}Ij@v$4iZEwZqxGZKnF zuhaeO4gPigNx81w;U57%ws-y|{BrGM{7t^=@&pQjMTJbM93w{ws4WDFe=L+^N~^nSwn zTU-Rl1BM!yJg@!#!u#o)0vhp5-ui)WynnIffj0;=x0%3IgP+{sKUv*CEYKllV!4gJ zV*lnB0|`Ga%$Rx*=(#-z^tWXiQ2yhL`Mo^G@jLmS^QYZmc1Ef9mldEOC=Uz*9dY^c F?f)5Pv_k*@ literal 0 HcmV?d00001 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/ChlamydomonasHeatTimeCourse/protocols/.gitkeep b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/ChlamydomonasHeatTimeCourse/protocols/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/ChlamydomonasHeatTimeCourse/resources/.gitkeep b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/ChlamydomonasHeatTimeCourse/resources/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/workflows/.gitkeep b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/workflows/.gitkeep new file mode 100644 index 0000000..e69de29 From f0d8b49b2d7a13325efcf07b9cd94470b97d65ce Mon Sep 17 00:00:00 2001 From: David Zimmer Date: Mon, 18 Dec 2023 17:42:40 +0100 Subject: [PATCH 03/15] add playground.fsx --- tests/ARCtrl.Querymodel.Tests/ArcTable.fs | 9 ++++-- tests/ARCtrl.Querymodel.Tests/playground.fsx | 31 ++++++++++++++++++++ 2 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 tests/ARCtrl.Querymodel.Tests/playground.fsx diff --git a/tests/ARCtrl.Querymodel.Tests/ArcTable.fs b/tests/ARCtrl.Querymodel.Tests/ArcTable.fs index d91af9c..fae81ec 100644 --- a/tests/ARCtrl.Querymodel.Tests/ArcTable.fs +++ b/tests/ARCtrl.Querymodel.Tests/ArcTable.fs @@ -2,10 +2,15 @@ open Expecto open System.Text.Json - +open ARCtrl +open ARCtrl.NET +open ARCtrl.QueryModel +open ARCtrl.ISA +let testArcPath = __SOURCE_DIRECTORY__ + @"\TestObjects\TestArc" +let testArc = ARC.load(testArcPath) [] let testStuff = - + testList "ArcTable" [ testCase "WillNotFail" (fun () -> Expect.isTrue true "Test if the test will test." diff --git a/tests/ARCtrl.Querymodel.Tests/playground.fsx b/tests/ARCtrl.Querymodel.Tests/playground.fsx new file mode 100644 index 0000000..053fca2 --- /dev/null +++ b/tests/ARCtrl.Querymodel.Tests/playground.fsx @@ -0,0 +1,31 @@ +// #r "nuget: ARCtrl.NET, 1.0.0-beta.2" +#r @"bin\Debug\net6.0\ARCtrl.dll" +#r @"bin\Debug\net6.0\ARCtrl.NET.dll" +#r @"bin\Debug\net6.0\ARCtrl.CWL.dll" +#r @"bin\Debug\net6.0\ARCtrl.Contract.dll" +#r @"bin\Debug\net6.0\ARCtrl.FileSystem.dll" +#r @"bin\Debug\net6.0\ARCtrl.ISA.dll" +#r @"bin\Debug\net6.0\ARCtrl.ISA.Json.dll" +#r @"bin\Debug\net6.0\ARCtrl.ISA.Spreadsheet.dll" +#r @"bin\Debug\net6.0\ARCtrl.Querymodel.dll" +#r @"bin\Debug\net6.0\Fable.Core.dll" + + +open ARCtrl +open ARCtrl.NET +open ARCtrl.QueryModel +open ARCtrl.ISA +let testArcPath = __SOURCE_DIRECTORY__ + @"\TestObjects\TestArc" +let testArc = ARC.load(testArcPath) + +let i = testArc.ISA.Value +i.AssayCount +i.StudyCount +i.ArcTables.TableCount + + +i.AssayIdentifiers +let lastsamples = i.GetAssay("SamplePreparation_Cold").LastSamples +lastsamples +|> List.map (fun x -> x.Name) + From e020abe86dbfd9c22cd94f7959cd3e8e80146b4e Mon Sep 17 00:00:00 2001 From: David Zimmer Date: Mon, 18 Dec 2023 22:23:15 +0100 Subject: [PATCH 04/15] fix typos in sample arc, update playground.fsx --- .../TestArc/assays/MSEval_Cold/isa.assay.xlsx | Bin 11742 -> 11742 bytes .../TestArc/assays/MSEval_Heat/isa.assay.xlsx | Bin 13166 -> 13043 bytes .../TestArc/assays/MS_Cold/isa.assay.xlsx | Bin 14967 -> 14973 bytes .../TestArc/assays/MS_Heat/isa.assay.xlsx | Bin 15295 -> 14950 bytes .../SamplePreparation_Cold/isa.assay.xlsx | Bin 12574 -> 12581 bytes .../SamplePreparation_Heat/isa.assay.xlsx | Bin 14171 -> 13879 bytes .../isa.study.xlsx | Bin 21407 -> 21427 bytes .../isa.study.xlsx | Bin 23551 -> 21990 bytes tests/ARCtrl.Querymodel.Tests/playground.fsx | 64 ++++++++++++++++-- 9 files changed, 60 insertions(+), 4 deletions(-) diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Cold/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Cold/isa.assay.xlsx index a670c9e3f065d53216991e6075c815570c5876ad..56cd94c03d38470bb2e9d1630fd8710a30c7d343 100644 GIT binary patch delta 3145 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 delta 3129 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 delta 4037 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 Md!2$->d)SP0M6T!-2eap diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Cold/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Cold/isa.assay.xlsx index 5856423f6a22178e1533dad4544f5aac7d180298..ae5e8f62c2f2913c53d163f9cd6e36fde6676417 100644 GIT binary patch delta 4323 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 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Heat/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Heat/isa.assay.xlsx index 209dbe062a766ec38be4743b8a56bb1ce6cc1c32..1701a56a9a94719e73591d589be35af6ab93c9ad 100644 GIT binary patch delta 4880 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 Hudx3CXY?Cp delta 5243 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 NU74TEPT{Z3{{pvJr`7-f diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Cold/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Cold/isa.assay.xlsx index a3e55032e7364098344770220542e2e4740a199b..68ec56c2a8d750bfb8a9815e5ea7aeea4d654646 100644 GIT binary patch delta 3290 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 Ktnt?0-v0qrzz;P5 delta 3283 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 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/ChlamydomonasColdTimeCourse/isa.study.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/ChlamydomonasColdTimeCourse/isa.study.xlsx index c514a0f99185ccb38ed56a020cc559c30c86ae82..e41344fd42857f30fa15885351270dede3adf294 100644 GIT binary patch delta 7134 zcmY*e2Q(Z^*IpKh-a?dUv8zUn5`t*K>WkHT@15w&MlT_D5z#wg^%A{B??GNAh!(xK z=)d=Uzw>|Rn{&_1oq6uud*(SabMBeRD#EBK!l-0>gr#IGp@)3&hz>sCJjeSaFsl|` zd6UUPlpr~!4yB^i5N1L#@$%^ zh-3ucKBR5nt(9nPVjxy|{#9eSSm7WZqjoNd_Y%TftJ<>aqv9kCqnegqGA>*g!GN2M z+pJ8|qyWP!OoBT2V~^j3oQ4IF{RvG^%5E&{>`S<6`)#m%ehBYZl+UuHpsUIyr^3CX zjSH^RuK=mHsO1uV_$e*cW*mcf^QB|&18>ni-@Hy+e(F=m zGx-yp;?xghg|<#7!e}DVoG0gA{Jv<*yh8QE>uF-d!EgzO zbL3}vrk8a}ZWY2<(Cd@sazcsd;opqzk0Yt*eh0Z$4TMlS=0L(U#RbKTGX+uUrPSa+ST>&rvWhbUWw$j;cMdMxOJf@i-A8+07h3NAeDx1B&hJ@R-#A+T z4)-67X*MaLS5sRGVi--CyjI?V#z|cIS#DuNUU7V{lk3H-edZ@pUS(622l-BimoWvR)V878hXDm zIi#xS$1W!33W+#M5whZ`LU(%WVsAOvagf+tA=_$C>~nv>Facz5QN`05)Q7YU>SspO2W)E~IMZ<})u8Dq?cdn% zRGALQvD!BbZ6 zo*qd;)41xu!(#pngqnjGZ*M1aBFB>d|!vXel_m zNaHk8p9@1gDOY}~+Z}teWU5Mg${u&qZmRL2rA}*($0VWg+NP*uiPhnih~_pce(6@T zhL%(j-d28LzaT@U?k#~gSfj^XgcK)H#XdB4DY-``kmTXou(;26;sXG4NHJ1QIAzmC zxdN26JB{%OgK#{iu+Kqn=nT&oU7r~6IJ(VWBr)h?$a_Q{p#JQ-W0~O6O~EbT?5<9t zJkx6)HeyE`=|xp`TH@$Ey=6vwb9BA%ma?p=?bTkig~#{#UorcLi-Vw>;%@Ttfd61UNei6(@z$lyi9u+gak|IZR*ONHp8%<1q*Y{E z>pFWiV|#x6WlC7(Qfo)^4UOGd)n?rNLXPOWO6?Sh-`lx?0iq@-l|Uhu{Zfl*ICU&e zX;aJ1sjL0m%AM^>5XBcZoeK12!ta;T!rfy_r&>Bz^PVGZCbUCo6B`Z78}PIMO;k-m z!;ya~sr}^kMl{R#=fojHvLi<&eTxZcivh>j@Y2?RFW&RN7<}KIEX#0A#x$?#8?sR> z7zf0DJL_>O<}Z+lRyJI^qit!PgIR~Oe}R==%>R1-wdFD$C+(dMP!g_vRp4>@g=Zf= zDQ|Q>=lL7~TS|xjxW3b8h=d9iKp<0`Cvr_?;R6?o*i3wJUO`aa#ABV1nW<(SJF!2Qm|*;9wcS!H8~ zjiuSjLqKl$FPPB;roc~%itdwwxwA)k$~*oGXYVMe@wL}A{}MhkndE`9l3Q53w34wn zNv9cdq~lCw)!TOI8J;%n5o6{2_%Xu1VKVRi{b~qxeGb}J)hP+W7UUEcA!BeN+issR z2vW^&KN+z6CN?`-q-k(s`P!v=?N^Jh`6jYX!IwEpO>UTcG!6HHR@|)D7u5H-cC-vX zQ``E^wly|(z!trtz{>)c0?3k8u8f2Lfh zWG)8FF9T9XR=4c1O!1Toaif|Au&BU%Cq2ZtD7;6S&I)9;iJzXv!gGOz-_2=`Y~)9A zC*5hPWH8FV_e@i3FRc-}7GMh>8{gH6_We9K95lWo`WkP2Sxj z1%Nvj8At4Fw&yW9EWF8LB-wD!i5NnZ$Zkl2E!KX0I+Ot}4{L2glKwUc&h>e$I$wayY9h0eErGS0KS$ zxZaowlAKYEE_X~XFe*WR_<|=b2b{Bl)yOtqFC&wN4^EQDQP&!205!6h6hllgNCzJ6 z7?w|>B;~**5Q(WyhRm1}nYt?Y_#`{glsOSoi_CFY^B1J+xA(q*6P_yMfsi84H@(Cd zo`s`k@Tmd+OqZaofTOj;ty}Alh`)L3u(*OXt?k=WyMj71!w9GnO(PO8WXLuR4owdE z0T6Sy&;1?DQ9X9gfhnLiX1FyY>f7-rfbDOgb#F%dft%dt%c<+5%SC#FjbE=%&d()`mP~kf+V0QBVh$=syJlmW+bh}^ z2=D!8m@J0W_eqb=_|jwTeDE>iD=W z@m=P7!IEsCRw5F3sPxKCuoNf$yKmVEfY+`hc#ujUE_#s)!UpOlVhfd)-UY~%Ha{l_ z`!*92uCAa(=VR+Nxt25j3Lwi?mnWG!{ed(}!vKdxx}+J00xg8nLN#%jk}9^o44$y3 z!OEK|kdkAYCKS>qjB!M906(ZJCW~*{!obf8EN4CBv_#>?lJce2T~J7}c%Lj-?>wJ* zvH&6vHamYtkrX;h9~|5d=|g#_q15cOMK=3AyyH{%$RhZ9&9;B`5{g} zO;Ot32_Lt_%iUnzPl%IoazP50meBsB0kNQ^p8cOCL$w8W_2~&x>AW$8MQbd~H z3z?{o83)goCH8@`P1Hdkd90Ee-xabSItI+(I4l|nggHb`gKP~No1gztl9}C3fKP+W zb16T6LO}tNrve5`HOnc|?9s4K0OdhosWe5!Qw35;R3_eYc3c`<_KC(Ug{TkvvWkc{ zwFEM{(J0hrfJ#0{Vevu1QpuN%Fntb|qK8MwDtZos)f0EJ74t#;-6%;&Ig%|T(a;9+ z0B6==DY|Fi;G)*9LNXK}L5!yXKAM4kMk8weMs(b8KO?$D=k+@N`y(38_SSrPAOF`n z9&`kpUygt7>glP4(vA2XZnN*?tG*})?g=i4_AmW8uBSw6V_6LGKq-? zszAA7boMd(xps~txTTX)l2b<@Yto^J~6ULMuQN&k(>iA~e8%5}=IY!_cq;_8ZtU2$k#X)l}XAzgMyU(GdaUhLv z_d1d9*~AHpxZ(p_Yf#v+?t}jtrub^6_#QbzUr*ZOf9VqY4_yQAI};z`Kga`JtnoN9 z|Io$cvYpB_b}+D*Wbv-nb~jMRbG>$5j!11!cJXq#Cg$01d?I5UqPe_>n{|){0C)mG zx%WIB9iQ_C)$wZFU6zTH?DN!jUHP^{ql6z6PSyU1eQ z+(wcu2w@gD3)Ilv6pEqWR^=knT`}m;HucKNZl0|(US7W~;_+~4%H(k-{6g8=GuZw3 zu8j%fvx(qk4r8nS@O)HZDuHiwn>y2c6r47W_k%**|{Usm#kX z*JR4s_=85nlvuyjXWi7Xj8rw>*M$vw)_o2V#2V0g-11h~^|l%%o8VKM)2iGE5|FF0 zQSf`qt7b7=kD$3JuyJ@dXtb?TjiNhxG`cAhJ?WI`v21bwBdwy{x37C5Dla~XWfpF& z$zHE=^Wz(_#poaF(z@rXA-BB?+SShw##KFeai)?~Bv!TY zWbRvA_hOkS=~yOj4aOSwGp+;5oiKRAA9KY{SC_A2dNRrCI-IP08&SfbjAP@}cMgL? zMy)B+;|x!>oYZ{bHXKwuD{vk^J{fy>jy}R=c^iO^YgC+~8{9SC;%M2!+YO z5?Hg};?w5lbu6me8k=*lTNe`LFs4fpkA5l3ZAH|W#I(l;7%LgOpp3$Qt>G~U(xyjY zUGu&y7FGDp`n}onQTN0jA9n-|v1^<|+y?$(E$J&lOqhGAK-fr_@=^OeiGWYMyYs=s z(8ViWLF=%L!uWX9gjkBUo(vpL8vc{m?0g`5r+(e1kJ|2BMRkI`7~e?gYq%u$m6cI| zACn~|gY=Uo*e9Vo5??_nva9kpr4be1CDdUjCGpgVZD2Q^vIv@yir7v0?UbSdc7)>G z==d1b6IgmZKS-iM^hfwN?@(Mdesxmo$2*$LY~QPs=2&ByU9KQqiK7`yNny?T!I^pBI)ocbh^xu$jb#|?xO{8+cm<)dwFQeQX1j2t@1 zV4V)gV+MX%Qe0a~rsH&1!KbzK-j9^1QrP-gEe#X^laH8>+m-3nf+bNWLzOV1+c}} z@x6Cs-f6VrR(vXU1|qf&V#R_a-_N>q=ftJC^7*u;B{lTH!V~i)WHzAn#q-a1m1XXmprv)4^ZL_AwBdI-s83$tjE=e<@si z+glr8iB!E`UH)2nCl|Ral;IhFW&!MFTs{Th;=~$vjn55K=zR;F@HO+X4-8FVA)XtXXl& zady(FI39EwBS`ZuLM#Hq|MEBOdRPTfLU!lRZknRHmG(JbQ=_9a-mB?2je`1myG@B_ zJE4ZvRTvhBxn2WY5MEOPvNGl>P-ifo!mI2ruP9+w2TRLQUTt=Ln=cW8W$khqxOrob zixxaSz#Y15!32E|8mUG9^&`(!a$w<$<&$0S`t*%~Sud5~Z4a;0Q9NtZ%X*?O!tTnI z)z8ixkA`1U$FlzTtC_<5tN)`@1J$CSA+M%)o-DC<1p63Xy`k(%x)h{>o@l43@NxHs z(IEeQuW#rJySCo3GaV28thfW$rSMT7Lv-~Je9I3?I~;S7u1q{nv6i;oA(uC2u}(lA z96)l|PrC>^c8E7D&T`i!>p(L3xB$*A6#~Xg3G*qRA2QuzCQrMmV=umg9ZBenyTvd&*3C;0exPs@!EqsUo6xI;&cL!|WntpOTA?I!!FNEi9c^A6 z49uYoNFO;@nOsMiu-07Wlp|a!RqbI3plApn+JR}hkg=ll?JIDIOd(cjEdo*dtG}hC zHPsF2;j}z!52OTt?LeZ28rl0PC)QA+ZDF4q`*qlO%InZ@>Z@_*VzYogA<4;Cnd3AG zxZ$z%Avx5MYoSj9BtN&JMT37m;V72M$%CNAmADY-g)G7hcbJ}%W88%&&BbRfA0DFV zN30QDg?70tJH3Y|tfzsOr{DDm3q<#$f$TPj4Yn$TyBv=^-2Hlt=hsY8L*G@={>Go~g$>QY{Oa}h!RE@#7Sk_X5pGMA&ZDY~b>CMi%X=G1H6)~06 z%C9GGHjUC(P)EkY`^ZP(AK!he!fKBs_7#>-H$6bykF3AGGGqFzmEnBuT!zS7<3rENLU&n<}L2Fecxnp$Pj{dB&NpYK>Qr}aF)*hXSjCD7ihN8S2Is(}hN(McaO3;u z)ZLq2W(9)j!EA`RQQL$mh{o5m7cS96Ujk$7;rQCOC}DUa-vD%yzN#8^v*4LC+}2`S zM(EJUFV#;Bj{-0}Px}#KSbQ~KBv#yGk6Hf%5bHx!0Bfd;`3ZCzRp|exN61084MaG#j zUO4fg6;4hnqOJH5IDGg`y0X2lm~>-f(i}c@>ZIS4#rA>?QQgo~C8BzS6>2*WM+7^4fPbQIpR7aMa?HHTA_arq-rEB$yb z88M%?EdOAnZws15^4EVDo|G&W4D23KIe;n{XV0pTWW7eoeTs>6gVg0yiVOk=r|kD0Qv( z5#A7X{pD{QtLxv?LQd^*UDo}%GKSL~vGVw_LUDIunRk!i1TTqe+rUC-;4l5DH;*0x z073M}0|rnT9|;2~%TJ1G4^a za`=)zQi;gTS-zh0#TL=#xoOg-*f$%Bx^9m*Sn;RQZXTb$Z=q?(Xvm?hZP@fmAAa5* zTbX({ubDmUU+gU+>UZxdXri(?y?g9?$=Pt};R++%hdw=zdwz>L-*>6~u;fTud^cVm zYI1%7YkyATZ*#HWvTx6^G_3u}&`883Iey@~M8%J_ot1>LP(%Ky160|IrsfZ8`XPq= z^=&zJJ%1y+%WX^PN4qP_=VVik@4&?K=s-dEdCKLt&W_b^xf1Z%KRvH+ zAf<&6BfT}ww&&g`_S&QyUDly~B8B^S&yP15d@_&Z4oO8j`S$jzMs0#CY=^JMBb^XB`+7Ass&Qa zr3oQkOd$_3iieDQFQFlFzF$)Auhnb$4oGaJVGC%A@yr4HG%=B>a4^beLTo z5*q;Mhf5H!!$1o@x=AJQW%u}tfQ^bx;{p9S_76xGrpw^ZDC5|I9P{|x->ec;w`b|n zu^X$0+-(!(?^TjB3GX_FaqvZEK{ebbfaMPXWA?l*|kzQ4F})A8Jg z^E*#dWgPkOP+&Ot-CZtEoK7yNU*9sDYhyaK-aXx|1T83u-J#L>v1RbDvz@{`fWGEYGkwIwOk{brd13V+S^o57j<~?J(S@q7&+XAW znoX;Q*u=#-~aIQGz zsgR%$S=ra63H8bRv8-@zIx$r9L4yBL?VUQTKpA(OE55&!CgZ7lVQjCFyk*cb3XxhE zRldFYr_=VtQ~1TLEA8H-->EMZY~L8B@w3Zpg1UH4Q)=D!-oHFlpSSeuVmAb*s>wFzx2YaY`^4G9&b8VD;%@J z2%0Oujfdk7n9GPiWr#=#vuxKrzPPgjxY(5CKn)PCVI~Hmod}a#nRXX=REd(yeTP*P z!L2!-F{Up?fPW2UCDF=+j`-0=ZA`rS_YX(wZ>7awcu+gGr?Q;bWjBqYm1FawsWM=Q zrL$p6^viv>F@BFl_&Xl7_raA8KnJdaO}#ie0b)HKFy&~<%Ow|XR|%7=j)>AK(3BU& zM5hYrdbix7rpimFsmF&@{nbPdfPkgRmLTuhsMIc1dgxMu(|8x(uwj%jP6-obB-yAd z>jWG1_dXYR{jAuGIn?Z1(|VU$%RQ+z9j^|p`XP@@8Ep|4}QaTY5A?tZR$3$ z{Q!!u*s0?66?XVb22FjNZfEZuOtkz{YYANOGO7qv%Q#b|kgFJolL0DawEwXGyxUbf zAs_{`gjvPLSr%<1im#j%O@6HVoj5u%0PpHa&##0+i6qeA+8#L^O`S0OiBD?UgCyS4r9e>_Pdqd* z3!Mi5?L7Ip6l+2E7c)M+{LMKpz9O2Rm2W+dYjZ>N#vrdFhM2;aY*+FNMj*Sr81JD1 z+M9y4_Eak0M7_N=52xK!ITzCh0`j;@3RU#OKo)SuuO`Yas-(o%VKz}rm!OHVg-Cy$T|1}DQ@;&i|(g+4Hh58yL26Z9$}du8;~Pn(wPnT92_LN zR7{8k*FzCuJ*N(wb!L;~j!7`B9G z5a)ueallm5z=EM$EVyn$L!y_2ZsLcBYvaA~Dq7OR5#GkMWj1X2H&XDKXD% z0-`cHS?c7|Ric?3Ig8Yk>?!HVFv9Ii(oCEHG z|31W|FF4N2;fI(o9m3GH^wZlvJ`4Dzyu+$N$g~sZX4Qz{olKgrT<>JUABa0&zwzwo-FdsI*zOrj_-*R!a!)Dkjc;|P$K6Afq(RY<|hjY2VFd%*h zJ@5T`&4pK4u_12JGwI?iV7PGh^aSR<2lF?aI_}wXZu+z!8Uds3mUyAk6R)jBG?~6* zM?A#ZmWRx{;+?Q-TBRgzD>~&YugM|NZbEpnX4W32>%8%h)^0(mH<~Wv)kR(<*eak% zLu7Ac%7V|+N`o7u&8qLD9&Gjr!_I4*5R1tro8-eYEv6Rq#{;5B3A(jJV{9y`=SRqI zxe3(BZn{(e%-}t~3mEYT9An?a1a1P2qJ_jmg$=%q$am>?#@h`@NVB?4|IQl?O$?K2 zctj_a=ZV2cp&TSn+|2h0E2LRcHs35EQp&=V;PFpFQ@&EdXsKEddEN*|hg`m8jkI$3Y8;evU=Sa+X1Q-rKaeA5?du)>2S_1UVbkANrDAgZ8XN}2+KV5(+K+WIc9 z0OR~9r=bCTtIj&=2T#<07V!`-N=&31_F`m0dc-76G&^Y!)*&9eF$sjCL^2wLe1saG zHN_JNsedITfs~_@wya|dWQy$=nIw;ynS{iNAfp7I2AG$WCI{y)eGjelPqUm1uK!qKxnAIO?_G1@!xqPLF+=f^ zPQM){)GY3K7(N%~JdeQ0`jd0J?veD9U?nYk|F-Bieg7cGHf^G-f{d4t8%Wl3l&{XR zvmZfVin`)CyBeTAtLXKM@1yiiYDL)2=9lhO*O9R##;nK~*!Z^Uc_w z+~;;3*XL5;jIs0oLb2UT%JOM**dNHCSE_j(WES_Zjv6y3L&qO9IH97jCTfeWMPAYQ zYvossF80H^F0{YK`hejk`*GSG7)+BB0e%7K8mnfjk>7|t{qQk#7YTp-R z-~Y~8nr0zX#KbrztAcGfLYLZubMLxknwQ92iguA-KgDKS6wZ z9qH(EGT7~^OtcPmdui}fe5v%l;yTZu{w{Xm!js!9{JVkFggl zN2M1KJwT{0_RQli2SjcHU#HkxTJBFQ4wR>ld&(szI~(=9$U2q;7$uI&n8k?;bfdh4 zNBQ9Ns-sWY%!Qp{(!?q5h6)_KqeB(ByKjFr6AM$CsEWEW8oo0L1iMK#Ma>3&qhb@r zjm#aev8}3CORLZsuMDM2d;GCs3!}m$B@v4-j=wGyk{bNo`s|59CDw*b^sJ6rQ2UAf zzDg6cRUxH@;qDu`pS*MPPuJ(ZdrRKOrvj)Cf*v2nstj##-O*QBJJZ%q5Ew2)P7+XCVE;oes=BZ(Gh ztzX|{HO2A*oNmVol3%n2X&>pF=n5*5y(wbsu*oiLL;Oi%Im?vFnDLy+&}LbgC9>oX zXbH$)UwGSk2qQI7f{-2HoWHW`BiylFXWS4u3N6rFWIuLP_G&6Suc5dKde*uRL7|i$ zt;*h@WVtNm_qnv7hn$AgxyTo~5zW$R3+zTA4MrbDM^@F*jNWmS*Kw#DTr^1e#g`#P z=GcN88jYmOd1YTTg1p1I$mXPsn!fgfK5%wAm&1R_!W2KY7a=}&a1_GKq}_;TC?EfX zDlzp8PS6tv^KNy#N!G5@eScXb%JPU_CeI+mW)&|% zmxwVBbye$q!M2aC{W9n36Mcyo_m^);k+MV2dRUgKOcv{Dem}29FFn$}yR)}T8SG;`gT&xaCu!k_+|x@FCj?j$ zJR1hih-PjZB0RGJ)pQx#LN$d0LI7w!6jYI18$(cxaIuUj^Y1ZKBLk2PUl0?xIAqWe-Xj zt8bx)%8_vV0#m)@mzSQY33-~9+>(e8*<5JUdhTZ^RW{xWF(WMIo(?!&s=@De_XAHk6SbP1HQ@2M#dOT8TlvMK&7|;bNzX zG0EaJd_RYi>!~}S8pZqiR=8p~eGc4#k)O&wLFUc`(&B{xQW1V6A4k_g0b#VgC6ioCbo{OI1})VVb+te8A!Tby_O{tJ;y|96b& zj;JZ72F8wn7xGoH-H9Od?{v!nr7L<`$*r(3mZ{4k>il7>v+6qvcjjm@7(=GV@T&@N zeljOkDT! zqRhFo^-NGY;mZfqBTlcft~jT+7e~{$uXr0VC&-D4ILx$VCPt9;>XcFg3qsfXP16Jo zi^Z1|;?uCU@vA%Euxoxd*!NZ2WFwX7sJTPq8`2*qQpS>P2wZ!<(pK-G-%S0Oz{;NG zb0z;|Cz;!%u4lkSnhqyy)6~%J^Cvp8wl-+Ae=w^?VuRQY+sY!(n*w8f46pkESVv}7 zQ%8MVH!93XgDqY<8EeuC^2`EH{3^8#b0#w4nMz0Q9vD|a8OP@(;W%{|aDw570j;?{5oi*D( zG&j4VN7^Bv$AV0UTk|jhSt~-c=3jXkadin33YsfcNwI%|Q&7EGo7N>4fJ~ESm-Cyd z2V%FtT_6IkHPU>L!dO(Ux#J4S4>+X*3>r!^$N4fEHA`wOk~L%v?gL57QFe_yi7jX# z_O0T>G^oP})MU*Cg~ZCi!?TfC^=>f!y1|f|Bt6O;1nv2l!C@@b#A_BzGi_}+n@#WG z@#_=6(~~hdoI+cVo{wv3zafeobi-ShTdD_#myf8v{sD+|aB@%7GhqClZV79)9n%pU zj*dqW{BBIfxLtSm%Ma9jI=K8}X+tisu~Il}>1D@!j~jXbmhVKJ!C-_Jl!j&+n%Fxo z2+kLbKA2KZWNxsb^5Z*_yH!4^P&*U9D_&JjAH4Bg{=m~WKm8rQe(sF^f-J`P?H&5x z3il&(ktF5x+C(L0Ak6L;H+~2z`0HSwtTe`h1UBG$lgBIBF(wbTHlB z-_JZlaB)Lz%VFc^>gBk+&UA6JqW%-})`4!9gh)`niI+&ljUQoj#m7N=hu8lX- zQTLY1AXf%NEjnU1q+&#kr1;_lvPJh*%@X^2t=H!{-o; z)oXRI4{f#$hXvj3cVQ=oD=Er#vEr`(60Y1AXr*{kEhumXWRR!IWH{i|m2Z#a1l>J7 z`o{eyRxsr^-q8!xMmW)4MX`zhXIfIiS9e!`&;R;zj zW&nWr--!>_J63ocD=9o(oefQZ8=mlj2tKPW05pdaXs80w;AR?XX!pGTxW)O%;ENh; zKnyrolZEo1ANHYUFogyH5d6mjd*M(`M#_IatB1H0IskzGA8`kGq$UG~sOn$me*w+1 Bjqi(hNE0K@cTp$>EZ7P)2f+oI%16B}qmBksyd< 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 List.map (fun x -> x.Name) + +i.ArcTables.LastSamples +|> List.map (fun x -> x.Name) + +i.ArcTables.FirstSamples +|> List.map (fun x -> x.Name) + +i.ArcTables.LastRawData +|> List.map (fun x -> x.Name) + +i.ArcTables.FirstProcessedData +|> List.map (fun x -> x.Name) + +i.ArcTables.LastProcessedData +|> List.map (fun x -> x.Name) -i.AssayIdentifiers -let lastsamples = i.GetAssay("SamplePreparation_Cold").LastSamples -lastsamples +i.ArcTables.Nodes |> List.map (fun x -> x.Name) +let studies = i.StudyIdentifiers +let heatAssays = i.Studies[0].RegisteredAssayIdentifiers |> List.ofSeq + +let coldAssays = i.Studies[1].RegisteredAssayIdentifiers |> List.ofSeq + +let lastsamplesOfFirstAssayH = i.GetAssay("SamplePreparation_Heat").LastSamples |> List.map (fun x -> x.Name) +let lastsamplesOfFirstAssayC = i.GetAssay("SamplePreparation_Cold").LastSamples |> List.map (fun x -> x.Name) + +let lastNodesHeat = i.GetAssay("MSEval_Heat").LastNodes |> Seq.map (fun x -> x.Name) |> Array.ofSeq +let lastSamplesHeat = i.GetAssay("MSEval_Heat").LastSamples |> List.map (fun x -> x.Name) |> Array.ofSeq + +let exampleLastSampleHeat = i.GetAssay("MSEval_Heat").LastSamples[0] +let exampleLastSampleHeatName = i.GetAssay("MSEval_Heat").LastSamples[0].Name + +let prevNodes = exampleLastSampleHeat.Sources |> List.ofSeq |> List.map (fun x -> x.Name) + +exampleLastSampleHeat.PreviousParameters +|> Seq.map (fun x -> x.Value) +|> List.ofSeq + +// i.GetAssay("MSEval_Heat") |> List.map (fun x -> x.Name) |> Array.ofSeq +let allValuesOfExampleAssayAndExampleNode = + i.GetAssay("MSEval_Heat").ValuesOf("sampleOutHeat.txt") + +allValuesOfExampleAssayAndExampleNode +|> Seq.map (fun x -> x.NameText) +|> List.ofSeq + +exampleLastSampleHeat.Parameters +|> Seq.toList +|> List.map (fun x -> x.NameText) + +// let getBioRep (fN:QNode) = +// match qi.ValuesOf(fN,ProtocolName = "Growth").WithName("biological replicate").Values.Head with +// | QueryModel.ISAValue.Parameter x -> x.Value.Value.AsString +// | _ -> failwith "no biorep please add" + From bce18c198290b02b07213ecb7baebec2e65c4742 Mon Sep 17 00:00:00 2001 From: David Zimmer Date: Tue, 19 Dec 2023 10:28:08 +0100 Subject: [PATCH 05/15] Update playground.fsx --- tests/ARCtrl.Querymodel.Tests/playground.fsx | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/ARCtrl.Querymodel.Tests/playground.fsx b/tests/ARCtrl.Querymodel.Tests/playground.fsx index 49c572f..50e52a9 100644 --- a/tests/ARCtrl.Querymodel.Tests/playground.fsx +++ b/tests/ARCtrl.Querymodel.Tests/playground.fsx @@ -80,8 +80,24 @@ exampleLastSampleHeat.Parameters |> Seq.toList |> List.map (fun x -> x.NameText) +i.GetAssay("MS_Heat").ValuesOf("sampleOutHeat.txt") + +i.GetAssay("MS_Heat").Values("MS") +|> Seq.map (fun x -> x.NameText) +|> List.ofSeq + // let getBioRep (fN:QNode) = // match qi.ValuesOf(fN,ProtocolName = "Growth").WithName("biological replicate").Values.Head with // | QueryModel.ISAValue.Parameter x -> x.Value.Value.AsString // | _ -> failwith "no biorep please add" +exampleLastSampleHeat.ParentProcessSequence.Nodes +|> List.map (fun x -> x.Name) + +exampleLastSampleHeat.Nodes +|> Seq.toList +|> List.map (fun x -> x.Name) + +// exampleLastSampleHeat. +// |> Seq.toList +// |> List.map (fun x -> x.Name) From eefaeeab68e4a719bcc2f2d492227fe927b27c38 Mon Sep 17 00:00:00 2001 From: David Zimmer Date: Tue, 19 Dec 2023 16:23:02 +0100 Subject: [PATCH 06/15] Update playground.fsx --- tests/ARCtrl.Querymodel.Tests/playground.fsx | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/tests/ARCtrl.Querymodel.Tests/playground.fsx b/tests/ARCtrl.Querymodel.Tests/playground.fsx index 50e52a9..4bc2fc9 100644 --- a/tests/ARCtrl.Querymodel.Tests/playground.fsx +++ b/tests/ARCtrl.Querymodel.Tests/playground.fsx @@ -47,6 +47,14 @@ i.ArcTables.LastProcessedData i.ArcTables.Nodes |> List.map (fun x -> x.Name) +|> List.length + +i.ArcTables.LastSamples +|> List.map (fun x -> x.Name) + +i.ArcTables.LastNodes +|> List.ofSeq +|> List.map (fun x -> x.Name) let studies = i.StudyIdentifiers let heatAssays = i.Studies[0].RegisteredAssayIdentifiers |> List.ofSeq @@ -71,7 +79,8 @@ exampleLastSampleHeat.PreviousParameters // i.GetAssay("MSEval_Heat") |> List.map (fun x -> x.Name) |> Array.ofSeq let allValuesOfExampleAssayAndExampleNode = i.GetAssay("MSEval_Heat").ValuesOf("sampleOutHeat.txt") - + // |> Seq.toList + // |> List.map (fun x -> x.NameText) allValuesOfExampleAssayAndExampleNode |> Seq.map (fun x -> x.NameText) |> List.ofSeq @@ -81,11 +90,16 @@ exampleLastSampleHeat.Parameters |> List.map (fun x -> x.NameText) i.GetAssay("MS_Heat").ValuesOf("sampleOutHeat.txt") +|> Seq.map (fun x -> x.NameText) +|> List.ofSeq + +i.ArcTables.ValuesOf("sampleOutHeat.txt","MS") +|> Seq.toList +|> List.map (fun x -> x.NameText) i.GetAssay("MS_Heat").Values("MS") |> Seq.map (fun x -> x.NameText) |> List.ofSeq - // let getBioRep (fN:QNode) = // match qi.ValuesOf(fN,ProtocolName = "Growth").WithName("biological replicate").Values.Head with // | QueryModel.ISAValue.Parameter x -> x.Value.Value.AsString From ac9eb94922ec4350bac945e61c125c57c73b9afa Mon Sep 17 00:00:00 2001 From: HLWeil Date: Sun, 11 Feb 2024 21:27:52 +0100 Subject: [PATCH 07/15] update querymodel test objects --- .../TestArc/assays/MSEval_Cold/isa.assay.xlsx | Bin 11742 -> 11805 bytes .../TestArc/assays/MSEval_Heat/isa.assay.xlsx | Bin 13043 -> 13092 bytes .../TestArc/assays/MS_Cold/isa.assay.xlsx | Bin 14973 -> 15038 bytes .../TestArc/assays/MS_Heat/isa.assay.xlsx | Bin 14950 -> 15001 bytes .../SamplePreparation_Cold/isa.assay.xlsx | Bin 12581 -> 12621 bytes .../SamplePreparation_Heat/isa.assay.xlsx | Bin 13879 -> 13906 bytes .../isa.study.xlsx | Bin 21427 -> 21480 bytes .../isa.study.xlsx | Bin 21990 -> 22023 bytes 8 files changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Cold/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Cold/isa.assay.xlsx index 56cd94c03d38470bb2e9d1630fd8710a30c7d343..46631783aa38aeb33f175db931c281c00be2be8f 100644 GIT binary patch delta 6058 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 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Heat/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Heat/isa.assay.xlsx index 0f81c4b519c400c572d9ad32b9563b169173f049..32debe48523583a156c61f731a309dc54c9bb8a7 100644 GIT binary patch delta 6147 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 XuPA6>?Vx8UU9dY45HnfeKU@C?HM3rC diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Cold/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Cold/isa.assay.xlsx index ae5e8f62c2f2913c53d163f9cd6e36fde6676417..ec6256de9f1fc9d0d516020a0fc2e5d8e78fe11e 100644 GIT binary patch delta 8174 zcmaJ`Wl$W~D1a**xIqPtz`E!B52{pOHKb&aW|9_A z%1xg1iAJz0W5|{<;B{W^Orj9Se9ML4`EHwjirn2VE%H0-6rnH5GGtl0zc(MG(`rjP z#(nb}?R+mgteG{ZsgS=-#(!`7`~tnvJczboK)#+t5y_43mdKdp5&XDbnw&s`@ABDs7_URYhwV`q|&F*ZboTm|HjxL z#G0bVl5&yK3S!FiB3$pqP)qH4>+W>LIU5w47VBt3^bO=-+K>+?+!6;YI&_)3vehRD z;!gpyb~oT&`d#U;TjTJbROo?|{QY@bp=rQ`?olQoa~U}f>}P&r7)LKt1@TVyB6Q4E zN#SnOm=v+I>M!;tZ>4D;%dv}7h(C@;?D@r75mvB@siJYtssur!v5PE7O|efBF}+Rg z;p@_mBk)Payj|%z#vWq%N`e56cPJL3u{Hf)q0pmm89)o(u(zv2_Ci-ResScnsSV(Z zP*mLR9|Nwur2WN8g>)FnlSx}}GJhtT?YgxPv7gvBO4}sl#GBZ(JJeQ4F|#P1b=}cx znvq=G!tU$GmD~5&wDF^fJf`7yiTjVhY|-1_V{R>v8W+`q72A>DgRr^uptu3Fpd#^4^Mg-UaP(yfPBn?6Br=AgM$OClFD-*YJ2M~6Pt1iM(ZdzHIqanOXvB#PJ@ zT;CZlOp!^V^*+GjfSWh+Y;(^&QKd|X)PH;Sz;8Y8ZUo)ujzYJ;OSB3tk2JU-d?qDS z#CTC+m=<~Gv&^FKm3Ri>SF_o1!>7^M z9R0s%S-2iAMIF|(w&C~%^%lfseKrs6eFM0c^jog!#3|)DM2l^Zb;dFY=boHXQNteAC)m6xPQ8OZB`&Bn$k> z=2lttbd>Z>s4Usi&^izmWAG0>Evj}rBHCNrGEgC2OW1)Qqj)A?4L-0&G_2!)jkj*D zeK3B73oth(RoH)I?;kYzZO(d(D*QF&STQz0PS-ums|E@Tn#_u^hjM_&|*|C*vC zjp7v!*CfiL^Eo)IjTBOPJY=qUKc2Aqb|sadu(P8l=gx4i7{TA+2h+v?_sS!ptp}x< z^s%~t4Fbj-LKQH}djJ5y+uJ`~YMRNX0dX`?t>rDCsbuNF%1Zu+Oq}C^mLcSWg9}Al zXqtEZ(h=3B^gy6vfb8X#NA~Y=4$Q8eAdw2_kI>5gJ6Cj1FKN9O@sDvMi5ug%!-qlz z##fPf$1kn+KWR$~V1s(@;%m>lYULi2bgqFkiEmHI0*?~cPgY&yL^Tb3`1mn2j^O&; zDigb=fBBW;`tHppc3%I?XVmXH^-Qf8>eD7vNe!oPtM}J8^vX|cjm}X;jcKhKnbX=5 zj-28RS&uF&xC85^Hu;(u2V~G0A@e<)VJT2 zPO*RLc2jloSJY~fxFtx-4KMHeB9xCUczDRDB7?9jtGz%!Dm44VauRGHsBH*!%|MT%9la!ACa{G^~*xu#Xsw{H$p--1%CeIdml}U#}y|faLtMcBBBIfpR>c zWbx|b58x(){Sx;gl5aBgViRb`^o#M}L7L^9sj`b6x7Z)cnBYm>O2!~cOq@>DL)w0x ztW|mqE`vFp%*e~fwHKk+_|NzVQ8)`)e&|rP8M6Ehkq->5281Eq9^NV8OIpjnQJD>D z2yy#HwYD!po##L5rYl_o*zL{vC4~L4$H5RaF|sk_4om}mGB*L$q#$)OC^aifbOSwNv)*Np_u zpRc-iC6Ut*UU@FM_tSpg&OXe$_;*#hbe*K-PyxcJ+K6|sl_~cQq;hlG;4Ox^hH@9p zaf7$LWZo_rS})4`vfrtCHC&kfJx
I`DhtkBoUe^HgT2;p@Uf*3c0WK*ex*f=cRBT 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 delta 8094 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 F{U3SmaPI&B diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Heat/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Heat/isa.assay.xlsx index 1701a56a9a94719e73591d589be35af6ab93c9ad..69f3157b7e25797522bf8e3ace87b341f975f136 100644 GIT binary patch delta 7877 zcmZvB1x%gIw)V!|Hx9*%7PpN{ad#;$#ohHS6m4;LEl}LuH?GB<;!+%n6}>&*`EyS0 z%|FRZCbMQqCX<=t= zwARs!+#x}yi1=E~{RYhhEAKIkt~bCd?+U|no9Yoh%qMPQ){07v4Zey^d>+EGeOw`h zB4%5lcaC{uE@O5LoV8kZ-A5_=^aVB23%T?KJxre!VMk*iFa9>3D8=2~!S;-+U_NePYKp|CZ@H6M@^YMcF~SL~%am zQ-#x`Uv;2g!MF-d?_oGlSV_9Yk#EOB-jQ>~A9QpmpEY`EokxDLnl%>N3aSdi{+0~@ zbI0h^31fsK?(#-IaTC_06XgyOE@PLzhRybnV)k?pE03_ZMHa4_Tw!MXqP6_O+jKuX zFK)#j+&^h>*KjIKD@z(rVcmg15qt0eWc<84n{g?5kh_S6eBV}_6G2NaR|*rxl~7;R zaGQnXN;#s%-7rO%j5?ms6PCjgC5oRIFQ|PS$Pk^8qJK9Rypz6#7dT7aE$A(@n04_x z7TL2I1^d*OwjC8atV`AWkie1EYuUZ5uegLYDrav!kbl)#lPYi^P*VL1ni~v2RCqF)wHuDWAM_xh zh#eb$jRpd}zJmTWBqbZ#_KBf~RGZy`8jF_xn48OvNJZHlYUtO!wQ-_o4NCT`T{@!L zeBbA9=O=x+<(9EO#*Wq59Uxq`IucY4y>rHJ_js@KEG8H=6uU779{eScYw$ZP`}n!V z`Uh=sE^I*e9S~i8-dQd45T|ub6Z`rY&;KBP{b=4fMqE|TOF$4wW0zRFTVZI`_^)~S zn67J+p_Ru!>#4Q7_T7^!`nt3+6_SGqT&mF8`X1Twt>Ia!@KKGm4<@u9iH1(`2P}q{ zo0`dr%kRUii!^6M9)k`%(SwB`c+u)xeC%SoUfL{lGB=WeN>$D&EVHvBR9 zou!|u4c6!__#Gin_nRVNhE~)hp%pnsyeI|f=!`uDm_C37@m8+h#E3y1|W_Q)27GzjGGTm$iV=_HBK*zJ7(hb3QHGneq z-IxNNrVb2BAMJOypLxor({0uf>oJ5UM&ObRo-#Zey=3O^#&7P`^c&lpDSJYVb`15uX~VonNpzSoCx@ zL{TFibZdA$fin^`{EQBhM_rOf+Gv-o9{E=7+-oM2@T2F5{@-9b{AS*~j~b{;`OzcP z>@?BHx~o_@KUEgWKQ%IKSt_ir^wt36nwz@Gt+|6PN#8QiWzvI`0ultethqbs>^bHq zZwZ)$SnoqO8g!O_i zkxg~&W%OBE?}Ht8g=8b7v<2a4CN)0kYBtV>{|F!p{g~9kBNk>OKvJ@`t0Bo!vQj$> zPcT=D{FR<~OHM|rMTD3o*B2QRjZ^hZH)xJDq2k<2g?r^6kR#c3pywt$e3zP$+SUS z7qmv*0YgO10wayg{D}iflIK17;S&ne2CO1Z7aRkbFP19*wJECk)|AXAXub*n3YE-- zK@IN$fiVLR7|3ivsNrXSyZ&FH(_h&-m}zTDSZqu6ui7`$-Q*hCzH#QQ_^^B(C@qFY zb%+AVpb<(Y_jo6+hz*fHUDOQwpGar&RCt))v%fVh^ohw|K%u|- zMl%7`d(4EZi8se~2L-_Y65eh;n$kO&lI?JtgW`wiVLB$QvMxO$9p)lAPgk^Qx;=;% z97TX&quow9AYFPQIZRoS@RgF-esG~foYQj5#A<93X(UAWb6bt&v$(p4oDD`(dm<<} zitt}5i!JD!IqUJ1@q!7xAMGbdX*HVAJ)2Ja;}n;;zN39u04Qj+Qj-?M*3038xpis~ z?l|gKPGx=ih^rkA49LXU7GJY&jD}`}lfCK`;Qh`8te{Z0-J)66= zrGw?aM-EnR2m2E}g;-KP+%BYHfbxO$c)oI|r!K#Q{x-_N+k(w?S2ii*ji&}>DKT15 zP!D7emr~5LHWlHvDV$RF6TB`>>Jt$hZ{0FQt(2#NQp|U6`&dF{cCMbNjE6Ga3ML@1 zg4L+|53T8860)4n3QE}`6AbmQ5EUDNb9k(wLUm>_^)2@=#42+1x;VsZ9ha9figGU>786Rsd-j$?TC z*QDI&5j=d#u%ci#0r7z+_&w6aF>f|PGu!YAIzCR(Rs&Xc;nH--z>_zZ4Ux2IVf(Zb zNYP;@Y{JxhY3Yy)B$VD$#`VD~?M)ACyMbv5vrFHaF@ z38jdB*pxzY5+fE_fy#7xI&B{D<)LpZLHU^1#h2W#Nma+Ked|K2-becaohuj?gUeln zKVzV3^(oA3s&N>ZinAKy-es%_UMPX%1IRu45vEca-?Y&<`|yUZMLu5Zs=A9EaL{hS zmKZ>ti?oTgjxKaw!}b#+S%IH4O9>0S!CJ0%va4ac@25hK;G4zmOvH^ufS2uM6}Ft` z#{oj)4)5Clk!H2M;nN*=$Fb+z>gw0W*dNnC;M0NA#uHEGgOJh6z0O9!pQ8igKo#MN z7UzMn?&pi65(=Z2=W^rj=fT2G=8IYkirElZ_tdO>B%vS#-xKY!pMbP>ku+8`x-Xw3aA z*MP-g4K7M0!0pcE2;RHJ0CcLJI~u4+#&yn>#Uw<}s3r>xsUTlgoN36DcfXm5+)VfZ zen={KQ*4wP^{X~f76_dZQKDpJ&JDu09pVd*RgLA^C_~zvlY%z&jGI5Du@6NzU#M^O zm$*jZeH45G{Y4PF)AEY;YpP5U*IDc_VH(s$D*HK~ZuG^w;m~)m9;rUiv8prpZqNFB zf;7j&1CojmQ!sK5k2F_%X__qRuafIMq85=0_>8WK}|DnbO;_s~lp)9X_r zUCZ2i++$u(H!abU_qZ0eSq@)>@@C|gX*drAPap=_G&%Uncr2baU1(}v>V(P=w&b7Y ziFl;msS=UMz@Kf8QDGE;irqJ7GrppOlgmZ9MWV(!(8vv`TcVS(A*VJr@vx3sbnM5_ z0ItFD^gP)#jxg9hnP$rEkZ$bhgEE{CzIz|fir+y&QVAO8wA=v>mu^)jkuRc_vE83q zLxP8@?+xX%4U_7Cs-ET0N4OLoxDLg0Jbt+*$Z=U2&{}32EE=FyZ^vdl&#BWmuJvxm z@6ng7QBkc+%u>VMU-6Z`RrS$InpjYsSsL@(FOZyfdwPt?R70uahU+YeLH`AZlMtk( zwMQBerRqgO%OAXh&=6TxTnkBUJ!*ZA#+vVE5vFvUoHgsX3TtVBr;$y**u*B>4^%w>xFT5~sBM6_P!m~Y-800 zFu9Ln?${u?Y(}z^>k4tE7?|a9A5Yna2?Kx4&^qm5Om>b`o#=oRIZHNC)lt7rk}E<^ zS9CPrhS#}_6L3tbfHTLrTBxR@A^SEvaL0_sT>S2!DYkw-{k^0*Pxg(vbmQFLB0-uP6%|Tv~3dP@0=+-RJ z(4~w$xzeW*?c?d0s&TgP^ifw(M9SZ<*BF0&D3WI;NrC$6GBy@CcFsi?_<9flTFjq~ zP8rEqn3T)ZJUc~$kI|b(+5Sx2FGvA(UA3*eTXN}{U!UqY)(oz7>g_+tlcD0(TDEtjoilmUPMFf41LtgGa}W>bKJ__vQt*aVsu!-Dr$VKr*ox*^ zdHVD#NqO5VO_u^PQn@!nqvTzYyFZmjNAtZP{R4Fk$g|*30`(}&)c-==-9#8FHUI{{ zC{LRt6egQn3y(9B@h6#JeRj;#qajjL(I0)?yNCeM$xg`K{Y?8B61p%>>G#cmF$aDE z>NPx(z1V=`Kpvmf+PImt$21h>2W`b94~X}3SxJ)g=9t#TiVeA^!v`NhT$6chsx9Yw ze9j({z)_hGp$R6&r^wSV^_elVO#qx?Yp4*83x-eT0l^pk=Qr`wTe}4g7`|UHeSO&t zSi^Jun%-R7yEzMKq7GTh*L9#U`9+*_{WCBNG6S=`vBADjb9{`6wr{NsyAdWAK*S#TAY?V z^+M!?E;+*FGU1g6n@oV0RW0;KbBIiGgRfAR*t}(3UAi{Rr?TM#vUC{@9l_20V?{k< zw=3#oExful10Hlb}rXsSYoY zw-M)86>2Tgw!{0lVR|!+D{oaq*HB|^Oc=`rzqsJi=(jMkVYDde;vWh{!}Hw*l}j8; zn1s|#L`>x_5%(dV_|9~WUtU^cNVd2$OL}eaeZFlf9_HM?ei;xZR`^L1Dz!x!GAM*X zfWXr=b@ODq;6WCr%*O^~(b-pB%ZcYdF?Xo#x3Y@6VYzDO*8D)k>WurPr72p0Bx^r? zj;h%i#Ep;*V$qmZP$(;lbSIeGY3eYk+}1YcYz8&Ze1$X-Y7+Sl=C;WV`6637{`e;ouI0x8u5%(>lf+Z z2(dch+owwFx{1l>rG{rp2}E)G>TXihblOCXzezFQc&8GTf^^BrtTEaj1~7ik{dWP$ zigp4XMNj>ss^Z@~S2R(WksMfcBpt!`$BF}pE*KxDv^Us-_oR$r;QU98&F&r@U^Kq&Du)dJF zcP7s6TmKavCXH zwNI7&ov+8&_iS1z)u?CK^|Ivoe6OkVwY{tDcwlkh{DJYXpm6Xt{mJqe`fOMK z9kHV2XXmL%cl)V`B(nSE(VnZQdyyWNhq2PnM^TZRfpVnEe!#JFqoLh){&aQAmI_RX zN$q<-6pwcqnxvV)9Arz4H}T%}C_-sdb`(sTD8TPUyXVoqjx~RNo|5^_0+RCjV*vaI z#BN*giW;YYv*xR;J{dMVOy(lwN?ls0KZcvI61D>qgj$?%?U=+ zkS*M@t=%WO69D^T>f~%6rD$pqf}uj$E~ z$25V>IQ8Z92_q(gaLfx*XFf<3J|XtahnP7YTx@=o5gJy%N<+md@J3FO!VRwNpRrE= zA+7IQaa&W!1`H=BNpw&+huh zQ&>Hq7%;6ms3AVt)8%C2UOgn=qGqO6!tAGK$F95@rzdGK`JwUjyInz=v3^c@Z+xER zs+YODsj{Zl+kt2c{UKoxB_fIrH(TNZWCT}OGEn}u{@#@!SH+$t9a@+2o&nQ_IlpH4 ze!sMKxmP`b&u!*qsLly9zg4^=Q0qRuVSweSA83r4dRuCZ+^2Hl8{e;QFaBxVTy7kx zv|FYlFDn;E)b4}*_6Nnn%B-0Sg((aR`3{ttS}4dqasINM37`x_1Qv#t`iI3Tu9Q)z zP4r|Dm?Nw%Cd~Z7icA!JE;}mMMj7o7Z4ZdY^`3)o1B($j>D5%g;fdQiO7@y5$nanu zV04r$#`L$%a&2U4uc*2iW8auAOr2Ukv3=VQ-p?4uY4x+ufy!ql&t$;D z%2NL-*eh5+#3?L2ni1s?S*1DBG6!;#a{y^Qe^YQjOY~^<5)5lqM{J?UBE-cPJV0w& zifZPjj07LS?(F>a`s&A+P$x>a5!B=YpqpgKz2OzPYzkImVZh24pU)#3L=9Er?l9w^ zA2;9Ez2fqGiKb7x;TO5&S41Yk2$69yd zO61tlf7@|%DWrI?XOE~jGz|hn969w}XpeCpJI3{~(jiPvyG{>o2M?}ZV(+j3pxlZ2 zl-(HP-OEy^KoGMe9~RKp6ZpLtGV(F{t4g$jiy|5NBk?KGk4>IUMq~wL_;*pb`|a

dK;zc;d>8tX{z-kjTwRSBRfRn4a1tC>izT@RjL$q) z4sN%6PPtiBMizRx7vhlEixLQ-k@VQC-r`ZzpAD21v~?RY`^% zkbIU)fx=X>Wo()jNRP;c6o%xCkfR=?Wo%Z!MMlE8Oe9}(fgrcy}u@Y=P{YZ z_3OoANi;OKk%}x!8Tn2T-aT4u+-~k2!+!ZN-iSEy@Unca6-xKdyYR%m<$U{F7Jio^ z5ON=kMvFwJTwih;YY07+H^6{!Fj1I-weHGW{X;_0UREmky?joZHG6lDwoHUrl&rjK z6sLB{0nKSNASz7)8{Jkfn;DuTfK&8y6gb}_>09TyxZEO@m=2*`>W@lR(XCs9rcz_Z~jT+ECZsG zE(3}V(zC^zZtplpB6#Lpy$xNzL1?32Jlz!RSx;f4rbnCee+^Ks8@s5 zMUtpwq_s%zR5sBpgf`j8xV-*^Z9g%KLJ9BkaeDK+_?^y%171MT@6kg#Q#pC+DX47G zF`bXWM*jir)o|l(^mGmFhYJg>?3^Sh0hGVRYcN<6K?GHKg%HX*B3ST_;bxm$|12?Y zD#)L!3fLpcD=*zM>$A(#%V4!e8>W*{_Ul_xjG%Y#bg8BsNt z#I$DmII^A&j**bb#_*6soO`BQ;?u-*eX2AHyVK;n}k4h*+IYGVz1kw%(jW z9l99fQdg(9yp+C}a_oR83$YuC2$wAU%4GtA{!t6 zU#B0ZnP3GN5(OEU{|Wd%$=lxw<^Q%Ip4b7QC;jK%{pG3_U_l_9|K*`O U@dY9RW1A=}K!eD~`!CV|06QPi-~a#s delta 7787 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 XZ3ZO6xrM|K_~C9sKvZPDf0+IcIUKwz diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Cold/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Cold/isa.assay.xlsx index 68ec56c2a8d750bfb8a9815e5ea7aeea4d654646..40a3dce0e4370b8ba21a6743a39867efa7550573 100644 GIT binary patch delta 6828 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 RewP)>z(tGP%Kne*{{WX)tn~l@ diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Heat/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Heat/isa.assay.xlsx index f7f98f56aa54738805eeb101e769919650202e9f..3853242315b8ddb6f6ab53653bfe75137f335cb9 100644 GIT binary patch delta 6874 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 delta 6819 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 X0E{e1UQGb30TiW11|6pKpT7SEn&pJG delta 13848 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 H|AYNM$9hD# diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/ChlamydomonasHeatTimeCourse/isa.study.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/ChlamydomonasHeatTimeCourse/isa.study.xlsx index 97e5648fd4e5fd484ff9064381c664a2f5125205..49e7b867b5f35feb51af5f7a39f6287cdaee608a 100644 GIT binary patch delta 13737 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 HhxGpd4&Gv9 delta 13777 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 Fe*uYKf7Ac~ From 67fe811e8e452a9cb0bf55928ed3197764c8f6af Mon Sep 17 00:00:00 2001 From: HLWeil Date: Sun, 11 Feb 2024 21:28:16 +0100 Subject: [PATCH 08/15] add minimal querymodel tests --- .../ARCtrl.Querymodel.Tests.fsproj | 2 +- tests/ARCtrl.Querymodel.Tests/ArcTable.fs | 19 --------- tests/ARCtrl.Querymodel.Tests/Main.fs | 2 +- tests/ARCtrl.Querymodel.Tests/TestARC.fs | 41 +++++++++++++++++++ tests/ARCtrl.Querymodel.Tests/playground.fsx | 22 +++++----- 5 files changed, 53 insertions(+), 33 deletions(-) delete mode 100644 tests/ARCtrl.Querymodel.Tests/ArcTable.fs create mode 100644 tests/ARCtrl.Querymodel.Tests/TestARC.fs diff --git a/tests/ARCtrl.Querymodel.Tests/ARCtrl.Querymodel.Tests.fsproj b/tests/ARCtrl.Querymodel.Tests/ARCtrl.Querymodel.Tests.fsproj index 530412b..dab8720 100644 --- a/tests/ARCtrl.Querymodel.Tests/ARCtrl.Querymodel.Tests.fsproj +++ b/tests/ARCtrl.Querymodel.Tests/ARCtrl.Querymodel.Tests.fsproj @@ -7,7 +7,7 @@ - + diff --git a/tests/ARCtrl.Querymodel.Tests/ArcTable.fs b/tests/ARCtrl.Querymodel.Tests/ArcTable.fs deleted file mode 100644 index fae81ec..0000000 --- a/tests/ARCtrl.Querymodel.Tests/ArcTable.fs +++ /dev/null @@ -1,19 +0,0 @@ -module ArcTable.Tests - -open Expecto -open System.Text.Json -open ARCtrl -open ARCtrl.NET -open ARCtrl.QueryModel -open ARCtrl.ISA -let testArcPath = __SOURCE_DIRECTORY__ + @"\TestObjects\TestArc" -let testArc = ARC.load(testArcPath) -[] -let testStuff = - - testList "ArcTable" [ - testCase "WillNotFail" (fun () -> - Expect.isTrue true "Test if the test will test." - - ) - ] \ No newline at end of file diff --git a/tests/ARCtrl.Querymodel.Tests/Main.fs b/tests/ARCtrl.Querymodel.Tests/Main.fs index 5875a34..075afdc 100644 --- a/tests/ARCtrl.Querymodel.Tests/Main.fs +++ b/tests/ARCtrl.Querymodel.Tests/Main.fs @@ -4,7 +4,7 @@ open Expecto let all = testSequenced <| testList "All" [ - ArcTable.Tests.testStuff + TestARC.Tests.main ] [] diff --git a/tests/ARCtrl.Querymodel.Tests/TestARC.fs b/tests/ARCtrl.Querymodel.Tests/TestARC.fs new file mode 100644 index 0000000..46958c4 --- /dev/null +++ b/tests/ARCtrl.Querymodel.Tests/TestARC.fs @@ -0,0 +1,41 @@ +module TestARC.Tests + +open Expecto +open System.Text.Json +open ARCtrl +open ARCtrl.NET +open ARCtrl.QueryModel +open ARCtrl.ISA +let testArcPath = __SOURCE_DIRECTORY__ + @"\TestObjects\TestArc" +let testArc = ARC.load(testArcPath) + + +let getNodes = + let isa = testArc.ISA.Value + testList "GetNodes" [ + testCase "LastData" (fun () -> + let nodes = isa.ArcTables.LastData + let nodeNames = nodes |> List.map (fun n -> n.Name) + let expected = ["sampleOutCold.txt"; "sampleOutHeat.txt"] + Expect.sequenceEqual nodeNames expected "LastData of full sequence" + ) + testCase "LastSamples" (fun () -> + let nodes = isa.ArcTables.LastSamples + let nodeNames = nodes |> List.map (fun n -> n.Name) + let expected = ["CC1_prep"; "CC2_prep"; "CC3_prep"; "Co1_prep"; "Co2_prep"; "Co3_prep"; "C1_prep"; "C2_prep"; "C3_prep"; "H1_prep"; "H2_prep"; "H3_prep"] + Expect.sequenceEqual expected nodeNames "LastSamples of full sequence" + ) + testCase "LastNodes" (fun () -> + let nodes = isa.ArcTables.LastNodes + let nodeNames = nodes |> Seq.map (fun n -> n.Name) + let expected = ["sampleOutCold.txt"; "sampleOutHeat.txt"] + Expect.sequenceEqual nodeNames expected "LastData of full sequence" + ) + ] + + + +[] +let main = testList "TestArcTests" [ + getNodes +] \ No newline at end of file diff --git a/tests/ARCtrl.Querymodel.Tests/playground.fsx b/tests/ARCtrl.Querymodel.Tests/playground.fsx index 4bc2fc9..577a0f7 100644 --- a/tests/ARCtrl.Querymodel.Tests/playground.fsx +++ b/tests/ARCtrl.Querymodel.Tests/playground.fsx @@ -1,15 +1,9 @@ -// #r "nuget: ARCtrl.NET, 1.0.0-beta.2" -#r @"bin\Debug\net6.0\ARCtrl.dll" -#r @"bin\Debug\net6.0\ARCtrl.NET.dll" -#r @"bin\Debug\net6.0\ARCtrl.CWL.dll" -#r @"bin\Debug\net6.0\ARCtrl.Contract.dll" -#r @"bin\Debug\net6.0\ARCtrl.FileSystem.dll" -#r @"bin\Debug\net6.0\ARCtrl.ISA.dll" -#r @"bin\Debug\net6.0\ARCtrl.ISA.Json.dll" -#r @"bin\Debug\net6.0\ARCtrl.ISA.Spreadsheet.dll" -#r @"bin\Debug\net6.0\ARCtrl.Querymodel.dll" -#r @"bin\Debug\net6.0\Fable.Core.dll" -#r @"bin\Debug\net6.0\OBO.NET.dll" +#r "nuget: ARCtrl" +#r @"bin\Release\net6.0\ARCtrl.NET.dll" +#r @"bin\Release\net6.0\ARCtrl.Querymodel.dll" +#r @"bin\Release\net6.0\Fable.Core.dll" +#r @"bin\Release\net6.0\OBO.NET.dll" + open ARCtrl open ARCtrl.NET @@ -20,6 +14,10 @@ let testArc = ARC.load(testArcPath) let i = testArc.ISA.Value +i.ArcTables.Data +|> Seq.map (fun x -> x.Name) + + i.AssayCount i.StudyCount From dff61542bb7176b774fec7b4ca04c0c440234121 Mon Sep 17 00:00:00 2001 From: HLWeil Date: Sun, 11 Feb 2024 22:17:29 +0100 Subject: [PATCH 09/15] reduce complexity of querymodel testfiles --- .../TestArc/assays/MSEval_Cold/isa.assay.xlsx | Bin 11805 -> 11421 bytes .../TestArc/assays/MSEval_Heat/isa.assay.xlsx | Bin 13092 -> 12715 bytes .../TestArc/assays/MS_Cold/isa.assay.xlsx | Bin 15038 -> 13256 bytes .../TestArc/assays/MS_Heat/isa.assay.xlsx | Bin 15001 -> 13221 bytes .../SamplePreparation_Cold/isa.assay.xlsx | Bin 12621 -> 11236 bytes .../SamplePreparation_Heat/isa.assay.xlsx | Bin 13906 -> 12530 bytes .../isa.study.xlsx | Bin 21480 -> 14192 bytes .../isa.study.xlsx | Bin 22023 -> 14762 bytes 8 files changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Cold/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Cold/isa.assay.xlsx index 46631783aa38aeb33f175db931c281c00be2be8f..d283113c02af86071ef6918e4c565e9c7765f569 100644 GIT binary patch delta 4492 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 E7muD)IRF3v delta 4909 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 DykQ~u diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Heat/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Heat/isa.assay.xlsx index 32debe48523583a156c61f731a309dc54c9bb8a7..47b0ee7d828d5033e96fd7346a0e7345896330fc 100644 GIT binary patch delta 4527 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 delta 4892 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 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Cold/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Cold/isa.assay.xlsx index ec6256de9f1fc9d0d516020a0fc2e5d8e78fe11e..297122942a424fd9d5fb694c2104bd908a657cb8 100644 GIT binary patch delta 5425 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 delta 7256 zcmaKRWl$W^GR~t{cii52GbZZ`qIv!Xpf-G>;HY0v}x3VngreA`+tiY0Ec1s&zW9ZJDFhsP(_wZTDFxegaPpiJ4z+O6QO*BYgoaB> zDAXULNIih&9j_r@nfK%(Zp9K zm0;tp$%yq@#HUG~)_-s^f2qh2t;R1+BNv^B{uz{DOIpJrse#2kuO0%6!!NO>u)se~ z#`U*wLT<`DiY9(D?(fMA9KTNxC=UU+++tWuBs2_sg24{UvcT5-5igeqT*aQ6f>P+? z;OWgLk=Vq&KgK)-DZiI%l`|1!j;9BbO2#ISiL)AB?D045>Nn6zM1%>f|c=%)H3 zj{4>&SZ5VxWL4A{Qatw|=wRANmaB!MgS4;PQTA&T$-w-zKXg<0<)*LSsg}q%@^U^m zapWWpA2{%9o}CANA>q8PyMrVsY`7$)5U_RN6bRy7G3vNtl%i1rN|f58>yKxXFgl&W z+7TmD2SlcjIM*ZY$H53QdC9Fd%7oWBzvgGfY5lT*uG&fnwr>r{)mCIFSg4vpEyu^H zolMLk7S=cn^;M0`X>B+&u)0xI;)xG@t?PDuqCar9 zO0sKjyf=GB0$G_+DF23Y4Gfw8vf?=zqH1Lk_YXC=GCpW=6%|53EDfE^0 zRYu#I1n)QirU7F<}3oF-Alce(<*8^~A@umrL1?%DcOUiry@DD$#=7K?q$eNY8xY zdWJCisQ}w^#1L@&0ZbXUx(@&VyuAFoq-U7F8y}?bhN|SszYacSPgvBwi$#vb7r^J4Gg}V`q=>zh+uhJ{*0hZqc zw02%qOmn^K_0n(+R?%&fz9GrTkF4(hAX11gd~m?3E|0RRptr<4CNlrPejI8ntY-p% z`r4}+v+EIajX7j+*n_m3amQ~6IY{{XsLI7zV7l$;C;eZ<`Cn8e5g>4!l2=-;o^?P} z03etG@`6bQ>BB_`@$`Ic`FZYU+YSsF=E{ zaA=yh84bA<2!r$`z-x;o-vk&ZLq@bSLBCN$(I0h8N4`AQ=nP*fC^hR#u%NlkG>#Ub zw9rg|%9k&}qTjYyoK|?3(E?NHmfNCsEk2kH?Pu65Sg3gz@=E@(i4UDJsAUbI!6o>j zalkOZm$SyK&11ZvpB-}nUw;yLPI4zki6vOl4Z?CIqw|-2o8^a^T{td{SN=jIt z#qjkB(mu4sSo4e4g8*o-%*2Ny`pY9rMpdYPkxqiOq(hbuVnvrBGYU{DSAHS zb@*ZeIE?l*VXi6ZHS*lgwN0V#M}88!Z&h3=s(`};9QC5ve`qODx}5NQ#RWGv!}4oK~CED*AJ5RVhy108N~Jnp29sMr41UfLifWGkynx z(pd$PD7NAzxsC8*xF5la)+iHupmgk;{L8ZcwC%U>&TN0Soyqgs>yu&upnUW=Aa3iIzGqR zyxRVQxNREN`1%y?$*-7=U`F!=wNow|smvWS%tbE~fIaXg3}YYw0M?BEK~lou4{;j%1Pa^J!c3un0{_IY zLxGnuVo=~!j2aYp9b*Os-o&^YT;atw}Z4#?X z_^!#w2Mt#Ar?#iQf%FFp`o7Bo9moes$p7D`RExK}aXjpJ*pvc9kiQu&+5wePJX2m7 zn7ho;WIzp?F6?6?^#%;2^X{P+H02^$t;pme4OVz|BL5mFlMK*NV&OATltt(-oA4=> z*AcnCU)`q3Xwsi`=yerSs-9-#2#aUF1~)q6EZ)# z!>4d`mVOKv(fCpEd;Eq*8;>hq{N{b3hl5yq3yEm|9Kj-`F3;$;df4lXjGCOaUw5Oi z^Le)4$>>}Lz!_!28w)snEWM9(N0WsM4~i<-i0G?7@8+`o4<5{~l~4}c^;8)X`BX4% zifcPUm*1%zPP1X0DoUroBY^Q}QRP+7ui|Ln>YKqC_#E7>gF?KZ*yz-%Os)m$FgXnSO{u7)f@cIR9l6JYEIBN9?)`Ky7W2Uo zab%bdwVeEjv+Y-{srKX>4?WDyBp%eX?y+}Zg?1Hu_i75h5!BggmfyGjJ}=+%tWZ3tN}(wdd4JjqaL{zKlyg3J!$-9c z#+2dG__mf;*)sGN0yL?-IOJr7#GibNZmjx>JGd?GkffOzgE5{XHgt&hshSWs0(m_- zH=&|Nqa5(HztR$006@O7n4rb-u8C7zTVF6j{k;couTR9yo)fj zsP)C_XElgaxtJs-j7?R#hVMuEtgaezhIsU4r{-kkxe162!T6jV8bI#{ zy|)n90VJ>A9pxl#7nM&Vq_D|2moR2?>;>?mGghoaE`1ySQ{spsG&kV%#OA=_X8K`? zRX-$kEUft6&LmNVz`)TY#cB|RVCG>wXtGIXELpj@JT5Nt!NB-=7w`D(!_J?ml51X1 z9>hKPHR%%T?}SzAtt+qMgG`!a##aSXkKt}$V{@V8fJLQ>^w++zrT7I_!GVpFIeoq; znCdm2%)Ea7Y9}gPIzQ+NNCu$;O&a=)xNcNE6?*Mnd2@K{-ZiWa z{CtwX^1k9j70fnJ+k5A16DA5A6@BWqqpUv%Ckf|Y=kg@*A3K(AngQqYSudSNmq{St zso_Q4=|Oy@Pw{e^G%RxSY5{!v)5~EjSd!+Q?eJ`8}4SsYf9tPz}omP%tK1M3t9@j99 z8d^HEU%Z)wjaEhUoeQB!r)Q&nN*gWU&+7|YdJ216Y6l;qUJ`~S$W(>tV&%74V)|WC zR7;4NeRo5?P#X~|Rj#{WmT@zoMgQ^eWG-L!!Om4oX}O6CX%5`aQ1d8(ZwrSFkw2YE zwV95!ej*4X5(#!wRTtN8Xhl}|3VG!p)6_m;W86c4VM3N_E1x~4cA$~%RNb8BcpfxO zSI(WX0-wzsN#e#(ItHP5)aY3x+=jh9W~}lwYY%Wa?ji5)NyJHBZ(=ii>aYmOH;tUC z@Bg)A6)DzsO>4N`VM@hJE`ErShLP7a+$MBy^rdWIA3WzJrM<_-7Wez)>=ww zr;%S#?ElcvMgssO2_PV*H{fhlk2l|lqHhuYP?MW6et;f6;j!Z$VxVWo+6F<%?4)%$ zYI*G-P6BQik&n0e6|Sl3ZDq;;4i<^S?>&A;qPI6N>QjS>L)CS+JU{4Qv?x z*;&$ZGW5wPu0S6ax?wSsb=2OQy}k@v#XWn5XLUS1E)$sr%Jce=pO< zUogQV_4OS{o?l1q?On&i`}TF;>&IY_>GIRNpb^$Z$J(HUX(|IDOOEGBy4s-I2X|TG zqeX`e!J=IIh0U|&T>aYN`=7u4*Ri`lXRrG$nltxug)WO5zh7kkeC;2y(ARI{c$Amt zpe?yd4{UB7n^ypO$^hSTuQZHUs5Ee>V6#w*QN z>>GKHJUSY*T@pp)b)0-wd_20@#XCvv9zMIJUMk8p*gbE^J8=;1d%3^%@V}lKo^0^} zJ3Htn6J^10j~Wd-jv85zML@Uyy+_OC#y5V3Nxct}r|{!-ux$O%wRgw6jzyaumxm8I zS}7|ebAxEH`Eee~%~kli2{fs?8Yyvdb?xb$CF-vj-ze_d>TtrQ8X7~pa~lO%CTJhQ zQzPS`@J~#i6%m-zc)0P4oSAg8)MPHwj7(kIr$GhZOTRt@#mdLpJ!YN>_$}8Rwl~5b zu%l{@f+RHqz=Byqs{NI|KbtxIBIdSGQge*yge_3|kzVUKS0qekQu#_Qt=D`uIr}Vc z9x_%Ahi#5}yQ*kVPOuixbxcB}u=#q3hZL!m@mZq@36jUfW4f{~Kgjn`j`zZYI^a<$ zn(_zfRT9M565JkTOufK3V$L{hHGG`orIO49HOp01`Qc1`%d!mY#6J!=S49|lE9ZH8BeG^ zi@vPPbOb|fUE-1g^I$Ejgf_o!&8bnFoum0!A*nfGYASX{eu^8FtFls;n2z|kmnE0G zsa;?^7}R5oQ!P<#-B8&|cJ7Uyqf)PX5ud${s?1-O&8*1Y(QnV_;~k3>sxu^MUcjr8 zQ|@mzZKlq4W_&Of6} zXBb0ez-hLw$WRtOx|wJovDVr5eoVDLax9dk?MuAwm4W8D-SE%Bv_}vjTl&I&%mh?< zaQsDBZsH2c%7Eu`%Umj}-ZtiB=%mOS#{%_|#3Uo8f>}=bqm3Yzqp(YVp-?tsZ7~xz z+u$UQnM2Kzq@&spWZI}jFQe#xaTPIoqYH20x_MG8#x-q7UWaU3-LIv9+_(+ z>v)3!w&C)GpPK&0nm?Jjqxuh6wnu*E-^yYVDEY9bBOj2V+Mza%rmYMR0vZF>L%oH_ z#+e-ZUuSHcrP=L# zQ1SV=n}li#2${ajcJb6wCqzUsl3DuhvV|aZtTWuYld)CX>gEzInI}&6f;v z2}GU`n5r1jF(QC{m?`FPN1Yj7~V++a#kmRK|7+JsRUV_Bk=@hrjG+1PYxby8`3n-rA>M1UDH#M z6I)gC78AudNDdg45nq+c*<(+R;UMN@{dUwn=xn8;`r@~xEvr-l!7%$wW=t=l;hf@9 zB~L0J9lzIo-S!oX{*)j>D`F8-(BzYQiNfR-u} zG9dsJ06D`%ZK-5eM*8pR*%ep#|C(ro0>vr*)9nQSNdFrDhmvq1sX(HC`o9oQ9g<$vgs2tvutNb!Fg3;&}A0KzCC7TnYn|F_Ed&jAWrNDj9YVk!fqnU)6fz|Dr( z%lH=(Kty;%5lxvPAO=QAJ`WqB5zD_)7!M1@e=@lLE}8ywnI$WPnwN>MZ?Al0wYQOh`%<*X1K=pYzoELyOJ!<6kS2kpdphnPh3 z3=>j&i}cUM`>>Og1V8&Xnq&b{VwdRxPW?2-^_t;Y22{BgAw#;K2$L1JB;WAfU!Bd0 z3=Hb9y6UkG@wTm@87ulfl2;}AXR=+u0pe*mWV5p+CsbOe@HAdcSInf~Nzw+cX@!;P zw5dgsj0ITfpB_5ddpK5j6Gq7+R)`)u%7%Jh8eE|jb)qf*zBxV?M&DqQq_78{z}KR-__47bQh0IHiWN z8w(<=4WDuoM>N7!<)Ye$g15XwLb){TIOn`Z53n*b8 zV)2Hk7+~XKZnqZ#$*uOnGxU2Uu3sSD$tOLyp7`i&YX&D;Axe0iS6$XaIid!05_ob1 zc&(%lhJrT$L>DPZT??i#GUgyOiB0td0FYGofbEI|drfYhVVH}!uLiKFm||dsm|Hv` z0{~A?fWNPVL_^yiah%UpW|x2lriB}GbL%1LNV{Eiy;^1)C*$UTM30)E`}C_)J$`n+ zGG}Y%S;-?`BZE4j?@AYb1(bEqdEvUbOKL;G0!l?!*(1Qho0bg2^T|uc)2UJ@6ZZqj zF6<6!?FXgx6PpMv&!hFeUy13Rz|UKuJ@_#0oIazc!x&x8Z$6~kG`7#qPV`I*>JCIQL2^EuI|an0^u!f`@e+%?s=vvOaz!uj!iQq(5Sx$I zxp65rz^^PE6fQnQlzfHr@oC<}8_2K)=GZcTpywXw!w4YWA*YvAG1GX)ZzJR9pM*l& zphHepA$0X1ZFf;7m&qyhG&ojmRB^d-tb6{I?$3u>m*RSW#olmItxhq!QS2D2{_tha zBu&B*NUze?UrgRtrLo8!v=HR&Yx|h|i29#zwTP0y>gFPlt|Hn-9NzL24Du_U5| zT>e>VLjH4V?@cGHpN70MLuvzhm(6TK8&BeUMQ6gwqIx%4F!y{l@c6L3^86>RN zanvgrEDh*T7G$0l0$qQ0mL^L-zR5(aYRGZS^}ncHne$umKi+wlt33&QQZ{uyWb;_P z1i+k%PoYd}o5NU6)w`M1f3WHn3gBW@@_!&9Q__@*F9c#<22gc|gr|RxZ>Ea*eL7_) znkFN6OZK6kG?ci}PzYY3z}MHu1Aeqv9Q&?39)0`an7sD3pHc?*1%4z@B#RByblJxw ziuI|um5e=3r3c@>Kdn#-8>eD_B{O`is~gto(>BKGAK{qa`MSu=uGVQ(+xvd>x{%)l z=!;oz3n?fbcP#|rfKq%_&6+j%0Rc|$o$u^|=wB6e7#O8e@~Bj$@MAlg4(9qgvpdUPxW)1nZdBPluR-(I^t zI7&Vu{U^f`67?N}o-?e8sOA$9R}3?QER$eKa=>e~&Pi6f`Qr``J#PFS*+*<4*Y_Ld z=A~y)^1{aSmX;Qn-_bFw=ykZq2E>!;f_H*Wy@FSFuHz7kBu*KGtTYF#b&@q|TD`jPc)tgZ)*S$2}`m0S&zm@FpIDk6>AlX3SU)`unIGKd6IC&{4pxC8U z5taW^s_vD8IeCR1gb_8o$61MS3kx5EP4|(QKyIw45>uXo%JwD++wqD9`;~5`qo+Jo z3n_su?U;4=t+k`sbb1hR)x&tqX2C>7OmM#Y$)^j8Q>ygqVn~6AvUWOP;;8 zoUY9<7G@f=n25hqvTs4}5Fx(=!rl@s{ZZ|zAK>z?$GUj9q4HDFDFY7d{a=q0Hg|{} zByvluSneTpp1f_FiWw5%SJV*g?1V>kQb)VfU8OCXI|?y1q_jcP1U>5@b~iM^Ka|o; zR7wWwT}>gaF!Q&G28ZbGha?@T{jTv~8>n~?`g#x2t2e#eTjXjUaM9r7Pkb6k$dq$e zcW8@j)|*KE*}mI<#(zLbScqS&Q*ZBSrDLH%a+`nG zue%kIl148C^?kJtU}f&jq^exm=RNGmA|dRbwmjM2gC)fdeg&SQb*(8+pdDhCzdG2e zF0P8XhRm8n#K>kRXeJ5??_x3+dDO4%%nosB-}Va8Z$!e))dt;FL;eyrM{*TH3u&Y# zODgNkMdB)ZlseQm0c`ec-Y1%Ry5oX>M}w@sg>Fn!-Ct>O(r!MVefRb$_q2AuLj0&vS(>^`a~#bl^?ok8!iYa-c_u$)5l64)%Gj;LkIt5yIv@hGkEy+XYj9FraI=$rY7to2x$FwRwp$|k3 zMT3?z-6*m!z}Fqb^oKTwBVII*8B(Sy1|h0k!s%1e)hWiz5^+*zR`2vz7^Qi_#k{u= z#PP2wX*kLJYHJO6x@K~Vy56J|zF9 zkF}|brG>hii;W}XUo0xu{N*?=P6Dl(hLPWZyfGT-vEkq16ePk)h&~U2Nj0s_jJxaW zzPb*89`B;5wdLCB7%p&Ewibh3zeiSj1R}_O3?=|Y{J*u~YQfYaw@%P&q6i$-l5qcsc!3`Qgy4G=TXlDpz1D z^t*^Bs^uho&2T=22w4%{5aV59*XE4#wn!I-E*Fmkx%667oLyj?J~`_vhOr^wYb#0= zS+JHj)oPRp zZ9kPfG$Q#fRfj-V2+{KlPB1o;H)lHw)(Z4T zVzI9GQyg3icmKuse(aCQdX+_W@t8oM;ULx&7*OH`{ghjAD8u8yP-``I)a30%5m^2+gy5{f3 z+<5jz8ek6a$I>Mo^r!OqN|5ONAr13GVO?LXvHn524-pZOa$25CmxSqj!jnussO6*w zE!m+CM`E@kq=y8EBH6m|8BbMx`&UQ}0oKB4F3LPrzxUp=>x0O`HF%sMn`l%QftF!?87<4Fzi~ zZC8uXkWI+~qEPl2F6G}iMS4`_QVEk9Fa*2BpF}966^&y)myM%k4EJ{H+)N%bH!utz zvbxLQMO&Agm#V@XMGOa15&{%Lq-EY}@xbYvGi-mOWh50G4d96zhiuc}T+?S6cZWi} z65n%^g_sqmm@6^$1#-d9btomJxibt=LW@G)hyRd+C4plZ zgJnxZds9dGm|5lJiZ!z=*GcbZG#^KQo-&vKIS2S^UTdpy1LafAXfVUoWl*Ky=>(Jc z#FS6hGJnyzq2-eW+>^+DQAz#GGnxRPLs#eRVo+?b&>f8rV;X>868gXpPBohhmkE?R z%sd)QIw?5C3;~s!IP>rKN1Z8knRH$3(~QwOokkYcF>QA7QKmM3q#zKpC)wy--6ysp zo@JNb!$*(>|Fb$nE$|EV($F=F(#osQT<++ShxwxQrAfhIKWztgzYMy-jq#qsxfy6p zXwc$4?%$+CNmvffId`3oS7;_2U3Xy^M?@;){}IGCJu} z;kk!LXY&>17#|}Z7L4yjQVspzy8p(cr-bY%D)J8j@*v4;-G zjGd`99+mKBuXNJF*4olF%4bmS>yszh(p80@?_{>CK8^ciTVIkrDT^xbGQc&n5~n~C zF=6Q9GY|aX)gGo!l2KnKl*>C1-$+U8ym;ka{Ck7d&##75fuIoJp!(0E0UH1yf9~f0 zoE?Oz02|dmQ}6%cj))=wY2-0t#IXPq@P9S+KVkH!5S)Uv!2eYZ|2X8)AZ!K2kzMH# zv5a(xQ9)MZ90o)?6C(mB#ELA+h|pzWLO48|LQIHMAyKOTSF-k@(of-LUtZo%CxNN@-&1PKno_2ur~ z`>*P+H&rv!H9gbaHP$`f6k4Ua*U+OPH%4f)TEJLP8K4ZYz!1&!qB-g1D(c3S*Gxlv zJ&cRPJm_k3&z)xK=d~@G21qXJtXKD z9#^Zm)1Vn|Vi!z7{dL{Dgl~MZ3n1NTG1>er; zKB^2yARV=!WJ^Z+O)T^t!Lt&TJBJyU%xF>B2_B%lWFKetZE2CuI>U)iT0*>p^dsX% zkK|uYw>~K`ebu0qrsclkd6~3J`Z}xLs?u_J|!=J(t|d`ihEKqq4Tw0w~y;p?qoRyFQ|vZZ0?eSkek8+wfK#7qK9x zsfoRl-ZLWr42}t`Z$lSAMAvA_n^buL03_5uVY(tfN%9XzGk%64^L@ONP{fOgyTAkh zo}U4K6$yz3wtZq)!PTZ$fX2ebTQf7+5veGu}C>zng z>lzweebP}aa~G?1K@;Vo#4nP}riW7wqowyb81_c1H z0l}UzNnzQz$k2kMb;opeyrFfvBdAyauJJ3hcXH(w_6?m%_qU4OautY^HM0$AS6wF% zc9Sx$R7H80Ia*4bah7qBa zQ%tbEtDVQTZM_DS^X`;$vD`Q&H`V=SG(l-!w##X1e^50j#+%kyrM1uO0 zbUt*Dsr{TA*mPbG=ULaDy2ku+-s@`vm)cOWC;NS$uE@=%Pc@)?n*(y=?y?uftfOQ@ zDg624`zAQC1bXq(-9(Zd5`&K7dt3z@&)#Cscct%9Luwib4{W4%dctjI*3(%R#R$LC zt%34*9Ft)ZrL`O1>yq7rqn$IlvB#|v~?b9K-{-p);4D(NYo zA#3_bX%OrAnIxHtW`%tRYjj;mndm}f z^qE_3f*gJd$%ad53%;P4)CknoY@7}I<_`+7Olam73$+m-D~A8nkYp}iuAN09{$7jr znT`}LCnMD?Ldu-&gNB32p?a(vH2{k$I`AsuAJr8aG4fI-pXuK$%{1w4r7^t)KSMe7 zOSd%z7h<$+z30A!1S?Whe&;C9G#pCh77)6XAxu<6$h z`9NQAiw}%{Q)`N6kq-_mSMZ2p@7(jNXf=uKF5R6{bY}IQ()RKKjHp(XOd7;>0jt#Q z2qe_Z2-0Xwfp2@sa=a$r2ck2sBP!x|zMu#B;HvUnm|&Q}r(^x9%Ku^2s{3h^#glz9slswfQ;}dVKKPspJ4?iKND+Y`^K5zaiO_7yR<)3 zK|}O(uJH~65gQUe+Nc@!+XyH5zP;k(i20p%FA=U@sjyJJM?Y(D?*pTsfI@%urDi;a z*O)P96Hk^cbPJs*GOW#PG^uAYDbxNc3*8sR-DFH!WlefSI@DQmj<#^aWOEQRD2f=_ zM!Su2K)Uo$a+tC>{xc;hWN^M+oWo+w*lKJNbtG8$Q)`XIqqw@eoDFtU8w?N>_42PF z3(Z&@S!;2Waf0zZmXL{8V2vg$kETPvSj9!o5=`j(c?z&ra>BgWS~*e>mrf1x_1pU8 zBU$f0(rWwN568o$KTTyg7NaV?KbikyBX0aZCfgN|3-peHfY;%S zsn{-zEolFrs{hku+}1`f9{Vega>Djy0ekbg)-On`#)wob7LS?T56aX!i<)|i-B0Gd zS>gtZbx)L~tpyDz`&DW@!;SYV_qg?ngdj9%ts=6W^B>>pj0*r@|Jj0G5H?pgZ-|8} ztCv0GQ0INj0T*6?%%-Srzy?dY0&FS?EaTQDE+YV@ElZL zF4`TvqEy3Uix9r@%W||7YN~%J*fUKyN3Ov!1Xl{gPfRRJUER4E3Y$qc`%X%2*9%Q7 z;Quj;(?#F;Kz%TtHG3~3kBx}7w0$$3;_>U=;8GU(mxHDPZ4{S0rfE+3*MJ3E`Ta>o z^kW(E*t;P12-M)hk|&IC$~&cXpF{$dw~#(QPT#PQxRNBcuj)2+aN~W}D7g?1lQNoy z*)XY$i%fT<@`im)GY7zej#3}vT@|zi6AFjz2O|w9Q-wrOyt7*Mypt$cT)2o>I)zii zI_N`wsTTU!xCjYGPO+cYg_0D%m6p_W(83PDa0uG4x|n0@;8^Dq4U{Q;eYYqYm_-Gq zkakkYH{|%O7JSi%MqZgvp|bomTsBNbtMXGK{8RMld9-HN=nM`5zcIv$NDq4b%7+>R z&fQjJsN&*?O%+>|1LM1;I4kh2SX&lzzhm#D=#L|6Hh;Z~j#6q7@>COa@1E1oC)z4h zhZ2}GOexqCT^Ec)wt{<4oRnM>heE=8LRkMb?XZtNmHx(|hkAwHpl?tZX+@ploz$R> zS-0v$Q_Pj4CgyrH2TFX~uq{-&NuI!=6vQ=%GF3{yd+p)+{5`|uBux%OEVV|t=GHu2 z%p8K_B{{UIGL3SG4#9dON1X@__7N_Ng878gMOLfqw^^|WmK}n$J<#zaLcI23>SnhZ z_ka@mbu~F|W>dm$hKJw!CU+T;uC&rdUGLfI*%hklW560j-~4EH zE^-&O5a&DDQ^*>XOdiIY@OtD6@I<8!q$2R?_P7&ZsbX*R&gRsf0L73WQ-V!-WHr6G zzMl!ku3vn%&&mLcI2sA5F6qYYg9}?mt0aY@kEROs@8ji`0&#zH9XXEWsUlO^Td@KZ_!W?a~5QI!FEkce6 zh94lo`php6_Xemjz zwXriP_bKSgciM^x?)+YlWyJ~78)I7Q%Qoa5_V2v~35@6PsNhcZL>$m=vVc*U_aX7d zMn`DV2=(b-W}99pwuA`bJ7asN?-EDyJ-&{chX2g7$M%WD@$q5*z#5kA+w}SZ;_4)% zi7{j?UlR#NM_aHa3Ip45Crc2HPJ7`35=!y0`7LYn$_&LCs5!(WzX|%ROZ9{fSDe%$ zn1J;pAxQbJA}lgAaYUgz(m&UtABWsm`Af{4zs4d&EZEQFtiax_o31v$h?aGWP9@Ip!LT7K znS%rY;}YoIcnmxYhHP3U=F?5h2}jXd`^3K(PAP$yd|N-P<5fWI%baNVZ4XnIcTGvj z@^8J~rm_@m4b<^1fTZzt?-2UDhzf-g{2S6#^@bqw{%&KXMJb6>Pb7|5k|T`H6P`JU ziNu5%)k3$LLmDo~5%7*u7(q%NX#Fsbs74-~VE*O)wNb1&<3op>H zY8a-eumvt?F$JMT9e{C&P?SgxC(ah>6@8$_{@Z z@3GFo(^JbAGB{UyagPm=cfp3@Ue?WXhi&M-W?RH z%*&QR3#q!06VH8MYFFE7VHJ19bDFXwA&!@)_fF^X+E#86K*y`~80`;*GJMMZ=VkekY7z;mZmFt>3IK=_ z0sz2&oS&PC=^y9E_ILI6FCUnpyW;R_gvbv!7D{r;a6hHJ&K9&SWrXm;*BRnyNbH?c z8po~Y5=w$&k1qZs%$>mEQWDpJPPr!$XW&|PpqY7`Ec(NKey+H6o!h{-(U@&7uWUuj zbFG1*nz#$v!Pd`OwpIhFPClrrtR}v`bU528?|Rzau6d}bV)AQUGhlHDGx7Cyu6@5Y zpT2!8^|kW-!*0<5?-&B~ih|8!rPI*x#Nohav4V}S@XoXzvOLg-k(@r4t!G|;_`K*i zQnms~mi(Qo$J_U4QYqD_XVCey=<#@?sq?w5v-JQvurP3PNB7w=O>6zAH64yj+_vZ7 zkf!zclQgw`??7cjcEXwA3|du4vC!+vy|6)Mca?m9wg654Kt0iepKm~|E+84?ltF)x zI8nDpG6p5qYFo`|wpj6av466BZPqAyqyt^;IuhZk9NaPBZ9DSuejdACUs~YR!TiSh zXjcy{L8)l|(Qzcw)pjHziRN~;zwILGR;Y*TZlv_%UR30Apd7Wb-=Sl@q0M&gXa#Od z1*F8G_PH5~BRmU9(2QsLXiH5v@y=yGTxmmg6bOb1@Ogr_-P_i1=T1(N(pk*;lb*i~ z0B-^8wt3GOu?qOBKFaEop~J%TAf}^ao0YcW8Czzle{wYML!}o+0lEe&Df@4iqYhOAf_+O3%{6?V7{sf)j zSM|pj&HVkAQ67?0GMyGhW=6$NL}kG&?ZQ2Dw0=G2VLkN)^`nmQLsMH8$M_mZ;GN&9 zp1j$YCZH*YzMTHc@QIK3W_igo@1^n|Q2OSAO&xYmH$KY<4XdB0VBqI@p(RKW1l9J> zSf_rI*7vEns>$aBX6L5yYkEf7a>qa=iq#t5QRs9b)9({s&mB2Z4qw|(7H)&7+`+rZ;YCHQ)-RYr*h~M*RKx|4;(j> z8%Hhel4;M$$i^47dk@)sub5w%F>|Ugg>5e1j$TvS3xL4p&e|BElmRHv`Ju)BVX=yH zWprv|Jy~R?aI4b^Q$L_0BL%e2c}wNOFs<#b^$z8r-ed4hKoK$rotg?T47RDG1kp@F zLjrP-j)K0JT=dsdlv`@dFI6PgMkM!$s+%(Ojp-uPsr8dWTEFpp!Zu2&pM4BaJ~n;? zLFbnj`&WRTLHfatp{daf=zC}?Un4BC_%E||`CCq2=iSVb+*>^bAwsR{NX-?Qg*bVG z2EZnz7^beus7T@LPEMaM&cBTbb)a_{_8OnkPSR&z@`#)@1*tL9T_K%8hqJwUVQV8ojkULOZwTAXp3Vt*^m+5R- z>rR}D960!GI*cv`7eNQRw@HdZQuq-_Bc@7(wi$NtzPQ|1+K0+%*Xh03B79LVvAvf^ zxfK5^%SujH&2{J72ZTmi-7!ANV;7nn+8(#GUMQGB+;q{imzYY@A9BksyM6vHBuUxV8sp*0U5mgx8nB6#=Lp`Ph`ZC>V z6jSM%PXS|j=3uCIMCLnJf-xE)y>f!caOK4%wQ?IzN!;f?HH2G@>f$y&J1J9BsTsy9 z$>3eGPjX4U2$gJU8zyr5hsNXFUe6vr??tySlYy!o{Lw z-a?-4b4>*}P@bswDl+2giFo=;DwImC-^(kSBt z$zkUQiuPB>3zr91MfWbkF3mvx_8V9KwL@N~3UXF%`Pq}uu=3C|pRLnnl`%TDXdOz) zb%@=nZ7#*2iiqFd*_>o8F7Ek$*WXCT3xKKu>=z~$lF*0lz4|qVHwaMm9_3(mypHr6 z+yYN}Eyhm$;X&*>f;R5?KU8dHH28>xf_; z3;pFLx&ARMXX>LLXVo^8B&WP|+qBOvM=y=l8grOdM%lM-QTdCx6~lnJji>=9iL7|; zM`A9YQ37dPeWZmu(N`!tvP+Ds%ds}R$F*O9H2kGq9cjS^3$z9zQTRJn7q`b(CgEgE zYbWx6Qh5dp%|$V-nZCCf54#7bXrM7dv|y+1>E^f;G2P!NO_|P)GpLrK5-~_@8FeJA zj)&<)L9OuDC%yKa46(^8({N9vNRzi)0Lpy4Mv|BHR$1re2bb8TbzEa+Ndt#|6X%=E zY>S(PF}w#S`7t3L*IUoz-!{2E&wl29543qE=Rd|SgEu+{FE<;Yy_Km?)_wdZ3<_qJ zd-1;?IWuhPNEPS+0Bj7M4Cc*&_v$~m`yYUv`b74LE!)9+u_0@amiql z?2L#*M6f${TF`&v4FAf~B!>yUr2zf===moW`?td>C9Lx`F)ZpWBcdA^7DGh|Tl_=j z(!$!Q!7zFbMnqvcm@b(1kI9UP0`#y#4xv~771#YMOPm4r!0`t3*Pe6xgKy6x0s#2` aa{o|W>@X2dVMJR_m_H{q3NO!J%>MzmW913} diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Cold/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/SamplePreparation_Cold/isa.assay.xlsx index 40a3dce0e4370b8ba21a6743a39867efa7550573..fd03d63bf75d6eb0e13829ea13b0feaf9c3d7b5e 100644 GIT binary patch delta 4313 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 V*cFHZaV{U056VscRPayezW^y<@W=oF delta 5745 zcmZ8l1yIyq+g+9=C01Z*>7_fQTe?}0MmknPx>nYb$N)5Gl6I1&ydsOvp4?V2|3RXce@L?TN%tUY4ol_L(d3Mws=z7gooKF~N zJbbQ@Kxi*1MoPI6tVH8Xk8ZdQ-M3z` zs`a9x7%Br(U>n%R~)sowm>ZxDWGM-_~D( zS)b)yoRiact?!<+cm7R>EPrggPp_n2?EkI)2wi!e#}?q8b;s+ZX{(YuS26O)lo@aUaeSmr3Q{$5243((0Xwn1H=LS{NW$ zS*QOLE5EbQmeS71{&gbG%fQy^H|3hbg}w9L3bU}MLxF$p0^y+_q)`q;B}9$QNna;G z0KlJz|K3;#LXg+r)g?b;A$gu39COHZ{)lM>)gumMYO%>ustJUhv!9QNVOML}!1JOF zzxW-B#oC6cjrkV)N+`P0a{hTP`waHhf(Bp&1(159J- zaWk)wW;Fe~--4Oto592d6uw<@Z|Cx3{dY(F!tkmqy}sbk%Ry>v}74a3Evb z{t6x<5+zqh;YRdAPH9cOYdac3_|Bh&yXEu9TKXw7--9!@{2HTU>MhipjcL#H>MrCU zrsXCI+28NdRPf_VV9t$_UqX5}US6%#;0G+zAHUzyV)-RJm6a8ftl(OiwmZ!*OoU^L z^PeP2i7H6t(a3h`FoF$(A{j|4e?JJaGc-gabi{Dt?%Yt6^!lJI+PU`8k8aQ#lR)S~ zy6x+Z*lCb^=vk-i=VP^K+6&jd3r&C7_J@4P)>ng8|N zB05ziMLprl5%FHdyYq#FEB{xRpLFsKEwWw=NkYr`f|CbS9UX;fH$I&1<8%8awbT(2 z)|j|hSmvCrr3G~Ze|paYav_dGv-b1W$x!b7=VBAlOY+hEAnp3b)J zYmk|&@bCCk=*58@A^w!M#x^;?$3qR0` zzRyXt5HXSz?s#M?LPMC_Td_NWvoE_S`wvU}n<^HxBjvy`&!Ue2`UrCJh9VZug2wna z@I%~me?u+Ca`!_6Eyr67zF$O_4v$xE`88(SA8Q#ISY$Zvek696K2=d@o$=-Wsfl3d(X#?O@27!yoV zz-$I7>})0}j86$iWC-;9P)^h&NOBw_2A2;&9hC(zR4}@SR~To}^Lxe)w6fw`&s*_3Ytir{pljR{kKG*bdeAAGYh z;M6cqxxkJ|LopiG7sb~lDihide+JL4g>{)f75hXK%$`bh9N{N;<##sSN&jhKjW$=AYz7Qw#x&O|jBJ(Wmd_c6pHt z6{WgUKw>B%=Iu=gW<4_rEiQrw=hfr_5C9OmXKTXy6YzK8^YRXGvG@ARJbOmojk8{m=N!=0@>v)BVEu@qi*buZjq2ZF!zY;8D ztHavnRw|b=Vq9w&Q&I(HE>pMgXdF7)x@MxZwR>a;ftbE0ILt=$&i&pss_>EQJeW-s z2Z4ti{P!0f)MI((H1&gCi)wai*Cdq^WjZMB_3@jUAXM>5kgKt(Ly!Y-S=}EBu-a(1 zFX>BDxAHX&-cJjS#*~Aefi3#;6R!c4TEeAJcyU^so-L8G={BikdX}=8MGMzwXmf4A zV8PU@RJ@`MJUm2dA(9Nrk~kjhJ|dJB)ALT{U>bSaFgs*ouv6ois>!gU$RDD6RmJ%y zlfu_D0Nzog!YM~$o&M%E`8)$oMdUyui4t^Ic+=qM^{Qn}S$cv6TXGwE^p~ZMXKWh< z$+)eou~<*ESY5m{26&yLbX=eW-xz)KC-fu6DZZO2&NO1@Mk&btCvQAz8DoliWcu}E z$l@MMil|r$Qtc}@bM$3CMce&*%gmVkuhWJf-mf8$AF$_O-)}B`#H_vv2_R5su zTo1P0stCFzPvpfkJJW6&x_8OxI#On>J1EIT&c$UIemNDU$>gfYtWe$lEUXI4t4GQW z^H3yLt$-2OBbDOO40Li1@~Lku$U+HY_%OXJ!jt?o1u&IculK`;D>Q_8{nm^h^YXoZ z_T&!bbg7O78UMXpTyxtmi2u6XMq~-!53x9ME8x6D#B)?`28s{+(ipJdL<5 za~(J#lR#ELCa`ka>Vqf_wd)8j$RFK&D8<~DxlohBUt!gwB#Y$7k71S|>MM~aAyXsc zQ||tzrOzULFer45PJN;`rx$QCIO8!0GD4a^5}e6WNVocp!#2Q3x<0eNDU0z}m0$vN zHBioY1PJn7j@-EW9+<-e0LcE`15VbS_I5CDPiHsBe_G+?Qw#TbezK6lhC8bb=MZ)^ zrvy__g)z42Ydt0f`Z9Rs;yN(%Pue%42!t$~k|`NdSpG-&u(%A{MYkxbpSk2GK>uOq zn`GG|T9DL3j@6cm(>fFL6-ia+5g0-f3t8a>+>pY4)}i@wYT!jvu0&8x{rlZYJ7R*W z@PV*A#0Lez>QS90FGE(0H*jJ!l@GE&)RT&JQ9f>hhE-WjHbHVQ(|LPW?4jQCNXM{Zw2+DVJy;cL`W+;9bwW-4PF& zuuoi9B#D5SzE49kZ)I%p@4)w_d|SJpOe6%8oH$P&uUn2OtS!k_j47Z5s@=TaIl=lR<6#BaVD>>NT1@n#S3_t`RHWs-cxT%!G& zs+Q%qn>z-)L70RjZLDNR7>9tIw^TZAKM*@dp5Qw!wEM9CUQof|(z1n!&936YPEa@lbr!=xu;Wnm4Tn%YJjM;g|I*+Z$p#M=$G37D581C^iw=FZDWs` zha&nSxCQHX(_YHYYxo|dQ1We6^i%C#?O&%}H(A6!ch)n8ZPC_QE7hI5`{HaHVSbO| zR`(UhpWZJ}&lru}HHuv(zUD*U3#YFlU~|}@nZ{qo$p4%>$7Mh>O zmtcP)>Cwqb;&^p<2sdNsG%c|!W|1pHE1H~$FF#OiG%%H|V1v3XbnmMtjww&wkk5lY z5k7}bSpdo!j|?S7e}n%gKCf{V>;A$LqhuLq5LpXu3(EHz@xj?6T+2oZn*HBaJw%y7 za)iP-J%d`2mJ@>Zq!6|6QW6@al{Uq}M%A471?qQ#Na_M(uWTSEI-0 z0qT~k!W=vHUa;AZTiaVY54VN4uUgv&=d>*H-w-QhwKrWJBj-Xw+jvPXeV1On@eAn? zN0@OpZ&>JUELAzcW{$=xovT`rh=m2EkIo5y%38SM+fDh{`#kkF>|Y%iiB)CZIizvA z-+gtPsH=D!@XRu6w+`{OCWH0M$==Baw|Q%$t?iJ!#gBW1y@v~q2}T=ruFVc#IwE?> zN8yIN364Q5!IR|AhC6e+_4g39(8Ae>5JZOP7Du$mLjC^HiB2?LCO1iGR8OqrP8u|d zfhS|loSg)E%cZr`8u9(4*)1@(qe7N&((>FDwsN)kbWpg7qh(YA;eYW1XTip&z|`|s zo;r#y)69=P&)vvxRCEBCZ`nHbF@$v3=UKzxWyzgKe?me?!6%2dnjKz~#|zEK2?UgV zkHqP&Z;V**vXhPwPmp>|n6kK9VexsQ@M|jkG`MTq7`LNNjQMPyYhiHHP!(b6I{5l< z+aQ3Af4v(e*B95lsBh;o0RFhl%nVhG@vq{TPCmY5Ibw9Tp6pEE8}>;WD|R@@z;m1&8_e!NA!9GB3p;v$xnf`C17G|<}ouo$MpxPYtN%_*^QYX!^!i6`n1(dK(A16F!_F^>}Z8mnBL%c{t`5)&q ztRKp!!m6m&=rG-o+ML&k1NYnN^<}T5myz8u(qeXEkXS0U3gMi0ta(Ds3t0q! zc3Hu^a&bN2zO_N=jJ0(nLNQ%E;S&SFVjobi!`mcH+IY;qaDIR5?wZ_rJ4sw6EjpNL{yUe&t zrjUu$dQG1W7lOqbde#G5Od`3F) ziJ~K4iMgq*J-Kc5%b^ta3CMivt-vLgLqLos(UaplQ)U`PgiTxOYDb{D(kXI0)I-Tl zyd$`~LO_r>vgr2DLJn!xolITP1Q?rC``dnC!ZjgN>CH>GUwPEB!`zf$uT#Ug{UFiEp4lVDRYHNvjN{;9zXclrPjikl1cZ7#7M15 z$pEd~HppJ?xw8k^1PMeFWXY*2N+1=!O>DLqQHCTx9yusP4gM4w=F2Wt>92~);@^1z z_<-U5J_aw!7D>tSF$`PYYBsn6N>?$K{yZH==c>KhP-T*j5s;WvB{)sBcS&MX`jzR&ElGorI2^Jk6+w*ta-~Q85o6dJ6Zzja- z@-hvS*r1;GB~glpVjHRk#4mYbPdG9_4$R5ga)fPvYM`TQ_4%%+s9KD|GjFCcVV2N# zPJLdkM5z=Vx88Ez_!)tF6EDFiYJ(*_UWZqM5lzDWbBy1ojrp4y=Qp!voo9{M>iXqq z?8xxChb1aJ5pTN-33!xFO45@Hg6r= zTI;SGyQ2;AifN* zSYGSF55gCY;@K>h+ZPm5}l|~qqiv0 zEusVwqObDF^M2>cci#D9&fIe5k2`mMckYZi?^~5~liWBb<@UqylQ1FmTxVIq!P(VU zA-+BoV(wBU+E}qNTE|TG8YdPGlzNOc<4w2a_dk$}xN-HWCWB1dFx*n(Zi{q%i(?cN zQBa|gLRLt3gTn-rS?qyblG8bEyR9<0C-VK1fGx^rY&jiw>^k)nF?q9WiWH!czBKTO zmr{vO#KbKim(K)cTZGhVV`o@FPhb=e0>yteg%@eTM zJYrQ@n*#==7xj5NM4XVDwGB3WAjpjdvC{HBahXC{8=!p~cx!Oc&~_IG7IESQQdx~0 zt4x?s<|p1{p_w0V8vz?`I%oXB8j2b^oDM_cCs2JsF^~K}N+eaO<^kMj6v!uq(%WBj zfM}GIVd*>Z?50|`U0Jp6%`AJA z&WYC1`A-~Kpl7?_xqNxER*1uFeq|ZJ_B7*ZzmJ>eX@8+1QxbE4gx#Ck)605XBAuat zy^0Zw_vcgDZAGRk4#B0Fm7E&oiFoV$RC}FkLHBP~>x)3jzS(>I(2@O2$5oYL^GY>!|&K zcd@SoXFij=aCU}R@Oq;g@I_hi#rh2nTT19PH%QaFl@7l*Yb!!j&8-$JT^CEAZ{zNp z5t#2dJ$abR)P1q}GNWDc*;-hMk=DAuoXQc2)j9VP{_RI(;HQHY=w1Zxe(p*DOZ#eA z^~Z`6@Lh|{qZ-<4(P^w@Xjv&W5HV9%`$wH}gy5GA@2%6u*Zwij76eI0Q(5gJdXHNN zE&NJ}5sV)yDHWvT|hCk!3+*X5-R@z>&LrhfE2(Z5f!H1Vb9g%iUt; ziAP_^+d$pp-rB`yKcy4CY9!W9nPb~Mgj#if+i#wC(1>C!h}60}Gpw7hQ@Y_B`QmOy!IJ46Lldgr1IX{7Ga9Mf z7z_2|Q@L<5>tZX|8Nq@s4zCDG;^RX$wdMJ=kMWht31lMRX_!{^4MCJ7@0=c##KjB} zA)P(2?!wR=+`ygZ@H74@ak?5}jFaV4Rl;I)6pjLvH=LyohIN1ezhC?`u012BaJ#v2 z3;fP?7^|NiydoOBpXd-tA(QCN=UpCB*sFfa(razla%^}MWiDerEEwFM`xe>i@Gd+G z!H759kqa}PqK$nn*k*t?@9ldIjC_vC`$WejlTt#=cH&jAadqEW#9K0gPvhwd`2?Sk zH;+HP`^ls+7c!G>7>%Ld5=FbuWlyP6MGLPe#H^S=PZzi~F=Cyh3vRK)icrD!Lz8Q)l`d|DyIAN+ikg|GPgJCrXqMIQ*lcKfo{fRnk}|h{Un{b?b;O%0Gb4 z+PJpp^#yE5^TgZx){))7_z(3*!VB4>-^!EWN4X?7TYsS7AH}AEf`aP0kL*$z{(<_o z6>QM$-Wm9n60vTwpO3cZS-#}sWw$eE0w+GM;Ih{4ibJ9&?sk7}rAUk*2d*K|12}_e zDaIDN%tnqx7V?MTz=58n@!a~9Q04M~F(u}9fSs8gj$iaxBtdO+kqA0^MM7k^-8S81 z`qSl~p8`j>vd-@Gfr*7U!e*5=ZCMjB*|{JqfT)ON#nxd_Uw?W0uTCrUp3;A4@h>u} zhG}R>k+I4vhgdFL|jS^Ow)HBq}z1{yS%Ont)*&2i~t)trx9!ymNiR-c<;UwR&)y$M7@p`XOvAqyUBr1CguvQ4 zbspWTR-h~h8>(T3b8WG&8T@*SlPxVwiVj+jYtA>sgJBO27NlRVyBqUEmlZRNyRrb1 z`;b-7f%gRDUf<-lB@)crw6-i~>RXY@AIaxc-N&TmXTtp&#tTvDK|jBYV&9=ADA5cp zrud0XigSS)&z#^aql^#LdF?4j|0HX{`3!mbcwOK?17mzl$ z7yC{ihiSXjPHZB93yY_Ww_^j{OWl2Fvw)=zPQH=Ixq$^OS_wEbrej)?p3<0FGijP# zE%NuYwVr0XWQN=!@dRJDfwbk5-w@)@;~;vwHQnvpPJESMhfIF{q6T3#eh#+B9hj|b zrAywvCo1FuiX3zD!p0KbU<0LcF)xr3F5t<7UE4@VdKe{((A;MsMqLxNbg z8XrvryJ)`=_IM{@4_0b_-gGKT2D{rN>)7MUEGk= z&%-hO5Go(7{-W~Fmc-dgmn2MeW4VvYdnYB3Z z<4M-{X+^{Zcn@7u-7WLO#8ef+GEE9gB3S?Fc_e8cr^?$GZz=YE(B>OeTHGtWBG9um zhJ51|h&l<7cZMWT)`xVDh|Um*mk|TU@-9Aw9#@PoSIfJbpf)cVWNMdT8%{57PW+(O zZ9%G^8wPMY71c{+!E7khrrz)WW6s9AGVZ;ySE55ta-i1Lqdk-6qNV`vVEa0vt5xRt zi;L(5nW)#Ks2$8jJAZN>qF39CdDb$&8gaETKs2hg%J>qu&x6KSSQwLi-OWXqL@;w! z#dwJN{pf}#>4;R$%!jJ0D1Jd+8hM%-&LF#7Dpdm|g@*j?VSb;Mh31Rw&1g!at6YCv zW)~k?zjtYdvTvd>aSuxLvb&;Z=?3eY>9kXVeZRlDXcncj1=5Q7yNt1PVDJ%p!(<1W zjy@7T!^=l&RVmVD0+`!d6~N$~#>x9-@Zpbi<*lq7MN}Rr#ksM#%YQLP2++l-K`1cl zVqi>_*e#5&7)8|xTh0v-b*F+{<~8|*h%o+l8IcChT+^?Q|Ib7JyjrH-QixbptK^r} zy|GDcExf^D8<%zz@qLj(EwP=}-7y=-67LxjDpG-?2glIt{=LmYL{oq*erAJ*T@|>W z{9&MSa*L;-0U`-E-z_lj>vj-_Kb^?`iaFkm%WOgf8k)G(g?D5h- zcBEh{%DjHPm@&@0YA-0eBrd=n&5q#usx!R~5%c3NcyvTl z?VEwAnQs*(JTu0w&+{#o81bN{GCn8&Di2k_TKYushw&0-vcs~5kE%{tIeAx|)+GEJ zCFZE95JyVrjnj}+NsQlTe;xc?$KTvBrW`lsI`U|l3CMXzvBI7e&M>ODDrr>(`RZ(BnN>(m_kiwU{3BCH zS17KeIz-CfeLkoGnDQ3WWheeB|K?)B@^F#zouo=uauRawR1ouuv&s_fTC$LezCu6Y z#M{cUI-#(#WFI}yZpXwaXGk>C?P!lk*e_Z#d@pD$b={<|GJHi}8H$ESenNZx61_Jj z6v0-o&9zrrY#_HbFU>gfbOitOY)R{EecP77lR4D+mI_e*`Qy(xU~(9F$n6^kxk$&VF#fwhWKx@UhY)$>u3D24HXx;ti8QYa z1K7DiO|8W0!nRjie*ZPK()28*=4l;!=e;9WwIK>dnBBNlh|FTTUQH*_fR; z*Ko9-KRhXZ@C5k@QNfdD=a(#=yanX#a=Vj^z!ToeO2ai2;Iv(v3W zrb}lBET+$NWfHD~ch{NL@V2(NVDhr~CN}t(ts zS9@cRUI+L4f{@dDQx=UnU>!Nr-UzE-qi|+KZW*HcSfgY>sDl}+z@`tb3Frwd=?U1v zvq)jyS-O2UBWcIF0VvNk%DYSJscRlJ+t`(n?Dr2HPyb`@8cQM;x{PNnJKGdzK9h~g z&8;WMWywMI#C!WO@gGmSPQrZw$vdtzq{2Wz|GQ}Yb#P+BaEQqhc(GtA#AvR8CP9$PdcD*pkY&dJ#dQdzIsP?7anWOf#KF+N zp!-kt`@4}MCnoqVEvEI_=}&&Wye^TG*F?Pa*W-G13x?Semmz58!SLQ^Cr;r1WBea% CL@~Ai delta 5766 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 W8}W`$5}k$@F~G-&eZ>Dy@P7cIv9Eyu diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/ChlamydomonasColdTimeCourse/isa.study.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/ChlamydomonasColdTimeCourse/isa.study.xlsx index 2dbabafe1e2c5a3d9c92e6ef61ac32fc1f74e4f1..a28da64ef0f5fc78ad5ff766b846c8bae16a5371 100644 GIT binary patch delta 6002 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 E56m|qMgRZ+ delta 13341 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 From f490ce6a0211f03e28cc283182c967d076425e56 Mon Sep 17 00:00:00 2001 From: HLWeil Date: Sun, 11 Feb 2024 22:19:40 +0100 Subject: [PATCH 10/15] fix querymodel getNodesBy returning duplicate nodes --- src/ARCtrl.QueryModel/ArcTables.fs | 2 ++ src/ARCtrl.QueryModel/ResizeArray.fs | 10 +++++++ tests/ARCtrl.Querymodel.Tests/TestARC.fs | 38 ++++++++++++++++++++++-- 3 files changed, 47 insertions(+), 3 deletions(-) diff --git a/src/ARCtrl.QueryModel/ArcTables.fs b/src/ARCtrl.QueryModel/ArcTables.fs index 4fcf2de..6567343 100644 --- a/src/ARCtrl.QueryModel/ArcTables.fs +++ b/src/ARCtrl.QueryModel/ArcTables.fs @@ -140,6 +140,8 @@ module ArcTables = QNode(oname,ot,ps) |> Some ) + |> ResizeArray.distinctBy (fun n -> n.Name) + /// Returns the names of all nodes for which the predicate reutrns true static member getNodesBy (predicate : IOType -> bool) (ps : #ArcTables) = diff --git a/src/ARCtrl.QueryModel/ResizeArray.fs b/src/ARCtrl.QueryModel/ResizeArray.fs index 2684487..bd8927b 100644 --- a/src/ARCtrl.QueryModel/ResizeArray.fs +++ b/src/ARCtrl.QueryModel/ResizeArray.fs @@ -63,4 +63,14 @@ module ResizeArray = for i in a do if not (b.Contains(i)) then b.Add(i) + b + + let distinctBy f (a : ResizeArray<_>) = + let b = ResizeArray<_>() + let c = ResizeArray<_>() + for i in a do + let k = f i + if not (c.Contains(k)) then + c.Add(k) + b.Add(i) b \ No newline at end of file diff --git a/tests/ARCtrl.Querymodel.Tests/TestARC.fs b/tests/ARCtrl.Querymodel.Tests/TestARC.fs index 46958c4..b7c4062 100644 --- a/tests/ARCtrl.Querymodel.Tests/TestARC.fs +++ b/tests/ARCtrl.Querymodel.Tests/TestARC.fs @@ -10,9 +10,9 @@ let testArcPath = __SOURCE_DIRECTORY__ + @"\TestObjects\TestArc" let testArc = ARC.load(testArcPath) -let getNodes = +let ArcTables_getNodes = let isa = testArc.ISA.Value - testList "GetNodes" [ + testList "ARCTables_GetNodes" [ testCase "LastData" (fun () -> let nodes = isa.ArcTables.LastData let nodeNames = nodes |> List.map (fun n -> n.Name) @@ -33,9 +33,41 @@ let getNodes = ) ] +let Assay_getNodes = + let isa = testArc.ISA.Value + testList "Assay_GetNodes" [ + + testCase "LastNodes" (fun () -> + let nodes = isa.GetAssay("MSEval_Heat").LastNodes + let nodeNames = nodes |> Seq.map (fun n -> n.Name) + let expected = ["sampleOutHeat.txt"] + Expect.sequenceEqual nodeNames expected "LastData of full sequence" + ) + ] + + +let ArcTables_ValueOf = + let isa = testArc.ISA.Value + testList "ArcTable_ValueOf" [ + testCase "Values" (fun () -> + let nodeName = "sampleOutHeat.txt" + let protocolName = "MS" + + let values = + isa.ArcTables.ValuesOf(nodeName,protocolName) + |> Seq.toList + |> List.map (fun x -> x.NameText) + Expect.isTrue false "" + ) + ] + + + [] let main = testList "TestArcTests" [ - getNodes + ArcTables_getNodes + Assay_getNodes + ArcTables_ValueOf ] \ No newline at end of file From d8d5c39aade197d70b0ea089f330cfe980cf7169 Mon Sep 17 00:00:00 2001 From: HLWeil Date: Mon, 12 Feb 2024 10:43:33 +0100 Subject: [PATCH 11/15] improve quality of querymodel testarc --- .../TestArc/assays/MS_Cold/isa.assay.xlsx | Bin 13256 -> 13680 bytes .../TestArc/assays/MS_Heat/isa.assay.xlsx | Bin 13221 -> 13997 bytes .../isa.study.xlsx | Bin 14192 -> 14156 bytes .../isa.study.xlsx | Bin 14762 -> 14702 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Cold/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Cold/isa.assay.xlsx index 297122942a424fd9d5fb694c2104bd908a657cb8..835177009e6ca10c9c28a4f77180e1bf056cdaa5 100644 GIT binary patch delta 5459 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 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Heat/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Heat/isa.assay.xlsx index d370832dc34a0591ac1d38d966c057597d8ee0cc..a57c4d906b3d25fee8901cc98e44ca724a93eb05 100644 GIT binary patch delta 6325 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 delta 3389 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 delta 3352 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 Pfzg!XhMq|NH~oJAPtZJD From e28a4643495b151e839340ad17bc74c8ef6c6a5d Mon Sep 17 00:00:00 2001 From: HLWeil Date: Mon, 12 Feb 2024 11:50:16 +0100 Subject: [PATCH 12/15] test and fix querymodel value retrieval --- src/ARCtrl.QueryModel/ArcTables.fs | 220 ++++++++++------------- src/ARCtrl.QueryModel/Value.fs | 4 +- tests/ARCtrl.Querymodel.Tests/TestARC.fs | 44 ++++- 3 files changed, 131 insertions(+), 137 deletions(-) diff --git a/src/ARCtrl.QueryModel/ArcTables.fs b/src/ARCtrl.QueryModel/ArcTables.fs index 6567343..f7c299a 100644 --- a/src/ARCtrl.QueryModel/ArcTables.fs +++ b/src/ARCtrl.QueryModel/ArcTables.fs @@ -281,86 +281,18 @@ module ArcTables = |> ValueCollection /// Returns a new ProcessSequence, with only the values from the processes that implement the given protocol - static member onlyValuesOfProtocol (ps : #ArcTables) (protocolName : string option) = - match protocolName with - | Some pn -> - ps.Tables - |> ResizeArray.filter (fun t -> - t.Name = pn - - //if s.Name = pn then - // s - //else - // {s with Rows = s.Rows |> List.map (fun r -> {r with Vals = []})} - ) - |> ArcTables - | None -> ps.Tables |> ArcTables - - ///// Returns an IOValueCollection, where for each Value the closest inputs and outputs are used - //member this.Nearest = - // this.Tables - // |> List.collect (fun sheet -> sheet.Values |> Seq.toList) - // |> IOValueCollection - - ///// Returns an IOValueCollection, where for each Value the global inputs and closest outputs are used - //member this.SinkNearest = - // this.Sheets - // |> List.collect (fun sheet -> - // sheet.Rows - // |> List.collect (fun r -> - - // ArcTables.getRootInputsOfBy (fun _ -> true) r.Input this - // |> List.distinct - // |> List.collect (fun inp -> - // r.Vals - // |> List.map (fun v -> - // KeyValuePair((inp.Name,r.Output),v) - // ) - // ) - // ) - // ) - // |> IOValueCollection - - ///// Returns an IOValueCollection, where for each Value the closest inputs and global outputs are used - //member this.SourceNearest = - // this.Sheets - // |> List.collect (fun sheet -> - // sheet.Rows - // |> List.collect (fun r -> - - // ArcTables.getFinalOutputsOfBy (fun _ -> true) r.Output this - // |> List.distinct - // |> List.collect (fun out -> - // r.Vals - // |> List.map (fun v -> - // KeyValuePair((r.Input,out.Name),v) - // ) - // ) - // ) - // ) - // |> IOValueCollection - - ///// Returns an IOValueCollection, where for each Value the global inputs and outputs are used - //member this.Global = - // this.Sheets - // |> List.collect (fun sheet -> - // sheet.Rows - // |> List.collect (fun r -> - // let outs = ArcTables.getFinalOutputsOfBy (fun _ -> true) r.Output this |> List.distinct - // let inps = ArcTables.getRootInputsOfBy (fun _ -> true) r.Input this |> List.distinct - // outs - // |> List.collect (fun out -> - // inps - // |> List.collect (fun inp -> - // r.Vals - // |> List.map (fun v -> - // KeyValuePair((inp.Name,out.Name),v) - // ) - // ) - // ) - // ) - // ) - // |> IOValueCollection + static member onlyValuesOfProtocol (ps : #ArcTables) (protocolName : string) = + + ps.Tables + |> ResizeArray.filter (fun t -> + t.Name = protocolName + + //if s.Name = pn then + // s + //else + // {s with Rows = s.Rows |> List.map (fun r -> {r with Vals = []})} + ) + |> ArcTables /// Returns the names of all nodes in the Process sequence member this.NodesOf(node : QNode) = @@ -494,7 +426,8 @@ module ArcTables = /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.Values(?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).Tables + let ps = if ProtocolName.IsSome then ArcTables.onlyValuesOfProtocol this ProtocolName.Value else this + ps.Tables |> ResizeArray.collect (fun s -> s.ISAValues.Values().Values ) @@ -504,7 +437,8 @@ module ArcTables = /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.Values(ontology : OntologyAnnotation, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).Tables + let ps = if ProtocolName.IsSome then ArcTables.onlyValuesOfProtocol this ProtocolName.Value else this + ps.Tables |> ResizeArray.collect (fun s -> s.ISAValues.Values().WithCategory(ontology).Values) |> ValueCollection @@ -512,7 +446,8 @@ module ArcTables = /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.Values(name : string, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).Tables + let ps = if ProtocolName.IsSome then ArcTables.onlyValuesOfProtocol this ProtocolName.Value else this + ps.Tables |> ResizeArray.collect (fun s -> s.ISAValues.Values().WithName(name).Values) |> ValueCollection @@ -520,219 +455,250 @@ module ArcTables = /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.Factors(?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).Values().Factors() + let ps = if ProtocolName.IsSome then ArcTables.onlyValuesOfProtocol this ProtocolName.Value else this + ps.Values().Factors() /// Returns all parameter values in the process sequence /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.Parameters(?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).Values().Parameters() + let ps = if ProtocolName.IsSome then ArcTables.onlyValuesOfProtocol this ProtocolName.Value else this + ps.Values().Parameters() /// Returns all characteristic values in the process sequence /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.Characteristics(?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).Values().Characteristics() + let ps = if ProtocolName.IsSome then ArcTables.onlyValuesOfProtocol this ProtocolName.Value else this + ps.Values().Characteristics() /// Returns all components in the process sequence /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.Components(?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).Values().Components() + let ps = if ProtocolName.IsSome then ArcTables.onlyValuesOfProtocol this ProtocolName.Value else this + ps.Values().Components() /// Returns all values in the process sequence, that are connected to the given node /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.ValuesOf(node : string, ?ProtocolName : string) = - let ps = ArcTables.onlyValuesOfProtocol this ProtocolName - (ArcTables.getPreviousValuesOf ps node).Values @ (ArcTables.getSucceedingValuesOf ps node).Values - |> ValueCollection + match ProtocolName with + | Some ps -> + let connectedNodes = this.NodesOf node + let ps = ArcTables.onlyValuesOfProtocol this ps + connectedNodes + |> ResizeArray.collect (fun n -> + ps.ValuesOf(n) + ) + |> ResizeArray.distinct + |> ValueCollection + | None -> + (ArcTables.getPreviousValuesOf this node).Values @ (ArcTables.getSucceedingValuesOf this node).Values + |> ValueCollection /// Returns all values in the process sequence, that are connected to the given node /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.ValuesOf(node : QNode, ?ProtocolName : string) = - let ps = ArcTables.onlyValuesOfProtocol this ProtocolName - (ArcTables.getPreviousValuesOf ps node.Name).Values @ (ArcTables.getSucceedingValuesOf ps node.Name).Values - |> ValueCollection + this.ValuesOf(node.Name, ?ProtocolName = ProtocolName) /// Returns all values in the process sequence, that are connected to the given node and come before it in the sequence /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.PreviousValuesOf(node : string, ?ProtocolName) = - let ps = ArcTables.onlyValuesOfProtocol this ProtocolName - ArcTables.getPreviousValuesOf ps node + match ProtocolName with + | Some ps -> + let connectedNodes = this.NodesOf node + let ps = ArcTables.onlyValuesOfProtocol this ps + connectedNodes + |> ResizeArray.collect (fun n -> + ps.PreviousValuesOf(n) + ) + |> ResizeArray.distinct + |> ValueCollection + | None -> + ArcTables.getPreviousValuesOf this node + /// Returns all values in the process sequence, that are connected to the given node and come before it in the sequence /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.PreviousValuesOf(node : QNode, ?ProtocolName) = - let ps = ArcTables.onlyValuesOfProtocol this ProtocolName - ArcTables.getPreviousValuesOf ps node.Name + this.PreviousValuesOf(node.Name, ?ProtocolName = ProtocolName) /// Returns all values in the process sequence, that are connected to the given node and come after it in the sequence /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.SucceedingValuesOf(node : string, ?ProtocolName) = - let ps = ArcTables.onlyValuesOfProtocol this ProtocolName - ArcTables.getSucceedingValuesOf ps node + match ProtocolName with + | Some ps -> + let connectedNodes = this.NodesOf node + let ps = ArcTables.onlyValuesOfProtocol this ps + connectedNodes + |> ResizeArray.collect (fun n -> + ps.SucceedingValuesOf(n) + ) + |> ResizeArray.distinct + |> ValueCollection + | None -> + ArcTables.getSucceedingValuesOf this node /// Returns all values in the process sequence, that are connected to the given node and come after it in the sequence /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.SucceedingValuesOf(node : QNode, ?ProtocolName) = - let ps = ArcTables.onlyValuesOfProtocol this ProtocolName - ArcTables.getSucceedingValuesOf ps node.Name + this.SucceedingValuesOf(node.Name, ?ProtocolName = ProtocolName) /// Returns all characteristic values in the process sequence, that are connected to the given node /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.CharacteristicsOf(node : string, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).ValuesOf(node).Characteristics() + this.ValuesOf(node,?ProtocolName = ProtocolName).Characteristics() /// Returns all characteristic values in the process sequence, that are connected to the given node /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.CharacteristicsOf(node : QNode, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).ValuesOf(node).Characteristics() + this.ValuesOf(node,?ProtocolName = ProtocolName).Characteristics() /// Returns all characteristic values in the process sequence, that are connected to the given node and come before it in the sequence /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.PreviousCharacteristicsOf(node : string, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).PreviousValuesOf(node).Characteristics() + this.PreviousValuesOf(node,?ProtocolName = ProtocolName).Characteristics() /// Returns all characteristic values in the process sequence, that are connected to the given node and come before it in the sequence /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.PreviousCharacteristicsOf(node : QNode, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).PreviousValuesOf(node).Characteristics() + this.PreviousValuesOf(node,?ProtocolName = ProtocolName).Characteristics() /// Returns all characteristic values in the process sequence, that are connected to the given node and come after it in the sequence /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.SucceedingCharacteristicsOf(node : string, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).SucceedingValuesOf(node).Characteristics() + this.SucceedingValuesOf(node,?ProtocolName = ProtocolName).Characteristics() /// Returns all characteristic values in the process sequence, that are connected to the given node and come after it in the sequence /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.SucceedingCharacteristicsOf(node : QNode, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).SucceedingValuesOf(node).Characteristics() + this.SucceedingValuesOf(node,?ProtocolName = ProtocolName).Characteristics() /// Returns all parameter values in the process sequence, that are connected to the given node /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.ParametersOf(node : string, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).ValuesOf(node).Parameters() + this.ValuesOf(node,?ProtocolName = ProtocolName).Parameters() /// Returns all parameter values in the process sequence, that are connected to the given node /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.ParametersOf(node : QNode, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).ValuesOf(node).Parameters() + this.ValuesOf(node,?ProtocolName = ProtocolName).Parameters() /// Returns all parameter values in the process sequence, that are connected to the given node and come before it in the sequence /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.PreviousParametersOf(node : string, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).PreviousValuesOf(node).Parameters() + this.PreviousValuesOf(node,?ProtocolName = ProtocolName).Parameters() /// Returns all parameter values in the process sequence, that are connected to the given node and come before it in the sequence /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.PreviousParametersOf(node : QNode, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).PreviousValuesOf(node).Parameters() + this.PreviousValuesOf(node,?ProtocolName = ProtocolName).Parameters() /// Returns all parameter values in the process sequence, that are connected to the given node and come after it in the sequence /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.SucceedingParametersOf(node : string, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).SucceedingValuesOf(node).Parameters() + this.SucceedingValuesOf(node,?ProtocolName = ProtocolName).Parameters() /// Returns all parameter values in the process sequence, that are connected to the given node and come after it in the sequence /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.SucceedingParametersOf(node : QNode, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).SucceedingValuesOf(node).Parameters() + this.SucceedingValuesOf(node,?ProtocolName = ProtocolName).Parameters() /// Returns all factor values in the process sequence, that are connected to the given node /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.FactorsOf(node : string, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).ValuesOf(node).Factors() + this.ValuesOf(node,?ProtocolName = ProtocolName).Factors() /// Returns all factor values in the process sequence, that are connected to the given node /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.FactorsOf(node : QNode, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).ValuesOf(node).Factors() + this.ValuesOf(node,?ProtocolName = ProtocolName).Factors() /// Returns all factor values in the process sequence, that are connected to the given node and come before it in the sequence /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.PreviousFactorsOf(node : string, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).PreviousValuesOf(node).Factors() + this.PreviousValuesOf(node,?ProtocolName = ProtocolName).Factors() /// Returns all factor values in the process sequence, that are connected to the given node and come before it in the sequence /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.PreviousFactorsOf(node : QNode, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).PreviousValuesOf(node).Factors() + this.PreviousValuesOf(node,?ProtocolName = ProtocolName).Factors() /// Returns all factor values in the process sequence, that are connected to the given node /// /// If a protocol name is given, returns only the values of the processes that implement this protocol and come after it in the sequence member this.SucceedingFactorsOf(node : string, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).SucceedingValuesOf(node).Factors() + this.SucceedingValuesOf(node,?ProtocolName = ProtocolName).Factors() /// Returns all factor values in the process sequence, that are connected to the given node /// /// If a protocol name is given, returns only the values of the processes that implement this protocol and come after it in the sequence member this.SucceedingFactorsOf(node : QNode, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).SucceedingValuesOf(node).Factors() + this.SucceedingValuesOf(node,?ProtocolName = ProtocolName).Factors() /// Returns all components values in the process sequence, that are connected to the given node /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.ComponentsOf(node : string, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).ValuesOf(node).Components() + this.ValuesOf(node,?ProtocolName = ProtocolName).Components() /// Returns all components values in the process sequence, that are connected to the given node /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.ComponentsOf(node : QNode, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).ValuesOf(node).Components() + this.ValuesOf(node,?ProtocolName = ProtocolName).Components() /// Returns all components values in the process sequence, that are connected to the given node and come before it in the sequence /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.PreviousComponentsOf(node : string, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).PreviousValuesOf(node).Components() + this.PreviousValuesOf(node,?ProtocolName = ProtocolName).Components() /// Returns all components values in the process sequence, that are connected to the given node and come before it in the sequence /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.PreviousComponentsOf(node : QNode, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).PreviousValuesOf(node).Components() + this.PreviousValuesOf(node,?ProtocolName = ProtocolName).Components() /// Returns all components values in the process sequence, that are connected to the given node and come after it in the sequence /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.SucceedingComponentsOf(node : string, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).SucceedingValuesOf(node).Components() + this.SucceedingValuesOf(node,?ProtocolName = ProtocolName).Components() /// Returns all components values in the process sequence, that are connected to the given node and come after it in the sequence /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.SucceedingComponentsOf(node : QNode, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).SucceedingValuesOf(node).Components() + this.SucceedingValuesOf(node,?ProtocolName = ProtocolName).Components() member this.Contains(ontology : OntologyAnnotation, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).Values().Contains ontology + this.Values(?ProtocolName = ProtocolName).Contains ontology member this.Contains(name : string, ?ProtocolName) = - (ArcTables.onlyValuesOfProtocol this ProtocolName).Values().Contains name + this.Values(?ProtocolName = ProtocolName).Contains name /// Returns the names of all nodes in the Process sequence member this.Nodes = diff --git a/src/ARCtrl.QueryModel/Value.fs b/src/ARCtrl.QueryModel/Value.fs index b15381d..b331e50 100644 --- a/src/ARCtrl.QueryModel/Value.fs +++ b/src/ARCtrl.QueryModel/Value.fs @@ -172,11 +172,11 @@ module ISAValueExtensions = this.TryUnit |> Option.map (fun u -> u.NameText) /// Returns the value of the Value as string - member this.ValueText = this.Value.AsName() + member this.ValueText = this.Value.Text /// Returns the value of the Value as string if it exists, else returns None member this.TryValueText = - this.TryValue |> Option.map (fun v -> v.AsName()) + this.TryValue |> Option.map (fun v -> v.Text) /// Returns the value and unit of the Value as string member this.ValueWithUnitText = diff --git a/tests/ARCtrl.Querymodel.Tests/TestARC.fs b/tests/ARCtrl.Querymodel.Tests/TestARC.fs index b7c4062..064ac3e 100644 --- a/tests/ARCtrl.Querymodel.Tests/TestARC.fs +++ b/tests/ARCtrl.Querymodel.Tests/TestARC.fs @@ -48,16 +48,44 @@ let Assay_getNodes = let ArcTables_ValueOf = let isa = testArc.ISA.Value - testList "ArcTable_ValueOf" [ - testCase "Values" (fun () -> + testList "ArcTable_Values" [ + testCase "ValuesOf_SpecificTable" (fun () -> + let nodeName = "sampleOutHeat.txt" + let protocolName = "MS" + let values = isa.ArcTables.ValuesOf(nodeName,protocolName) + let expected = + [ + ISAValue.Parameter ( + ProcessParameterValue.create( + ProtocolParameter.fromString("technical replicate","MS","MS:1001808"), + Value.Ontology (OntologyAnnotation.fromString("1")) + ) + ) + ISAValue.Parameter ( + ProcessParameterValue.create( + ProtocolParameter.fromString("injection volume setting","AFR","AFR:0001577"), + Value.Int 20, + OntologyAnnotation.fromString("microliter","UO","http://purl.obolibrary.org/obo/UO_0000101") + ) + ) + ] + Expect.sequenceEqual values expected "Did not return correct values for specific table" + ) + testCase "ValuesOf" (fun () -> let nodeName = "sampleOutHeat.txt" - let protocolName = "MS" - let values = - isa.ArcTables.ValuesOf(nodeName,protocolName) - |> Seq.toList - |> List.map (fun x -> x.NameText) - Expect.isTrue false "" + let valueHeaders = + isa.ArcTables.ValuesOf(nodeName) + |> Seq.map (fun x -> x.NameText) + let expected = + ["biological replicate";"organism";"temperature day";"pH";"technical replicate"; "injection volume setting";"analysis software"] + Expect.sequenceEqual valueHeaders expected "Did not return correct values for all table" + ) + testCase "GetSpecificValue" (fun () -> + let rep1 = isa.ArcTables.ValuesOf("C1_measured").WithName("biological replicate").First.ValueText + Expect.equal rep1 "1" "Did not return correct value for specific table" + let rep2 = isa.ArcTables.ValuesOf("C2_measured").WithName("biological replicate").First.ValueText + Expect.equal rep2 "2" "Did not return correct value for specific table" ) ] From 468d3bb67dc364a5b6251cbafb9883d6beb70bb6 Mon Sep 17 00:00:00 2001 From: David Zimmer Date: Tue, 20 Feb 2024 15:28:35 +0100 Subject: [PATCH 13/15] update test arc --- .gitignore | 3 ++- .../TestArc/assays/MSEval_Cold/isa.assay.xlsx | Bin 11421 -> 9288 bytes .../TestArc/assays/MSEval_Heat/isa.assay.xlsx | Bin 12715 -> 9288 bytes .../TestArc/assays/MS_Cold/isa.assay.xlsx | Bin 13680 -> 9356 bytes .../TestArc/assays/MS_Heat/isa.assay.xlsx | Bin 13997 -> 9369 bytes .../SamplePreparation_Cold/isa.assay.xlsx | Bin 11236 -> 8975 bytes .../SamplePreparation_Heat/isa.assay.xlsx | Bin 12530 -> 8975 bytes .../TestArc/isa.investigation.xlsx | Bin 9197 -> 7343 bytes .../isa.study.xlsx | Bin 14156 -> 10316 bytes .../isa.study.xlsx | Bin 14702 -> 10331 bytes tests/ARCtrl.Querymodel.Tests/playground.fsx | 2 ++ 11 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index ab19fbe..c7d2a30 100644 --- a/.gitignore +++ b/.gitignore @@ -349,4 +349,5 @@ MigrationBackup/ # Ionide (cross platform F# VS Code tools) working folder .ionide/ -**/TestResults/** \ No newline at end of file +**/TestResults/** +tests/ARCtrl.Querymodel.Tests/playground_2.fsx diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Cold/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Cold/isa.assay.xlsx index d283113c02af86071ef6918e4c565e9c7765f569..4be47e08ea38f3f9f780365d6e960153ccf55798 100644 GIT binary patch literal 9288 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 LAm-Ck|NQiS8;IC7 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Heat/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MSEval_Heat/isa.assay.xlsx index 47b0ee7d828d5033e96fd7346a0e7345896330fc..8e9fbe3b67eba039275eaed32485ac8ca3e11a0c 100644 GIT binary patch literal 9288 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 Y6lEZQ744tC5E&o~4gg5e|NQp<0PE)H%m4rY diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Cold/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Cold/isa.assay.xlsx index 835177009e6ca10c9c28a4f77180e1bf056cdaa5..d6b39839433a76d653860476f8865df1e784d086 100644 GIT binary patch literal 9356 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 F{~yeke$oH{ literal 13680 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 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Heat/isa.assay.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/assays/MS_Heat/isa.assay.xlsx index a57c4d906b3d25fee8901cc98e44ca724a93eb05..625000e0896b92289ad80c326db7de8b637ca1ca 100644 GIT binary patch literal 9369 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 T-F;yIFaX%#A0C+#-huxg$%%|? literal 13997 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 literal 11236 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

5n!E#snJcQOfC8Ht74v1$7GjpG8lL;@ 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 E19)t)Y5)KL diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/isa.investigation.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/isa.investigation.xlsx index 192143ff6d824bf9086ae1dc815200cad2121d29..df2024d731c30813560044bcdf4c96937620f8c4 100644 GIT binary patch delta 2330 zcmZvec{~&TAIFE~$jlLQj?G4*HI%FHB_v1Au`ePw5tAcF)+nqc>4=lS_$TCD@NvETyk2LJ%PfZ#C9 zpS9p54&a`k+~I)z5cO>w;Gb15IH7DClM}(VLAanlZCXGj@LoTs_((%dE&yN~ObG(Y z5i)IY*{VW)Q|pI>m;x^iL<-X?0x>}&if3F(^;&z7jvR>T;syPkBi;iqz>W*V)3v*w zS32M9-pp+3$Ud$eGRFT30>9hi@q}&{Y}|_K%1;&4T2cL|5vcVb1BLFwP7<3c1)qtR z=WRh}j{^+o;tZ>WU||z{^R&Ri!MbS_K`9+0KvTug%b22m*^K-5$^J6dMM)%0U17+) z9>~d|@O_}ulJw;K0b^FydESmGQq>={tYy7NN#(QnNc+M2Ts@Ss#4FHy9>cejsdPu> zHB7hHuHqpT>Y_(TBF?zn8?B)V|-71aMtC5?_q~uRlM&vrxw9Br^83YE8+ciu=txhC*!6W#3cx|-n%HxD} zhXkifPM$-@Tu|w;d~b&i^oRD5qmlgTq33i9B!RB7)$P~#-7APJ4>5F6cYtL2XRgsi zQ+$*tt6v+412A6?oc-tW-{p} zZ4b;qxZ^jHqnau1mv5DG&H30|g__Iwn6>Ge*O(2wj{j13s8e5od{yx%0gY@#M11j7 zUq9(NZks6_ibk$MBEr3;E(b}z)Ei~U-grZ4BlRp5l>1=qhb&hoOR^X?)gd)2Wp9$s zMEDZD%E<3Z+^R~R-k(=;%Zkw}sI8vZd5IzIBqYr%mp@mLS=>O@cB_q!g8OV-H}hi> zueF+lrW1_X2RjN{mj75G?B|KhLN;}G21wBv5*0-y!_8RjM;0Y(lK~YZD7oNxquKlz zLuo0b9I;En5-mcA7ErqPyH$MJ+au`{bngVKeNg&xwPlbAokydZTL@{JYX$2jpjsJn zm~WI(XU*Ba!C>99P}8(tb920`@xdj*s&!XbdK`cl<|2H_&i;IFLQ=NJw^U$(TO_AG z?R?%0O>!unpNK&X3KtN~u54>x({kk7Q6i91CI$SmJfd{8p@{28c*e)h{rAOG^8C2y z%?SWp=A~qTqzJi=^w0@aAv_bixS`W)FmgLQZd5^W6~w`9>HAgb{k}l?XBg+%WexmX z{`)><(12yl#TPFNhIGndbv1c~ksz(? z+2F2((74jOg?V9@7zX!ym>{056f%t|^*7UwpbkD*G_Z=kV-2Z~7d%S%NZn>VVYZAi zTU>_05`|XodA?bQn@(39SOsb6EV`><1q|!|2qLW`OCSmzB@m`Cmk>^mO zC9gb&fOO=HP|Ji{uLQ&>l|>0z$17Y70t`bc|8ZBT%)fQ)BwwW^3zcbRXgxMBX1Yz1 zVsIGVH~}b~!0UL?2rrqp{o zmG!LIwe4>1M0*1viU1rSa>C%fNe;na;ZRqRcQGUh;u`iecWf=#igr9V-x zq&@mh@rhVI#%@77o3O>Y#){Q`n~z;Iqq1apHpR+DifJz=mx=wpmH3#o58M4~<5um2 zI!N-md5ng*J?brV0lw+?kkpl&QPk4@OE5;U8N++RG81;BC2@e zMSn~KZz(dQ|F(Ogqbfo}Tb;^O54Nj9wK)epDFli~AwJjz`+5`o?aZN5h6AtrRc;^D zn#cg@J#-0>n5st&BX2C7=Ogq3jZR5-4}-|XO`@?i$9P;Ga$mJqx(7@oKP|eG*TCBt zuEp;>bJEHDfxzqAdHsg?@K7N~2aSrS{~2AEqosa$=5iuH$)R2ujHCjsoA)J6%mg-I zTkIs;`!#gU55sUY{6|FO##e5#YYadi^7c_W_fGEdWn~7nme?}ls7;`{70lRyJSv0U z*!sOU?36jO)2t=ZsPF|cnc8t6f=av1G40$-a+$t{x zKOy{M2VvpS7kt9Lum8gT83g+J007{P^RfxWg@mDhH(;L!1%;5}um?) delta 4182 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 LhEOo@{3-Nrp4^_o diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/ChlamydomonasColdTimeCourse/isa.study.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/ChlamydomonasColdTimeCourse/isa.study.xlsx index 3af413992c5696a69d4b76ed6f844c580e301bee..f1f8a20550e7b00693a859c46baf79c1a1867712 100644 GIT binary patch literal 10316 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 literal 14156 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 diff --git a/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/ChlamydomonasHeatTimeCourse/isa.study.xlsx b/tests/ARCtrl.Querymodel.Tests/TestObjects/TestArc/studies/ChlamydomonasHeatTimeCourse/isa.study.xlsx index 281e0c83c86704c2ef7847dad8dd22f7aaaa0dde..e1f12106805fc3c2a6f467f637c23c60e7a4a402 100644 GIT binary patch literal 10331 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Ľx_4^zW**Ly zM|wNh1@UJOiV!YHK$cCkQRgh_lu0VX#wsU1Wfo!Q$Hoi}8bjJMtXXA=8VO9QcMS3+ zR3OjKY~=C4e*7Ljat2SBy<2?}xJfzsTF)+a)NGzCxsFI4sYN)`V`TD|F9EXpsrI~G z>hD#e16hn8NYT_NxM;ffd}Jgv$@_e~RzQtF+DH&QVab9PnEGDa@@#ssx!|gn3)k&| zb;;=srF~p6WeLH(ATyv*t{&+4WH~mH$wLyoWPNzZhOQUh~V)2s)dHtlI=J_SBOVg~8jimGK%ibQZ zx3qPYm!Mj8O?a(hTX#FX3T(Y4LKx6VmFhNE>9Ab+R9XEsRnek(e5!7_(#}kad&A1v zl6cLxe)cG(s>up>x$;@s>A_4jdkbgbwsFvOhE&1+)M8}jq&Is5N15kQGqcU$?n2wo z9Cx3*VEKG?ogw8GG$esR5UB5EnS-Mnq%8Y>94v^}u}QnfoIoo|(5RqLUkmdv<>EAY zjyUICU&*p7X#B}nveyTEa1S3kEfk&)_Ekn_om{asZs!X!y=T`h#fDdVDlUW5^vNP= ztuk#X&2UP+M2f!FfbMA(+=>xNY%dVTV}Z>C6GJ&}t+nnfHl}cnO)~AV4jU{*0%xq| zRw}W%MVHz9TS>*3u?s_TIyF~PknxcKhUBn=mPcSBN1f*oY(sEn;44t#1z!Q`GLr2A zESqLFV~DJ4*_d=?7+4o?d23J?Dt@bE4c24dNeDLp7Ynhb`8pCD*FAhb?-#^X4KXM@I({LGdEPA2OjdM_gig5hF} zDM*JR!ik3kWHrM^d0*aoe``N)yb!~?&dP1SIJOixG-1i`IJx9KKBh&OJ$m8v=<|5W z#a3infV}^6RuTq=BpKTt#(kR+6>iF{J7dgGt`Ci_-qo!9+@Sxt2s5%VRIsWFP-crf+NeeJf`ubyzPlqqH78Mp-6o)Od#CS7rd7Js&fGimmVS zi`!Oz&45V0PIY}XfVRfFtKV)N9gQw8k6mDWZWZT*H{h-oGNi%C>e!n!V}*Rw(%5`S z&T3#w#r{E`3=O;{?xR?`1ub3=*08r#4oT$!jsP~5D`Bj{#I$eEt?gs%NZPVQ+q`qY=~;xlJPI~nlKMI15WS@I1lk!k3SH@z zlODG{M91%@%%i##YI%%48A8z%efMaVWFpJ{#_4#X0ZN;ol4u-@d(NPecs$R^=9Gx@ z4i``UM1W?xDJaC)z52*YT$n#Uyt{Cg$8+(3B_OP)J9<3o_7pS_s&wr2 z^^D}FfA0g3;S(5KU5Mk>AwdX&O#O14p^d%q56>z7-2<@lGR{{MJCL*vr-)pI{x!59*uGoM!pd?Xko*$POV81zqOy^i4=&` zX3}em!sYS`E=tE8@Dz9TZ35hF2JbQb$I&;zO%tlzqq;d8iYWS}R?E*!KM8dZG2S+E zJ?u90`f|pUaMrwU0>He?$X|w&e}8?s?N&$X_K+%$S*nv#vnP(-4IH;^I(edUJ72X& z^0i@oAUo?|M{nb|Y%pZJb@c+`jB1E8(C@RsKku9)V+X9eNHKyS*UjDhZ!+rY)tq0LYhirWm$?3g0#qn>$9_V z8$M7_k+D)FSHmH>`wKog37+q`TJBvS?r_IK((KtfrbKLcFf6>n%luYJvr?mb%qDL2 z2{R_W?`suS@T6pJ3j3){|1Cd?R$^>d_~$w}tWgZ~FfnBk`fXu}$s1t0iMLuauwjAB zfFdEH2v;g}F6lTBpH}9mRPpMr=WYPc zMTg_0*t1;qkV;{34A`E`LEx%<=j@lpM5LER`n>rAH&+iI%frN%soF)B@bbRfHi|dF zr$oO7ZGWID)UsDrODqL z>LuFYmwhtTZ_3eWJNc6xDQjDKDVoHSAYz$Ctc; zz@LHidr!yx_#P|MARhmTk^fui?>!zrxd4E+zj=OO=WDb$@ufBqx zQ@@X3zjqe=R&W?`h{3dmP!1<^J>gRgi}L5x#H$H~@S|>mca+^&Q~<0PBQUdjJ3c literal 14702 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 Date: Tue, 20 Feb 2024 17:33:08 +0100 Subject: [PATCH 14/15] added querymodel test and fix for values of pooled output #18 --- src/ARCtrl.QueryModel/ArcTables.fs | 30 +++++++++----- tests/ARCtrl.Querymodel.Tests/TestARC.fs | 52 +++++++++++++++++++++++- 2 files changed, 69 insertions(+), 13 deletions(-) diff --git a/src/ARCtrl.QueryModel/ArcTables.fs b/src/ARCtrl.QueryModel/ArcTables.fs index f7c299a..a4e8ca8 100644 --- a/src/ARCtrl.QueryModel/ArcTables.fs +++ b/src/ARCtrl.QueryModel/ArcTables.fs @@ -232,10 +232,9 @@ module ArcTables = ps.Tables |> ResizeArray.collect (fun p -> p.Rows - |> List.map (fun r -> r.Output,r) - |> List.distinct + |> List.groupBy (fun r -> r.Output) + //|> List.map (fun (o,rs) -> o, rs |> List.map snd) ) - |> Map.ofSeq let rec loop values lastState state = if lastState = state then values @@ -244,11 +243,16 @@ module ArcTables = state |> List.map (fun s -> mappings.TryFind s - |> Option.map (fun r -> r.Input,r.Values |> Seq.toList) - |> Option.defaultValue (s,[]) + |> Option.map (fun rs -> + rs + |> List.map (fun r -> r.Input,r.Values |> Seq.toList) + |> List.unzip + |> fun (s,vs) -> s, vs |> List.concat + ) + |> Option.defaultValue ([],[]) ) |> List.unzip - |> fun (s,vs) -> s, vs |> List.concat + |> fun (s,vs) -> s |> List.concat, vs |> List.concat loop (newValues@values) state newState loop [] [] [node] |> ValueCollection @@ -259,8 +263,7 @@ module ArcTables = ps.Tables |> ResizeArray.collect (fun p -> p.Rows - |> List.map (fun r -> r.Input,r) - |> List.distinct + |> List.groupBy (fun r -> r.Input) ) |> Map.ofSeq @@ -271,11 +274,16 @@ module ArcTables = state |> List.map (fun s -> mappings.TryFind s - |> Option.map (fun r -> r.Output,r.Values |> Seq.toList) - |> Option.defaultValue (s,[]) + |> Option.map (fun rs -> + rs + |> List.map (fun r -> r.Output,r.Values |> Seq.toList) + |> List.unzip + |> fun (s,vs) -> s, vs |> List.concat + ) + |> Option.defaultValue ([],[]) ) |> List.unzip - |> fun (s,vs) -> s, vs |> List.concat + |> fun (s,vs) -> s |> List.concat, vs |> List.concat loop (values@newValues) state newState loop [] [] [sample] |> ValueCollection diff --git a/tests/ARCtrl.Querymodel.Tests/TestARC.fs b/tests/ARCtrl.Querymodel.Tests/TestARC.fs index 064ac3e..8773428 100644 --- a/tests/ARCtrl.Querymodel.Tests/TestARC.fs +++ b/tests/ARCtrl.Querymodel.Tests/TestARC.fs @@ -31,6 +31,24 @@ let ArcTables_getNodes = let expected = ["sampleOutCold.txt"; "sampleOutHeat.txt"] Expect.sequenceEqual nodeNames expected "LastData of full sequence" ) + testCase "RawData" (fun () -> + let nodes = isa.ArcTables.RawData + let nodeNames = nodes |> Seq.map (fun n -> n.Name) + let expected = ["CC1_measured";"CC2_measured";"CC3_measured";"Co1_measured";"Co2_measured";"Co3_measured";"C1_measured";"C2_measured";"C3_measured";"H1_measured";"H2_measured";"H3_measured"] + Expect.sequenceEqual nodeNames expected "RawData of full sequence" + ) + testCase "LastRawData" (fun () -> + let nodes = isa.ArcTables.LastRawData + let nodeNames = nodes |> Seq.map (fun n -> n.Name) + let expected = ["CC1_measured";"CC2_measured";"CC3_measured";"Co1_measured";"Co2_measured";"Co3_measured";"C1_measured";"C2_measured";"C3_measured";"H1_measured";"H2_measured";"H3_measured"] + Expect.sequenceEqual nodeNames expected "RawData of full sequence" + ) + testCase "FirstRawData" (fun () -> + let nodes = isa.ArcTables.FirstRawData + let nodeNames = nodes |> Seq.map (fun n -> n.Name) + let expected = ["CC1_measured";"CC2_measured";"CC3_measured";"Co1_measured";"Co2_measured";"Co3_measured";"C1_measured";"C2_measured";"C3_measured";"H1_measured";"H2_measured";"H3_measured"] + Expect.sequenceEqual nodeNames expected "RawData of full sequence" + ) ] let Assay_getNodes = @@ -44,7 +62,36 @@ let Assay_getNodes = Expect.sequenceEqual nodeNames expected "LastData of full sequence" ) ] +let Assay_ValuesOf = + let isa = testArc.ISA.Value + testList "Assay_ValuesOf" [ + + testCase "ValuesOfOutput_PooledOutput" (fun () -> + let values = isa.GetAssay("MSEval_Heat").ValuesOf("sampleOutHeat.txt").WithName("Column") + let valueValues = values |> Seq.map (fun n -> n.ValueText) + let expected = ["C1 Intensity";"C2 Intensity";"C3 Intensity";"H1 Intensity";"H2 Intensity";"H3 Intensity"] + Expect.sequenceEqual valueValues expected "Did not return all values correctly" + ) + testCase "SucceedingValuesOfInput_PooledOutput" (fun () -> + let values = isa.GetAssay("MSEval_Heat").SucceedingValuesOf("C2_measured").WithName("Column") + let valueValues = values |> Seq.map (fun n -> n.ValueText) + let expected = ["C2 Intensity"] + Expect.sequenceEqual valueValues expected "Did not return the single value correctly" + ) + testCase "PreviousValuesOfInput_PooledOutput" (fun () -> + let values = isa.GetAssay("MSEval_Heat").PreviousValuesOf("C2_measured").WithName("Column") + let valueValues = values |> Seq.map (fun n -> n.ValueText) + let expected = [] + Expect.sequenceEqual valueValues expected "Should return no values" + ) + testCase "ValuesOfInput_PooledOutput" (fun () -> + let values = isa.GetAssay("MSEval_Heat").ValuesOf("C2_measured").WithName("Column") + let valueValues = values |> Seq.map (fun n -> n.ValueText) + let expected = ["C2 Intensity"] + Expect.sequenceEqual valueValues expected "Did not return the single value correctly" + ) + ] let ArcTables_ValueOf = let isa = testArc.ISA.Value @@ -75,10 +122,10 @@ let ArcTables_ValueOf = let nodeName = "sampleOutHeat.txt" let valueHeaders = - isa.ArcTables.ValuesOf(nodeName) + isa.ArcTables.ValuesOf(nodeName).DistinctHeaderCategories() |> Seq.map (fun x -> x.NameText) let expected = - ["biological replicate";"organism";"temperature day";"pH";"technical replicate"; "injection volume setting";"analysis software"] + ["biological replicate";"organism";"temperature day";"pH";"technical replicate"; "injection volume setting";"analysis software";"Column"] Expect.sequenceEqual valueHeaders expected "Did not return correct values for all table" ) testCase "GetSpecificValue" (fun () -> @@ -97,5 +144,6 @@ let ArcTables_ValueOf = let main = testList "TestArcTests" [ ArcTables_getNodes Assay_getNodes + Assay_ValuesOf ArcTables_ValueOf ] \ No newline at end of file From b40490cf94e600ed172accfa597d726438d8093b Mon Sep 17 00:00:00 2001 From: HLWeil Date: Wed, 21 Feb 2024 12:44:40 +0100 Subject: [PATCH 15/15] fix querymodel value getting --- src/ARCtrl.QueryModel/ArcTables.fs | 110 +++++++++++++---------- tests/ARCtrl.Querymodel.Tests/TestARC.fs | 24 ++++- 2 files changed, 82 insertions(+), 52 deletions(-) diff --git a/src/ARCtrl.QueryModel/ArcTables.fs b/src/ARCtrl.QueryModel/ArcTables.fs index a4e8ca8..bfad169 100644 --- a/src/ARCtrl.QueryModel/ArcTables.fs +++ b/src/ARCtrl.QueryModel/ArcTables.fs @@ -142,7 +142,6 @@ module ArcTables = ) |> ResizeArray.distinctBy (fun n -> n.Name) - /// Returns the names of all nodes for which the predicate reutrns true static member getNodesBy (predicate : IOType -> bool) (ps : #ArcTables) = ps.Tables @@ -211,6 +210,40 @@ module ArcTables = loop (ArcTables.getFinalOutputs ps |> List.ofSeq) [] + static member getPreviousNodesBy (node : string) (ps : #ArcTables) = + + let rec collectBackwardNodes nodes = + let newNodes = + ps.Tables + |> Seq.collect (fun sheet -> + sheet.Rows + |> Seq.choose (fun r -> if List.contains r.Output nodes then Some r.Input else None) + ) + |> Seq.toList + |> List.append nodes + |> List.distinct + + if newNodes = nodes then nodes + else collectBackwardNodes newNodes + + collectBackwardNodes [node] + + static member getSucceedingNodesBy (node : string) (ps : #ArcTables) = + let rec collectForwardNodes nodes = + let newNodes = + ps.Tables + |> Seq.collect (fun sheet -> + sheet.Rows + |> Seq.choose (fun r -> if List.contains r.InputName nodes then Some r.OutputName else None) + ) + |> Seq.toList + |> List.append nodes + |> List.distinct + + if newNodes = nodes then nodes + else collectForwardNodes newNodes + collectForwardNodes [node] + /// Returns the names of all nodes processSequence, which are connected to the given node and for which the predicate returns true static member getNodesOfBy (predicate : IOType -> bool) (node : string) (ps : #ArcTables) = ArcTables.getSubTreeOf node ps @@ -487,77 +520,58 @@ module ArcTables = let ps = if ProtocolName.IsSome then ArcTables.onlyValuesOfProtocol this ProtocolName.Value else this ps.Values().Components() - /// Returns all values in the process sequence, that are connected to the given node - /// - /// If a protocol name is given, returns only the values of the processes that implement this protocol - member this.ValuesOf(node : string, ?ProtocolName : string) = - match ProtocolName with - | Some ps -> - let connectedNodes = this.NodesOf node - let ps = ArcTables.onlyValuesOfProtocol this ps - connectedNodes - |> ResizeArray.collect (fun n -> - ps.ValuesOf(n) - ) - |> ResizeArray.distinct - |> ValueCollection - | None -> - (ArcTables.getPreviousValuesOf this node).Values @ (ArcTables.getSucceedingValuesOf this node).Values - |> ValueCollection - - /// Returns all values in the process sequence, that are connected to the given node - /// - /// If a protocol name is given, returns only the values of the processes that implement this protocol - member this.ValuesOf(node : QNode, ?ProtocolName : string) = - this.ValuesOf(node.Name, ?ProtocolName = ProtocolName) - /// Returns all values in the process sequence, that are connected to the given node and come before it in the sequence - /// - /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.PreviousValuesOf(node : string, ?ProtocolName) = match ProtocolName with | Some ps -> - let connectedNodes = this.NodesOf node + let previousNodes = ArcTables.getPreviousNodesBy node this let ps = ArcTables.onlyValuesOfProtocol this ps - connectedNodes - |> ResizeArray.collect (fun n -> + previousNodes + |> Seq.collect (fun n -> ps.PreviousValuesOf(n) - ) - |> ResizeArray.distinct + ) |> ValueCollection - | None -> + | None -> ArcTables.getPreviousValuesOf this node - - /// Returns all values in the process sequence, that are connected to the given node and come before it in the sequence - /// - /// If a protocol name is given, returns only the values of the processes that implement this protocol - member this.PreviousValuesOf(node : QNode, ?ProtocolName) = - this.PreviousValuesOf(node.Name, ?ProtocolName = ProtocolName) - - /// Returns all values in the process sequence, that are connected to the given node and come after it in the sequence - /// - /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.SucceedingValuesOf(node : string, ?ProtocolName) = match ProtocolName with | Some ps -> - let connectedNodes = this.NodesOf node + let succeedingNodes = ArcTables.getSucceedingNodesBy node this let ps = ArcTables.onlyValuesOfProtocol this ps - connectedNodes - |> ResizeArray.collect (fun n -> + succeedingNodes + |> Seq.collect (fun n -> ps.SucceedingValuesOf(n) ) - |> ResizeArray.distinct |> ValueCollection - | None -> + | None -> ArcTables.getSucceedingValuesOf this node + /// Returns all values in the process sequence, that are connected to the given node and come before it in the sequence + /// + /// If a protocol name is given, returns only the values of the processes that implement this protocol + member this.PreviousValuesOf(node : QNode, ?ProtocolName) = + this.PreviousValuesOf(node.Name, ?ProtocolName = ProtocolName) + /// Returns all values in the process sequence, that are connected to the given node and come after it in the sequence /// /// If a protocol name is given, returns only the values of the processes that implement this protocol member this.SucceedingValuesOf(node : QNode, ?ProtocolName) = this.SucceedingValuesOf(node.Name, ?ProtocolName = ProtocolName) + /// Returns all values in the process sequence, that are connected to the given node + /// + /// If a protocol name is given, returns only the values of the processes that implement this protocol + member this.ValuesOf(node : string, ?ProtocolName : string) = + this.PreviousValuesOf(node,?ProtocolName = ProtocolName).Values @ this.SucceedingValuesOf(node,?ProtocolName = ProtocolName).Values + |> ValueCollection + + /// Returns all values in the process sequence, that are connected to the given node + /// + /// If a protocol name is given, returns only the values of the processes that implement this protocol + member this.ValuesOf(node : QNode, ?ProtocolName : string) = + this.ValuesOf(node.Name, ?ProtocolName = ProtocolName) + /// Returns all characteristic values in the process sequence, that are connected to the given node /// /// If a protocol name is given, returns only the values of the processes that implement this protocol diff --git a/tests/ARCtrl.Querymodel.Tests/TestARC.fs b/tests/ARCtrl.Querymodel.Tests/TestARC.fs index 8773428..3b49ff9 100644 --- a/tests/ARCtrl.Querymodel.Tests/TestARC.fs +++ b/tests/ARCtrl.Querymodel.Tests/TestARC.fs @@ -100,21 +100,29 @@ let ArcTables_ValueOf = let nodeName = "sampleOutHeat.txt" let protocolName = "MS" let values = isa.ArcTables.ValuesOf(nodeName,protocolName) - let expected = - [ - ISAValue.Parameter ( + let expectedTechRep = + ISAValue.Parameter ( ProcessParameterValue.create( ProtocolParameter.fromString("technical replicate","MS","MS:1001808"), Value.Ontology (OntologyAnnotation.fromString("1")) ) ) - ISAValue.Parameter ( + let expectedInjVol = + ISAValue.Parameter ( ProcessParameterValue.create( ProtocolParameter.fromString("injection volume setting","AFR","AFR:0001577"), Value.Int 20, OntologyAnnotation.fromString("microliter","UO","http://purl.obolibrary.org/obo/UO_0000101") ) ) + let expected = + [ + expectedTechRep;expectedInjVol + expectedTechRep;expectedInjVol + expectedTechRep;expectedInjVol + expectedTechRep;expectedInjVol + expectedTechRep;expectedInjVol + expectedTechRep;expectedInjVol ] Expect.sequenceEqual values expected "Did not return correct values for specific table" ) @@ -134,6 +142,14 @@ let ArcTables_ValueOf = let rep2 = isa.ArcTables.ValuesOf("C2_measured").WithName("biological replicate").First.ValueText Expect.equal rep2 "2" "Did not return correct value for specific table" ) + testCase "ValuesOf_SpecificTable_PooledOutput" (fun () -> + let vals = isa.ArcTables.ValuesOf("sampleOutHeat.txt","Growth").WithName("biological replicate").Values |> List.map (fun v -> v.ValueText) + Expect.sequenceEqual vals ["1";"2";"3";"1";"2";"3"] "Did not return correct values" + ) + testCase "SpecificValue_SpecificTable_PooledOutput" (fun () -> + let vals = isa.ArcTables.ValuesOf("C2_prep","Growth").WithName("biological replicate").First.ValueText + Expect.equal vals "2" "Did not return correct value" + ) ]