diff --git a/src/ArcCommander/APIs/StudyAPI.fs b/src/ArcCommander/APIs/StudyAPI.fs index df64cdb..ba89c8a 100644 --- a/src/ArcCommander/APIs/StudyAPI.fs +++ b/src/ArcCommander/APIs/StudyAPI.fs @@ -736,13 +736,13 @@ module StudyAPI = |> List.toArray let existsByName name publications = - OntologyAnnotation.existsByName (AnnotationValue.Text name) (publications |> Array.toList) + OntologyAnnotation.existsByName name (publications |> Array.toList) let tryGetByName name publications = - OntologyAnnotation.tryGetByName (AnnotationValue.Text name) (publications |> Array.toList) + OntologyAnnotation.tryGetByName name (publications |> Array.toList) let removeByName name publications = - OntologyAnnotation.removeByName (AnnotationValue.Text name) (publications |> Array.toList) + OntologyAnnotation.removeByName name (publications |> Array.toList) |> List.toArray /// Updates an existing design in the ARC investigation study with the given design metadata contained in cliArgs. diff --git a/src/ArcCommander/ArcCommander.fsproj b/src/ArcCommander/ArcCommander.fsproj index 983b31f..937888d 100644 --- a/src/ArcCommander/ArcCommander.fsproj +++ b/src/ArcCommander/ArcCommander.fsproj @@ -70,12 +70,13 @@ - - - + + + + diff --git a/src/ArcCommander/ArcConfiguration.fs b/src/ArcCommander/ArcConfiguration.fs index 2f53eae..1719d1d 100644 --- a/src/ArcCommander/ArcConfiguration.fs +++ b/src/ArcCommander/ArcConfiguration.fs @@ -458,7 +458,7 @@ module ARCExtensions = type ARC with member this.Write(arcPath) = - this.GetWriteContracts() + this.GetWriteContracts(false) |> Array.iter (myWrite arcPath) static member load(config : ArcConfiguration) = diff --git a/tests/ArcCommander.Tests/ArcCommander.Tests.fsproj b/tests/ArcCommander.Tests/ArcCommander.Tests.fsproj index f3c2b76..1c94659 100644 --- a/tests/ArcCommander.Tests/ArcCommander.Tests.fsproj +++ b/tests/ArcCommander.Tests/ArcCommander.Tests.fsproj @@ -23,8 +23,7 @@ - - + diff --git a/tests/ArcCommander.Tests/StudyTests.fs b/tests/ArcCommander.Tests/StudyTests.fs index 16835fd..2b50b02 100644 --- a/tests/ArcCommander.Tests/StudyTests.fs +++ b/tests/ArcCommander.Tests/StudyTests.fs @@ -256,11 +256,16 @@ let testStudyContacts = let investigationFilePath = System.IO.Path.Combine([|GeneralConfiguration.getWorkDirectory config;investigationFileName|]) let studyIdentifier = "BII-S-1" + let studyToCopy = System.IO.Path.Combine([|source;"TestFiles";"studies"|]) + let studyFilePath = System.IO.Path.Combine([|GeneralConfiguration.getWorkDirectory config;"studies"|]) setupArc config + //Copy testInvestigation System.IO.File.Copy(investigationToCopy,investigationFilePath,true) + //Copy testStudy + directoryCopy studyToCopy studyFilePath true let arc = ARC.load(config) diff --git a/tests/ArcCommander.Tests/TestFiles/assays/a_metabolome/isa.assay.xlsx b/tests/ArcCommander.Tests/TestFiles/assays/a_metabolome/isa.assay.xlsx new file mode 100644 index 0000000..3323bb3 Binary files /dev/null and b/tests/ArcCommander.Tests/TestFiles/assays/a_metabolome/isa.assay.xlsx differ diff --git a/tests/ArcCommander.Tests/TestFiles/assays/a_proteome/isa.assay.xlsx b/tests/ArcCommander.Tests/TestFiles/assays/a_proteome/isa.assay.xlsx new file mode 100644 index 0000000..7c08c90 Binary files /dev/null and b/tests/ArcCommander.Tests/TestFiles/assays/a_proteome/isa.assay.xlsx differ diff --git a/tests/ArcCommander.Tests/TestFiles/studies/BII-S-1/isa.study.xlsx b/tests/ArcCommander.Tests/TestFiles/studies/BII-S-1/isa.study.xlsx new file mode 100644 index 0000000..90c8b5a Binary files /dev/null and b/tests/ArcCommander.Tests/TestFiles/studies/BII-S-1/isa.study.xlsx differ diff --git a/tests/ArcCommander.Tests/TestFiles/studies/BII-S-2/isa.study.xlsx b/tests/ArcCommander.Tests/TestFiles/studies/BII-S-2/isa.study.xlsx new file mode 100644 index 0000000..9448dd3 Binary files /dev/null and b/tests/ArcCommander.Tests/TestFiles/studies/BII-S-2/isa.study.xlsx differ diff --git a/tests/ArcCommander.Tests/Utils.fs b/tests/ArcCommander.Tests/Utils.fs index 3550734..02246fd 100644 --- a/tests/ArcCommander.Tests/Utils.fs +++ b/tests/ArcCommander.Tests/Utils.fs @@ -11,6 +11,26 @@ open ArcCommander open ArgumentProcessing open Argu +let rec directoryCopy srcPath dstPath copySubDirs = + + if not <| System.IO.Directory.Exists(srcPath) then + let msg = System.String.Format("Source directory does not exist or could not be found: {0}", srcPath) + raise (System.IO.DirectoryNotFoundException(msg)) + + if not <| System.IO.Directory.Exists(dstPath) then + System.IO.Directory.CreateDirectory(dstPath) |> ignore + + let srcDir = new System.IO.DirectoryInfo(srcPath) + + for file in srcDir.GetFiles() do + let temppath = System.IO.Path.Combine(dstPath, file.Name) + file.CopyTo(temppath, true) |> ignore + + if copySubDirs then + for subdir in srcDir.GetDirectories() do + let dstSubDir = System.IO.Path.Combine(dstPath, subdir.Name) + directoryCopy subdir.FullName dstSubDir copySubDirs + type ArcInvestigation with member this.ContainsStudy(studyIdentifier : string) =