diff --git a/ARCTokenization.sln b/ARCTokenization.sln index c7e37e8..33f0cdf 100644 --- a/ARCTokenization.sln +++ b/ARCTokenization.sln @@ -1,106 +1,107 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.31903.59 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{2EB71559-9BE4-4E02-9763-9092876D1E4A}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "sln", "sln", "{CE1B84FD-33DE-48E4-A97A-A4BDC34E08F0}" - ProjectSection(SolutionItems) = preProject - .gitignore = .gitignore - .github\workflows\build-and-test.yml = .github\workflows\build-and-test.yml - build.cmd = build.cmd - build.sh = build.sh - global.json = global.json - LICENSE = LICENSE - package.json = package.json - playground.fsx = playground.fsx - .github\workflows\publish-docs.yml = .github\workflows\publish-docs.yml - README.md = README.md - RELEASE_NOTES.md = RELEASE_NOTES.md - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{67DA0DCC-75F4-4F30-91C3-309A48B13D49}" -EndProject -Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "ControlledVocabulary", "src\ControlledVocabulary\ControlledVocabulary.fsproj", "{F8E5EFC0-C74B-4C3C-BC22-7A5286A31DF6}" -EndProject -Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "ControlledVocabulary.Tests", "tests\ControlledVocabulary.Tests\ControlledVocabulary.Tests.fsproj", "{2CBEE59D-07E4-460E-8B97-9267965D3F46}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{3DB2A5F4-23F6-4A06-9AE5-CEAC0707735B}" - ProjectSection(SolutionItems) = preProject - build.cmd = build.cmd - build.sh = build.sh - global.json = global.json - EndProjectSection -EndProject -Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Build", "build\Build.fsproj", "{ED24D0E3-BA79-4F6D-9A30-D05FF4EBAFDB}" -EndProject -Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "ARCTokenization", "src\ARCTokenization\ARCTokenization.fsproj", "{24D99DC2-DF18-45A3-B444-B60351F131DB}" -EndProject -Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "ARCTokenization.Tests", "tests\ARCTokenization.Tests\ARCTokenization.Tests.fsproj", "{30177EF1-3980-4FFE-9B49-90B75DCEBDA3}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{551D4715-5ECD-4CAB-8A4A-41E246F4A7B5}" - ProjectSection(SolutionItems) = preProject - docs\index.ipynb = docs\index.ipynb - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ARCTokenization", "ARCTokenization", "{699C5B9A-EA4B-4D25-B05D-16CA14320CFB}" - ProjectSection(SolutionItems) = preProject - docs\ARCTokenization\Introduction.ipynb = docs\ARCTokenization\Introduction.ipynb - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ControlledVocabulary", "ControlledVocabulary", "{524F5156-C079-4AEF-822E-F01DAE6874AA}" - ProjectSection(SolutionItems) = preProject - docs\ControlledVocabulary\CvParam.ipynb = docs\ControlledVocabulary\CvParam.ipynb - docs\ControlledVocabulary\Introduction.ipynb = docs\ControlledVocabulary\Introduction.ipynb - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".ci", ".ci", "{4805A6D8-8D85-48F5-8902-57CECF872AE6}" - ProjectSection(SolutionItems) = preProject - .github\workflows\build-and-test.yml = .github\workflows\build-and-test.yml - .github\workflows\publish-docs.yml = .github\workflows\publish-docs.yml - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {F8E5EFC0-C74B-4C3C-BC22-7A5286A31DF6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F8E5EFC0-C74B-4C3C-BC22-7A5286A31DF6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F8E5EFC0-C74B-4C3C-BC22-7A5286A31DF6}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F8E5EFC0-C74B-4C3C-BC22-7A5286A31DF6}.Release|Any CPU.Build.0 = Release|Any CPU - {2CBEE59D-07E4-460E-8B97-9267965D3F46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2CBEE59D-07E4-460E-8B97-9267965D3F46}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2CBEE59D-07E4-460E-8B97-9267965D3F46}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2CBEE59D-07E4-460E-8B97-9267965D3F46}.Release|Any CPU.Build.0 = Release|Any CPU - {ED24D0E3-BA79-4F6D-9A30-D05FF4EBAFDB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {ED24D0E3-BA79-4F6D-9A30-D05FF4EBAFDB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {ED24D0E3-BA79-4F6D-9A30-D05FF4EBAFDB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {ED24D0E3-BA79-4F6D-9A30-D05FF4EBAFDB}.Release|Any CPU.Build.0 = Release|Any CPU - {24D99DC2-DF18-45A3-B444-B60351F131DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {24D99DC2-DF18-45A3-B444-B60351F131DB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {24D99DC2-DF18-45A3-B444-B60351F131DB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {24D99DC2-DF18-45A3-B444-B60351F131DB}.Release|Any CPU.Build.0 = Release|Any CPU - {30177EF1-3980-4FFE-9B49-90B75DCEBDA3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {30177EF1-3980-4FFE-9B49-90B75DCEBDA3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {30177EF1-3980-4FFE-9B49-90B75DCEBDA3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {30177EF1-3980-4FFE-9B49-90B75DCEBDA3}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {F8E5EFC0-C74B-4C3C-BC22-7A5286A31DF6} = {67DA0DCC-75F4-4F30-91C3-309A48B13D49} - {2CBEE59D-07E4-460E-8B97-9267965D3F46} = {2EB71559-9BE4-4E02-9763-9092876D1E4A} - {ED24D0E3-BA79-4F6D-9A30-D05FF4EBAFDB} = {3DB2A5F4-23F6-4A06-9AE5-CEAC0707735B} - {24D99DC2-DF18-45A3-B444-B60351F131DB} = {67DA0DCC-75F4-4F30-91C3-309A48B13D49} - {30177EF1-3980-4FFE-9B49-90B75DCEBDA3} = {2EB71559-9BE4-4E02-9763-9092876D1E4A} - {699C5B9A-EA4B-4D25-B05D-16CA14320CFB} = {551D4715-5ECD-4CAB-8A4A-41E246F4A7B5} - {524F5156-C079-4AEF-822E-F01DAE6874AA} = {551D4715-5ECD-4CAB-8A4A-41E246F4A7B5} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {933E3470-7D09-4F22-A056-2407458B9600} - EndGlobalSection -EndGlobal + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31903.59 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{2EB71559-9BE4-4E02-9763-9092876D1E4A}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "sln", "sln", "{CE1B84FD-33DE-48E4-A97A-A4BDC34E08F0}" + ProjectSection(SolutionItems) = preProject + .gitignore = .gitignore + .github\workflows\build-and-test.yml = .github\workflows\build-and-test.yml + build.cmd = build.cmd + build.sh = build.sh + global.json = global.json + codeGenTestScript.fsx = codeGenTestScript.fsx + LICENSE = LICENSE + package.json = package.json + playground.fsx = playground.fsx + .github\workflows\publish-docs.yml = .github\workflows\publish-docs.yml + README.md = README.md + RELEASE_NOTES.md = RELEASE_NOTES.md + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{67DA0DCC-75F4-4F30-91C3-309A48B13D49}" +EndProject +Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "ControlledVocabulary", "src\ControlledVocabulary\ControlledVocabulary.fsproj", "{F8E5EFC0-C74B-4C3C-BC22-7A5286A31DF6}" +EndProject +Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "ControlledVocabulary.Tests", "tests\ControlledVocabulary.Tests\ControlledVocabulary.Tests.fsproj", "{2CBEE59D-07E4-460E-8B97-9267965D3F46}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{3DB2A5F4-23F6-4A06-9AE5-CEAC0707735B}" + ProjectSection(SolutionItems) = preProject + build.cmd = build.cmd + build.sh = build.sh + global.json = global.json + EndProjectSection +EndProject +Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Build", "build\Build.fsproj", "{ED24D0E3-BA79-4F6D-9A30-D05FF4EBAFDB}" +EndProject +Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "ARCTokenization", "src\ARCTokenization\ARCTokenization.fsproj", "{24D99DC2-DF18-45A3-B444-B60351F131DB}" +EndProject +Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "ARCTokenization.Tests", "tests\ARCTokenization.Tests\ARCTokenization.Tests.fsproj", "{30177EF1-3980-4FFE-9B49-90B75DCEBDA3}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{551D4715-5ECD-4CAB-8A4A-41E246F4A7B5}" + ProjectSection(SolutionItems) = preProject + docs\index.ipynb = docs\index.ipynb + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ARCTokenization", "ARCTokenization", "{699C5B9A-EA4B-4D25-B05D-16CA14320CFB}" + ProjectSection(SolutionItems) = preProject + docs\ARCTokenization\Introduction.ipynb = docs\ARCTokenization\Introduction.ipynb + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ControlledVocabulary", "ControlledVocabulary", "{524F5156-C079-4AEF-822E-F01DAE6874AA}" + ProjectSection(SolutionItems) = preProject + docs\ControlledVocabulary\CvParam.ipynb = docs\ControlledVocabulary\CvParam.ipynb + docs\ControlledVocabulary\Introduction.ipynb = docs\ControlledVocabulary\Introduction.ipynb + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".ci", ".ci", "{4805A6D8-8D85-48F5-8902-57CECF872AE6}" + ProjectSection(SolutionItems) = preProject + .github\workflows\build-and-test.yml = .github\workflows\build-and-test.yml + .github\workflows\publish-docs.yml = .github\workflows\publish-docs.yml + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {F8E5EFC0-C74B-4C3C-BC22-7A5286A31DF6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F8E5EFC0-C74B-4C3C-BC22-7A5286A31DF6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F8E5EFC0-C74B-4C3C-BC22-7A5286A31DF6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F8E5EFC0-C74B-4C3C-BC22-7A5286A31DF6}.Release|Any CPU.Build.0 = Release|Any CPU + {2CBEE59D-07E4-460E-8B97-9267965D3F46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2CBEE59D-07E4-460E-8B97-9267965D3F46}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2CBEE59D-07E4-460E-8B97-9267965D3F46}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2CBEE59D-07E4-460E-8B97-9267965D3F46}.Release|Any CPU.Build.0 = Release|Any CPU + {ED24D0E3-BA79-4F6D-9A30-D05FF4EBAFDB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {ED24D0E3-BA79-4F6D-9A30-D05FF4EBAFDB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ED24D0E3-BA79-4F6D-9A30-D05FF4EBAFDB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {ED24D0E3-BA79-4F6D-9A30-D05FF4EBAFDB}.Release|Any CPU.Build.0 = Release|Any CPU + {24D99DC2-DF18-45A3-B444-B60351F131DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {24D99DC2-DF18-45A3-B444-B60351F131DB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {24D99DC2-DF18-45A3-B444-B60351F131DB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {24D99DC2-DF18-45A3-B444-B60351F131DB}.Release|Any CPU.Build.0 = Release|Any CPU + {30177EF1-3980-4FFE-9B49-90B75DCEBDA3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {30177EF1-3980-4FFE-9B49-90B75DCEBDA3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {30177EF1-3980-4FFE-9B49-90B75DCEBDA3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {30177EF1-3980-4FFE-9B49-90B75DCEBDA3}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {F8E5EFC0-C74B-4C3C-BC22-7A5286A31DF6} = {67DA0DCC-75F4-4F30-91C3-309A48B13D49} + {2CBEE59D-07E4-460E-8B97-9267965D3F46} = {2EB71559-9BE4-4E02-9763-9092876D1E4A} + {ED24D0E3-BA79-4F6D-9A30-D05FF4EBAFDB} = {3DB2A5F4-23F6-4A06-9AE5-CEAC0707735B} + {24D99DC2-DF18-45A3-B444-B60351F131DB} = {67DA0DCC-75F4-4F30-91C3-309A48B13D49} + {30177EF1-3980-4FFE-9B49-90B75DCEBDA3} = {2EB71559-9BE4-4E02-9763-9092876D1E4A} + {699C5B9A-EA4B-4D25-B05D-16CA14320CFB} = {551D4715-5ECD-4CAB-8A4A-41E246F4A7B5} + {524F5156-C079-4AEF-822E-F01DAE6874AA} = {551D4715-5ECD-4CAB-8A4A-41E246F4A7B5} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {933E3470-7D09-4F22-A056-2407458B9600} + EndGlobalSection +EndGlobal diff --git a/build/BasicTasks.fs b/build/BasicTasks.fs index 0664a29..968412f 100644 --- a/build/BasicTasks.fs +++ b/build/BasicTasks.fs @@ -6,6 +6,8 @@ open Fake.DotNet open Fake.IO.Globbing.Operators open System.IO open Fake.IO +open ARCTokenization.StructuralOntology +open FSharpAux open ProjectInfo @@ -46,10 +48,21 @@ let buildOntologies = ) } +let buildSourceFiles = + BuildTask.create "BuildSourceFiles" [clean; buildOntologies] { + sourceFileSources + |> List.iter (fun sourceFileSource -> + let oboFilePath = (FileInfo sourceFileSource).DirectoryName + let oboFile = OBO.NET.OboOntology.fromFile false sourceFileSource + let modName = List.head oboFile.Terms |> CodeGeneration.toTermSourceRef + let sourceFilePath = Path.Combine(oboFilePath, $"{modName}.fs") + CodeGeneration.toFile modName oboFile sourceFilePath + ) + } /// builds the solution file (dotnet build solution.sln) let buildSolution = - BuildTask.create "BuildSolution" [ clean ; buildOntologies ] { + BuildTask.create "BuildSolution" [ clean ; buildOntologies; buildSourceFiles ] { solutionFile |> DotNet.build (fun p -> let msBuildParams = @@ -76,7 +89,7 @@ let buildSolution = /// - AssemblyInformationalVersion /// /// - warnon:3390 for xml doc formatting warnings on compilation -let build = BuildTask.create "Build" [clean; buildOntologies] { +let build = BuildTask.create "Build" [clean; buildOntologies; buildSourceFiles] { projects |> List.iter (fun pInfo -> let proj = pInfo.ProjFile diff --git a/build/Build.fsproj b/build/Build.fsproj index 8c83a51..3c811b8 100644 --- a/build/Build.fsproj +++ b/build/Build.fsproj @@ -19,6 +19,7 @@ + diff --git a/build/ProjectInfo.fs b/build/ProjectInfo.fs index 7d7d9bf..e701e48 100644 --- a/build/ProjectInfo.fs +++ b/build/ProjectInfo.fs @@ -80,6 +80,14 @@ let structuralOntologySources = [ "src/ARCTokenization/structural_ontologies/arc_file_structure_ontology.yml" ] +let sourceFileSources = [ + "src/ARCTokenization/structural_ontologies/investigation_metadata_structural_ontology.obo" + "src/ARCTokenization/structural_ontologies/study_metadata_structural_ontology.obo" + "src/ARCTokenization/structural_ontologies/assay_metadata_structural_ontology.obo" + "src/ARCTokenization/structural_ontologies/arc_process_graph_structural_ontology.obo" + "src/ARCTokenization/structural_ontologies/arc_file_structure_ontology.obo" +] + let solutionFile = $"{project}.sln" let configuration = "Release" diff --git a/codeGenTestScript.fsx b/codeGenTestScript.fsx new file mode 100644 index 0000000..79fe6d7 --- /dev/null +++ b/codeGenTestScript.fsx @@ -0,0 +1,42 @@ +#I "src/ControlledVocabulary/bin/Debug/netstandard2.0" +#I "src/ControlledVocabulary/bin/Release/netstandard2.0" +#r "ControlledVocabulary.dll" +#I "src/ARCTokenization/bin/Debug/netstandard2.0" +#I "src/ARCTokenization/bin/Release/netstandard2.0" +#r "ARCTokenization.dll" + +#r "nuget: OBO.NET" +#r "nuget: FSharpAux" + + +open ControlledVocabulary +open ARCTokenization +open OBO.NET +open FSharpAux + + +[] +let baseString = """module INVSMO = + +""" + +let onto = OboOntology.fromFile false @"C:\Repos\nfdi4plants\ARCTokenization\src\ARCTokenization\structural_ontologies\investigation_metadata_structural_ontology.obo" + +let toUnderscoredName (term : OboTerm) = + term.Name + |> String.replace " " "_" + +let toTermSourceRef (term : OboTerm) = + term.Id + |> String.takeWhile ((<>) ':') + +let toCodeString (term : OboTerm) = + $" let {toUnderscoredName term} = CvTerm.create(\"{term.Id}\", \"{term.Name}\", \"{toTermSourceRef term}\"){System.Environment.NewLine}{System.Environment.NewLine}" + +toCodeString onto.Terms.Head + +let toSourceCode (onto : OboOntology) = + let concattedSingleValues = String.init onto.Terms.Length (fun i -> $"{toCodeString onto.Terms[i]}") + $"{baseString}{concattedSingleValues}" + +toSourceCode onto \ No newline at end of file diff --git a/playground.fsx b/playground.fsx index 88c9057..062c94d 100644 --- a/playground.fsx +++ b/playground.fsx @@ -1,4 +1,5 @@ #r "nuget: FSharpAux" +//#r "nuget: FsOboParser" #r "nuget: OBO.NET" #r "nuget: FsSpreadsheet.ExcelIO, 4.1.0" @@ -11,7 +12,9 @@ open FsSpreadsheet open FsSpreadsheet.ExcelIO +//open FsOboParser open OBO.NET +//open FsSpreadsheet.DSL open ControlledVocabulary open type ControlledVocabulary.ParamBase open ARCTokenization @@ -47,6 +50,12 @@ let its = Investigation.parseMetadataSheetsFromTokens() afts + +let ot = List.head Terms.InvestigationMetadata.ontology.Terms + +ARCTokenization.StructuralOntology.CodeGeneration.toCodeString ot +CodeGeneration.toSourceCode "Investigation" Terms.InvestigationMetadata.ontology + System.IO.Directory.GetCurrentDirectory() let fakePath = CvParam(cvTerm = AFSO.``File Path``, v = System.IO.Directory.GetCurrentDirectory() + "/tests/ARCTokenization.Tests/Fixtures/correct/investigation_simple.xlsx") @@ -124,7 +133,7 @@ let expectedTermValuesSimple = [""] [""] [""] - [""; "Maus"; "Keider"; "müller"; "oih"] + [""; "Maus"; "Keider"; "müller"; "oih"] [""; "Oliver"; "andreas"] [""; "L. I."; "C."] [""; "maus@nfdi4plants.org"] diff --git a/src/ARCTokenization/ARCTokenization.fsproj b/src/ARCTokenization/ARCTokenization.fsproj index 5746aac..26f9b87 100644 --- a/src/ARCTokenization/ARCTokenization.fsproj +++ b/src/ARCTokenization/ARCTokenization.fsproj @@ -18,6 +18,7 @@ + diff --git a/src/ARCTokenization/FileSystem.fs b/src/ARCTokenization/FileSystem.fs index fb96869..1f95dfd 100644 --- a/src/ARCTokenization/FileSystem.fs +++ b/src/ARCTokenization/FileSystem.fs @@ -19,7 +19,7 @@ module internal FS = for dir in Directory.EnumerateDirectories(rootPath, "*", SearchOption.AllDirectories) do let currentUri = System.Uri(dir) yield CvParam( - cvTerm = AFSO.``Directory Path``, + cvTerm = AFSO.Directory_Path, v = root.MakeRelativeUri(currentUri).ToString() ) } @@ -28,7 +28,7 @@ module internal FS = seq { for dir in Directory.EnumerateDirectories(rootPath, "*", SearchOption.AllDirectories) do yield CvParam( - cvTerm = AFSO.``Directory Path``, + cvTerm = AFSO.Directory_Path, v = dir.Replace("\\","/") ) } @@ -40,7 +40,7 @@ module internal FS = for file in Directory.EnumerateFiles(rootPath, "*", SearchOption.AllDirectories) do let currentFileUri = System.Uri(file) yield CvParam( - cvTerm = AFSO.``File Path``, + cvTerm = AFSO.File_Path, v = root.MakeRelativeUri(currentFileUri).ToString() ) } @@ -49,7 +49,7 @@ module internal FS = seq { for file in Directory.EnumerateFiles(rootPath, "*", SearchOption.AllDirectories) do yield CvParam( - cvTerm = AFSO.``File Path``, + cvTerm = AFSO.File_Path, v = file.Replace("\\","/") ) } diff --git a/src/ARCTokenization/Tokenization.fs b/src/ARCTokenization/Tokenization.fs index 53fa0da..299a937 100644 --- a/src/ARCTokenization/Tokenization.fs +++ b/src/ARCTokenization/Tokenization.fs @@ -58,73 +58,73 @@ module Tokenization = let asCvTerm (io: IOType) = match io with - | IOType.Source -> StructuralOntology.APGSO.IOType.Source - | IOType.Sample -> StructuralOntology.APGSO.IOType.Sample - | IOType.RawDataFile -> StructuralOntology.APGSO.IOType.RawDataFile - | IOType.DerivedDataFile -> StructuralOntology.APGSO.IOType.DerivedDataFile - | IOType.ImageFile -> StructuralOntology.APGSO.IOType.ImageFile - | IOType.Material -> StructuralOntology.APGSO.IOType.Material + | IOType.Source -> StructuralOntology.APGSO.Source + | IOType.Sample -> StructuralOntology.APGSO.Sample + | IOType.RawDataFile -> StructuralOntology.APGSO.RawDataFile + | IOType.DerivedDataFile -> StructuralOntology.APGSO.DerivedDataFile + | IOType.ImageFile -> StructuralOntology.APGSO.ImageFile + | IOType.Material -> StructuralOntology.APGSO.Material | IOType.FreeText s -> CvTerm.create (accession = "", name = s, ref = "") module CompositeHeader = let toCvTerm(ch: CompositeHeader) = match ch with - | CompositeHeader.Characteristic _ -> StructuralOntology.APGSO.``Process Graph Header``.Characteristic - | CompositeHeader.Factor _ -> StructuralOntology.APGSO.``Process Graph Header``.Factor - | CompositeHeader.Parameter _ -> StructuralOntology.APGSO.``Process Graph Header``.Parameter - | CompositeHeader.Component _ -> StructuralOntology.APGSO.``Process Graph Header``.Component - | CompositeHeader.ProtocolType -> StructuralOntology.APGSO.``Process Graph Header``.ProtocolType - | CompositeHeader.ProtocolDescription -> StructuralOntology.APGSO.``Process Graph Header``.ProtocolDescription - | CompositeHeader.ProtocolUri -> StructuralOntology.APGSO.``Process Graph Header``.ProtocolUri - | CompositeHeader.ProtocolVersion -> StructuralOntology.APGSO.``Process Graph Header``.ProtocolVersion - | CompositeHeader.ProtocolREF -> StructuralOntology.APGSO.``Process Graph Header``.ProtocolREF - | CompositeHeader.Performer -> StructuralOntology.APGSO.``Process Graph Header``.Performer - | CompositeHeader.Date -> StructuralOntology.APGSO.``Process Graph Header``.Date - | CompositeHeader.Input _ -> StructuralOntology.APGSO.``Process Graph Header``.Input - | CompositeHeader.Output _ -> StructuralOntology.APGSO.``Process Graph Header``.Output + | CompositeHeader.Characteristic _ -> StructuralOntology.APGSO.Characteristic + | CompositeHeader.Factor _ -> StructuralOntology.APGSO.Factor + | CompositeHeader.Parameter _ -> StructuralOntology.APGSO.Parameter + | CompositeHeader.Component _ -> StructuralOntology.APGSO.Component + | CompositeHeader.ProtocolType -> StructuralOntology.APGSO.ProtocolType + | CompositeHeader.ProtocolDescription -> StructuralOntology.APGSO.ProtocolDescription + | CompositeHeader.ProtocolUri -> StructuralOntology.APGSO.ProtocolUri + | CompositeHeader.ProtocolVersion -> StructuralOntology.APGSO.ProtocolVersion + | CompositeHeader.ProtocolREF -> StructuralOntology.APGSO.ProtocolREF + | CompositeHeader.Performer -> StructuralOntology.APGSO.Performer + | CompositeHeader.Date -> StructuralOntology.APGSO.Date + | CompositeHeader.Input _ -> StructuralOntology.APGSO.Input + | CompositeHeader.Output _ -> StructuralOntology.APGSO.Output | CompositeHeader.FreeText _ -> StructuralOntology.APGSO.FreeText let toHeaderParam (ch: CompositeHeader) : IParam = match ch with | CompositeHeader.Characteristic term -> - CvParam(StructuralOntology.APGSO.``Process Graph Header``.Characteristic, ParamValue.CvValue (OntologyAnnotation.asCvTerm term)) + CvParam(StructuralOntology.APGSO.Characteristic, ParamValue.CvValue (OntologyAnnotation.asCvTerm term)) | CompositeHeader.Factor term -> - CvParam(StructuralOntology.APGSO.``Process Graph Header``.Factor, ParamValue.CvValue (OntologyAnnotation.asCvTerm term)) + CvParam(StructuralOntology.APGSO.Factor, ParamValue.CvValue (OntologyAnnotation.asCvTerm term)) | CompositeHeader.Parameter term -> - CvParam(StructuralOntology.APGSO.``Process Graph Header``.Parameter, ParamValue.CvValue (OntologyAnnotation.asCvTerm term)) + CvParam(StructuralOntology.APGSO.Parameter, ParamValue.CvValue (OntologyAnnotation.asCvTerm term)) | CompositeHeader.Component term -> - CvParam(StructuralOntology.APGSO.``Process Graph Header``.Component, ParamValue.CvValue (OntologyAnnotation.asCvTerm term)) + CvParam(StructuralOntology.APGSO.Component, ParamValue.CvValue (OntologyAnnotation.asCvTerm term)) | CompositeHeader.ProtocolType -> - CvParam(StructuralOntology.APGSO.``Process Graph Header``.ProtocolType, ParamValue.Value "") + CvParam(StructuralOntology.APGSO.ProtocolType, ParamValue.Value "") | CompositeHeader.ProtocolDescription -> - CvParam(StructuralOntology.APGSO.``Process Graph Header``.ProtocolDescription, ParamValue.Value "") + CvParam(StructuralOntology.APGSO.ProtocolDescription, ParamValue.Value "") | CompositeHeader.ProtocolUri -> - CvParam(StructuralOntology.APGSO.``Process Graph Header``.ProtocolUri, ParamValue.Value "") + CvParam(StructuralOntology.APGSO.ProtocolUri, ParamValue.Value "") | CompositeHeader.ProtocolVersion -> - CvParam(StructuralOntology.APGSO.``Process Graph Header``.ProtocolVersion, ParamValue.Value "") + CvParam(StructuralOntology.APGSO.ProtocolVersion, ParamValue.Value "") | CompositeHeader.ProtocolREF -> - CvParam(StructuralOntology.APGSO.``Process Graph Header``.ProtocolREF, ParamValue.Value "") + CvParam(StructuralOntology.APGSO.ProtocolREF, ParamValue.Value "") | CompositeHeader.Performer -> - CvParam(StructuralOntology.APGSO.``Process Graph Header``.Performer, ParamValue.Value "") + CvParam(StructuralOntology.APGSO.Performer, ParamValue.Value "") | CompositeHeader.Date -> - CvParam(StructuralOntology.APGSO.``Process Graph Header``.Date, ParamValue.Value "") + CvParam(StructuralOntology.APGSO.Date, ParamValue.Value "") | CompositeHeader.Input io -> - CvParam(StructuralOntology.APGSO.``Process Graph Header``.Input, ParamValue.CvValue (IOType.asCvTerm io)) + CvParam(StructuralOntology.APGSO.Input, ParamValue.CvValue (IOType.asCvTerm io)) | CompositeHeader.Output io -> - CvParam(StructuralOntology.APGSO.``Process Graph Header``.Output, ParamValue.CvValue (IOType.asCvTerm io)) + CvParam(StructuralOntology.APGSO.Output, ParamValue.CvValue (IOType.asCvTerm io)) | CompositeHeader.FreeText f -> UserParam(f, ParamValue.CvValue StructuralOntology.APGSO.FreeText) @@ -172,24 +172,24 @@ module Tokenization = match pType with | PType.Directory -> match (relativePath.Split '/') with - | [|Path.StudiesFolderName|] -> StructuralOntology.AFSO.``Studies Directory`` |> fun t -> CvParam(t,relativePath) - | [|Path.StudiesFolderName; _|] -> StructuralOntology.AFSO.``Study Directory`` |> fun t -> CvParam(t,relativePath) - | [|Path.AssaysFolderName|] -> StructuralOntology.AFSO.``Assays Directory`` |> fun t -> CvParam(t,relativePath) - | [|Path.AssaysFolderName; _|] -> StructuralOntology.AFSO.``Assay Directory`` |> fun t -> CvParam(t,relativePath) - | [|Path.RunsFolderName|] -> StructuralOntology.AFSO.``Runs Directory`` |> fun t -> CvParam(t,relativePath) - | [|Path.RunsFolderName; _|] -> StructuralOntology.AFSO.``Run Directory`` |> fun t -> CvParam(t,relativePath) - | [|Path.WorkflowsFolderName|] -> StructuralOntology.AFSO.``Workflows Directory`` |> fun t -> CvParam(t,relativePath) - | [|Path.WorkflowsFolderName; _|] -> StructuralOntology.AFSO.``Workflow Directory`` |> fun t -> CvParam(t,relativePath) - | _ -> StructuralOntology.AFSO.``Directory Path`` |> fun t -> CvParam(t,relativePath) + | [|Path.StudiesFolderName|] -> StructuralOntology.AFSO.Studies_Directory |> fun t -> CvParam(t,relativePath) + | [|Path.StudiesFolderName; _|] -> StructuralOntology.AFSO.Study_Directory |> fun t -> CvParam(t,relativePath) + | [|Path.AssaysFolderName|] -> StructuralOntology.AFSO.Assays_Directory |> fun t -> CvParam(t,relativePath) + | [|Path.AssaysFolderName; _|] -> StructuralOntology.AFSO.Assay_Directory |> fun t -> CvParam(t,relativePath) + | [|Path.RunsFolderName|] -> StructuralOntology.AFSO.Runs_Directory |> fun t -> CvParam(t,relativePath) + | [|Path.RunsFolderName; _|] -> StructuralOntology.AFSO.Run_Directory |> fun t -> CvParam(t,relativePath) + | [|Path.WorkflowsFolderName|] -> StructuralOntology.AFSO.Workflows_Directory |> fun t -> CvParam(t,relativePath) + | [|Path.WorkflowsFolderName; _|] -> StructuralOntology.AFSO.Workflow_Directory |> fun t -> CvParam(t,relativePath) + | _ -> StructuralOntology.AFSO.Directory_Path |> fun t -> CvParam(t,relativePath) | PType.File -> match relativePath with - | _ when relativePath.EndsWith "isa.investigation.xlsx" -> StructuralOntology.AFSO.``Investigation File`` |> fun t -> CvParam(t,relativePath) - | _ when relativePath.EndsWith "isa.assay.xlsx" -> StructuralOntology.AFSO.``Assay File`` |> fun t -> CvParam(t,relativePath) - | _ when relativePath.EndsWith "isa.dataset.xlsx" -> StructuralOntology.AFSO.``Dataset File`` |> fun t -> CvParam(t,relativePath) - | _ when relativePath.EndsWith "isa.study.xlsx" -> StructuralOntology.AFSO.``Study File`` |> fun t -> CvParam(t,relativePath) - | _ when relativePath.EndsWith ".yml" -> StructuralOntology.AFSO.``YML File`` |> fun t -> CvParam(t,relativePath) - | _ when relativePath.EndsWith ".cwl" -> StructuralOntology.AFSO.``CWL File`` |> fun t -> CvParam(t,relativePath) - | _ -> StructuralOntology.AFSO.``File Path`` |> fun t -> CvParam(t,relativePath) + | _ when relativePath.EndsWith "isa.investigation.xlsx" -> StructuralOntology.AFSO.Investigation_File |> fun t -> CvParam(t,relativePath) + | _ when relativePath.EndsWith "isa.assay.xlsx" -> StructuralOntology.AFSO.Assay_File |> fun t -> CvParam(t,relativePath) + | _ when relativePath.EndsWith "isa.dataset.xlsx" -> StructuralOntology.AFSO.Dataset_File |> fun t -> CvParam(t,relativePath) + | _ when relativePath.EndsWith "isa.study.xlsx" -> StructuralOntology.AFSO.Study_File |> fun t -> CvParam(t,relativePath) + | _ when relativePath.EndsWith ".yml" -> StructuralOntology.AFSO.YML_File |> fun t -> CvParam(t,relativePath) + | _ when relativePath.EndsWith ".cwl" -> StructuralOntology.AFSO.CWL_File |> fun t -> CvParam(t,relativePath) + | _ -> StructuralOntology.AFSO.File_Path |> fun t -> CvParam(t,relativePath) /// Gets CvParams based on the root path, file system type, and full path let getArcFileSystemTokens (rootPath:string) (pType:PType) (path:string) = diff --git a/src/ARCTokenization/TopLevelParsers.fs b/src/ARCTokenization/TopLevelParsers.fs index a8802b2..03d1947 100644 --- a/src/ARCTokenization/TopLevelParsers.fs +++ b/src/ARCTokenization/TopLevelParsers.fs @@ -150,7 +150,7 @@ type Investigation = static member tryParseMetadataSheetFromToken( ?UseLastSheetOnIncorrectName: bool ) = - let fileToken = StructuralOntology.AFSO.``Investigation File`` + let fileToken = StructuralOntology.AFSO.Investigation_File fun (rootPath:string) (token: #IParam) -> ISA.tryParseMetadataSheetFromToken @@ -170,7 +170,7 @@ type Investigation = static member parseMetadataSheetsFromTokens( ?UseLastSheetOnIncorrectName: bool ) = - let fileToken = StructuralOntology.AFSO.``Investigation File`` + let fileToken = StructuralOntology.AFSO.Investigation_File fun (rootPath:string) (tokens: #seq<#IParam>) -> ISA.parseMetadataSheetsFromTokens @@ -219,7 +219,7 @@ type Study = ?UseLastSheetOnIncorrectName: bool ) = - let fileToken = StructuralOntology.AFSO.``Study File`` + let fileToken = StructuralOntology.AFSO.Study_File fun (rootPath:string) (token: #IParam) -> ISA.tryParseMetadataSheetFromToken @@ -239,7 +239,7 @@ type Study = static member parseMetadataSheetsFromTokens( ?UseLastSheetOnIncorrectName: bool ) = - let fileToken = StructuralOntology.AFSO.``Study File`` + let fileToken = StructuralOntology.AFSO.Study_File fun (rootPath:string) (tokens: #seq<#IParam>) -> ISA.parseMetadataSheetsFromTokens @@ -291,7 +291,7 @@ type Study = /// A seq of IParams that may contain relevant tokens /// A Seq of maps of string * `IParam` 2D list representing the individual parts of the process graph static member parseProcessGraphColumnsFromTokens (rootPath:string) (relFileTokens: #IParam seq) = - ISA.parseProcessGraphColumnsFromTokens rootPath (StructuralOntology.AFSO.``Study File``) relFileTokens + ISA.parseProcessGraphColumnsFromTokens rootPath (StructuralOntology.AFSO.Study_File) relFileTokens type Assay = @@ -331,7 +331,7 @@ type Assay = static member tryParseMetadataSheetFromToken( ?UseLastSheetOnIncorrectName: bool ) = - let fileToken = StructuralOntology.AFSO.``Assay File`` + let fileToken = StructuralOntology.AFSO.Assay_File fun (rootPath:string) (token: #IParam) -> ISA.tryParseMetadataSheetFromToken @@ -351,7 +351,7 @@ type Assay = static member parseMetadataSheetsFromTokens( ?UseLastSheetOnIncorrectName: bool ) = - let fileToken = StructuralOntology.AFSO.``Assay File`` + let fileToken = StructuralOntology.AFSO.Assay_File fun (rootPath:string) (tokens: #seq<#IParam>) -> ISA.parseMetadataSheetsFromTokens @@ -402,4 +402,4 @@ type Assay = /// A seq of IParams that may contain relevant tokens /// A Seq of maps of string * `IParam` 2D list representing the individual parts of the process graph static member parseProcessGraphColumnsFromTokens (rootPath:string) (relFileTokens: #IParam seq) = - ISA.parseProcessGraphColumnsFromTokens rootPath (StructuralOntology.AFSO.``Assay File``) relFileTokens + ISA.parseProcessGraphColumnsFromTokens rootPath (StructuralOntology.AFSO.Assay_File) relFileTokens diff --git a/src/ARCTokenization/structural_ontologies/AFSO.fs b/src/ARCTokenization/structural_ontologies/AFSO.fs index 4ed992a..9d2acd7 100644 --- a/src/ARCTokenization/structural_ontologies/AFSO.fs +++ b/src/ARCTokenization/structural_ontologies/AFSO.fs @@ -1,50 +1,54 @@ - -// This file should eventually be auto-generated from the respective obo files, to have a safe way of updating it from the same source. -// For now, it is manually created and updated. It is not complete, just a collectAFSOn of terms needed for baseline WIP validatAFSOn - -namespace ARCTokenization.StructuralOntology - -open ControlledVocabulary - -module AFSO = - - let ``File`` = CvTerm.create("AFSO:00000001","File","AFSO") - let ``Directory`` = CvTerm.create("AFSO:00000002","Directory","AFSO") - let ``File Type`` = CvTerm.create("AFSO:00000003","File Type","AFSO") - let ``Extension`` = CvTerm.create("AFSO:00000004","Extension","AFSO") - - /// The name of the file. - let ``File Name`` = CvTerm.create("AFSO:00000005","File Name","AFSO") - let ``Directory Name`` = CvTerm.create("AFSO:00000006","Directory Name","AFSO") - - /// The full path of the directory or file. - let ``Full Name`` = CvTerm.create("AFSO:00000007","Full Name","AFSO") - - /// The full path, relative path or a Universal Naming ConventAFSOn (UNC) path - let ``Path`` = CvTerm.create("AFSO:00000008","Path","AFSO") - let ``File Path`` = CvTerm.create("AFSO:00000009","File Path","AFSO") - let ``Directory Path`` = CvTerm.create("AFSO:00000010","Directory Path","AFSO") - - // Top level Directories - let ``Studies Directory`` = CvTerm.create("AFSO:00000011","Studies Directory","AFSO") - let ``Assays Directory`` = CvTerm.create("AFSO:00000012","Assays Directory","AFSO") - let ``Runs Directory`` = CvTerm.create("AFSO:00000013","Runs Directory","AFSO") - let ``Workflows Directory`` = CvTerm.create("AFSO:00000014","Workflows Directory","AFSO") - - // Sub level folders - let ``Study Directory`` = CvTerm.create("AFSO:00000015","Study Directory","AFSO") - let ``Assay Directory`` = CvTerm.create("AFSO:00000016","Assay Directory","AFSO") - let ``Run Directory`` = CvTerm.create("AFSO:00000017","Run Directory","AFSO") - let ``Workflow Directory`` = CvTerm.create("AFSO:00000018","Workflow Directory","AFSO") - - - // Isa FileTypes - let ``Investigation File`` = CvTerm.create("AFSO:00000019","Investigation File","AFSO") - let ``Study File`` = CvTerm.create("AFSO:00000020","Study File","AFSO") - let ``Assay File`` = CvTerm.create("AFSO:00000021","Assay File","AFSO") - let ``Dataset File`` = CvTerm.create("AFSO:00000022","Dataset File","AFSO") - - // Additional FileTypes - let ``CWL File`` = CvTerm.create("AFSO:00000023","CWL File","AFSO") - let ``YML File`` = CvTerm.create("AFSO:00000024","YML File","AFSO") - \ No newline at end of file +namespace ARCTokenization.StructuralOntology + + open ControlledVocabulary + + module AFSO = + + let File = CvTerm.create("AFSO:00000001", "File", "AFSO") + + let Directory = CvTerm.create("AFSO:00000002", "Directory", "AFSO") + + let File_Type = CvTerm.create("AFSO:00000003", "File Type", "AFSO") + + let Extension = CvTerm.create("AFSO:00000004", "Extension", "AFSO") + + let File_Name = CvTerm.create("AFSO:00000005", "File Name", "AFSO") + + let Directory_Name = CvTerm.create("AFSO:00000006", "Directory Name", "AFSO") + + let Full_Name = CvTerm.create("AFSO:00000007", "Full Name", "AFSO") + + let Path = CvTerm.create("AFSO:00000008", "Path", "AFSO") + + let File_Path = CvTerm.create("AFSO:00000009", "File Path", "AFSO") + + let Directory_Path = CvTerm.create("AFSO:00000010", "Directory Path", "AFSO") + + let Studies_Directory = CvTerm.create("AFSO:00000011", "Studies Directory", "AFSO") + + let Assays_Directory = CvTerm.create("AFSO:00000012", "Assays Directory", "AFSO") + + let Runs_Directory = CvTerm.create("AFSO:00000013", "Runs Directory", "AFSO") + + let Workflows_Directory = CvTerm.create("AFSO:00000014", "Workflows Directory", "AFSO") + + let Study_Directory = CvTerm.create("AFSO:00000015", "Study Directory", "AFSO") + + let Assay_Directory = CvTerm.create("AFSO:00000016", "Assay Directory", "AFSO") + + let Run_Directory = CvTerm.create("AFSO:00000017", "Run Directory", "AFSO") + + let Workflow_Directory = CvTerm.create("AFSO:00000018", "Workflow Directory", "AFSO") + + let Investigation_File = CvTerm.create("AFSO:00000019", "Investigation File", "AFSO") + + let Study_File = CvTerm.create("AFSO:00000020", "Study File", "AFSO") + + let Assay_File = CvTerm.create("AFSO:00000021", "Assay File", "AFSO") + + let Dataset_File = CvTerm.create("AFSO:00000022", "Dataset File", "AFSO") + + let CWL_File = CvTerm.create("AFSO:00000023", "CWL File", "AFSO") + + let YML_File = CvTerm.create("AFSO:00000024", "YML File", "AFSO") + diff --git a/src/ARCTokenization/structural_ontologies/APGSO.fs b/src/ARCTokenization/structural_ontologies/APGSO.fs index 06702a7..2b7e95d 100644 --- a/src/ARCTokenization/structural_ontologies/APGSO.fs +++ b/src/ARCTokenization/structural_ontologies/APGSO.fs @@ -1,42 +1,50 @@ -// This file should eventually be auto-generated from the respective obo files, to have a safe way of updating it from the same source. -// For now, it is manually created and updated. It is not complete, just a collectAFSOn of terms needed for baseline WIP validatAFSOn - -namespace ARCTokenization.StructuralOntology - -open ControlledVocabulary - -module APGSO = - - let FreeText = CvTerm.create(accession = "APGSO:00000022", name = "FreeText", ref = "APGSO") - - module ``Process Graph Header`` = - - let key = CvTerm.create(accession = "APGSO:00000001", name = "Process Graph Header", ref = "APGSO") - - let Characteristic = CvTerm.create(accession = "APGSO:00000002", name = "Characteristic", ref = "APGSO") - let Factor = CvTerm.create(accession = "APGSO:00000003", name = "Factor", ref = "APGSO") - let Parameter = CvTerm.create(accession = "APGSO:00000004", name = "Parameter", ref = "APGSO") - let Component = CvTerm.create(accession = "APGSO:00000005", name = "Component", ref = "APGSO") - let ProtocolType = CvTerm.create(accession = "APGSO:00000006", name = "ProtocolType", ref = "APGSO") - let ProtocolDescription = CvTerm.create(accession = "APGSO:00000007", name = "ProtocolDescription", ref = "APGSO") - let ProtocolUri = CvTerm.create(accession = "APGSO:00000008", name = "ProtocolUri", ref = "APGSO") - let ProtocolVersion = CvTerm.create(accession = "APGSO:00000009", name = "ProtocolVersion", ref = "APGSO") - let ProtocolREF = CvTerm.create(accession = "APGSO:00000010", name = "ProtocolREF", ref = "APGSO") - let Performer = CvTerm.create(accession = "APGSO:00000011", name = "Performer", ref = "APGSO") - let Date = CvTerm.create(accession = "APGSO:00000012", name = "Date", ref = "APGSO") - let Input = CvTerm.create(accession = "APGSO:00000013", name = "Input", ref = "APGSO") - let Output = CvTerm.create(accession = "APGSO:00000014", name = "Output", ref = "APGSO") - - module IOType = - - let key = CvTerm.create(accession = "APGSO:00000016", name = "IOType", ref = "APGSO") - - let Source = CvTerm.create(accession = "APGSO:00000016", name = "Source", ref = "APGSO") - let Sample = CvTerm.create(accession = "APGSO:00000017", name = "Sample", ref = "APGSO") - let RawDataFile = CvTerm.create(accession = "APGSO:00000018", name = "RawDataFile", ref = "APGSO") - let DerivedDataFile = CvTerm.create(accession = "APGSO:00000019", name = "DerivedDataFile", ref = "APGSO") - let ImageFile = CvTerm.create(accession = "APGSO:00000020", name = "ImageFile", ref = "APGSO") - let Material = CvTerm.create(accession = "APGSO:00000021", name = "Material", ref = "APGSO") - - - +namespace ARCTokenization.StructuralOntology + + open ControlledVocabulary + + module APGSO = + + let Process_Graph_Header = CvTerm.create("APGSO:00000001", "Process Graph Header", "APGSO") + + let Characteristic = CvTerm.create("APGSO:00000002", "Characteristic", "APGSO") + + let Factor = CvTerm.create("APGSO:00000003", "Factor", "APGSO") + + let Parameter = CvTerm.create("APGSO:00000004", "Parameter", "APGSO") + + let Component = CvTerm.create("APGSO:00000005", "Component", "APGSO") + + let ProtocolType = CvTerm.create("APGSO:00000006", "ProtocolType", "APGSO") + + let ProtocolDescription = CvTerm.create("APGSO:00000007", "ProtocolDescription", "APGSO") + + let ProtocolUri = CvTerm.create("APGSO:00000008", "ProtocolUri", "APGSO") + + let ProtocolVersion = CvTerm.create("APGSO:00000009", "ProtocolVersion", "APGSO") + + let ProtocolREF = CvTerm.create("APGSO:00000010", "ProtocolREF", "APGSO") + + let Performer = CvTerm.create("APGSO:00000011", "Performer", "APGSO") + + let Date = CvTerm.create("APGSO:00000012", "Date", "APGSO") + + let Input = CvTerm.create("APGSO:00000013", "Input", "APGSO") + + let Output = CvTerm.create("APGSO:00000014", "Output", "APGSO") + + let IOType = CvTerm.create("APGSO:00000015", "IOType", "APGSO") + + let Source = CvTerm.create("APGSO:00000016", "Source", "APGSO") + + let Sample = CvTerm.create("APGSO:00000017", "Sample", "APGSO") + + let RawDataFile = CvTerm.create("APGSO:00000018", "RawDataFile", "APGSO") + + let DerivedDataFile = CvTerm.create("APGSO:00000019", "DerivedDataFile", "APGSO") + + let ImageFile = CvTerm.create("APGSO:00000020", "ImageFile", "APGSO") + + let Material = CvTerm.create("APGSO:00000021", "Material", "APGSO") + + let FreeText = CvTerm.create("APGSO:00000022", "FreeText", "APGSO") + diff --git a/src/ARCTokenization/structural_ontologies/ASSMSO.fs b/src/ARCTokenization/structural_ontologies/ASSMSO.fs index 06ae604..ed52979 100644 --- a/src/ARCTokenization/structural_ontologies/ASSMSO.fs +++ b/src/ARCTokenization/structural_ontologies/ASSMSO.fs @@ -1,32 +1,90 @@ - -// This file should eventually be auto-generated from the respective obo files, to have a safe way of updating it from the same source. -// For now, it is manually created and updated. It is not complete, just a collection of terms needed for baseline WIP validation - -namespace ARCTokenization.StructuralOntology - -open ControlledVocabulary - -module ASSMSO = - - module ``Assay Metadata`` = - let key = CvTerm.create("ASSMSO:00000001","Assay Metadata","ASSMSO") - - module ``ASSAY`` = - let key = CvTerm.create("ASSMSO:00000002","ASSAY","ASSMSO") - - let ``Assay File Name`` = CvTerm.create("ASSMSO:00000019","Assay File Name","ASSMSO") - - module ``ASSAY PERFORMERS`` = - let key = CvTerm.create("ASSMSO:00000020","ASSAY PERFORMERS","ASSMSO") - - let ``Assay Performer Last Name`` = CvTerm.create("ASSMSO:00000021","Assay Performer Last Name","ASSMSO") - let ``Assay Performer First Name`` = CvTerm.create("ASSMSO:00000023","Assay Performer First Name","ASSMSO") - let ``Assay Performer Mid Initials`` = CvTerm.create("ASSMSO:00000025","Assay Performer Mid Initials","ASSMSO") - let ``Assay Performer Email`` = CvTerm.create("ASSMSO:00000027","Assay Performer Email","ASSMSO") - let ``Assay Performer Phone`` = CvTerm.create("ASSMSO:00000029","Assay Performer Phone","ASSMSO") - let ``Assay Performer Fax`` = CvTerm.create("ASSMSO:00000031","Assay Performer Fax","ASSMSO") - let ``Assay Performer Address`` = CvTerm.create("ASSMSO:00000033","Assay Performer Address","ASSMSO") - let ``Assay Performer Affiliation`` = CvTerm.create("ASSMSO:00000035","Assay Performer Affiliation","ASSMSO") - let ``Assay Performer Roles`` = CvTerm.create("ASSMSO:00000037","Assay Performer Roles","ASSMSO") - let ``Assay Performer Roles Term Accession Number`` = CvTerm.create("ASSMSO:00000039","Assay Performer Roles Term Accession Number","ASSMSO") - let ``Assay Performer Roles Term Source REF`` = CvTerm.create("ASSMSO:00000041","Assay Performer Roles Term Source REF","ASSMSO") +namespace ARCTokenization.StructuralOntology + + open ControlledVocabulary + + module ASSMSO = + + let Assay_Metadata = CvTerm.create("ASSMSO:00000001", "Assay Metadata", "ASSMSO") + + let ASSAY = CvTerm.create("ASSMSO:00000002", "ASSAY", "ASSMSO") + + let ASSAY_METADATA = CvTerm.create("ASSMSO:00000003", "ASSAY METADATA", "ASSMSO") + + let Assay_Measurement_Type = CvTerm.create("ASSMSO:00000004", "Assay Measurement Type", "ASSMSO") + + let Measurement_Type = CvTerm.create("ASSMSO:00000005", "Measurement Type", "ASSMSO") + + let Assay_Measurement_Type_Term_Accession_Number = CvTerm.create("ASSMSO:00000006", "Assay Measurement Type Term Accession Number", "ASSMSO") + + let Measurement_Type_Term_Accession_Number = CvTerm.create("ASSMSO:00000007", "Measurement Type Term Accession Number", "ASSMSO") + + let Assay_Measurement_Type_Term_Source_REF = CvTerm.create("ASSMSO:00000008", "Assay Measurement Type Term Source REF", "ASSMSO") + + let Measurement_Type_Term_Source_REF = CvTerm.create("ASSMSO:00000009", "Measurement Type Term Source REF", "ASSMSO") + + let Technology_Type = CvTerm.create("ASSMSO:00000010", "Technology Type", "ASSMSO") + + let Assay_Technology_Type = CvTerm.create("ASSMSO:00000011", "Assay Technology Type", "ASSMSO") + + let Technology_Type_Term_Accession_Number = CvTerm.create("ASSMSO:00000012", "Technology Type Term Accession Number", "ASSMSO") + + let Assay_Technology_Type_Term_Accession_Number = CvTerm.create("ASSMSO:00000013", "Assay Technology Type Term Accession Number", "ASSMSO") + + let Technology_Type_Term_Source_REF = CvTerm.create("ASSMSO:00000014", "Technology Type Term Source REF", "ASSMSO") + + let Assay_Technology_Type_Term_Source_REF = CvTerm.create("ASSMSO:00000015", "Assay Technology Type Term Source REF", "ASSMSO") + + let Technology_Platform = CvTerm.create("ASSMSO:00000016", "Technology Platform", "ASSMSO") + + let Assay_Technology_Platform = CvTerm.create("ASSMSO:00000017", "Assay Technology Platform", "ASSMSO") + + let File_Name = CvTerm.create("ASSMSO:00000018", "File Name", "ASSMSO") + + let Assay_File_Name = CvTerm.create("ASSMSO:00000019", "Assay File Name", "ASSMSO") + + let ASSAY_PERFORMERS = CvTerm.create("ASSMSO:00000020", "ASSAY PERFORMERS", "ASSMSO") + + let Assay_Performer_Last_Name = CvTerm.create("ASSMSO:00000021", "Assay Performer Last Name", "ASSMSO") + + let Last_Name = CvTerm.create("ASSMSO:00000022", "Last Name", "ASSMSO") + + let Assay_Performer_First_Name = CvTerm.create("ASSMSO:00000023", "Assay Performer First Name", "ASSMSO") + + let First_Name = CvTerm.create("ASSMSO:00000024", "First Name", "ASSMSO") + + let Assay_Performer_Mid_Initials = CvTerm.create("ASSMSO:00000025", "Assay Performer Mid Initials", "ASSMSO") + + let Mid_Initials = CvTerm.create("ASSMSO:00000026", "Mid Initials", "ASSMSO") + + let Assay_Performer_Email = CvTerm.create("ASSMSO:00000027", "Assay Performer Email", "ASSMSO") + + let Email = CvTerm.create("ASSMSO:00000028", "Email", "ASSMSO") + + let Assay_Performer_Phone = CvTerm.create("ASSMSO:00000029", "Assay Performer Phone", "ASSMSO") + + let Phone = CvTerm.create("ASSMSO:00000030", "Phone", "ASSMSO") + + let Assay_Performer_Fax = CvTerm.create("ASSMSO:00000031", "Assay Performer Fax", "ASSMSO") + + let Fax = CvTerm.create("ASSMSO:00000032", "Fax", "ASSMSO") + + let Assay_Performer_Address = CvTerm.create("ASSMSO:00000033", "Assay Performer Address", "ASSMSO") + + let Address = CvTerm.create("ASSMSO:00000034", "Address", "ASSMSO") + + let Assay_Performer_Affiliation = CvTerm.create("ASSMSO:00000035", "Assay Performer Affiliation", "ASSMSO") + + let Affiliation = CvTerm.create("ASSMSO:00000036", "Affiliation", "ASSMSO") + + let Assay_Performer_Roles = CvTerm.create("ASSMSO:00000037", "Assay Performer Roles", "ASSMSO") + + let Roles = CvTerm.create("ASSMSO:00000038", "Roles", "ASSMSO") + + let Assay_Performer_Roles_Term_Accession_Number = CvTerm.create("ASSMSO:00000039", "Assay Performer Roles Term Accession Number", "ASSMSO") + + let Roles_Term_Accession_Number = CvTerm.create("ASSMSO:00000040", "Roles Term Accession Number", "ASSMSO") + + let Assay_Performer_Roles_Term_Source_REF = CvTerm.create("ASSMSO:00000041", "Assay Performer Roles Term Source REF", "ASSMSO") + + let Roles_Term_Source_REF = CvTerm.create("ASSMSO:00000042", "Roles Term Source REF", "ASSMSO") + diff --git a/src/ARCTokenization/structural_ontologies/CodeGeneration.fs b/src/ARCTokenization/structural_ontologies/CodeGeneration.fs new file mode 100644 index 0000000..386efcc --- /dev/null +++ b/src/ARCTokenization/structural_ontologies/CodeGeneration.fs @@ -0,0 +1,62 @@ +namespace ARCTokenization.StructuralOntology + +open ControlledVocabulary +open OBO.NET +open FSharpAux +open type System.Environment + + +/// Functions to generate F# source code from OBO files. +module CodeGeneration = + + [] + let baseString = """namespace ARCTokenization.StructuralOntology + + open ControlledVocabulary + + module = + +""" + + /// Takes an OboTerm and returns its name but with all spaces replaced by underscores. + let toUnderscoredName (term : OboTerm) = + term.Name + |> String.replace " " "_" + + /// Returns true if a string contains special characters or starts with a number. + let checkForSpecialCharacters str = + let spChs = System.Text.RegularExpressions.Regex("(^\d|[^a-zA-Z0-9_])") + (spChs.Match str).Success + + /// Takes a string and returns it with back ticks ("``") at the beginning and the end. + let addBackTicks str = + $"``{str}``" + + /// Takes an OboTerm and returns its TermSourceRef as string. + let toTermSourceRef (term : OboTerm) = + term.Id + |> String.takeWhile ((<>) ':') + + /// Takes an OboTerm and transforms it into an F# code string for structural ontology libraries. + let toCodeString (term : OboTerm) = + let underscoredName = toUnderscoredName term + let curatedName = + if checkForSpecialCharacters underscoredName then + addBackTicks underscoredName + else underscoredName + $" let {curatedName} = CvTerm.create(\"{term.Id}\", \"{term.Name}\", \"{toTermSourceRef term}\"){NewLine}{NewLine}" + + /// Takes a module name and an OboOntology and returns the F# code of the whole term list for structural ontology libraries. + let toSourceCode moduleName (onto : OboOntology) = + let concattedSingleValues = String.init onto.Terms.Length (fun i -> $"{toCodeString onto.Terms[i]}") + let updatedBaseString = String.replace "" moduleName baseString + $"{updatedBaseString}{concattedSingleValues}" + + /// Takes a module name and an OboOntology and writes the ontology's terms as F# code for structural ontology libraries as a source file at the given path. + let toFile moduleName (onto : OboOntology) path = + System.IO.File.WriteAllText(path, toSourceCode moduleName onto) + + /// Takes a module name and the path to an OBO file and writes the ontology's terms as F# code for structural ontology libraries as a source file at the given output path. + let fromOboFileToSourceFile moduleName inputPath outputPath = + OboOntology.fromFile false inputPath + |> fun o -> toFile moduleName o outputPath \ No newline at end of file diff --git a/src/ARCTokenization/structural_ontologies/INVMSO.fs b/src/ARCTokenization/structural_ontologies/INVMSO.fs index f2a0cb0..dd80359 100644 --- a/src/ARCTokenization/structural_ontologies/INVMSO.fs +++ b/src/ARCTokenization/structural_ontologies/INVMSO.fs @@ -1,75 +1,196 @@ - -// This file should eventually be auto-generated from the respective obo files, to have a safe way of updating it from the same source. -// For now, it is manually created and updated. It is not complete, just a collection of terms needed for baseline WIP validation - -namespace ARCTokenization.StructuralOntology - -open ControlledVocabulary - -module INVMSO = - - module ``Investigation Metadata`` = - let key = CvTerm.create("INVMSO:00000001","Investigation Metadata","INVMSO") - - module ``ONTOLOGY SOURCE REFERENCE`` = - let key = CvTerm.create("INVMSO:00000002","ONTOLOGY SOURCE REFERENCE","INVMSO") - - module ``INVESTIGATION`` = - let key = CvTerm.create("INVMSO:00000007","INVESTIGATION","INVMSO") - - let ``Investigation Identifier`` = CvTerm.create("INVMSO:00000008","Investigation Identifier","INVMSO") - let ``Investigation Title`` = CvTerm.create("INVMSO:00000009","Investigation Title","INVMSO") - let ``Investigation Description`` = CvTerm.create("INVMSO:00000010","Investigation Description","INVMSO") - let ``Investigation Submission Date`` = CvTerm.create("INVMSO:00000011","Investigation Submission Date","INVMSO") - let ``Investigation Public Release Date`` = CvTerm.create("INVMSO:00000012","Investigation Public Release Date","INVMSO") - - module ``INVESTIGATION PUBLICATIONS`` = - let key = CvTerm.create("INVMSO:00000013","INVESTIGATION PUBLICATIONS","INVMSO") - - module ``INVESTIGATION CONTACTS`` = - let key = CvTerm.create("INVMSO:00000021","INVESTIGATION CONTACTS","INVMSO") - - let ``Investigation Person Last Name`` = CvTerm.create("INVMSO:00000022","Investigation Person Last Name","INVMSO") - let ``Investigation Person First Name`` = CvTerm.create("INVMSO:00000023","Investigation Person First Name","INVMSO") - let ``Investigation Person Mid Initials`` = CvTerm.create("INVMSO:00000024","Investigation Person Mid Initials","INVMSO") - let ``Investigation Person Email`` = CvTerm.create("INVMSO:00000025","Investigation Person Email","INVMSO") - let ``Investigation Person Phone`` = CvTerm.create("INVMSO:00000026","Investigation Person Phone","INVMSO") - let ``Investigation Person Fax`` = CvTerm.create("INVMSO:00000027","Investigation Person Fax","INVMSO") - let ``Investigation Person Address`` = CvTerm.create("INVMSO:00000028","Investigation Person Address","INVMSO") - let ``Investigation Person Affiliation`` = CvTerm.create("INVMSO:00000029","Investigation Person Affiliation","INVMSO") - let ``Investigation Person Roles`` = CvTerm.create("INVMSO:00000030","Investigation Person Roles","INVMSO") - let ``Investigation Person Roles Term Accession Number`` = CvTerm.create("INVMSO:00000031","Investigation Person Roles Term Accession Number","INVMSO") - let ``Investigation Person Roles Term Source REF`` = CvTerm.create("INVMSO:000000","Investigation Person Roles Term Source REF","INVMSO") - let ``Comment[]`` = CvTerm.create("INVMSO:00000093","Comment[]","INVMSO") - let ``Comment[Investigation Person ORCID]`` = CvTerm.create("INVMSO:00000094","Comment[Investigation Person ORCID]","INVMSO") - let ``Comment[ORCID]`` = CvTerm.create("INVMSO:00000095","Comment[ORCID]","INVMSO") - - module ``STUDY`` = - let key = CvTerm.create("INVMSO:00000033","STUDY","INVMSO") - - let ``Study Identifier`` = CvTerm.create("INVMSO:00000034","Study Identifier","INVMSO") - let ``Study Title`` = CvTerm.create("INVMSO:00000035","Study Title","INVMSO") - let ``Study Description`` = CvTerm.create("INVMSO:00000036","Study Description","INVMSO") - let ``Study Submission Date`` = CvTerm.create("INVMSO:00000037","Study Submission Date","INVMSO") - let ``Study Public Release Date`` = CvTerm.create("INVMSO:00000038","Study Public Release Date","INVMSO") - let ``Study File Name`` = CvTerm.create("INVMSO:00000039","Study File Name","INVMSO") - - module ``STUDY DESIGN DESCRIPTORS`` = - let key = CvTerm.create("INVMSO:00000040","STUDY DESIGN DESCRIPTORS","INVMSO") - - module ``STUDY PUBLICATIONS`` = - let key = CvTerm.create("INVMSO:00000044","STUDY PUBLICATIONS","INVMSO") - - module ``STUDY FACTORS`` = - let key = CvTerm.create("INVMSO:00000052","STUDY FACTORS","INVMSO") - - module ``STUDY ASSAYS`` = - let key = CvTerm.create("INVMSO:00000057","STUDY ASSAYS","INVMSO") - - let ``Study Assay File Name`` = CvTerm.create("INVMSO:00000065","Study Assay File Namee","INVMSO") - - module ``STUDY PROTOCOLS`` = - let key = CvTerm.create("INVMSO:00000066","STUDY PROTOCOLS","INVMSO") - - module ``STUDY CONTACTS`` = - let key = CvTerm.create("INVMSO:00000081","STUDY CONTACTS","INVMSO") +namespace ARCTokenization.StructuralOntology + + open ControlledVocabulary + + module INVMSO = + + let Investigation_Metadata = CvTerm.create("INVMSO:00000001", "Investigation Metadata", "INVMSO") + + let ONTOLOGY_SOURCE_REFERENCE = CvTerm.create("INVMSO:00000002", "ONTOLOGY SOURCE REFERENCE", "INVMSO") + + let Term_Source_Name = CvTerm.create("INVMSO:00000003", "Term Source Name", "INVMSO") + + let Term_Source_File = CvTerm.create("INVMSO:00000004", "Term Source File", "INVMSO") + + let Term_Source_Version = CvTerm.create("INVMSO:00000005", "Term Source Version", "INVMSO") + + let Term_Source_Description = CvTerm.create("INVMSO:00000006", "Term Source Description", "INVMSO") + + let INVESTIGATION = CvTerm.create("INVMSO:00000007", "INVESTIGATION", "INVMSO") + + let Investigation_Identifier = CvTerm.create("INVMSO:00000008", "Investigation Identifier", "INVMSO") + + let Investigation_Title = CvTerm.create("INVMSO:00000009", "Investigation Title", "INVMSO") + + let Investigation_Description = CvTerm.create("INVMSO:00000010", "Investigation Description", "INVMSO") + + let Investigation_Submission_Date = CvTerm.create("INVMSO:00000011", "Investigation Submission Date", "INVMSO") + + let Investigation_Public_Release_Date = CvTerm.create("INVMSO:00000012", "Investigation Public Release Date", "INVMSO") + + let INVESTIGATION_PUBLICATIONS = CvTerm.create("INVMSO:00000013", "INVESTIGATION PUBLICATIONS", "INVMSO") + + let Investigation_Publication_PubMed_ID = CvTerm.create("INVMSO:00000014", "Investigation Publication PubMed ID", "INVMSO") + + let Investigation_Publication_DOI = CvTerm.create("INVMSO:00000015", "Investigation Publication DOI", "INVMSO") + + let Investigation_Publication_Author_List = CvTerm.create("INVMSO:00000016", "Investigation Publication Author List", "INVMSO") + + let Investigation_Publication_Title = CvTerm.create("INVMSO:00000017", "Investigation Publication Title", "INVMSO") + + let Investigation_Publication_Status = CvTerm.create("INVMSO:00000018", "Investigation Publication Status", "INVMSO") + + let Investigation_Publication_Status_Term_Accession_Number = CvTerm.create("INVMSO:00000019", "Investigation Publication Status Term Accession Number", "INVMSO") + + let Investigation_Publication_Status_Term_Source_REF = CvTerm.create("INVMSO:00000020", "Investigation Publication Status Term Source REF", "INVMSO") + + let INVESTIGATION_CONTACTS = CvTerm.create("INVMSO:00000021", "INVESTIGATION CONTACTS", "INVMSO") + + let Investigation_Person_Last_Name = CvTerm.create("INVMSO:00000022", "Investigation Person Last Name", "INVMSO") + + let Investigation_Person_First_Name = CvTerm.create("INVMSO:00000023", "Investigation Person First Name", "INVMSO") + + let Investigation_Person_Mid_Initials = CvTerm.create("INVMSO:00000024", "Investigation Person Mid Initials", "INVMSO") + + let Investigation_Person_Email = CvTerm.create("INVMSO:00000025", "Investigation Person Email", "INVMSO") + + let Investigation_Person_Phone = CvTerm.create("INVMSO:00000026", "Investigation Person Phone", "INVMSO") + + let Investigation_Person_Fax = CvTerm.create("INVMSO:00000027", "Investigation Person Fax", "INVMSO") + + let Investigation_Person_Address = CvTerm.create("INVMSO:00000028", "Investigation Person Address", "INVMSO") + + let Investigation_Person_Affiliation = CvTerm.create("INVMSO:00000029", "Investigation Person Affiliation", "INVMSO") + + let Investigation_Person_Roles = CvTerm.create("INVMSO:00000030", "Investigation Person Roles", "INVMSO") + + let Investigation_Person_Roles_Term_Accession_Number = CvTerm.create("INVMSO:00000031", "Investigation Person Roles Term Accession Number", "INVMSO") + + let Investigation_Person_Roles_Term_Source_REF = CvTerm.create("INVMSO:00000032", "Investigation Person Roles Term Source REF", "INVMSO") + + let ``Comment[]`` = CvTerm.create("INVMSO:00000093", "Comment[]", "INVMSO") + + let ``Comment[Investigation_Person_ORCID]`` = CvTerm.create("INVMSO:00000094", "Comment[Investigation Person ORCID]", "INVMSO") + + let ``Comment[ORCID]`` = CvTerm.create("INVMSO:00000095", "Comment[ORCID]", "INVMSO") + + let STUDY = CvTerm.create("INVMSO:00000033", "STUDY", "INVMSO") + + let Study_Identifier = CvTerm.create("INVMSO:00000034", "Study Identifier", "INVMSO") + + let Study_Title = CvTerm.create("INVMSO:00000035", "Study Title", "INVMSO") + + let Study_Description = CvTerm.create("INVMSO:00000036", "Study Description", "INVMSO") + + let Study_Submission_Date = CvTerm.create("INVMSO:00000037", "Study Submission Date", "INVMSO") + + let Study_Public_Release_Date = CvTerm.create("INVMSO:00000038", "Study Public Release Date", "INVMSO") + + let Study_File_Name = CvTerm.create("INVMSO:00000039", "Study File Name", "INVMSO") + + let STUDY_DESIGN_DESCRIPTORS = CvTerm.create("INVMSO:00000040", "STUDY DESIGN DESCRIPTORS", "INVMSO") + + let Study_Design_Type = CvTerm.create("INVMSO:00000041", "Study Design Type", "INVMSO") + + let Study_Design_Type_Term_Accession_Number = CvTerm.create("INVMSO:00000042", "Study Design Type Term Accession Number", "INVMSO") + + let Study_Design_Type_Term_Source_REF = CvTerm.create("INVMSO:00000043", "Study Design Type Term Source REF", "INVMSO") + + let STUDY_PUBLICATIONS = CvTerm.create("INVMSO:00000044", "STUDY PUBLICATIONS", "INVMSO") + + let Study_Publication_PubMed_ID = CvTerm.create("INVMSO:00000045", "Study Publication PubMed ID", "INVMSO") + + let Study_Publication_DOI = CvTerm.create("INVMSO:00000046", "Study Publication DOI", "INVMSO") + + let Study_Publication_Author_List = CvTerm.create("INVMSO:00000047", "Study Publication Author List", "INVMSO") + + let Study_Publication_Title = CvTerm.create("INVMSO:00000048", "Study Publication Title", "INVMSO") + + let Study_Publication_Status = CvTerm.create("INVMSO:00000049", "Study Publication Status", "INVMSO") + + let Study_Publication_Status_Term_Accession_Number = CvTerm.create("INVMSO:00000050", "Study Publication Status Term Accession Number", "INVMSO") + + let Study_Publication_Status_Term_Source_REF = CvTerm.create("INVMSO:00000051", "Study Publication Status Term Source REF", "INVMSO") + + let STUDY_FACTORS = CvTerm.create("INVMSO:00000052", "STUDY FACTORS", "INVMSO") + + let Study_Factor_Name = CvTerm.create("INVMSO:00000053", "Study Factor Name", "INVMSO") + + let Study_Factor_Type = CvTerm.create("INVMSO:00000054", "Study Factor Type", "INVMSO") + + let Study_Factor_Type_Term_Accession_Number = CvTerm.create("INVMSO:00000055", "Study Factor Type Term Accession Number", "INVMSO") + + let Study_Factor_Type_Term_Source_REF = CvTerm.create("INVMSO:00000056", "Study Factor Type Term Source REF", "INVMSO") + + let STUDY_ASSAYS = CvTerm.create("INVMSO:00000057", "STUDY ASSAYS", "INVMSO") + + let Study_Assay_Measurement_Type = CvTerm.create("INVMSO:00000058", "Study Assay Measurement Type", "INVMSO") + + let Study_Assay_Measurement_Type_Term_Accession_Number = CvTerm.create("INVMSO:00000059", "Study Assay Measurement Type Term Accession Number", "INVMSO") + + let Study_Assay_Measurement_Type_Term_Source_REF = CvTerm.create("INVMSO:00000060", "Study Assay Measurement Type Term Source REF", "INVMSO") + + let Study_Assay_Technology_Type = CvTerm.create("INVMSO:00000061", "Study Assay Technology Type", "INVMSO") + + let Study_Assay_Technology_Type_Term_Accession_Number = CvTerm.create("INVMSO:00000062", "Study Assay Technology Type Term Accession Number", "INVMSO") + + let Study_Assay_Technology_Type_Term_Source_REF = CvTerm.create("INVMSO:00000063", "Study Assay Technology Type Term Source REF", "INVMSO") + + let Study_Assay_Technology_Platform = CvTerm.create("INVMSO:00000064", "Study Assay Technology Platform", "INVMSO") + + let Study_Assay_File_Name = CvTerm.create("INVMSO:00000065", "Study Assay File Name", "INVMSO") + + let STUDY_PROTOCOLS = CvTerm.create("INVMSO:00000066", "STUDY PROTOCOLS", "INVMSO") + + let Study_Protocol_Name = CvTerm.create("INVMSO:00000067", "Study Protocol Name", "INVMSO") + + let Study_Protocol_Type = CvTerm.create("INVMSO:00000068", "Study Protocol Type", "INVMSO") + + let Study_Protocol_Type_Term_Accession_Number = CvTerm.create("INVMSO:00000069", "Study Protocol Type Term Accession Number", "INVMSO") + + let Study_Protocol_Type_Term_Source_REF = CvTerm.create("INVMSO:00000070", "Study Protocol Type Term Source REF", "INVMSO") + + let Study_Protocol_Description = CvTerm.create("INVMSO:00000071", "Study Protocol Description", "INVMSO") + + let Study_Protocol_URI = CvTerm.create("INVMSO:00000072", "Study Protocol URI", "INVMSO") + + let Study_Protocol_Version = CvTerm.create("INVMSO:00000073", "Study Protocol Version", "INVMSO") + + let Study_Protocol_Parameters_Name = CvTerm.create("INVMSO:00000074", "Study Protocol Parameters Name", "INVMSO") + + let Study_Protocol_Parameters_Term_Accession_Number = CvTerm.create("INVMSO:00000075", "Study Protocol Parameters Term Accession Number", "INVMSO") + + let Study_Protocol_Parameters_Term_Source_REF = CvTerm.create("INVMSO:00000076", "Study Protocol Parameters Term Source REF", "INVMSO") + + let Study_Protocol_Components_Name = CvTerm.create("INVMSO:00000077", "Study Protocol Components Name", "INVMSO") + + let Study_Protocol_Components_Type = CvTerm.create("INVMSO:00000078", "Study Protocol Components Type", "INVMSO") + + let Study_Protocol_Components_Type_Term_Accession_Number = CvTerm.create("INVMSO:00000079", "Study Protocol Components Type Term Accession Number", "INVMSO") + + let Study_Protocol_Components_Type_Term_Source_REF = CvTerm.create("INVMSO:00000080", "Study Protocol Components Type Term Source REF", "INVMSO") + + let STUDY_CONTACTS = CvTerm.create("INVMSO:00000081", "STUDY CONTACTS", "INVMSO") + + let Study_Person_Last_Name = CvTerm.create("INVMSO:00000082", "Study Person Last Name", "INVMSO") + + let Study_Person_First_Name = CvTerm.create("INVMSO:00000083", "Study Person First Name", "INVMSO") + + let Study_Person_Mid_Initials = CvTerm.create("INVMSO:00000084", "Study Person Mid Initials", "INVMSO") + + let Study_Person_Email = CvTerm.create("INVMSO:00000085", "Study Person Email", "INVMSO") + + let Study_Person_Phone = CvTerm.create("INVMSO:00000086", "Study Person Phone", "INVMSO") + + let Study_Person_Fax = CvTerm.create("INVMSO:00000087", "Study Person Fax", "INVMSO") + + let Study_Person_Address = CvTerm.create("INVMSO:00000088", "Study Person Address", "INVMSO") + + let Study_Person_Affiliation = CvTerm.create("INVMSO:00000089", "Study Person Affiliation", "INVMSO") + + let Study_Person_Roles = CvTerm.create("INVMSO:00000090", "Study Person Roles", "INVMSO") + + let Study_Person_Roles_Term_Accession_Number = CvTerm.create("INVMSO:00000091", "Study Person Roles Term Accession Number", "INVMSO") + + let Study_Person_Roles_Term_Source_REF = CvTerm.create("INVMSO:00000092", "Study Person Roles Term Source REF", "INVMSO") + diff --git a/src/ARCTokenization/structural_ontologies/STDMSO.fs b/src/ARCTokenization/structural_ontologies/STDMSO.fs index ebd1b23..4ba64e9 100644 --- a/src/ARCTokenization/structural_ontologies/STDMSO.fs +++ b/src/ARCTokenization/structural_ontologies/STDMSO.fs @@ -1,54 +1,130 @@ - -// This file should eventually be auto-generated from the respective obo files, to have a safe way of updating it from the same source. -// For now, it is manually created and updated. It is not complete, just a collection of terms needed for baseline WIP validation - -namespace ARCTokenization.StructuralOntology - -open ControlledVocabulary - -module STDMSO = - - module ``Study Metadata`` = - let key = CvTerm.create("STDMSO:00000001","Study Metadata","STDMSO") - - module ``STUDY`` = - let key = CvTerm.create("STDMSO:00000002","STUDY","STDMSO") - - let ``Study Identifier`` = CvTerm.create("STDMSO:00000003","STUDY","STDMSO") - let ``Study Title`` = CvTerm.create("STDMSO:00000004","Study Title","STDMSO") - let ``Study Description`` = CvTerm.create("STDMSO:00000005","Study Description","STDMSO") - let ``Study Submission Date`` = CvTerm.create("STDMSO:00000006","Study Submission Date","STDMSO") - let ``Study Public Release Date`` = CvTerm.create("STDMSO:00000007","Study Public Release Date","STDMSO") - let ``Study File Name`` = CvTerm.create("STDMSO:00000008","Study File Name","STDMSO") - - module ``STUDY DESIGN DESCRIPTORS`` = - let key = CvTerm.create("STDMSO:00000009","STUDY DESIGN DESCRIPTORS","STDMSO") - - module ``STUDY PUBLICATIONS`` = - let key = CvTerm.create("STDMSO:00000013","STUDY PUBLICATIONS","STDMSO") - - module ``STUDY FACTORS`` = - let key = CvTerm.create("STDMSO:00000021","STUDY FACTORS","STDMSO") - - module ``STUDY ASSAYS`` = - let key = CvTerm.create("STDMSO:00000026","STUDY ASSAYS","STDMSO") - - let ``Study Assay File Name`` = CvTerm.create("STDMSO:00000034","Study Assay File Name","STDMSO") - - module ``STUDY PROTOCOLS`` = - let key = CvTerm.create("STDMSO:00000035","STUDY PROTOCOLS","STDMSO") - - module ``STUDY CONTACTS`` = - let key = CvTerm.create("STDMSO:00000050","STUDY CONTACTS","STDMSO") - - let ``Study Person Last Name`` = CvTerm.create("STDMSO:000000051","Study Person Last Name","STDMSO") - let ``Study Person First Name`` = CvTerm.create("STDMSO:000000052","Study Person First Name","STDMSO") - let ``Study Person Mid Initials`` = CvTerm.create("STDMSO:000000053","Study Person Mid Initials","STDMSO") - let ``Study Person Email`` = CvTerm.create("STDMSO:000000054","Study Person Email","STDMSO") - let ``Study Person Phone`` = CvTerm.create("STDMSO:000000055","Study Person Phone","STDMSO") - let ``Study Person Fax`` = CvTerm.create("STDMSO:000000056","Study Person Fax","STDMSO") - let ``Study Person Address`` = CvTerm.create("STDMSO:000000057","Study Person Address","STDMSO") - let ``Study Person Affiliation`` = CvTerm.create("STDMSO:000000058","Study Person Affiliation","STDMSO") - let ``Study Person Roles`` = CvTerm.create("STDMSO:000000059","Study Person Roles","STDMSO") - let ``Study Person Roles Term Accession Number`` = CvTerm.create("STDMSO:000000060","Study Person Roles Term Accession Number","STDMSO") - let ``Study Person Roles Term Source REF`` = CvTerm.create("STDMSO:000000061","Study Person Roles Term Source REF","STDMSO") +namespace ARCTokenization.StructuralOntology + + open ControlledVocabulary + + module STDMSO = + + let Study_Metadata = CvTerm.create("STDMSO:00000001", "Study Metadata", "STDMSO") + + let STUDY = CvTerm.create("STDMSO:00000002", "STUDY", "STDMSO") + + let STUDY_METADATA = CvTerm.create("STDMSO:00000062", "STUDY METADATA", "STDMSO") + + let Study_Identifier = CvTerm.create("STDMSO:00000003", "Study Identifier", "STDMSO") + + let Study_Title = CvTerm.create("STDMSO:00000004", "Study Title", "STDMSO") + + let Study_Description = CvTerm.create("STDMSO:00000005", "Study Description", "STDMSO") + + let Study_Submission_Date = CvTerm.create("STDMSO:00000006", "Study Submission Date", "STDMSO") + + let Study_Public_Release_Date = CvTerm.create("STDMSO:00000007", "Study Public Release Date", "STDMSO") + + let Study_File_Name = CvTerm.create("STDMSO:00000008", "Study File Name", "STDMSO") + + let STUDY_DESIGN_DESCRIPTORS = CvTerm.create("STDMSO:00000009", "STUDY DESIGN DESCRIPTORS", "STDMSO") + + let Study_Design_Type = CvTerm.create("STDMSO:00000010", "Study Design Type", "STDMSO") + + let Study_Design_Type_Term_Accession_Number = CvTerm.create("STDMSO:00000011", "Study Design Type Term Accession Number", "STDMSO") + + let Study_Design_Type_Term_Source_REF = CvTerm.create("STDMSO:00000012", "Study Design Type Term Source REF", "STDMSO") + + let STUDY_PUBLICATIONS = CvTerm.create("STDMSO:00000013", "STUDY PUBLICATIONS", "STDMSO") + + let Study_Publication_PubMed_ID = CvTerm.create("STDMSO:00000014", "Study Publication PubMed ID", "STDMSO") + + let Study_Publication_DOI = CvTerm.create("STDMSO:00000015", "Study Publication DOI", "STDMSO") + + let Study_Publication_Author_List = CvTerm.create("STDMSO:00000016", "Study Publication Author List", "STDMSO") + + let Study_Publication_Title = CvTerm.create("STDMSO:00000017", "Study Publication Title", "STDMSO") + + let Study_Publication_Status = CvTerm.create("STDMSO:00000018", "Study Publication Status", "STDMSO") + + let Study_Publication_Status_Term_Accession_Number = CvTerm.create("STDMSO:00000019", "Study Publication Status Term Accession Number", "STDMSO") + + let Study_Publication_Status_Term_Source_REF = CvTerm.create("STDMSO:00000020", "Study Publication Status Term Source REF", "STDMSO") + + let STUDY_FACTORS = CvTerm.create("STDMSO:00000021", "STUDY FACTORS", "STDMSO") + + let Study_Factor_Name = CvTerm.create("STDMSO:00000022", "Study Factor Name", "STDMSO") + + let Study_Factor_Type = CvTerm.create("STDMSO:00000023", "Study Factor Type", "STDMSO") + + let Study_Factor_Type_Term_Accession_Number = CvTerm.create("STDMSO:00000024", "Study Factor Type Term Accession Number", "STDMSO") + + let Study_Factor_Type_Term_Source_REF = CvTerm.create("STDMSO:00000025", "Study Factor Type Term Source REF", "STDMSO") + + let STUDY_ASSAYS = CvTerm.create("STDMSO:00000026", "STUDY ASSAYS", "STDMSO") + + let Study_Assay_Measurement_Type = CvTerm.create("STDMSO:00000027", "Study Assay Measurement Type", "STDMSO") + + let Study_Assay_Measurement_Type_Term_Accession_Number = CvTerm.create("STDMSO:00000028", "Study Assay Measurement Type Term Accession Number", "STDMSO") + + let Study_Assay_Measurement_Type_Term_Source_REF = CvTerm.create("STDMSO:00000029", "Study Assay Measurement Type Term Source REF", "STDMSO") + + let Study_Assay_Technology_Type = CvTerm.create("STDMSO:00000030", "Study Assay Technology Type", "STDMSO") + + let Study_Assay_Technology_Type_Term_Accession_Number = CvTerm.create("STDMSO:00000031", "Study Assay Technology Type Term Accession Number", "STDMSO") + + let Study_Assay_Technology_Type_Term_Source_REF = CvTerm.create("STDMSO:00000032", "Study Assay Technology Type Term Source REF", "STDMSO") + + let Study_Assay_Technology_Platform = CvTerm.create("STDMSO:00000033", "Study Assay Technology Platform", "STDMSO") + + let Study_Assay_File_Name = CvTerm.create("STDMSO:00000034", "Study Assay File Name", "STDMSO") + + let STUDY_PROTOCOLS = CvTerm.create("STDMSO:00000035", "STUDY PROTOCOLS", "STDMSO") + + let Study_Protocol_Name = CvTerm.create("STDMSO:00000036", "Study Protocol Name", "STDMSO") + + let Study_Protocol_Type = CvTerm.create("STDMSO:00000037", "Study Protocol Type", "STDMSO") + + let Study_Protocol_Type_Term_Accession_Number = CvTerm.create("STDMSO:00000038", "Study Protocol Type Term Accession Number", "STDMSO") + + let Study_Protocol_Type_Term_Source_REF = CvTerm.create("STDMSO:00000039", "Study Protocol Type Term Source REF", "STDMSO") + + let Study_Protocol_Description = CvTerm.create("STDMSO:00000040", "Study Protocol Description", "STDMSO") + + let Study_Protocol_URI = CvTerm.create("STDMSO:00000041", "Study Protocol URI", "STDMSO") + + let Study_Protocol_Version = CvTerm.create("STDMSO:00000042", "Study Protocol Version", "STDMSO") + + let Study_Protocol_Parameters_Name = CvTerm.create("STDMSO:00000043", "Study Protocol Parameters Name", "STDMSO") + + let Study_Protocol_Parameters_Term_Accession_Number = CvTerm.create("STDMSO:00000044", "Study Protocol Parameters Term Accession Number", "STDMSO") + + let Study_Protocol_Parameters_Term_Source_REF = CvTerm.create("STDMSO:00000045", "Study Protocol Parameters Term Source REF", "STDMSO") + + let Study_Protocol_Components_Name = CvTerm.create("STDMSO:00000046", "Study Protocol Components Name", "STDMSO") + + let Study_Protocol_Components_Type = CvTerm.create("STDMSO:00000047", "Study Protocol Components Type", "STDMSO") + + let Study_Protocol_Components_Type_Term_Accession_Number = CvTerm.create("STDMSO:00000048", "Study Protocol Components Type Term Accession Number", "STDMSO") + + let Study_Protocol_Components_Type_Term_Source_REF = CvTerm.create("STDMSO:00000049", "Study Protocol Components Type Term Source REF", "STDMSO") + + let STUDY_CONTACTS = CvTerm.create("STDMSO:00000050", "STUDY CONTACTS", "STDMSO") + + let Study_Person_Last_Name = CvTerm.create("STDMSO:00000051", "Study Person Last Name", "STDMSO") + + let Study_Person_First_Name = CvTerm.create("STDMSO:00000052", "Study Person First Name", "STDMSO") + + let Study_Person_Mid_Initials = CvTerm.create("STDMSO:00000053", "Study Person Mid Initials", "STDMSO") + + let Study_Person_Email = CvTerm.create("STDMSO:00000054", "Study Person Email", "STDMSO") + + let Study_Person_Phone = CvTerm.create("STDMSO:00000055", "Study Person Phone", "STDMSO") + + let Study_Person_Fax = CvTerm.create("STDMSO:00000056", "Study Person Fax", "STDMSO") + + let Study_Person_Address = CvTerm.create("STDMSO:00000057", "Study Person Address", "STDMSO") + + let Study_Person_Affiliation = CvTerm.create("STDMSO:00000058", "Study Person Affiliation", "STDMSO") + + let Study_Person_Roles = CvTerm.create("STDMSO:00000059", "Study Person Roles", "STDMSO") + + let Study_Person_Roles_Term_Accession_Number = CvTerm.create("STDMSO:00000060", "Study Person Roles Term Accession Number", "STDMSO") + + let Study_Person_Roles_Term_Source_REF = CvTerm.create("STDMSO:00000061", "Study Person Roles Term Source REF", "STDMSO") + diff --git a/src/ARCTokenization/structural_ontologies/arc_file_structure_ontology.obo b/src/ARCTokenization/structural_ontologies/arc_file_structure_ontology.obo index 2f7274d..3e94f1f 100644 --- a/src/ARCTokenization/structural_ontologies/arc_file_structure_ontology.obo +++ b/src/ARCTokenization/structural_ontologies/arc_file_structure_ontology.obo @@ -1,126 +1,126 @@ -!This file was auto generated on 26.02.2024. Do not edit it. All manual changes will be overwritten by the next generator run eventually. -format-version: 1.2 -data-version: init/2023-10-26 -saved-by: Kevin Schneider -default-namespace: afso -ontology: AFSO - -[Term] -id: AFSO:00000001 -name: File -def: "" - -[Term] -id: AFSO:00000002 -name: Directory -def: "" - -[Term] -id: AFSO:00000003 -name: File Type -def: "" - -[Term] -id: AFSO:00000004 -name: Extension -def: "" - -[Term] -id: AFSO:00000005 -name: File Name -def: "" - -[Term] -id: AFSO:00000006 -name: Directory Name -def: "" - -[Term] -id: AFSO:00000007 -name: Full Name -def: "" - -[Term] -id: AFSO:00000008 -name: Path -def: "" - -[Term] -id: AFSO:00000009 -name: File Path -def: "" - -[Term] -id: AFSO:00000010 -name: Directory Path -def: "" - -[Term] -id: AFSO:00000011 -name: Studies Directory -def: "" - -[Term] -id: AFSO:00000012 -name: Assays Directory -def: "" - -[Term] -id: AFSO:00000013 -name: Runs Directory -def: "" - -[Term] -id: AFSO:00000014 -name: Workflows Directory -def: "" - -[Term] -id: AFSO:00000015 -name: Study Directory -def: "" - -[Term] -id: AFSO:00000016 -name: Assay Directory -def: "" - -[Term] -id: AFSO:00000017 -name: Run Directory -def: "" - -[Term] -id: AFSO:00000018 -name: Workflow Directory -def: "" - -[Term] -id: AFSO:00000019 -name: Investigation File -def: "" - -[Term] -id: AFSO:00000020 -name: Study File -def: "" - -[Term] -id: AFSO:00000021 -name: Assay File -def: "" - -[Term] -id: AFSO:00000022 -name: Dataset File -def: "" - -[Term] -id: AFSO:00000023 -name: CWL File -def: "" - -[Term] -id: AFSO:00000024 -name: YML File -def: "" +!This file was auto generated on 21.03.2024. Do not edit it. All manual changes will be overwritten by the next generator run eventually. +format-version: 1.2 +data-version: init/2023-10-26 +saved-by: Kevin Schneider +default-namespace: afso +ontology: AFSO + +[Term] +id: AFSO:00000001 +name: File +def: "" + +[Term] +id: AFSO:00000002 +name: Directory +def: "" + +[Term] +id: AFSO:00000003 +name: File Type +def: "" + +[Term] +id: AFSO:00000004 +name: Extension +def: "" + +[Term] +id: AFSO:00000005 +name: File Name +def: "" + +[Term] +id: AFSO:00000006 +name: Directory Name +def: "" + +[Term] +id: AFSO:00000007 +name: Full Name +def: "" + +[Term] +id: AFSO:00000008 +name: Path +def: "" + +[Term] +id: AFSO:00000009 +name: File Path +def: "" + +[Term] +id: AFSO:00000010 +name: Directory Path +def: "" + +[Term] +id: AFSO:00000011 +name: Studies Directory +def: "" + +[Term] +id: AFSO:00000012 +name: Assays Directory +def: "" + +[Term] +id: AFSO:00000013 +name: Runs Directory +def: "" + +[Term] +id: AFSO:00000014 +name: Workflows Directory +def: "" + +[Term] +id: AFSO:00000015 +name: Study Directory +def: "" + +[Term] +id: AFSO:00000016 +name: Assay Directory +def: "" + +[Term] +id: AFSO:00000017 +name: Run Directory +def: "" + +[Term] +id: AFSO:00000018 +name: Workflow Directory +def: "" + +[Term] +id: AFSO:00000019 +name: Investigation File +def: "" + +[Term] +id: AFSO:00000020 +name: Study File +def: "" + +[Term] +id: AFSO:00000021 +name: Assay File +def: "" + +[Term] +id: AFSO:00000022 +name: Dataset File +def: "" + +[Term] +id: AFSO:00000023 +name: CWL File +def: "" + +[Term] +id: AFSO:00000024 +name: YML File +def: "" diff --git a/src/ARCTokenization/structural_ontologies/arc_process_graph_structural_ontology.obo b/src/ARCTokenization/structural_ontologies/arc_process_graph_structural_ontology.obo index b21b20e..5cfb668 100644 --- a/src/ARCTokenization/structural_ontologies/arc_process_graph_structural_ontology.obo +++ b/src/ARCTokenization/structural_ontologies/arc_process_graph_structural_ontology.obo @@ -1,129 +1,129 @@ -!This file was auto generated on 26.02.2024. Do not edit it. All manual changes will be overwritten by the next generator run eventually. -format-version: 1.2 -data-version: init/2024-01-09 -saved-by: Kevin Schneider -default-namespace: apgso -ontology: APGSO - -[Term] -id: APGSO:00000001 -name: Process Graph Header -def: "" - -[Term] -id: APGSO:00000002 -name: Characteristic -def: "" -relationship: is_a APGSO:00000001 ! Process Graph Header - -[Term] -id: APGSO:00000003 -name: Factor -def: "" -relationship: is_a APGSO:00000001 ! Process Graph Header - -[Term] -id: APGSO:00000004 -name: Parameter -def: "" -relationship: is_a APGSO:00000001 ! Process Graph Header - -[Term] -id: APGSO:00000005 -name: Component -def: "" -relationship: is_a APGSO:00000001 ! Process Graph Header - -[Term] -id: APGSO:00000006 -name: ProtocolType -def: "" -relationship: is_a APGSO:00000001 ! Process Graph Header - -[Term] -id: APGSO:00000007 -name: ProtocolDescription -def: "" -relationship: is_a APGSO:00000001 ! Process Graph Header - -[Term] -id: APGSO:00000008 -name: ProtocolUri -def: "" -relationship: is_a APGSO:00000001 ! Process Graph Header - -[Term] -id: APGSO:00000009 -name: ProtocolVersion -def: "" -relationship: is_a APGSO:00000001 ! Process Graph Header - -[Term] -id: APGSO:00000010 -name: ProtocolREF -def: "" -relationship: is_a APGSO:00000001 ! Process Graph Header - -[Term] -id: APGSO:00000011 -name: Performer -def: "" -relationship: is_a APGSO:00000001 ! Process Graph Header - -[Term] -id: APGSO:00000012 -name: Date -def: "" -relationship: is_a APGSO:00000001 ! Process Graph Header - -[Term] -id: APGSO:00000013 -name: Input -def: "" -relationship: is_a APGSO:00000001 ! Process Graph Header - -[Term] -id: APGSO:00000014 -name: Output -def: "" -relationship: is_a APGSO:00000001 ! Process Graph Header - -[Term] -id: APGSO:00000015 -name: IOType -def: "" - -[Term] -id: APGSO:00000016 -name: Source -relationship: is_a APGSO:00000014 ! IOType - -[Term] -id: APGSO:00000017 -name: Sample -relationship: is_a APGSO:00000014 ! IOType - -[Term] -id: APGSO:00000018 -name: RawDataFile -relationship: is_a APGSO:00000014 ! IOType - -[Term] -id: APGSO:00000019 -name: DerivedDataFile -relationship: is_a APGSO:00000014 ! IOType - -[Term] -id: APGSO:00000020 -name: ImageFile -relationship: is_a APGSO:00000014 ! IOType - -[Term] -id: APGSO:00000021 -name: Material -relationship: is_a APGSO:00000014 ! IOType - -[Term] -id: APGSO:00000022 -name: FreeText -def: "" +!This file was auto generated on 21.03.2024. Do not edit it. All manual changes will be overwritten by the next generator run eventually. +format-version: 1.2 +data-version: init/2024-01-09 +saved-by: Kevin Schneider +default-namespace: apgso +ontology: APGSO + +[Term] +id: APGSO:00000001 +name: Process Graph Header +def: "" + +[Term] +id: APGSO:00000002 +name: Characteristic +def: "" +relationship: is_a APGSO:00000001 ! Process Graph Header + +[Term] +id: APGSO:00000003 +name: Factor +def: "" +relationship: is_a APGSO:00000001 ! Process Graph Header + +[Term] +id: APGSO:00000004 +name: Parameter +def: "" +relationship: is_a APGSO:00000001 ! Process Graph Header + +[Term] +id: APGSO:00000005 +name: Component +def: "" +relationship: is_a APGSO:00000001 ! Process Graph Header + +[Term] +id: APGSO:00000006 +name: ProtocolType +def: "" +relationship: is_a APGSO:00000001 ! Process Graph Header + +[Term] +id: APGSO:00000007 +name: ProtocolDescription +def: "" +relationship: is_a APGSO:00000001 ! Process Graph Header + +[Term] +id: APGSO:00000008 +name: ProtocolUri +def: "" +relationship: is_a APGSO:00000001 ! Process Graph Header + +[Term] +id: APGSO:00000009 +name: ProtocolVersion +def: "" +relationship: is_a APGSO:00000001 ! Process Graph Header + +[Term] +id: APGSO:00000010 +name: ProtocolREF +def: "" +relationship: is_a APGSO:00000001 ! Process Graph Header + +[Term] +id: APGSO:00000011 +name: Performer +def: "" +relationship: is_a APGSO:00000001 ! Process Graph Header + +[Term] +id: APGSO:00000012 +name: Date +def: "" +relationship: is_a APGSO:00000001 ! Process Graph Header + +[Term] +id: APGSO:00000013 +name: Input +def: "" +relationship: is_a APGSO:00000001 ! Process Graph Header + +[Term] +id: APGSO:00000014 +name: Output +def: "" +relationship: is_a APGSO:00000001 ! Process Graph Header + +[Term] +id: APGSO:00000015 +name: IOType +def: "" + +[Term] +id: APGSO:00000016 +name: Source +relationship: is_a APGSO:00000014 ! IOType + +[Term] +id: APGSO:00000017 +name: Sample +relationship: is_a APGSO:00000014 ! IOType + +[Term] +id: APGSO:00000018 +name: RawDataFile +relationship: is_a APGSO:00000014 ! IOType + +[Term] +id: APGSO:00000019 +name: DerivedDataFile +relationship: is_a APGSO:00000014 ! IOType + +[Term] +id: APGSO:00000020 +name: ImageFile +relationship: is_a APGSO:00000014 ! IOType + +[Term] +id: APGSO:00000021 +name: Material +relationship: is_a APGSO:00000014 ! IOType + +[Term] +id: APGSO:00000022 +name: FreeText +def: "" diff --git a/src/ARCTokenization/structural_ontologies/assay_metadata_structural_ontology.obo b/src/ARCTokenization/structural_ontologies/assay_metadata_structural_ontology.obo index 378e1b1..9cfcac2 100644 --- a/src/ARCTokenization/structural_ontologies/assay_metadata_structural_ontology.obo +++ b/src/ARCTokenization/structural_ontologies/assay_metadata_structural_ontology.obo @@ -1,409 +1,409 @@ -!This file was auto generated on 26.02.2024. Do not edit it. All manual changes will be overwritten by the next generator run eventually. -format-version: 1.2 -data-version: init/2023-07-27 -saved-by: Kevin Schneider -default-namespace: assmso -ontology: ASSMSO - -[Term] -id: ASSMSO:00000001 -name: Assay Metadata -def: "" - -[Term] -id: ASSMSO:00000002 -name: ASSAY -def: "" -synonym: "ASSAY METADATA" EXACT [] -relationship: part_of ASSMSO:00000001 ! Assay Metadata - -[Term] -id: ASSMSO:00000003 -name: ASSAY METADATA -def: "" -synonym: "ASSAY" EXACT [] -is_obsolete: true -relationship: part_of ASSMSO:00000001 ! Assay Metadata - -[Term] -id: ASSMSO:00000004 -name: Assay Measurement Type -def: "" -synonym: "Measurement Type" EXACT [] -relationship: part_of ASSMSO:00000002 ! ASSAY -relationship: part_of ASSMSO:00000003 ! ASSAY METADATA -relationship: follows ASSMSO:00000002 ! ASSAY -relationship: follows ASSMSO:00000003 ! ASSAY METADATA - -[Term] -id: ASSMSO:00000005 -name: Measurement Type -def: "" -synonym: "Assay Measurement Type" EXACT [] -is_obsolete: true -relationship: part_of ASSMSO:00000002 ! ASSAY -relationship: part_of ASSMSO:00000003 ! ASSAY METADATA -relationship: follows ASSMSO:00000002 ! ASSAY -relationship: follows ASSMSO:00000003 ! ASSAY METADATA - -[Term] -id: ASSMSO:00000006 -name: Assay Measurement Type Term Accession Number -def: "" -synonym: "Measurement Type Term Accession Number" EXACT [] -relationship: part_of ASSMSO:00000002 ! ASSAY -relationship: part_of ASSMSO:00000003 ! ASSAY METADATA -relationship: follows ASSMSO:00000004 ! Assay Measurement Type -relationship: follows ASSMSO:00000005 ! Measurement Type - -[Term] -id: ASSMSO:00000007 -name: Measurement Type Term Accession Number -def: "Assay Measurement Type Term Accession Number" -synonym: "" EXACT [] -is_obsolete: true -relationship: part_of ASSMSO:00000002 ! ASSAY -relationship: part_of ASSMSO:00000003 ! ASSAY METADATA -relationship: follows ASSMSO:00000004 ! Assay Measurement Type -relationship: follows ASSMSO:00000005 ! Measurement Type - -[Term] -id: ASSMSO:00000008 -name: Assay Measurement Type Term Source REF -def: "" -synonym: "Measurement Type Term Source REF" EXACT [] -relationship: part_of ASSMSO:00000002 ! ASSAY -relationship: part_of ASSMSO:00000003 ! ASSAY METADATA -relationship: follows ASSMSO:00000006 ! Measurement Type Term Accession Number -relationship: follows ASSMSO:00000007 ! Assay Measurement Type Term Accession Number - -[Term] -id: ASSMSO:00000009 -name: Measurement Type Term Source REF -def: "" -synonym: "Assay Measurement Type Term Source REF" EXACT [] -is_obsolete: true -relationship: part_of ASSMSO:00000002 ! ASSAY -relationship: part_of ASSMSO:00000003 ! ASSAY METADATA -relationship: follows ASSMSO:00000006 ! Measurement Type Term Accession Number -relationship: follows ASSMSO:00000007 ! Assay Measurement Type Term Accession Number - -[Term] -id: ASSMSO:00000010 -name: Technology Type -def: "" -synonym: "Assay Technology Type" EXACT [] -is_obsolete: true -relationship: part_of ASSMSO:00000002 ! ASSAY -relationship: part_of ASSMSO:00000003 ! ASSAY METADATA -relationship: follows ASSMSO:00000008 ! Measurement Type Term Source REF -relationship: follows ASSMSO:00000009 ! Assay Measurement Type Term Source REF - -[Term] -id: ASSMSO:00000011 -name: Assay Technology Type -def: "" -synonym: "Technology Type" EXACT [] -relationship: part_of ASSMSO:00000002 ! ASSAY -relationship: part_of ASSMSO:00000003 ! ASSAY METADATA -relationship: follows ASSMSO:00000008 ! Measurement Type Term Source REF -relationship: follows ASSMSO:00000009 ! Assay Measurement Type Term Source REF - -[Term] -id: ASSMSO:00000012 -name: Technology Type Term Accession Number -def: "" -synonym: "Assay Technology Type Term Accession Number" EXACT [] -is_obsolete: true -relationship: part_of ASSMSO:00000002 ! ASSAY -relationship: part_of ASSMSO:00000003 ! ASSAY METADATA -relationship: follows ASSMSO:00000010 ! Technology Type -relationship: follows ASSMSO:00000011 ! Assay Technology Type - -[Term] -id: ASSMSO:00000013 -name: Assay Technology Type Term Accession Number -def: "" -synonym: "Technology Type Term Accession Number" EXACT [] -relationship: part_of ASSMSO:00000002 ! ASSAY -relationship: part_of ASSMSO:00000003 ! ASSAY METADATA -relationship: follows ASSMSO:00000010 ! Technology Type -relationship: follows ASSMSO:00000011 ! Assay Technology Type - -[Term] -id: ASSMSO:00000014 -name: Technology Type Term Source REF -def: "" -synonym: "Assay Technology Type Term Source REF" EXACT [] -is_obsolete: true -relationship: part_of ASSMSO:00000002 ! ASSAY -relationship: part_of ASSMSO:00000003 ! ASSAY METADATA -relationship: follows ASSMSO:00000012 ! Technology Type Term Accession Number -relationship: follows ASSMSO:00000013 ! Assay Technology Type Term Accession Number - -[Term] -id: ASSMSO:00000015 -name: Assay Technology Type Term Source REF -def: "" -synonym: "Technology Type Term Source REF" EXACT [] -relationship: part_of ASSMSO:00000002 ! ASSAY -relationship: part_of ASSMSO:00000003 ! ASSAY METADATA -relationship: follows ASSMSO:00000012 ! Technology Type Term Accession Number -relationship: follows ASSMSO:00000013 ! Assay Technology Type Term Accession Number - -[Term] -id: ASSMSO:00000016 -name: Technology Platform -def: "" -synonym: "Assay Technology Platform" EXACT [] -is_obsolete: true -relationship: part_of ASSMSO:00000002 ! ASSAY -relationship: part_of ASSMSO:00000003 ! ASSAY METADATA -relationship: follows ASSMSO:00000014 ! Technology Type Term Source REF -relationship: follows ASSMSO:00000015 ! Assay Technology Type Term Source REF - -[Term] -id: ASSMSO:00000017 -name: Assay Technology Platform -def: "" -synonym: "Technology Platform" EXACT [] -relationship: part_of ASSMSO:00000002 ! ASSAY -relationship: part_of ASSMSO:00000003 ! ASSAY METADATA -relationship: follows ASSMSO:00000014 ! Technology Type Term Source REF -relationship: follows ASSMSO:00000015 ! Assay Technology Type Term Source REF - -[Term] -id: ASSMSO:00000018 -name: File Name -def: "" -synonym: "Assay File Name" EXACT [] -is_obsolete: true -relationship: part_of ASSMSO:00000002 ! ASSAY -relationship: part_of ASSMSO:00000003 ! ASSAY METADATA -relationship: follows ASSMSO:00000016 ! Technology Platform -relationship: follows ASSMSO:00000017 ! Assay Technology Platform - -[Term] -id: ASSMSO:00000019 -name: Assay File Name -def: "" -synonym: "File Name" EXACT [] -relationship: part_of ASSMSO:00000002 ! ASSAY -relationship: part_of ASSMSO:00000003 ! ASSAY METADATA -relationship: follows ASSMSO:00000016 ! Technology Platform -relationship: follows ASSMSO:00000017 ! Assay Technology Platform - -[Term] -id: ASSMSO:00000020 -name: ASSAY PERFORMERS -def: "" -relationship: part_of ASSMSO:00000001 ! ASSAY Metadata -relationship: follows ASSMSO:00000018 ! File Name -relationship: follows ASSMSO:00000019 ! Assay File Name - -[Term] -id: ASSMSO:00000021 -name: Assay Performer Last Name -def: "" -synonym: "Last Name" EXACT [] -relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS -relationship: follows ASSMSO:00000020 ! ASSAY PERFORMERS - -[Term] -id: ASSMSO:00000022 -name: Last Name -def: "" -synonym: "Assay Performer Last Name" EXACT [] -is_obsolete: true -relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS -relationship: follows ASSMSO:00000020 ! ASSAY PERFORMERS - -[Term] -id: ASSMSO:00000023 -name: Assay Performer First Name -def: "" -synonym: "First Name" EXACT [] -relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS -relationship: follows ASSMSO:00000021 ! Assay Performer Last Name -relationship: follows ASSMSO:00000022 ! Last Name - -[Term] -id: ASSMSO:00000024 -name: First Name -def: "" -synonym: "Assay Performer First Name" EXACT [] -is_obsolete: true -relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS -relationship: follows ASSMSO:00000021 ! Assay Performer Last Name -relationship: follows ASSMSO:00000022 ! Last Name - -[Term] -id: ASSMSO:00000025 -name: Assay Performer Mid Initials -def: "" -synonym: "Mid Initials" EXACT [] -relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS -relationship: follows ASSMSO:00000023 ! Assay Performer First Name -relationship: follows ASSMSO:00000024 ! First Name - -[Term] -id: ASSMSO:00000026 -name: Mid Initials -def: "" -synonym: "Assay Performer Mid Initials" EXACT [] -is_obsolete: true -relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS -relationship: follows ASSMSO:00000023 ! Assay Performer First Name -relationship: follows ASSMSO:00000024 ! First Name - -[Term] -id: ASSMSO:00000027 -name: Assay Performer Email -def: "" -synonym: "Email" EXACT [] -relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS -relationship: follows ASSMSO:00000025 ! Assay Performer Mid Initials -relationship: follows ASSMSO:00000026 ! Mid Initials - -[Term] -id: ASSMSO:00000028 -name: Email -def: "" -synonym: "Assay Performer Email" EXACT [] -is_obsolete: true -relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS -relationship: follows ASSMSO:00000025 ! Assay Performer Mid Initials -relationship: follows ASSMSO:00000026 ! Mid Initials - -[Term] -id: ASSMSO:00000029 -name: Assay Performer Phone -def: "" -synonym: "Phone" EXACT [] -relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS -relationship: follows ASSMSO:00000027 ! Assay Performer Email -relationship: follows ASSMSO:00000028 ! Email - -[Term] -id: ASSMSO:00000030 -name: Phone -def: "" -synonym: "Assay Performer Phone" EXACT [] -is_obsolete: true -relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS -relationship: follows ASSMSO:00000027 ! Assay Performer Email -relationship: follows ASSMSO:00000028 ! Email - -[Term] -id: ASSMSO:00000031 -name: Assay Performer Fax -def: "" -synonym: "Fax" EXACT [] -relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS -relationship: follows ASSMSO:00000029 ! Assay Performer Phone -relationship: follows ASSMSO:00000030 ! Phone - -[Term] -id: ASSMSO:00000032 -name: Fax -def: "" -synonym: "Assay Performer Fax" EXACT [] -is_obsolete: true -relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS -relationship: follows ASSMSO:00000029 ! Assay Performer Phone -relationship: follows ASSMSO:00000030 ! Phone - -[Term] -id: ASSMSO:00000033 -name: Assay Performer Address -def: "" -synonym: "Address" EXACT [] -relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS -relationship: follows ASSMSO:00000031 ! Assay Performer Fax -relationship: follows ASSMSO:00000032 ! Fax - -[Term] -id: ASSMSO:00000034 -name: Address -def: "" -synonym: "Assay Performer Address" EXACT [] -is_obsolete: true -relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS -relationship: follows ASSMSO:00000031 ! Assay Performer Fax -relationship: follows ASSMSO:00000032 ! Fax - -[Term] -id: ASSMSO:00000035 -name: Assay Performer Affiliation -def: "" -synonym: "Affiliation" EXACT [] -relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS -relationship: follows ASSMSO:00000033 ! Assay Performer Address -relationship: follows ASSMSO:00000034 ! Address - -[Term] -id: ASSMSO:00000036 -name: Affiliation -def: "" -synonym: "Assay Performer Affiliation" EXACT [] -is_obsolete: true -relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS -relationship: follows ASSMSO:00000033 ! Assay Performer Address -relationship: follows ASSMSO:00000034 ! Address - -[Term] -id: ASSMSO:00000037 -name: Assay Performer Roles -def: "" -synonym: "Roles" EXACT [] -relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS -relationship: follows ASSMSO:00000035 ! Assay Performer Affiliation -relationship: follows ASSMSO:00000036 ! Affiliation - -[Term] -id: ASSMSO:00000038 -name: Roles -def: "" -synonym: "Assay Performer Roles" EXACT [] -is_obsolete: true -relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS -relationship: follows ASSMSO:00000035 ! Assay Performer Affiliation -relationship: follows ASSMSO:00000036 ! Affiliation - -[Term] -id: ASSMSO:00000039 -name: Assay Performer Roles Term Accession Number -def: "" -synonym: "Roles Term Accession Number" EXACT [] -relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS -relationship: follows ASSMSO:00000037 ! Assay Performer Roles -relationship: follows ASSMSO:00000038 ! Roles - -[Term] -id: ASSMSO:00000040 -name: Roles Term Accession Number -def: "" -synonym: "Assay Performer Roles Term Accession Number" EXACT [] -is_obsolete: true -relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS -relationship: follows ASSMSO:00000037 ! Assay Performer Roles -relationship: follows ASSMSO:00000038 ! Roles - -[Term] -id: ASSMSO:00000041 -name: Assay Performer Roles Term Source REF -def: "" -synonym: "Roles Term Source REF" EXACT [] -relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS -relationship: follows ASSMSO:00000039 ! Assay Performer Roles Term Accession Number -relationship: follows ASSMSO:00000040 ! Roles Term Accession Number - -[Term] -id: ASSMSO:00000042 -name: Roles Term Source REF -def: "" -synonym: "Assay Performer Roles Term Source REF" EXACT [] -is_obsolete: true -relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS -relationship: follows ASSMSO:00000039 ! Assay Performer Roles Term Accession Number -relationship: follows ASSMSO:00000040 ! Roles Term Accession Number +!This file was auto generated on 21.03.2024. Do not edit it. All manual changes will be overwritten by the next generator run eventually. +format-version: 1.2 +data-version: init/2023-07-27 +saved-by: Kevin Schneider +default-namespace: assmso +ontology: ASSMSO + +[Term] +id: ASSMSO:00000001 +name: Assay Metadata +def: "" + +[Term] +id: ASSMSO:00000002 +name: ASSAY +def: "" +synonym: "ASSAY METADATA" EXACT [] +relationship: part_of ASSMSO:00000001 ! Assay Metadata + +[Term] +id: ASSMSO:00000003 +name: ASSAY METADATA +def: "" +synonym: "ASSAY" EXACT [] +is_obsolete: true +relationship: part_of ASSMSO:00000001 ! Assay Metadata + +[Term] +id: ASSMSO:00000004 +name: Assay Measurement Type +def: "" +synonym: "Measurement Type" EXACT [] +relationship: part_of ASSMSO:00000002 ! ASSAY +relationship: part_of ASSMSO:00000003 ! ASSAY METADATA +relationship: follows ASSMSO:00000002 ! ASSAY +relationship: follows ASSMSO:00000003 ! ASSAY METADATA + +[Term] +id: ASSMSO:00000005 +name: Measurement Type +def: "" +synonym: "Assay Measurement Type" EXACT [] +is_obsolete: true +relationship: part_of ASSMSO:00000002 ! ASSAY +relationship: part_of ASSMSO:00000003 ! ASSAY METADATA +relationship: follows ASSMSO:00000002 ! ASSAY +relationship: follows ASSMSO:00000003 ! ASSAY METADATA + +[Term] +id: ASSMSO:00000006 +name: Assay Measurement Type Term Accession Number +def: "" +synonym: "Measurement Type Term Accession Number" EXACT [] +relationship: part_of ASSMSO:00000002 ! ASSAY +relationship: part_of ASSMSO:00000003 ! ASSAY METADATA +relationship: follows ASSMSO:00000004 ! Assay Measurement Type +relationship: follows ASSMSO:00000005 ! Measurement Type + +[Term] +id: ASSMSO:00000007 +name: Measurement Type Term Accession Number +def: "Assay Measurement Type Term Accession Number" +synonym: "" EXACT [] +is_obsolete: true +relationship: part_of ASSMSO:00000002 ! ASSAY +relationship: part_of ASSMSO:00000003 ! ASSAY METADATA +relationship: follows ASSMSO:00000004 ! Assay Measurement Type +relationship: follows ASSMSO:00000005 ! Measurement Type + +[Term] +id: ASSMSO:00000008 +name: Assay Measurement Type Term Source REF +def: "" +synonym: "Measurement Type Term Source REF" EXACT [] +relationship: part_of ASSMSO:00000002 ! ASSAY +relationship: part_of ASSMSO:00000003 ! ASSAY METADATA +relationship: follows ASSMSO:00000006 ! Measurement Type Term Accession Number +relationship: follows ASSMSO:00000007 ! Assay Measurement Type Term Accession Number + +[Term] +id: ASSMSO:00000009 +name: Measurement Type Term Source REF +def: "" +synonym: "Assay Measurement Type Term Source REF" EXACT [] +is_obsolete: true +relationship: part_of ASSMSO:00000002 ! ASSAY +relationship: part_of ASSMSO:00000003 ! ASSAY METADATA +relationship: follows ASSMSO:00000006 ! Measurement Type Term Accession Number +relationship: follows ASSMSO:00000007 ! Assay Measurement Type Term Accession Number + +[Term] +id: ASSMSO:00000010 +name: Technology Type +def: "" +synonym: "Assay Technology Type" EXACT [] +is_obsolete: true +relationship: part_of ASSMSO:00000002 ! ASSAY +relationship: part_of ASSMSO:00000003 ! ASSAY METADATA +relationship: follows ASSMSO:00000008 ! Measurement Type Term Source REF +relationship: follows ASSMSO:00000009 ! Assay Measurement Type Term Source REF + +[Term] +id: ASSMSO:00000011 +name: Assay Technology Type +def: "" +synonym: "Technology Type" EXACT [] +relationship: part_of ASSMSO:00000002 ! ASSAY +relationship: part_of ASSMSO:00000003 ! ASSAY METADATA +relationship: follows ASSMSO:00000008 ! Measurement Type Term Source REF +relationship: follows ASSMSO:00000009 ! Assay Measurement Type Term Source REF + +[Term] +id: ASSMSO:00000012 +name: Technology Type Term Accession Number +def: "" +synonym: "Assay Technology Type Term Accession Number" EXACT [] +is_obsolete: true +relationship: part_of ASSMSO:00000002 ! ASSAY +relationship: part_of ASSMSO:00000003 ! ASSAY METADATA +relationship: follows ASSMSO:00000010 ! Technology Type +relationship: follows ASSMSO:00000011 ! Assay Technology Type + +[Term] +id: ASSMSO:00000013 +name: Assay Technology Type Term Accession Number +def: "" +synonym: "Technology Type Term Accession Number" EXACT [] +relationship: part_of ASSMSO:00000002 ! ASSAY +relationship: part_of ASSMSO:00000003 ! ASSAY METADATA +relationship: follows ASSMSO:00000010 ! Technology Type +relationship: follows ASSMSO:00000011 ! Assay Technology Type + +[Term] +id: ASSMSO:00000014 +name: Technology Type Term Source REF +def: "" +synonym: "Assay Technology Type Term Source REF" EXACT [] +is_obsolete: true +relationship: part_of ASSMSO:00000002 ! ASSAY +relationship: part_of ASSMSO:00000003 ! ASSAY METADATA +relationship: follows ASSMSO:00000012 ! Technology Type Term Accession Number +relationship: follows ASSMSO:00000013 ! Assay Technology Type Term Accession Number + +[Term] +id: ASSMSO:00000015 +name: Assay Technology Type Term Source REF +def: "" +synonym: "Technology Type Term Source REF" EXACT [] +relationship: part_of ASSMSO:00000002 ! ASSAY +relationship: part_of ASSMSO:00000003 ! ASSAY METADATA +relationship: follows ASSMSO:00000012 ! Technology Type Term Accession Number +relationship: follows ASSMSO:00000013 ! Assay Technology Type Term Accession Number + +[Term] +id: ASSMSO:00000016 +name: Technology Platform +def: "" +synonym: "Assay Technology Platform" EXACT [] +is_obsolete: true +relationship: part_of ASSMSO:00000002 ! ASSAY +relationship: part_of ASSMSO:00000003 ! ASSAY METADATA +relationship: follows ASSMSO:00000014 ! Technology Type Term Source REF +relationship: follows ASSMSO:00000015 ! Assay Technology Type Term Source REF + +[Term] +id: ASSMSO:00000017 +name: Assay Technology Platform +def: "" +synonym: "Technology Platform" EXACT [] +relationship: part_of ASSMSO:00000002 ! ASSAY +relationship: part_of ASSMSO:00000003 ! ASSAY METADATA +relationship: follows ASSMSO:00000014 ! Technology Type Term Source REF +relationship: follows ASSMSO:00000015 ! Assay Technology Type Term Source REF + +[Term] +id: ASSMSO:00000018 +name: File Name +def: "" +synonym: "Assay File Name" EXACT [] +is_obsolete: true +relationship: part_of ASSMSO:00000002 ! ASSAY +relationship: part_of ASSMSO:00000003 ! ASSAY METADATA +relationship: follows ASSMSO:00000016 ! Technology Platform +relationship: follows ASSMSO:00000017 ! Assay Technology Platform + +[Term] +id: ASSMSO:00000019 +name: Assay File Name +def: "" +synonym: "File Name" EXACT [] +relationship: part_of ASSMSO:00000002 ! ASSAY +relationship: part_of ASSMSO:00000003 ! ASSAY METADATA +relationship: follows ASSMSO:00000016 ! Technology Platform +relationship: follows ASSMSO:00000017 ! Assay Technology Platform + +[Term] +id: ASSMSO:00000020 +name: ASSAY PERFORMERS +def: "" +relationship: part_of ASSMSO:00000001 ! ASSAY Metadata +relationship: follows ASSMSO:00000018 ! File Name +relationship: follows ASSMSO:00000019 ! Assay File Name + +[Term] +id: ASSMSO:00000021 +name: Assay Performer Last Name +def: "" +synonym: "Last Name" EXACT [] +relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS +relationship: follows ASSMSO:00000020 ! ASSAY PERFORMERS + +[Term] +id: ASSMSO:00000022 +name: Last Name +def: "" +synonym: "Assay Performer Last Name" EXACT [] +is_obsolete: true +relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS +relationship: follows ASSMSO:00000020 ! ASSAY PERFORMERS + +[Term] +id: ASSMSO:00000023 +name: Assay Performer First Name +def: "" +synonym: "First Name" EXACT [] +relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS +relationship: follows ASSMSO:00000021 ! Assay Performer Last Name +relationship: follows ASSMSO:00000022 ! Last Name + +[Term] +id: ASSMSO:00000024 +name: First Name +def: "" +synonym: "Assay Performer First Name" EXACT [] +is_obsolete: true +relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS +relationship: follows ASSMSO:00000021 ! Assay Performer Last Name +relationship: follows ASSMSO:00000022 ! Last Name + +[Term] +id: ASSMSO:00000025 +name: Assay Performer Mid Initials +def: "" +synonym: "Mid Initials" EXACT [] +relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS +relationship: follows ASSMSO:00000023 ! Assay Performer First Name +relationship: follows ASSMSO:00000024 ! First Name + +[Term] +id: ASSMSO:00000026 +name: Mid Initials +def: "" +synonym: "Assay Performer Mid Initials" EXACT [] +is_obsolete: true +relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS +relationship: follows ASSMSO:00000023 ! Assay Performer First Name +relationship: follows ASSMSO:00000024 ! First Name + +[Term] +id: ASSMSO:00000027 +name: Assay Performer Email +def: "" +synonym: "Email" EXACT [] +relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS +relationship: follows ASSMSO:00000025 ! Assay Performer Mid Initials +relationship: follows ASSMSO:00000026 ! Mid Initials + +[Term] +id: ASSMSO:00000028 +name: Email +def: "" +synonym: "Assay Performer Email" EXACT [] +is_obsolete: true +relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS +relationship: follows ASSMSO:00000025 ! Assay Performer Mid Initials +relationship: follows ASSMSO:00000026 ! Mid Initials + +[Term] +id: ASSMSO:00000029 +name: Assay Performer Phone +def: "" +synonym: "Phone" EXACT [] +relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS +relationship: follows ASSMSO:00000027 ! Assay Performer Email +relationship: follows ASSMSO:00000028 ! Email + +[Term] +id: ASSMSO:00000030 +name: Phone +def: "" +synonym: "Assay Performer Phone" EXACT [] +is_obsolete: true +relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS +relationship: follows ASSMSO:00000027 ! Assay Performer Email +relationship: follows ASSMSO:00000028 ! Email + +[Term] +id: ASSMSO:00000031 +name: Assay Performer Fax +def: "" +synonym: "Fax" EXACT [] +relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS +relationship: follows ASSMSO:00000029 ! Assay Performer Phone +relationship: follows ASSMSO:00000030 ! Phone + +[Term] +id: ASSMSO:00000032 +name: Fax +def: "" +synonym: "Assay Performer Fax" EXACT [] +is_obsolete: true +relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS +relationship: follows ASSMSO:00000029 ! Assay Performer Phone +relationship: follows ASSMSO:00000030 ! Phone + +[Term] +id: ASSMSO:00000033 +name: Assay Performer Address +def: "" +synonym: "Address" EXACT [] +relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS +relationship: follows ASSMSO:00000031 ! Assay Performer Fax +relationship: follows ASSMSO:00000032 ! Fax + +[Term] +id: ASSMSO:00000034 +name: Address +def: "" +synonym: "Assay Performer Address" EXACT [] +is_obsolete: true +relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS +relationship: follows ASSMSO:00000031 ! Assay Performer Fax +relationship: follows ASSMSO:00000032 ! Fax + +[Term] +id: ASSMSO:00000035 +name: Assay Performer Affiliation +def: "" +synonym: "Affiliation" EXACT [] +relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS +relationship: follows ASSMSO:00000033 ! Assay Performer Address +relationship: follows ASSMSO:00000034 ! Address + +[Term] +id: ASSMSO:00000036 +name: Affiliation +def: "" +synonym: "Assay Performer Affiliation" EXACT [] +is_obsolete: true +relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS +relationship: follows ASSMSO:00000033 ! Assay Performer Address +relationship: follows ASSMSO:00000034 ! Address + +[Term] +id: ASSMSO:00000037 +name: Assay Performer Roles +def: "" +synonym: "Roles" EXACT [] +relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS +relationship: follows ASSMSO:00000035 ! Assay Performer Affiliation +relationship: follows ASSMSO:00000036 ! Affiliation + +[Term] +id: ASSMSO:00000038 +name: Roles +def: "" +synonym: "Assay Performer Roles" EXACT [] +is_obsolete: true +relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS +relationship: follows ASSMSO:00000035 ! Assay Performer Affiliation +relationship: follows ASSMSO:00000036 ! Affiliation + +[Term] +id: ASSMSO:00000039 +name: Assay Performer Roles Term Accession Number +def: "" +synonym: "Roles Term Accession Number" EXACT [] +relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS +relationship: follows ASSMSO:00000037 ! Assay Performer Roles +relationship: follows ASSMSO:00000038 ! Roles + +[Term] +id: ASSMSO:00000040 +name: Roles Term Accession Number +def: "" +synonym: "Assay Performer Roles Term Accession Number" EXACT [] +is_obsolete: true +relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS +relationship: follows ASSMSO:00000037 ! Assay Performer Roles +relationship: follows ASSMSO:00000038 ! Roles + +[Term] +id: ASSMSO:00000041 +name: Assay Performer Roles Term Source REF +def: "" +synonym: "Roles Term Source REF" EXACT [] +relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS +relationship: follows ASSMSO:00000039 ! Assay Performer Roles Term Accession Number +relationship: follows ASSMSO:00000040 ! Roles Term Accession Number + +[Term] +id: ASSMSO:00000042 +name: Roles Term Source REF +def: "" +synonym: "Assay Performer Roles Term Source REF" EXACT [] +is_obsolete: true +relationship: part_of ASSMSO:00000020 ! ASSAY PERFORMERS +relationship: follows ASSMSO:00000039 ! Assay Performer Roles Term Accession Number +relationship: follows ASSMSO:00000040 ! Roles Term Accession Number diff --git a/src/ARCTokenization/structural_ontologies/investigation_metadata_structural_ontology.obo b/src/ARCTokenization/structural_ontologies/investigation_metadata_structural_ontology.obo index cc3d7c9..22816a9 100644 --- a/src/ARCTokenization/structural_ontologies/investigation_metadata_structural_ontology.obo +++ b/src/ARCTokenization/structural_ontologies/investigation_metadata_structural_ontology.obo @@ -1,679 +1,679 @@ -!This file was auto generated on 26.02.2024. Do not edit it. All manual changes will be overwritten by the next generator run eventually. -format-version: 1.2 -data-version: init/2023-07-20 -saved-by: Kevin Schneider -default-namespace: invmso -ontology: INVMSO - -[Term] -id: INVMSO:00000001 -name: Investigation Metadata -def: "" - -[Term] -id: INVMSO:00000002 -name: ONTOLOGY SOURCE REFERENCE -def: "" -relationship: part_of INVMSO:00000001 ! Investigation Metadata - -[Term] -id: INVMSO:00000003 -name: Term Source Name -def: "" -relationship: part_of INVMSO:00000002 ! ONTOLOGY SOURCE REFERENCE -relationship: follows INVMSO:00000002 ! ONTOLOGY SOURCE REFERENCE - -[Term] -id: INVMSO:00000004 -name: Term Source File -def: "" -relationship: part_of INVMSO:00000002 ! ONTOLOGY SOURCE REFERENCE -relationship: follows INVMSO:00000003 ! Term Source Name - -[Term] -id: INVMSO:00000005 -name: Term Source Version -def: "" -relationship: part_of INVMSO:00000002 ! ONTOLOGY SOURCE REFERENCE -relationship: follows INVMSO:00000004 ! Term Source File - -[Term] -id: INVMSO:00000006 -name: Term Source Description -def: "" -relationship: part_of INVMSO:00000002 ! ONTOLOGY SOURCE REFERENCE -relationship: follows INVMSO:00000005 ! Term Source Version - -[Term] -id: INVMSO:00000007 -name: INVESTIGATION -def: "" -relationship: part_of INVMSO:00000001 ! Investigation Metadata -relationship: follows INVMSO:00000006 ! Term Source Description - -[Term] -id: INVMSO:00000008 -name: Investigation Identifier -def: "A unique identifier for the Investigation" -relationship: part_of INVMSO:00000007 ! INVESTIGATION -relationship: follows INVMSO:00000007 ! INVESTIGATION - -[Term] -id: INVMSO:00000009 -name: Investigation Title -def: "A short description of the Investigation" -relationship: part_of INVMSO:00000007 ! INVESTIGATION -relationship: follows INVMSO:00000008 ! Investigation Identifier - -[Term] -id: INVMSO:00000010 -name: Investigation Description -def: "" -relationship: part_of INVMSO:00000007 ! INVESTIGATION -relationship: follows INVMSO:00000009 ! Investigation Title - -[Term] -id: INVMSO:00000011 -name: Investigation Submission Date -def: "" -relationship: part_of INVMSO:00000007 ! INVESTIGATION -relationship: follows INVMSO:00000010 ! Investigation Description - -[Term] -id: INVMSO:00000012 -name: Investigation Public Release Date -def: "" -relationship: part_of INVMSO:00000007 ! INVESTIGATION -relationship: follows INVMSO:00000011 ! Investigation Submission Date - -[Term] -id: INVMSO:00000013 -name: INVESTIGATION PUBLICATIONS -def: "" -relationship: part_of INVMSO:00000001 ! Investigation Metadata -relationship: follows INVMSO:00000012 ! Investigation Public Release Date - -[Term] -id: INVMSO:00000014 -name: Investigation Publication PubMed ID -def: "" -relationship: part_of INVMSO:00000013 ! INVESTIGATION PUBLICATIONS -relationship: follows INVMSO:00000013 ! INVESTIGATION PUBLICATIONS - -[Term] -id: INVMSO:00000015 -name: Investigation Publication DOI -def: "" -relationship: part_of INVMSO:00000013 ! INVESTIGATION PUBLICATIONS -relationship: follows INVMSO:00000014 ! Investigation Publication PubMed ID - -[Term] -id: INVMSO:00000016 -name: Investigation Publication Author List -def: "" -relationship: part_of INVMSO:00000013 ! INVESTIGATION PUBLICATIONS -relationship: follows INVMSO:00000015 ! Investigation Publication DOI - -[Term] -id: INVMSO:00000017 -name: Investigation Publication Title -def: "" -relationship: part_of INVMSO:00000013 ! INVESTIGATION PUBLICATIONS -relationship: follows INVMSO:00000016 ! Investigation Publication Author List - -[Term] -id: INVMSO:00000018 -name: Investigation Publication Status -def: "" -relationship: part_of INVMSO:00000013 ! INVESTIGATION PUBLICATIONS -relationship: follows INVMSO:00000017 ! Investigation Publication Title - -[Term] -id: INVMSO:00000019 -name: Investigation Publication Status Term Accession Number -def: "" -relationship: part_of INVMSO:00000013 ! INVESTIGATION PUBLICATIONS -relationship: follows INVMSO:00000018 ! Investigation Publication Status - -[Term] -id: INVMSO:00000020 -name: Investigation Publication Status Term Source REF -def: "" -relationship: part_of INVMSO:00000013 ! INVESTIGATION PUBLICATIONS -relationship: follows INVMSO:00000019 ! Investigation Publication Status Term Accession Number - -[Term] -id: INVMSO:00000021 -name: INVESTIGATION CONTACTS -def: "" -relationship: part_of INVMSO:00000001 ! Investigation Metadata -relationship: follows INVMSO:00000020 ! Investigation Publication Status Term Source REF - -[Term] -id: INVMSO:00000022 -name: Investigation Person Last Name -def: "" -relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS -relationship: follows INVMSO:00000021 ! INVESTIGATION CONTACTS - -[Term] -id: INVMSO:00000023 -name: Investigation Person First Name -def: "" -relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS -relationship: follows INVMSO:00000022 ! Investigation Person Last Name - -[Term] -id: INVMSO:00000024 -name: Investigation Person Mid Initials -def: "" -relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS -relationship: follows INVMSO:00000023 ! Investigation Person First Name - -[Term] -id: INVMSO:00000025 -name: Investigation Person Email -def: "" -relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS -relationship: follows INVMSO:00000024 ! Investigation Person Mid Initials - -[Term] -id: INVMSO:00000026 -name: Investigation Person Phone -def: "" -relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS -relationship: follows INVMSO:00000025 ! Investigation Person Email - -[Term] -id: INVMSO:00000027 -name: Investigation Person Fax -def: "" -relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS -relationship: follows INVMSO:00000026 ! Investigation Person Phone - -[Term] -id: INVMSO:00000028 -name: Investigation Person Address -def: "" -relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS -relationship: follows INVMSO:00000027 ! Investigation Person Fax - -[Term] -id: INVMSO:00000029 -name: Investigation Person Affiliation -def: "" -relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS -relationship: follows INVMSO:00000028 ! Investigation Person Address - -[Term] -id: INVMSO:00000030 -name: Investigation Person Roles -def: "" -relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS -relationship: follows INVMSO:00000029 ! Investigation Person Affiliation - -[Term] -id: INVMSO:00000031 -name: Investigation Person Roles Term Accession Number -def: "" -relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS -relationship: follows INVMSO:00000030 ! Investigation Person Roles - -[Term] -id: INVMSO:00000032 -name: Investigation Person Roles Term Source REF -def: "" -relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS -relationship: follows INVMSO:00000031 ! Investigation Person Roles Term Accession Number - -[Term] -id: INVMSO:00000093 -name: Comment[] -def: "" -synonym: "Comment[Investigation Person ORCID]" EXACT [] -synonym: "Comment[ORCID]" EXACT [] -is_obsolete: true -relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS -relationship: follows INVMSO:00000032 ! Investigation Person Roles Term Source REF - -[Term] -id: INVMSO:00000094 -name: Comment[Investigation Person ORCID] -def: "" -synonym: "Comment[]" EXACT [] -synonym: "Comment[ORCID]" EXACT [] -is_obsolete: true -relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS -relationship: follows INVMSO:00000032 ! Investigation Person Roles Term Source REF - -[Term] -id: INVMSO:00000095 -name: Comment[ORCID] -def: "" -synonym: "Comment[Investigation Person ORCID]" EXACT [] -synonym: "Comment[]" EXACT [] -relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS -relationship: follows INVMSO:00000032 ! Investigation Person Roles Term Source REF - -[Term] -name: STUDY -id: INVMSO:00000033 -def: "" -relationship: part_of INVMSO:00000001 ! Investigation Metadata -relationship: follows INVMSO:00000032 ! Investigation Person Roles Term Source REF -relationship: follows INVMSO:00000093 ! Comment[] -relationship: follows INVMSO:00000094 ! Comment[Investigation Person ORCID] -relationship: follows INVMSO:00000095 ! Comment[ORCID] - -[Term] -id: INVMSO:00000034 -name: Study Identifier -def: "" -relationship: part_of INVMSO:00000033 ! STUDY -relationship: follows INVMSO:00000033 ! STUDY - -[Term] -id: INVMSO:00000035 -name: Study Title -def: "" -relationship: part_of INVMSO:00000033 ! STUDY -relationship: follows INVMSO:00000034 ! Study Identifier - -[Term] -id: INVMSO:00000036 -name: Study Description -def: "" -relationship: part_of INVMSO:00000033 ! STUDY -relationship: follows INVMSO:00000035 ! Study Title - -[Term] -id: INVMSO:00000037 -name: Study Submission Date -def: "" -relationship: part_of INVMSO:00000033 ! STUDY -relationship: follows INVMSO:00000036 ! Study Description - -[Term] -id: INVMSO:00000038 -name: Study Public Release Date -def: "" -relationship: part_of INVMSO:00000033 ! STUDY -relationship: follows INVMSO:00000037 ! Study Submission Date - -[Term] -id: INVMSO:00000039 -name: Study File Name -def: "" -relationship: part_of INVMSO:00000033 ! STUDY -relationship: follows INVMSO:00000038 ! Study Public Release Date - -[Term] -id: INVMSO:00000040 -name: STUDY DESIGN DESCRIPTORS -def: "" -relationship: part_of INVMSO:00000001 ! Investigation Metadata -relationship: follows INVMSO:00000039 ! Study File Name - -[Term] -id: INVMSO:00000041 -name: Study Design Type -def: "" -relationship: part_of INVMSO:00000040 ! STUDY DESIGN DESCRIPTORS -relationship: follows INVMSO:00000040 ! STUDY DESIGN DESCRIPTORS - -[Term] -id: INVMSO:00000042 -name: Study Design Type Term Accession Number -def: "" -relationship: part_of INVMSO:00000040 ! STUDY DESIGN DESCRIPTORS -relationship: follows INVMSO:00000041 ! Study Design Type - -[Term] -id: INVMSO:00000043 -name: Study Design Type Term Source REF -def: "" -relationship: part_of INVMSO:00000040 ! STUDY DESIGN DESCRIPTORS -relationship: follows INVMSO:00000042 ! Study Design Type Term Accession Number - -[Term] -id: INVMSO:00000044 -name: STUDY PUBLICATIONS -def: "" -relationship: part_of INVMSO:00000001 ! Investigation Metadata -relationship: follows INVMSO:00000043 ! Study Design Type Term Source REF - -[Term] -id: INVMSO:00000045 -name: Study Publication PubMed ID -def: "" -relationship: part_of INVMSO:00000044 ! STUDY PUBLICATIONS -relationship: follows INVMSO:00000044 ! STUDY PUBLICATIONS - -[Term] -id: INVMSO:00000046 -name: Study Publication DOI -def: "" -relationship: part_of INVMSO:00000044 ! STUDY PUBLICATIONS -relationship: follows INVMSO:00000045 ! Study Publication PubMed ID - -[Term] -id: INVMSO:00000047 -name: Study Publication Author List -def: "" -relationship: part_of INVMSO:00000044 ! STUDY PUBLICATIONS -relationship: follows INVMSO:00000046 ! Study Publication DOI - -[Term] -id: INVMSO:00000048 -name: Study Publication Title -def: "" -relationship: part_of INVMSO:00000044 ! STUDY PUBLICATIONS -relationship: follows INVMSO:00000047 ! Study Publication Author List - -[Term] -id: INVMSO:00000049 -name: Study Publication Status -def: "" -relationship: part_of INVMSO:00000044 ! STUDY PUBLICATIONS -relationship: follows INVMSO:00000048 ! Study Publication Title - -[Term] -id: INVMSO:00000050 -name: Study Publication Status Term Accession Number -def: "" -relationship: part_of INVMSO:00000044 ! STUDY PUBLICATIONS -relationship: follows INVMSO:00000049 ! Study Publication Status - -[Term] -id: INVMSO:00000051 -name: Study Publication Status Term Source REF -def: "" -relationship: part_of INVMSO:00000044 ! STUDY PUBLICATIONS -relationship: follows INVMSO:00000050 ! Study Publication Status Term Accession Number - -[Term] -id: INVMSO:00000052 -name: STUDY FACTORS -def: "" -relationship: part_of INVMSO:00000001 ! Investigation Metadata -relationship: follows INVMSO:00000051 ! Study Publication Status Term Source REF - -[Term] -id: INVMSO:00000053 -name: Study Factor Name -def: "" -relationship: part_of INVMSO:00000052 ! STUDY FACTORS -relationship: follows INVMSO:00000052 ! STUDY FACTORS - -[Term] -id: INVMSO:00000054 -name: Study Factor Type -def: "" -relationship: part_of INVMSO:00000052 ! STUDY FACTORS -relationship: follows INVMSO:00000053 ! Study Factor Name - -[Term] -id: INVMSO:00000055 -name: Study Factor Type Term Accession Number -def: "" -relationship: part_of INVMSO:00000052 ! STUDY FACTORS -relationship: follows INVMSO:00000054 ! Study Factor Type - -[Term] -id: INVMSO:00000056 -name: Study Factor Type Term Source REF -def: "" -relationship: part_of INVMSO:00000052 ! STUDY FACTORS -relationship: follows INVMSO:00000055 ! Study Factor Type Term Accession Number - -[Term] -id: INVMSO:00000057 -name: STUDY ASSAYS -def: "" -relationship: part_of INVMSO:00000001 ! Investigation Metadata -relationship: follows INVMSO:00000056 ! Study Factor Type Term Source REF - -[Term] -id: INVMSO:00000058 -name: Study Assay Measurement Type -def: "" -relationship: part_of INVMSO:00000057 ! STUDY ASSAYS -relationship: follows INVMSO:00000057 ! STUDY ASSAYS - -[Term] -id: INVMSO:00000059 -name: Study Assay Measurement Type Term Accession Number -def: "" -relationship: part_of INVMSO:00000057 ! STUDY ASSAYS -relationship: follows INVMSO:00000058 ! STUDY ASSAYS - -[Term] -id: INVMSO:00000060 -name: Study Assay Measurement Type Term Source REF -def: "" -relationship: part_of INVMSO:00000057 ! STUDY ASSAYS -relationship: follows INVMSO:00000059 ! Study Assay Measurement Type Term Accession Number - -[Term] -id: INVMSO:00000061 -name: Study Assay Technology Type -def: "" -relationship: part_of INVMSO:00000057 ! STUDY ASSAYS -relationship: follows INVMSO:00000060 ! Study Assay Measurement Type Term Source REF - -[Term] -id: INVMSO:00000062 -name: Study Assay Technology Type Term Accession Number -def: "" -relationship: part_of INVMSO:00000057 ! STUDY ASSAYS -relationship: follows INVMSO:00000061 ! Study Assay Technology Type - -[Term] -id: INVMSO:00000063 -name: Study Assay Technology Type Term Source REF -def: "" -relationship: part_of INVMSO:00000057 ! STUDY ASSAYS -relationship: follows INVMSO:00000062 ! Study Assay Technology Type Term Accession Number - -[Term] -id: INVMSO:00000064 -name: Study Assay Technology Platform -def: "" -relationship: part_of INVMSO:00000057 ! STUDY ASSAYS -relationship: follows INVMSO:00000063 ! Study Assay Technology Type Term Source REF - -[Term] -id: INVMSO:00000065 -name: Study Assay File Name -def: "" -relationship: part_of INVMSO:00000057 ! STUDY ASSAYS -relationship: follows INVMSO:00000064 ! Study Assay Technology Platform - -[Term] -id: INVMSO:00000066 -name: STUDY PROTOCOLS -def: "" -relationship: part_of INVMSO:00000001 ! Investigation Metadata -relationship: follows INVMSO:00000065 ! Study Assay File Name - -[Term] -id: INVMSO:00000067 -name: Study Protocol Name -def: "" -relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS -relationship: follows INVMSO:00000066 ! STUDY PROTOCOLS - -[Term] -id: INVMSO:00000068 -name: Study Protocol Type -def: "" -relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS -relationship: follows INVMSO:00000067 ! Study Protocol Name - -[Term] -id: INVMSO:00000069 -name: Study Protocol Type Term Accession Number -def: "" -relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS -relationship: follows INVMSO:00000068 ! Study Protocol Type - -[Term] -id: INVMSO:00000070 -name: Study Protocol Type Term Source REF -def: "" -relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS -relationship: follows INVMSO:00000069 ! Study Protocol Type Term Accession Number - -[Term] -id: INVMSO:00000071 -name: Study Protocol Description -def: "" -relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS -relationship: follows INVMSO:00000070 ! Study Protocol Type Term Source REF - -[Term] -id: INVMSO:00000072 -name: Study Protocol URI -def: "" -relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS -relationship: follows INVMSO:00000071 ! Study Protocol Description - -[Term] -id: INVMSO:00000073 -name: Study Protocol Version -def: "" -relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS -relationship: follows INVMSO:00000072 ! Study Protocol URI - -[Term] -id: INVMSO:00000074 -name: Study Protocol Parameters Name -def: "" -relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS -relationship: follows INVMSO:00000073 ! Study Protocol Version - -[Term] -id: INVMSO:00000075 -name: Study Protocol Parameters Term Accession Number -def: "" -relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS -relationship: follows INVMSO:00000074 ! Study Protocol Parameters Name - -[Term] -id: INVMSO:00000076 -name: Study Protocol Parameters Term Source REF -def: "" -relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS -relationship: follows INVMSO:00000075 ! Study Protocol Parameters Term Accession Number - -[Term] -id: INVMSO:00000077 -name: Study Protocol Components Name -def: "" -relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS -relationship: follows INVMSO:00000076 ! Study Protocol Parameters Term Source REF - -[Term] -id: INVMSO:00000078 -name: Study Protocol Components Type -def: "" -relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS -relationship: follows INVMSO:00000077 ! Study Protocol Components Name - -[Term] -id: INVMSO:00000079 -name: Study Protocol Components Type Term Accession Number -def: "" -relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS -relationship: follows INVMSO:00000078 ! Study Protocol Components Type - -[Term] -id: INVMSO:00000080 -name: Study Protocol Components Type Term Source REF -def: "" -relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS -relationship: follows INVMSO:00000079 ! Study Protocol Components Type Term Accession Number - -[Term] -id: INVMSO:00000081 -name: STUDY CONTACTS -def: "" -relationship: part_of INVMSO:00000001 ! Investigation Metadata -relationship: follows INVMSO:00000080 ! Study Protocol Components Type Term Source REF - -[Term] -id: INVMSO:00000082 -name: Study Person Last Name -def: "" -relationship: part_of INVMSO:00000081 ! STUDY CONTACTS -relationship: follows INVMSO:00000081 ! STUDY CONTACTS - -[Term] -id: INVMSO:00000083 -name: Study Person First Name -def: "" -relationship: part_of INVMSO:00000081 ! STUDY CONTACTS -relationship: follows INVMSO:00000082 ! Study Person Last Name - -[Term] -id: INVMSO:00000084 -name: Study Person Mid Initials -def: "" -relationship: part_of INVMSO:00000081 ! STUDY CONTACTS -relationship: follows INVMSO:00000083 ! Study Person First Name - -[Term] -id: INVMSO:00000085 -name: Study Person Email -def: "" -relationship: part_of INVMSO:00000081 ! STUDY CONTACTS -relationship: follows INVMSO:00000084 ! Study Person Mid Initials - -[Term] -id: INVMSO:00000086 -name: Study Person Phone -def: "" -relationship: part_of INVMSO:00000081 ! STUDY CONTACTS -relationship: follows INVMSO:00000085 ! Study Person Email - -[Term] -id: INVMSO:00000087 -name: Study Person Fax -def: "" -relationship: part_of INVMSO:00000081 ! STUDY CONTACTS -relationship: follows INVMSO:00000086 ! Study Person Phone - -[Term] -id: INVMSO:00000088 -name: Study Person Address -def: "" -relationship: part_of INVMSO:00000081 ! STUDY CONTACTS -relationship: follows INVMSO:00000087 ! Study Person Fax - -[Term] -id: INVMSO:00000089 -name: Study Person Affiliation -def: "" -relationship: part_of INVMSO:00000081 ! STUDY CONTACTS -relationship: follows INVMSO:00000088 ! Study Person Address - -[Term] -id: INVMSO:00000090 -name: Study Person Roles -def: "" -relationship: part_of INVMSO:00000081 ! STUDY CONTACTS -relationship: follows INVMSO:00000089 ! Study Person Affiliation - -[Term] -id: INVMSO:00000091 -name: Study Person Roles Term Accession Number -def: "" -relationship: part_of INVMSO:00000081 ! STUDY CONTACTS -relationship: follows INVMSO:00000090 ! Study Person Roles - -[Term] -id: INVMSO:00000092 -name: Study Person Roles Term Source REF -def: "" -relationship: part_of INVMSO:00000081 ! STUDY CONTACTS -relationship: follows INVMSO:00000091 ! Study Person Roles Term Accession Number +!This file was auto generated on 21.03.2024. Do not edit it. All manual changes will be overwritten by the next generator run eventually. +format-version: 1.2 +data-version: init/2023-07-20 +saved-by: Kevin Schneider +default-namespace: invmso +ontology: INVMSO + +[Term] +id: INVMSO:00000001 +name: Investigation Metadata +def: "" + +[Term] +id: INVMSO:00000002 +name: ONTOLOGY SOURCE REFERENCE +def: "" +relationship: part_of INVMSO:00000001 ! Investigation Metadata + +[Term] +id: INVMSO:00000003 +name: Term Source Name +def: "" +relationship: part_of INVMSO:00000002 ! ONTOLOGY SOURCE REFERENCE +relationship: follows INVMSO:00000002 ! ONTOLOGY SOURCE REFERENCE + +[Term] +id: INVMSO:00000004 +name: Term Source File +def: "" +relationship: part_of INVMSO:00000002 ! ONTOLOGY SOURCE REFERENCE +relationship: follows INVMSO:00000003 ! Term Source Name + +[Term] +id: INVMSO:00000005 +name: Term Source Version +def: "" +relationship: part_of INVMSO:00000002 ! ONTOLOGY SOURCE REFERENCE +relationship: follows INVMSO:00000004 ! Term Source File + +[Term] +id: INVMSO:00000006 +name: Term Source Description +def: "" +relationship: part_of INVMSO:00000002 ! ONTOLOGY SOURCE REFERENCE +relationship: follows INVMSO:00000005 ! Term Source Version + +[Term] +id: INVMSO:00000007 +name: INVESTIGATION +def: "" +relationship: part_of INVMSO:00000001 ! Investigation Metadata +relationship: follows INVMSO:00000006 ! Term Source Description + +[Term] +id: INVMSO:00000008 +name: Investigation Identifier +def: "A unique identifier for the Investigation" +relationship: part_of INVMSO:00000007 ! INVESTIGATION +relationship: follows INVMSO:00000007 ! INVESTIGATION + +[Term] +id: INVMSO:00000009 +name: Investigation Title +def: "A short description of the Investigation" +relationship: part_of INVMSO:00000007 ! INVESTIGATION +relationship: follows INVMSO:00000008 ! Investigation Identifier + +[Term] +id: INVMSO:00000010 +name: Investigation Description +def: "" +relationship: part_of INVMSO:00000007 ! INVESTIGATION +relationship: follows INVMSO:00000009 ! Investigation Title + +[Term] +id: INVMSO:00000011 +name: Investigation Submission Date +def: "" +relationship: part_of INVMSO:00000007 ! INVESTIGATION +relationship: follows INVMSO:00000010 ! Investigation Description + +[Term] +id: INVMSO:00000012 +name: Investigation Public Release Date +def: "" +relationship: part_of INVMSO:00000007 ! INVESTIGATION +relationship: follows INVMSO:00000011 ! Investigation Submission Date + +[Term] +id: INVMSO:00000013 +name: INVESTIGATION PUBLICATIONS +def: "" +relationship: part_of INVMSO:00000001 ! Investigation Metadata +relationship: follows INVMSO:00000012 ! Investigation Public Release Date + +[Term] +id: INVMSO:00000014 +name: Investigation Publication PubMed ID +def: "" +relationship: part_of INVMSO:00000013 ! INVESTIGATION PUBLICATIONS +relationship: follows INVMSO:00000013 ! INVESTIGATION PUBLICATIONS + +[Term] +id: INVMSO:00000015 +name: Investigation Publication DOI +def: "" +relationship: part_of INVMSO:00000013 ! INVESTIGATION PUBLICATIONS +relationship: follows INVMSO:00000014 ! Investigation Publication PubMed ID + +[Term] +id: INVMSO:00000016 +name: Investigation Publication Author List +def: "" +relationship: part_of INVMSO:00000013 ! INVESTIGATION PUBLICATIONS +relationship: follows INVMSO:00000015 ! Investigation Publication DOI + +[Term] +id: INVMSO:00000017 +name: Investigation Publication Title +def: "" +relationship: part_of INVMSO:00000013 ! INVESTIGATION PUBLICATIONS +relationship: follows INVMSO:00000016 ! Investigation Publication Author List + +[Term] +id: INVMSO:00000018 +name: Investigation Publication Status +def: "" +relationship: part_of INVMSO:00000013 ! INVESTIGATION PUBLICATIONS +relationship: follows INVMSO:00000017 ! Investigation Publication Title + +[Term] +id: INVMSO:00000019 +name: Investigation Publication Status Term Accession Number +def: "" +relationship: part_of INVMSO:00000013 ! INVESTIGATION PUBLICATIONS +relationship: follows INVMSO:00000018 ! Investigation Publication Status + +[Term] +id: INVMSO:00000020 +name: Investigation Publication Status Term Source REF +def: "" +relationship: part_of INVMSO:00000013 ! INVESTIGATION PUBLICATIONS +relationship: follows INVMSO:00000019 ! Investigation Publication Status Term Accession Number + +[Term] +id: INVMSO:00000021 +name: INVESTIGATION CONTACTS +def: "" +relationship: part_of INVMSO:00000001 ! Investigation Metadata +relationship: follows INVMSO:00000020 ! Investigation Publication Status Term Source REF + +[Term] +id: INVMSO:00000022 +name: Investigation Person Last Name +def: "" +relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS +relationship: follows INVMSO:00000021 ! INVESTIGATION CONTACTS + +[Term] +id: INVMSO:00000023 +name: Investigation Person First Name +def: "" +relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS +relationship: follows INVMSO:00000022 ! Investigation Person Last Name + +[Term] +id: INVMSO:00000024 +name: Investigation Person Mid Initials +def: "" +relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS +relationship: follows INVMSO:00000023 ! Investigation Person First Name + +[Term] +id: INVMSO:00000025 +name: Investigation Person Email +def: "" +relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS +relationship: follows INVMSO:00000024 ! Investigation Person Mid Initials + +[Term] +id: INVMSO:00000026 +name: Investigation Person Phone +def: "" +relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS +relationship: follows INVMSO:00000025 ! Investigation Person Email + +[Term] +id: INVMSO:00000027 +name: Investigation Person Fax +def: "" +relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS +relationship: follows INVMSO:00000026 ! Investigation Person Phone + +[Term] +id: INVMSO:00000028 +name: Investigation Person Address +def: "" +relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS +relationship: follows INVMSO:00000027 ! Investigation Person Fax + +[Term] +id: INVMSO:00000029 +name: Investigation Person Affiliation +def: "" +relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS +relationship: follows INVMSO:00000028 ! Investigation Person Address + +[Term] +id: INVMSO:00000030 +name: Investigation Person Roles +def: "" +relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS +relationship: follows INVMSO:00000029 ! Investigation Person Affiliation + +[Term] +id: INVMSO:00000031 +name: Investigation Person Roles Term Accession Number +def: "" +relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS +relationship: follows INVMSO:00000030 ! Investigation Person Roles + +[Term] +id: INVMSO:00000032 +name: Investigation Person Roles Term Source REF +def: "" +relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS +relationship: follows INVMSO:00000031 ! Investigation Person Roles Term Accession Number + +[Term] +id: INVMSO:00000093 +name: Comment[] +def: "" +synonym: "Comment[Investigation Person ORCID]" EXACT [] +synonym: "Comment[ORCID]" EXACT [] +is_obsolete: true +relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS +relationship: follows INVMSO:00000032 ! Investigation Person Roles Term Source REF + +[Term] +id: INVMSO:00000094 +name: Comment[Investigation Person ORCID] +def: "" +synonym: "Comment[]" EXACT [] +synonym: "Comment[ORCID]" EXACT [] +is_obsolete: true +relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS +relationship: follows INVMSO:00000032 ! Investigation Person Roles Term Source REF + +[Term] +id: INVMSO:00000095 +name: Comment[ORCID] +def: "" +synonym: "Comment[Investigation Person ORCID]" EXACT [] +synonym: "Comment[]" EXACT [] +relationship: part_of INVMSO:00000021 ! INVESTIGATION CONTACTS +relationship: follows INVMSO:00000032 ! Investigation Person Roles Term Source REF + +[Term] +name: STUDY +id: INVMSO:00000033 +def: "" +relationship: part_of INVMSO:00000001 ! Investigation Metadata +relationship: follows INVMSO:00000032 ! Investigation Person Roles Term Source REF +relationship: follows INVMSO:00000093 ! Comment[] +relationship: follows INVMSO:00000094 ! Comment[Investigation Person ORCID] +relationship: follows INVMSO:00000095 ! Comment[ORCID] + +[Term] +id: INVMSO:00000034 +name: Study Identifier +def: "" +relationship: part_of INVMSO:00000033 ! STUDY +relationship: follows INVMSO:00000033 ! STUDY + +[Term] +id: INVMSO:00000035 +name: Study Title +def: "" +relationship: part_of INVMSO:00000033 ! STUDY +relationship: follows INVMSO:00000034 ! Study Identifier + +[Term] +id: INVMSO:00000036 +name: Study Description +def: "" +relationship: part_of INVMSO:00000033 ! STUDY +relationship: follows INVMSO:00000035 ! Study Title + +[Term] +id: INVMSO:00000037 +name: Study Submission Date +def: "" +relationship: part_of INVMSO:00000033 ! STUDY +relationship: follows INVMSO:00000036 ! Study Description + +[Term] +id: INVMSO:00000038 +name: Study Public Release Date +def: "" +relationship: part_of INVMSO:00000033 ! STUDY +relationship: follows INVMSO:00000037 ! Study Submission Date + +[Term] +id: INVMSO:00000039 +name: Study File Name +def: "" +relationship: part_of INVMSO:00000033 ! STUDY +relationship: follows INVMSO:00000038 ! Study Public Release Date + +[Term] +id: INVMSO:00000040 +name: STUDY DESIGN DESCRIPTORS +def: "" +relationship: part_of INVMSO:00000001 ! Investigation Metadata +relationship: follows INVMSO:00000039 ! Study File Name + +[Term] +id: INVMSO:00000041 +name: Study Design Type +def: "" +relationship: part_of INVMSO:00000040 ! STUDY DESIGN DESCRIPTORS +relationship: follows INVMSO:00000040 ! STUDY DESIGN DESCRIPTORS + +[Term] +id: INVMSO:00000042 +name: Study Design Type Term Accession Number +def: "" +relationship: part_of INVMSO:00000040 ! STUDY DESIGN DESCRIPTORS +relationship: follows INVMSO:00000041 ! Study Design Type + +[Term] +id: INVMSO:00000043 +name: Study Design Type Term Source REF +def: "" +relationship: part_of INVMSO:00000040 ! STUDY DESIGN DESCRIPTORS +relationship: follows INVMSO:00000042 ! Study Design Type Term Accession Number + +[Term] +id: INVMSO:00000044 +name: STUDY PUBLICATIONS +def: "" +relationship: part_of INVMSO:00000001 ! Investigation Metadata +relationship: follows INVMSO:00000043 ! Study Design Type Term Source REF + +[Term] +id: INVMSO:00000045 +name: Study Publication PubMed ID +def: "" +relationship: part_of INVMSO:00000044 ! STUDY PUBLICATIONS +relationship: follows INVMSO:00000044 ! STUDY PUBLICATIONS + +[Term] +id: INVMSO:00000046 +name: Study Publication DOI +def: "" +relationship: part_of INVMSO:00000044 ! STUDY PUBLICATIONS +relationship: follows INVMSO:00000045 ! Study Publication PubMed ID + +[Term] +id: INVMSO:00000047 +name: Study Publication Author List +def: "" +relationship: part_of INVMSO:00000044 ! STUDY PUBLICATIONS +relationship: follows INVMSO:00000046 ! Study Publication DOI + +[Term] +id: INVMSO:00000048 +name: Study Publication Title +def: "" +relationship: part_of INVMSO:00000044 ! STUDY PUBLICATIONS +relationship: follows INVMSO:00000047 ! Study Publication Author List + +[Term] +id: INVMSO:00000049 +name: Study Publication Status +def: "" +relationship: part_of INVMSO:00000044 ! STUDY PUBLICATIONS +relationship: follows INVMSO:00000048 ! Study Publication Title + +[Term] +id: INVMSO:00000050 +name: Study Publication Status Term Accession Number +def: "" +relationship: part_of INVMSO:00000044 ! STUDY PUBLICATIONS +relationship: follows INVMSO:00000049 ! Study Publication Status + +[Term] +id: INVMSO:00000051 +name: Study Publication Status Term Source REF +def: "" +relationship: part_of INVMSO:00000044 ! STUDY PUBLICATIONS +relationship: follows INVMSO:00000050 ! Study Publication Status Term Accession Number + +[Term] +id: INVMSO:00000052 +name: STUDY FACTORS +def: "" +relationship: part_of INVMSO:00000001 ! Investigation Metadata +relationship: follows INVMSO:00000051 ! Study Publication Status Term Source REF + +[Term] +id: INVMSO:00000053 +name: Study Factor Name +def: "" +relationship: part_of INVMSO:00000052 ! STUDY FACTORS +relationship: follows INVMSO:00000052 ! STUDY FACTORS + +[Term] +id: INVMSO:00000054 +name: Study Factor Type +def: "" +relationship: part_of INVMSO:00000052 ! STUDY FACTORS +relationship: follows INVMSO:00000053 ! Study Factor Name + +[Term] +id: INVMSO:00000055 +name: Study Factor Type Term Accession Number +def: "" +relationship: part_of INVMSO:00000052 ! STUDY FACTORS +relationship: follows INVMSO:00000054 ! Study Factor Type + +[Term] +id: INVMSO:00000056 +name: Study Factor Type Term Source REF +def: "" +relationship: part_of INVMSO:00000052 ! STUDY FACTORS +relationship: follows INVMSO:00000055 ! Study Factor Type Term Accession Number + +[Term] +id: INVMSO:00000057 +name: STUDY ASSAYS +def: "" +relationship: part_of INVMSO:00000001 ! Investigation Metadata +relationship: follows INVMSO:00000056 ! Study Factor Type Term Source REF + +[Term] +id: INVMSO:00000058 +name: Study Assay Measurement Type +def: "" +relationship: part_of INVMSO:00000057 ! STUDY ASSAYS +relationship: follows INVMSO:00000057 ! STUDY ASSAYS + +[Term] +id: INVMSO:00000059 +name: Study Assay Measurement Type Term Accession Number +def: "" +relationship: part_of INVMSO:00000057 ! STUDY ASSAYS +relationship: follows INVMSO:00000058 ! STUDY ASSAYS + +[Term] +id: INVMSO:00000060 +name: Study Assay Measurement Type Term Source REF +def: "" +relationship: part_of INVMSO:00000057 ! STUDY ASSAYS +relationship: follows INVMSO:00000059 ! Study Assay Measurement Type Term Accession Number + +[Term] +id: INVMSO:00000061 +name: Study Assay Technology Type +def: "" +relationship: part_of INVMSO:00000057 ! STUDY ASSAYS +relationship: follows INVMSO:00000060 ! Study Assay Measurement Type Term Source REF + +[Term] +id: INVMSO:00000062 +name: Study Assay Technology Type Term Accession Number +def: "" +relationship: part_of INVMSO:00000057 ! STUDY ASSAYS +relationship: follows INVMSO:00000061 ! Study Assay Technology Type + +[Term] +id: INVMSO:00000063 +name: Study Assay Technology Type Term Source REF +def: "" +relationship: part_of INVMSO:00000057 ! STUDY ASSAYS +relationship: follows INVMSO:00000062 ! Study Assay Technology Type Term Accession Number + +[Term] +id: INVMSO:00000064 +name: Study Assay Technology Platform +def: "" +relationship: part_of INVMSO:00000057 ! STUDY ASSAYS +relationship: follows INVMSO:00000063 ! Study Assay Technology Type Term Source REF + +[Term] +id: INVMSO:00000065 +name: Study Assay File Name +def: "" +relationship: part_of INVMSO:00000057 ! STUDY ASSAYS +relationship: follows INVMSO:00000064 ! Study Assay Technology Platform + +[Term] +id: INVMSO:00000066 +name: STUDY PROTOCOLS +def: "" +relationship: part_of INVMSO:00000001 ! Investigation Metadata +relationship: follows INVMSO:00000065 ! Study Assay File Name + +[Term] +id: INVMSO:00000067 +name: Study Protocol Name +def: "" +relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS +relationship: follows INVMSO:00000066 ! STUDY PROTOCOLS + +[Term] +id: INVMSO:00000068 +name: Study Protocol Type +def: "" +relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS +relationship: follows INVMSO:00000067 ! Study Protocol Name + +[Term] +id: INVMSO:00000069 +name: Study Protocol Type Term Accession Number +def: "" +relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS +relationship: follows INVMSO:00000068 ! Study Protocol Type + +[Term] +id: INVMSO:00000070 +name: Study Protocol Type Term Source REF +def: "" +relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS +relationship: follows INVMSO:00000069 ! Study Protocol Type Term Accession Number + +[Term] +id: INVMSO:00000071 +name: Study Protocol Description +def: "" +relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS +relationship: follows INVMSO:00000070 ! Study Protocol Type Term Source REF + +[Term] +id: INVMSO:00000072 +name: Study Protocol URI +def: "" +relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS +relationship: follows INVMSO:00000071 ! Study Protocol Description + +[Term] +id: INVMSO:00000073 +name: Study Protocol Version +def: "" +relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS +relationship: follows INVMSO:00000072 ! Study Protocol URI + +[Term] +id: INVMSO:00000074 +name: Study Protocol Parameters Name +def: "" +relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS +relationship: follows INVMSO:00000073 ! Study Protocol Version + +[Term] +id: INVMSO:00000075 +name: Study Protocol Parameters Term Accession Number +def: "" +relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS +relationship: follows INVMSO:00000074 ! Study Protocol Parameters Name + +[Term] +id: INVMSO:00000076 +name: Study Protocol Parameters Term Source REF +def: "" +relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS +relationship: follows INVMSO:00000075 ! Study Protocol Parameters Term Accession Number + +[Term] +id: INVMSO:00000077 +name: Study Protocol Components Name +def: "" +relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS +relationship: follows INVMSO:00000076 ! Study Protocol Parameters Term Source REF + +[Term] +id: INVMSO:00000078 +name: Study Protocol Components Type +def: "" +relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS +relationship: follows INVMSO:00000077 ! Study Protocol Components Name + +[Term] +id: INVMSO:00000079 +name: Study Protocol Components Type Term Accession Number +def: "" +relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS +relationship: follows INVMSO:00000078 ! Study Protocol Components Type + +[Term] +id: INVMSO:00000080 +name: Study Protocol Components Type Term Source REF +def: "" +relationship: part_of INVMSO:00000066 ! STUDY PROTOCOLS +relationship: follows INVMSO:00000079 ! Study Protocol Components Type Term Accession Number + +[Term] +id: INVMSO:00000081 +name: STUDY CONTACTS +def: "" +relationship: part_of INVMSO:00000001 ! Investigation Metadata +relationship: follows INVMSO:00000080 ! Study Protocol Components Type Term Source REF + +[Term] +id: INVMSO:00000082 +name: Study Person Last Name +def: "" +relationship: part_of INVMSO:00000081 ! STUDY CONTACTS +relationship: follows INVMSO:00000081 ! STUDY CONTACTS + +[Term] +id: INVMSO:00000083 +name: Study Person First Name +def: "" +relationship: part_of INVMSO:00000081 ! STUDY CONTACTS +relationship: follows INVMSO:00000082 ! Study Person Last Name + +[Term] +id: INVMSO:00000084 +name: Study Person Mid Initials +def: "" +relationship: part_of INVMSO:00000081 ! STUDY CONTACTS +relationship: follows INVMSO:00000083 ! Study Person First Name + +[Term] +id: INVMSO:00000085 +name: Study Person Email +def: "" +relationship: part_of INVMSO:00000081 ! STUDY CONTACTS +relationship: follows INVMSO:00000084 ! Study Person Mid Initials + +[Term] +id: INVMSO:00000086 +name: Study Person Phone +def: "" +relationship: part_of INVMSO:00000081 ! STUDY CONTACTS +relationship: follows INVMSO:00000085 ! Study Person Email + +[Term] +id: INVMSO:00000087 +name: Study Person Fax +def: "" +relationship: part_of INVMSO:00000081 ! STUDY CONTACTS +relationship: follows INVMSO:00000086 ! Study Person Phone + +[Term] +id: INVMSO:00000088 +name: Study Person Address +def: "" +relationship: part_of INVMSO:00000081 ! STUDY CONTACTS +relationship: follows INVMSO:00000087 ! Study Person Fax + +[Term] +id: INVMSO:00000089 +name: Study Person Affiliation +def: "" +relationship: part_of INVMSO:00000081 ! STUDY CONTACTS +relationship: follows INVMSO:00000088 ! Study Person Address + +[Term] +id: INVMSO:00000090 +name: Study Person Roles +def: "" +relationship: part_of INVMSO:00000081 ! STUDY CONTACTS +relationship: follows INVMSO:00000089 ! Study Person Affiliation + +[Term] +id: INVMSO:00000091 +name: Study Person Roles Term Accession Number +def: "" +relationship: part_of INVMSO:00000081 ! STUDY CONTACTS +relationship: follows INVMSO:00000090 ! Study Person Roles + +[Term] +id: INVMSO:00000092 +name: Study Person Roles Term Source REF +def: "" +relationship: part_of INVMSO:00000081 ! STUDY CONTACTS +relationship: follows INVMSO:00000091 ! Study Person Roles Term Accession Number diff --git a/src/ARCTokenization/structural_ontologies/study_metadata_structural_ontology.obo b/src/ARCTokenization/structural_ontologies/study_metadata_structural_ontology.obo index 1d410c0..282eca1 100644 --- a/src/ARCTokenization/structural_ontologies/study_metadata_structural_ontology.obo +++ b/src/ARCTokenization/structural_ontologies/study_metadata_structural_ontology.obo @@ -1,453 +1,453 @@ -!This file was auto generated on 26.02.2024. Do not edit it. All manual changes will be overwritten by the next generator run eventually. -format-version: 1.2 -data-version: init/2023-07-27 -saved-by: Kevin Schneider -default-namespace: stdmso -ontology: STDMSO - - -[Term] -id: STDMSO:00000001 -name: Study Metadata -def: "" - -[Term] -id: STDMSO:00000002 -name: STUDY -def: "" -synonym: "STUDY METADATA" EXACT [] -relationship: part_of STDMSO:00000001 ! Study Metadata - -[Term] -id: STDMSO:00000062 -name: STUDY METADATA -def: "" -synonym: "STUDY" EXACT [] -is_obsolete: true -relationship: part_of STDMSO:00000001 ! Study Metadata - -[Term] -id: STDMSO:00000003 -name: Study Identifier -def: "" -relationship: part_of STDMSO:00000002 ! STUDY -relationship: part_of STDMSO:00000062 ! STUDY METADATA -relationship: follows STDMSO:00000002 ! STUDY -relationship: follows STDMSO:00000062 ! STUDY METADATA - -[Term] -id: STDMSO:00000004 -name: Study Title -def: "" -relationship: part_of STDMSO:00000002 ! STUDY -relationship: part_of STDMSO:00000062 ! STUDY METADATA -relationship: follows STDMSO:00000003 ! Study Identifier - -[Term] -id: STDMSO:00000005 -name: Study Description -def: "" -relationship: part_of STDMSO:00000002 ! STUDY -relationship: part_of STDMSO:00000062 ! STUDY METADATA -relationship: follows STDMSO:00000004 ! Study Title - -[Term] -id: STDMSO:00000006 -name: Study Submission Date -def: "" -relationship: part_of STDMSO:00000002 ! STUDY -relationship: part_of STDMSO:00000062 ! STUDY METADATA -relationship: follows STDMSO:00000005 ! Study Description - -[Term] -id: STDMSO:00000007 -name: Study Public Release Date -def: "" -relationship: part_of STDMSO:00000002 ! STUDY -relationship: part_of STDMSO:00000062 ! STUDY METADATA -relationship: follows STDMSO:00000006 ! Study Submission Date - -[Term] -id: STDMSO:00000008 -name: Study File Name -def: "" -relationship: part_of STDMSO:00000002 ! STUDY -relationship: part_of STDMSO:00000062 ! STUDY METADATA -relationship: follows STDMSO:00000007 ! Study Public Release Date - -[Term] -id: STDMSO:00000009 -name: STUDY DESIGN DESCRIPTORS -def: "" -relationship: part_of STDMSO:00000001 ! Study Metadata -relationship: part_of STDMSO:00000062 ! STUDY METADATA -relationship: follows STDMSO:00000008 ! Study File Name - -[Term] -id: STDMSO:00000010 -name: Study Design Type -def: "" -relationship: part_of STDMSO:00000009 ! STUDY DESIGN DESCRIPTORS -relationship: follows STDMSO:00000009 ! STUDY DESIGN DESCRIPTORS - -[Term] -id: STDMSO:00000011 -name: Study Design Type Term Accession Number -def: "" -relationship: part_of STDMSO:00000009 ! STUDY DESIGN DESCRIPTORS -relationship: follows STDMSO:00000010 ! Study Design Type - -[Term] -id: STDMSO:00000012 -name: Study Design Type Term Source REF -def: "" -relationship: part_of STDMSO:00000009 ! STUDY DESIGN DESCRIPTORS -relationship: follows STDMSO:00000011 ! Study Design Type Term Accession Number - -[Term] -id: STDMSO:00000013 -name: STUDY PUBLICATIONS -def: "" -relationship: part_of STDMSO:00000001 ! Study Metadata -relationship: part_of STDMSO:00000062 ! STUDY METADATA -relationship: follows STDMSO:00000012 ! Study Design Type Term Source REF - -[Term] -id: STDMSO:00000014 -name: Study Publication PubMed ID -def: "" -relationship: part_of STDMSO:00000013 ! STUDY PUBLICATIONS -relationship: follows STDMSO:00000013 ! STUDY PUBLICATIONS - -[Term] -id: STDMSO:00000015 -name: Study Publication DOI -def: "" -relationship: part_of STDMSO:00000013 ! STUDY PUBLICATIONS -relationship: follows STDMSO:00000014 ! Study Publication PubMed ID - -[Term] -id: STDMSO:00000016 -name: Study Publication Author List -def: "" -relationship: part_of STDMSO:00000013 ! STUDY PUBLICATIONS -relationship: follows STDMSO:00000015 ! Study Publication DOI - -[Term] -id: STDMSO:00000017 -name: Study Publication Title -def: "" -relationship: part_of STDMSO:00000013 ! STUDY PUBLICATIONS -relationship: follows STDMSO:00000016 ! Study Publication Author List - -[Term] -id: STDMSO:00000018 -name: Study Publication Status -def: "" -relationship: part_of STDMSO:00000013 ! STUDY PUBLICATIONS -relationship: follows STDMSO:00000017 ! Study Publication Title - -[Term] -id: STDMSO:00000019 -name: Study Publication Status Term Accession Number -def: "" -relationship: part_of STDMSO:00000013 ! STUDY PUBLICATIONS -relationship: follows STDMSO:00000018 ! Study Publication Status - -[Term] -id: STDMSO:00000020 -name: Study Publication Status Term Source REF -def: "" -relationship: part_of STDMSO:00000013 ! STUDY PUBLICATIONS -relationship: follows STDMSO:00000019 ! Study Publication Status Term Accession Number - -[Term] -id: STDMSO:00000021 -name: STUDY FACTORS -def: "" -relationship: part_of STDMSO:00000001 ! Study Metadata -relationship: part_of STDMSO:00000062 ! STUDY METADATA -relationship: follows STDMSO:00000020 ! Study Publication Status Term Source REF - -[Term] -id: STDMSO:00000022 -name: Study Factor Name -def: "" -relationship: part_of STDMSO:00000021 ! STUDY FACTORS -relationship: follows STDMSO:00000021 ! STUDY FACTORS - -[Term] -id: STDMSO:00000023 -name: Study Factor Type -def: "" -relationship: part_of STDMSO:00000021 ! STUDY FACTORS -relationship: follows STDMSO:00000022 ! Study Factor Name - -[Term] -id: STDMSO:00000024 -name: Study Factor Type Term Accession Number -def: "" -relationship: part_of STDMSO:00000021 ! STUDY FACTORS -relationship: follows STDMSO:00000023 ! Study Factor Type - -[Term] -id: STDMSO:00000025 -name: Study Factor Type Term Source REF -def: "" -relationship: part_of STDMSO:00000021 ! STUDY FACTORS -relationship: follows STDMSO:00000024 ! Study Factor Type Term Accession Number - -[Term] -id: STDMSO:00000026 -name: STUDY ASSAYS -def: "" -relationship: part_of STDMSO:00000001 ! Study Metadata -relationship: part_of STDMSO:00000062 ! STUDY METADATA -relationship: follows STDMSO:00000025 ! Study Factor Type Term Source REF - -[Term] -id: STDMSO:00000027 -name: Study Assay Measurement Type -def: "" -relationship: part_of STDMSO:00000026 ! STUDY ASSAYS -relationship: follows STDMSO:00000026 ! STUDY ASSAYS - -[Term] -id: STDMSO:00000028 -name: Study Assay Measurement Type Term Accession Number -def: "" -relationship: part_of STDMSO:00000026 ! STUDY ASSAYS -relationship: follows STDMSO:00000027 ! Study Assay Measurement Type - -[Term] -id: STDMSO:00000029 -name: Study Assay Measurement Type Term Source REF -def: "" -relationship: part_of STDMSO:00000026 ! STUDY ASSAYS -relationship: follows STDMSO:00000028 ! Study Assay Measurement Type Term Accession Number - -[Term] -id: STDMSO:00000030 -name: Study Assay Technology Type -def: "" -relationship: part_of STDMSO:00000026 ! STUDY ASSAYS -relationship: follows STDMSO:00000029 ! Study Assay Measurement Type Term Source REF - -[Term] -id: STDMSO:00000031 -name: Study Assay Technology Type Term Accession Number -def: "" -relationship: part_of STDMSO:00000026 ! STUDY ASSAYS -relationship: follows STDMSO:00000030 ! Study Assay Technology Type - -[Term] -id: STDMSO:00000032 -name: Study Assay Technology Type Term Source REF -def: "" -relationship: part_of STDMSO:00000026 ! STUDY ASSAYS -relationship: follows STDMSO:00000031 ! Study Assay Technology Type Term Accession Number - -[Term] -id: STDMSO:00000033 -name: Study Assay Technology Platform -def: "" -relationship: part_of STDMSO:00000026 ! STUDY ASSAYS -relationship: follows STDMSO:00000032 ! Study Assay Technology Type Term Source REF - -[Term] -id: STDMSO:00000034 -name: Study Assay File Name -def: "" -relationship: part_of STDMSO:00000026 ! STUDY ASSAYS -relationship: follows STDMSO:00000033 ! Study Assay Technology Platform - -[Term] -id: STDMSO:00000035 -name: STUDY PROTOCOLS -def: "" -relationship: part_of STDMSO:00000001 ! Study Metadata -relationship: part_of STDMSO:00000062 ! STUDY METADATA -relationship: follows STDMSO:00000034 ! Study Assay File Name - -[Term] -id: STDMSO:00000036 -name: Study Protocol Name -def: "" -relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS -relationship: follows STDMSO:00000035 ! STUDY PROTOCOLS - -[Term] -id: STDMSO:00000037 -name: Study Protocol Type -def: "" -relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS -relationship: follows STDMSO:00000036 ! Study Protocol Name - -[Term] -id: STDMSO:00000038 -name: Study Protocol Type Term Accession Number -def: "" -relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS -relationship: follows STDMSO:00000037 ! Study Protocol Type - -[Term] -id: STDMSO:00000039 -name: Study Protocol Type Term Source REF -def: "" -relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS -relationship: follows STDMSO:00000038 ! Study Protocol Type Term Accession Number - -[Term] -id: STDMSO:00000040 -name: Study Protocol Description -def: "" -relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS -relationship: follows STDMSO:00000039 ! Study Protocol Type Term Source REF - -[Term] -id: STDMSO:00000041 -name: Study Protocol URI -def: "" -relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS -relationship: follows STDMSO:00000040 ! Study Protocol Description - -[Term] -id: STDMSO:00000042 -name: Study Protocol Version -def: "" -relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS -relationship: follows STDMSO:00000041 ! Study Protocol URI - -[Term] -id: STDMSO:00000043 -name: Study Protocol Parameters Name -def: "" -relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS -relationship: follows STDMSO:00000042 ! Study Protocol Version - -[Term] -id: STDMSO:00000044 -name: Study Protocol Parameters Term Accession Number -def: "" -relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS -relationship: follows STDMSO:00000043 ! Study Protocol Parameters Name - -[Term] -id: STDMSO:00000045 -name: Study Protocol Parameters Term Source REF -def: "" -relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS -relationship: follows STDMSO:00000044 ! Study Protocol Parameters Term Accession Number - -[Term] -id: STDMSO:00000046 -name: Study Protocol Components Name -def: "" -relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS -relationship: follows STDMSO:00000045 ! Study Protocol Parameters Term Source REF - -[Term] -id: STDMSO:00000047 -name: Study Protocol Components Type -def: "" -relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS -relationship: follows STDMSO:00000046 ! Study Protocol Components Name - -[Term] -id: STDMSO:00000048 -name: Study Protocol Components Type Term Accession Number -def: "" -relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS -relationship: follows STDMSO:00000047 ! Study Protocol Components Type - -[Term] -id: STDMSO:00000049 -name: Study Protocol Components Type Term Source REF -def: "" -relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS -relationship: follows STDMSO:00000048 ! Study Protocol Components Type Term Accession Number - -[Term] -id: STDMSO:00000050 -name: STUDY CONTACTS -def: "" -relationship: part_of STDMSO:00000001 ! Study Metadata -relationship: part_of STDMSO:00000062 ! STUDY METADATA -relationship: follows STDMSO:00000049 ! Study Protocol Components Type Term Source REF - -[Term] -id: STDMSO:00000051 -name: Study Person Last Name -def: "" -relationship: part_of STDMSO:00000050 ! STUDY CONTACTS -relationship: follows STDMSO:00000050 ! STUDY CONTACTS - -[Term] -id: STDMSO:00000052 -name: Study Person First Name -def: "" -relationship: part_of STDMSO:00000050 ! STUDY CONTACTS -relationship: follows STDMSO:00000051 ! Study Person Last Name - -[Term] -id: STDMSO:00000053 -name: Study Person Mid Initials -def: "" -relationship: part_of STDMSO:00000050 ! STUDY CONTACTS -relationship: follows STDMSO:00000052 ! Study Person First Name - -[Term] -id: STDMSO:00000054 -name: Study Person Email -def: "" -relationship: part_of STDMSO:00000050 ! STUDY CONTACTS -relationship: follows STDMSO:00000053 ! Study Person Mid Initials - -[Term] -id: STDMSO:00000055 -name: Study Person Phone -def: "" -relationship: part_of STDMSO:00000050 ! STUDY CONTACTS -relationship: follows STDMSO:00000054 ! Study Person Email - -[Term] -id: STDMSO:00000056 -name: Study Person Fax -def: "" -relationship: part_of STDMSO:00000050 ! STUDY CONTACTS -relationship: follows STDMSO:00000055 ! Study Person Phone - -[Term] -id: STDMSO:00000057 -name: Study Person Address -def: "" -relationship: part_of STDMSO:00000050 ! STUDY CONTACTS -relationship: follows STDMSO:00000056 ! Study Person Fax - -[Term] -id: STDMSO:00000058 -name: Study Person Affiliation -def: "" -relationship: part_of STDMSO:00000050 ! STUDY CONTACTS -relationship: follows STDMSO:00000057 ! Study Person Address - -[Term] -id: STDMSO:00000059 -name: Study Person Roles -def: "" -relationship: part_of STDMSO:00000050 ! STUDY CONTACTS -relationship: follows STDMSO:00000058 ! Study Person Affiliation - -[Term] -id: STDMSO:00000060 -name: Study Person Roles Term Accession Number -def: "" -relationship: part_of STDMSO:00000050 ! STUDY CONTACTS -relationship: follows STDMSO:00000059 ! Study Person Roles - -[Term] -id: STDMSO:00000061 -name: Study Person Roles Term Source REF -def: "" -relationship: part_of STDMSO:00000050 ! STUDY CONTACTS -relationship: follows STDMSO:00000060 ! Study Person Roles Term Accession Number +!This file was auto generated on 21.03.2024. Do not edit it. All manual changes will be overwritten by the next generator run eventually. +format-version: 1.2 +data-version: init/2023-07-27 +saved-by: Kevin Schneider +default-namespace: stdmso +ontology: STDMSO + + +[Term] +id: STDMSO:00000001 +name: Study Metadata +def: "" + +[Term] +id: STDMSO:00000002 +name: STUDY +def: "" +synonym: "STUDY METADATA" EXACT [] +relationship: part_of STDMSO:00000001 ! Study Metadata + +[Term] +id: STDMSO:00000062 +name: STUDY METADATA +def: "" +synonym: "STUDY" EXACT [] +is_obsolete: true +relationship: part_of STDMSO:00000001 ! Study Metadata + +[Term] +id: STDMSO:00000003 +name: Study Identifier +def: "" +relationship: part_of STDMSO:00000002 ! STUDY +relationship: part_of STDMSO:00000062 ! STUDY METADATA +relationship: follows STDMSO:00000002 ! STUDY +relationship: follows STDMSO:00000062 ! STUDY METADATA + +[Term] +id: STDMSO:00000004 +name: Study Title +def: "" +relationship: part_of STDMSO:00000002 ! STUDY +relationship: part_of STDMSO:00000062 ! STUDY METADATA +relationship: follows STDMSO:00000003 ! Study Identifier + +[Term] +id: STDMSO:00000005 +name: Study Description +def: "" +relationship: part_of STDMSO:00000002 ! STUDY +relationship: part_of STDMSO:00000062 ! STUDY METADATA +relationship: follows STDMSO:00000004 ! Study Title + +[Term] +id: STDMSO:00000006 +name: Study Submission Date +def: "" +relationship: part_of STDMSO:00000002 ! STUDY +relationship: part_of STDMSO:00000062 ! STUDY METADATA +relationship: follows STDMSO:00000005 ! Study Description + +[Term] +id: STDMSO:00000007 +name: Study Public Release Date +def: "" +relationship: part_of STDMSO:00000002 ! STUDY +relationship: part_of STDMSO:00000062 ! STUDY METADATA +relationship: follows STDMSO:00000006 ! Study Submission Date + +[Term] +id: STDMSO:00000008 +name: Study File Name +def: "" +relationship: part_of STDMSO:00000002 ! STUDY +relationship: part_of STDMSO:00000062 ! STUDY METADATA +relationship: follows STDMSO:00000007 ! Study Public Release Date + +[Term] +id: STDMSO:00000009 +name: STUDY DESIGN DESCRIPTORS +def: "" +relationship: part_of STDMSO:00000001 ! Study Metadata +relationship: part_of STDMSO:00000062 ! STUDY METADATA +relationship: follows STDMSO:00000008 ! Study File Name + +[Term] +id: STDMSO:00000010 +name: Study Design Type +def: "" +relationship: part_of STDMSO:00000009 ! STUDY DESIGN DESCRIPTORS +relationship: follows STDMSO:00000009 ! STUDY DESIGN DESCRIPTORS + +[Term] +id: STDMSO:00000011 +name: Study Design Type Term Accession Number +def: "" +relationship: part_of STDMSO:00000009 ! STUDY DESIGN DESCRIPTORS +relationship: follows STDMSO:00000010 ! Study Design Type + +[Term] +id: STDMSO:00000012 +name: Study Design Type Term Source REF +def: "" +relationship: part_of STDMSO:00000009 ! STUDY DESIGN DESCRIPTORS +relationship: follows STDMSO:00000011 ! Study Design Type Term Accession Number + +[Term] +id: STDMSO:00000013 +name: STUDY PUBLICATIONS +def: "" +relationship: part_of STDMSO:00000001 ! Study Metadata +relationship: part_of STDMSO:00000062 ! STUDY METADATA +relationship: follows STDMSO:00000012 ! Study Design Type Term Source REF + +[Term] +id: STDMSO:00000014 +name: Study Publication PubMed ID +def: "" +relationship: part_of STDMSO:00000013 ! STUDY PUBLICATIONS +relationship: follows STDMSO:00000013 ! STUDY PUBLICATIONS + +[Term] +id: STDMSO:00000015 +name: Study Publication DOI +def: "" +relationship: part_of STDMSO:00000013 ! STUDY PUBLICATIONS +relationship: follows STDMSO:00000014 ! Study Publication PubMed ID + +[Term] +id: STDMSO:00000016 +name: Study Publication Author List +def: "" +relationship: part_of STDMSO:00000013 ! STUDY PUBLICATIONS +relationship: follows STDMSO:00000015 ! Study Publication DOI + +[Term] +id: STDMSO:00000017 +name: Study Publication Title +def: "" +relationship: part_of STDMSO:00000013 ! STUDY PUBLICATIONS +relationship: follows STDMSO:00000016 ! Study Publication Author List + +[Term] +id: STDMSO:00000018 +name: Study Publication Status +def: "" +relationship: part_of STDMSO:00000013 ! STUDY PUBLICATIONS +relationship: follows STDMSO:00000017 ! Study Publication Title + +[Term] +id: STDMSO:00000019 +name: Study Publication Status Term Accession Number +def: "" +relationship: part_of STDMSO:00000013 ! STUDY PUBLICATIONS +relationship: follows STDMSO:00000018 ! Study Publication Status + +[Term] +id: STDMSO:00000020 +name: Study Publication Status Term Source REF +def: "" +relationship: part_of STDMSO:00000013 ! STUDY PUBLICATIONS +relationship: follows STDMSO:00000019 ! Study Publication Status Term Accession Number + +[Term] +id: STDMSO:00000021 +name: STUDY FACTORS +def: "" +relationship: part_of STDMSO:00000001 ! Study Metadata +relationship: part_of STDMSO:00000062 ! STUDY METADATA +relationship: follows STDMSO:00000020 ! Study Publication Status Term Source REF + +[Term] +id: STDMSO:00000022 +name: Study Factor Name +def: "" +relationship: part_of STDMSO:00000021 ! STUDY FACTORS +relationship: follows STDMSO:00000021 ! STUDY FACTORS + +[Term] +id: STDMSO:00000023 +name: Study Factor Type +def: "" +relationship: part_of STDMSO:00000021 ! STUDY FACTORS +relationship: follows STDMSO:00000022 ! Study Factor Name + +[Term] +id: STDMSO:00000024 +name: Study Factor Type Term Accession Number +def: "" +relationship: part_of STDMSO:00000021 ! STUDY FACTORS +relationship: follows STDMSO:00000023 ! Study Factor Type + +[Term] +id: STDMSO:00000025 +name: Study Factor Type Term Source REF +def: "" +relationship: part_of STDMSO:00000021 ! STUDY FACTORS +relationship: follows STDMSO:00000024 ! Study Factor Type Term Accession Number + +[Term] +id: STDMSO:00000026 +name: STUDY ASSAYS +def: "" +relationship: part_of STDMSO:00000001 ! Study Metadata +relationship: part_of STDMSO:00000062 ! STUDY METADATA +relationship: follows STDMSO:00000025 ! Study Factor Type Term Source REF + +[Term] +id: STDMSO:00000027 +name: Study Assay Measurement Type +def: "" +relationship: part_of STDMSO:00000026 ! STUDY ASSAYS +relationship: follows STDMSO:00000026 ! STUDY ASSAYS + +[Term] +id: STDMSO:00000028 +name: Study Assay Measurement Type Term Accession Number +def: "" +relationship: part_of STDMSO:00000026 ! STUDY ASSAYS +relationship: follows STDMSO:00000027 ! Study Assay Measurement Type + +[Term] +id: STDMSO:00000029 +name: Study Assay Measurement Type Term Source REF +def: "" +relationship: part_of STDMSO:00000026 ! STUDY ASSAYS +relationship: follows STDMSO:00000028 ! Study Assay Measurement Type Term Accession Number + +[Term] +id: STDMSO:00000030 +name: Study Assay Technology Type +def: "" +relationship: part_of STDMSO:00000026 ! STUDY ASSAYS +relationship: follows STDMSO:00000029 ! Study Assay Measurement Type Term Source REF + +[Term] +id: STDMSO:00000031 +name: Study Assay Technology Type Term Accession Number +def: "" +relationship: part_of STDMSO:00000026 ! STUDY ASSAYS +relationship: follows STDMSO:00000030 ! Study Assay Technology Type + +[Term] +id: STDMSO:00000032 +name: Study Assay Technology Type Term Source REF +def: "" +relationship: part_of STDMSO:00000026 ! STUDY ASSAYS +relationship: follows STDMSO:00000031 ! Study Assay Technology Type Term Accession Number + +[Term] +id: STDMSO:00000033 +name: Study Assay Technology Platform +def: "" +relationship: part_of STDMSO:00000026 ! STUDY ASSAYS +relationship: follows STDMSO:00000032 ! Study Assay Technology Type Term Source REF + +[Term] +id: STDMSO:00000034 +name: Study Assay File Name +def: "" +relationship: part_of STDMSO:00000026 ! STUDY ASSAYS +relationship: follows STDMSO:00000033 ! Study Assay Technology Platform + +[Term] +id: STDMSO:00000035 +name: STUDY PROTOCOLS +def: "" +relationship: part_of STDMSO:00000001 ! Study Metadata +relationship: part_of STDMSO:00000062 ! STUDY METADATA +relationship: follows STDMSO:00000034 ! Study Assay File Name + +[Term] +id: STDMSO:00000036 +name: Study Protocol Name +def: "" +relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS +relationship: follows STDMSO:00000035 ! STUDY PROTOCOLS + +[Term] +id: STDMSO:00000037 +name: Study Protocol Type +def: "" +relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS +relationship: follows STDMSO:00000036 ! Study Protocol Name + +[Term] +id: STDMSO:00000038 +name: Study Protocol Type Term Accession Number +def: "" +relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS +relationship: follows STDMSO:00000037 ! Study Protocol Type + +[Term] +id: STDMSO:00000039 +name: Study Protocol Type Term Source REF +def: "" +relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS +relationship: follows STDMSO:00000038 ! Study Protocol Type Term Accession Number + +[Term] +id: STDMSO:00000040 +name: Study Protocol Description +def: "" +relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS +relationship: follows STDMSO:00000039 ! Study Protocol Type Term Source REF + +[Term] +id: STDMSO:00000041 +name: Study Protocol URI +def: "" +relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS +relationship: follows STDMSO:00000040 ! Study Protocol Description + +[Term] +id: STDMSO:00000042 +name: Study Protocol Version +def: "" +relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS +relationship: follows STDMSO:00000041 ! Study Protocol URI + +[Term] +id: STDMSO:00000043 +name: Study Protocol Parameters Name +def: "" +relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS +relationship: follows STDMSO:00000042 ! Study Protocol Version + +[Term] +id: STDMSO:00000044 +name: Study Protocol Parameters Term Accession Number +def: "" +relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS +relationship: follows STDMSO:00000043 ! Study Protocol Parameters Name + +[Term] +id: STDMSO:00000045 +name: Study Protocol Parameters Term Source REF +def: "" +relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS +relationship: follows STDMSO:00000044 ! Study Protocol Parameters Term Accession Number + +[Term] +id: STDMSO:00000046 +name: Study Protocol Components Name +def: "" +relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS +relationship: follows STDMSO:00000045 ! Study Protocol Parameters Term Source REF + +[Term] +id: STDMSO:00000047 +name: Study Protocol Components Type +def: "" +relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS +relationship: follows STDMSO:00000046 ! Study Protocol Components Name + +[Term] +id: STDMSO:00000048 +name: Study Protocol Components Type Term Accession Number +def: "" +relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS +relationship: follows STDMSO:00000047 ! Study Protocol Components Type + +[Term] +id: STDMSO:00000049 +name: Study Protocol Components Type Term Source REF +def: "" +relationship: part_of STDMSO:00000035 ! STUDY PROTOCOLS +relationship: follows STDMSO:00000048 ! Study Protocol Components Type Term Accession Number + +[Term] +id: STDMSO:00000050 +name: STUDY CONTACTS +def: "" +relationship: part_of STDMSO:00000001 ! Study Metadata +relationship: part_of STDMSO:00000062 ! STUDY METADATA +relationship: follows STDMSO:00000049 ! Study Protocol Components Type Term Source REF + +[Term] +id: STDMSO:00000051 +name: Study Person Last Name +def: "" +relationship: part_of STDMSO:00000050 ! STUDY CONTACTS +relationship: follows STDMSO:00000050 ! STUDY CONTACTS + +[Term] +id: STDMSO:00000052 +name: Study Person First Name +def: "" +relationship: part_of STDMSO:00000050 ! STUDY CONTACTS +relationship: follows STDMSO:00000051 ! Study Person Last Name + +[Term] +id: STDMSO:00000053 +name: Study Person Mid Initials +def: "" +relationship: part_of STDMSO:00000050 ! STUDY CONTACTS +relationship: follows STDMSO:00000052 ! Study Person First Name + +[Term] +id: STDMSO:00000054 +name: Study Person Email +def: "" +relationship: part_of STDMSO:00000050 ! STUDY CONTACTS +relationship: follows STDMSO:00000053 ! Study Person Mid Initials + +[Term] +id: STDMSO:00000055 +name: Study Person Phone +def: "" +relationship: part_of STDMSO:00000050 ! STUDY CONTACTS +relationship: follows STDMSO:00000054 ! Study Person Email + +[Term] +id: STDMSO:00000056 +name: Study Person Fax +def: "" +relationship: part_of STDMSO:00000050 ! STUDY CONTACTS +relationship: follows STDMSO:00000055 ! Study Person Phone + +[Term] +id: STDMSO:00000057 +name: Study Person Address +def: "" +relationship: part_of STDMSO:00000050 ! STUDY CONTACTS +relationship: follows STDMSO:00000056 ! Study Person Fax + +[Term] +id: STDMSO:00000058 +name: Study Person Affiliation +def: "" +relationship: part_of STDMSO:00000050 ! STUDY CONTACTS +relationship: follows STDMSO:00000057 ! Study Person Address + +[Term] +id: STDMSO:00000059 +name: Study Person Roles +def: "" +relationship: part_of STDMSO:00000050 ! STUDY CONTACTS +relationship: follows STDMSO:00000058 ! Study Person Affiliation + +[Term] +id: STDMSO:00000060 +name: Study Person Roles Term Accession Number +def: "" +relationship: part_of STDMSO:00000050 ! STUDY CONTACTS +relationship: follows STDMSO:00000059 ! Study Person Roles + +[Term] +id: STDMSO:00000061 +name: Study Person Roles Term Source REF +def: "" +relationship: part_of STDMSO:00000050 ! STUDY CONTACTS +relationship: follows STDMSO:00000060 ! Study Person Roles Term Accession Number diff --git a/tests/ARCTokenization.Tests/ARCTokenization.Tests.fsproj b/tests/ARCTokenization.Tests/ARCTokenization.Tests.fsproj index bd72fdb..8a70bcf 100644 --- a/tests/ARCTokenization.Tests/ARCTokenization.Tests.fsproj +++ b/tests/ARCTokenization.Tests/ARCTokenization.Tests.fsproj @@ -12,6 +12,7 @@ + diff --git a/tests/ARCTokenization.Tests/CodeGenerationTests.fs b/tests/ARCTokenization.Tests/CodeGenerationTests.fs new file mode 100644 index 0000000..79559b6 --- /dev/null +++ b/tests/ARCTokenization.Tests/CodeGenerationTests.fs @@ -0,0 +1,54 @@ +namespace CodeGenerationTests + +open OBO.NET +open ARCTokenization +open ARCTokenization.Terms +open Xunit +open ARCTokenization.StructuralOntology +open FSharpAux +open type System.Environment + +open TestUtils + + +module toUnderscoredName = + + [] + let ``returns correct underscored name`` () = + let expected = "Investigation_Metadata" + let actual = List.head InvestigationMetadata.ontology.Terms |> CodeGeneration.toUnderscoredName + Assert.Equal(expected, actual) + + +module toTermSourceRef = + + [] + let ``returns correct TermSourceRef`` () = + let expected = "INVMSO" + let actual = List.head InvestigationMetadata.ontology.Terms |> CodeGeneration.toTermSourceRef + Assert.Equal(expected, actual) + + +module toCodeString = + + [] + let ``returns correct F# code`` () = + let expected = $" let Investigation_Metadata = CvTerm.create(\"INVMSO:00000001\", \"Investigation Metadata\", \"INVMSO\"){NewLine}{NewLine}" + let actual = List.head InvestigationMetadata.ontology.Terms |> CodeGeneration.toCodeString + Assert.Equal(expected, actual) + + +module toSourceCode = + + [] + let ``returns correct source code`` () = + let expected = + $"namespace ARCTokenization.StructuralOntology{NewLine}{NewLine} open ControlledVocabulary{NewLine}{NewLine} module Investigation ={NewLine}{NewLine} let Investigation_Metadata = CvTerm.create(\"INVMSO:00000001\", \"Investigation Metadata\", \"INVMSO\"){NewLine}{NewLine} let ONTOLOGY_SOURCE_REFERENCE = CvTerm.create(\"INVMSO:00000002\", \"ONTOLOGY SOURCE REFERENCE\", \"INVMSO\"){NewLine}{NewLine} let Term_Source_Name = CvTerm.create(\"INVMSO:00000003\", \"Term Source Name\", \"INVMSO\")" + |> String.replace "\r" "" + let actual = + CodeGeneration.toSourceCode "Investigation" InvestigationMetadata.ontology + |> String.splitS NewLine + |> Array.take 11 + |> String.concat "\n" + |> String.replace "\r" "" + Assert.Equal(expected, actual) \ No newline at end of file diff --git a/tests/ARCTokenization.Tests/IntegrationTests/AssayMetadata.fs b/tests/ARCTokenization.Tests/IntegrationTests/AssayMetadata.fs index 0d7e5ed..b471a9b 100644 --- a/tests/ARCTokenization.Tests/IntegrationTests/AssayMetadata.fs +++ b/tests/ARCTokenization.Tests/IntegrationTests/AssayMetadata.fs @@ -32,7 +32,7 @@ module AssayMetadata = [] let ``Simple study is parsed from filepath CvParam with all structural ontology terms in order`` () = - let fakePath = CvParam(cvTerm = AFSO.``Assay File``, v = "assays/measurement1/isa.assay.xlsx") + let fakePath = CvParam(cvTerm = AFSO.Assay_File, v = "assays/measurement1/isa.assay.xlsx") let rootDir = (System.IO.Path.GetFullPath("Fixtures/arcStructure/")) let actual = [fakePath] diff --git a/tests/ARCTokenization.Tests/IntegrationTests/InvestigationMetadata.fs b/tests/ARCTokenization.Tests/IntegrationTests/InvestigationMetadata.fs index f4b0002..60dfb3d 100644 --- a/tests/ARCTokenization.Tests/IntegrationTests/InvestigationMetadata.fs +++ b/tests/ARCTokenization.Tests/IntegrationTests/InvestigationMetadata.fs @@ -61,7 +61,7 @@ module InvestigationMetadata = [] let ``Simple investigation is parsed from filepath CvParam with all structural ontology terms in order`` () = - let fakePath = CvParam(cvTerm = AFSO.``Investigation File``, v = "isa.investigation.xlsx") + let fakePath = CvParam(cvTerm = AFSO.Investigation_File, v = "isa.investigation.xlsx") let rootDir = (System.IO.Path.GetFullPath("Fixtures/arcStructure/")) let actual = Investigation.parseMetadataSheetsFromTokens( diff --git a/tests/ARCTokenization.Tests/IntegrationTests/StudyMetadata.fs b/tests/ARCTokenization.Tests/IntegrationTests/StudyMetadata.fs index 379d94f..4d1f551 100644 --- a/tests/ARCTokenization.Tests/IntegrationTests/StudyMetadata.fs +++ b/tests/ARCTokenization.Tests/IntegrationTests/StudyMetadata.fs @@ -27,7 +27,7 @@ module StudyMetadata = [] let ``Simple study is parsed from filepath CvParam with all structural ontology terms in order`` () = - let fakePath = CvParam(cvTerm = AFSO.``Study File``, v = "studies/experiment1_material/isa.study.xlsx") + let fakePath = CvParam(cvTerm = AFSO.Study_File, v = "studies/experiment1_material/isa.study.xlsx") let rootDir = (System.IO.Path.GetFullPath("Fixtures/arcStructure/")) let actual = [fakePath] diff --git a/tests/ARCTokenization.Tests/TokenizationTests/FileSystemTokenization.fs b/tests/ARCTokenization.Tests/TokenizationTests/FileSystemTokenization.fs index de90e33..4b86424 100644 --- a/tests/ARCTokenization.Tests/TokenizationTests/FileSystemTokenization.fs +++ b/tests/ARCTokenization.Tests/TokenizationTests/FileSystemTokenization.fs @@ -61,21 +61,21 @@ module FileSystem = let actual = parsedFilePathsArc |> List.ofSeq |> List.sortBy (fun cvp -> cvp.Value |> ParamValue.getValueAsString) let expected = [ - CvParam(StructuralOntology.AFSO.``Assays Directory`` , "assays") - CvParam(StructuralOntology.AFSO.``Assay Directory`` , "assays/measurement1") - CvParam(StructuralOntology.AFSO.``Assay File`` , "assays/measurement1/isa.assay.xlsx") - CvParam(StructuralOntology.AFSO.``Dataset File``, "assays/measurement1/isa.dataset.xlsx") - CvParam(StructuralOntology.AFSO.``Investigation File``, "isa.investigation.xlsx") - CvParam(StructuralOntology.AFSO.``Runs Directory`` , "runs") - CvParam(StructuralOntology.AFSO.``YML File`` , "runs/FSharpArcCapsule.yml") - CvParam(StructuralOntology.AFSO.``Studies Directory`` , "studies") - CvParam(StructuralOntology.AFSO.``Study Directory`` , "studies/experiment1_material") - CvParam(StructuralOntology.AFSO.``Study File`` , "studies/experiment1_material/isa.study.xlsx") - CvParam(StructuralOntology.AFSO.``Directory Path``, "studies/experiment1_material/resources") - CvParam(StructuralOntology.AFSO.``File Path``, "studies/experiment1_material/resources/.gitkeep") - CvParam(StructuralOntology.AFSO.``Workflows Directory`` ,"workflows") - CvParam(StructuralOntology.AFSO.``Workflow Directory``, "workflows/FixedScript") - CvParam(StructuralOntology.AFSO.``File Path``, "workflows/FixedScript/script.fsx") + CvParam(StructuralOntology.AFSO.Assays_Directory , "assays") + CvParam(StructuralOntology.AFSO.Assay_Directory , "assays/measurement1") + CvParam(StructuralOntology.AFSO.Assay_File , "assays/measurement1/isa.assay.xlsx") + CvParam(StructuralOntology.AFSO.Dataset_File, "assays/measurement1/isa.dataset.xlsx") + CvParam(StructuralOntology.AFSO.Investigation_File, "isa.investigation.xlsx") + CvParam(StructuralOntology.AFSO.Runs_Directory , "runs") + CvParam(StructuralOntology.AFSO.YML_File , "runs/FSharpArcCapsule.yml") + CvParam(StructuralOntology.AFSO.Studies_Directory , "studies") + CvParam(StructuralOntology.AFSO.Study_Directory , "studies/experiment1_material") + CvParam(StructuralOntology.AFSO.Study_File , "studies/experiment1_material/isa.study.xlsx") + CvParam(StructuralOntology.AFSO.Directory_Path, "studies/experiment1_material/resources") + CvParam(StructuralOntology.AFSO.File_Path, "studies/experiment1_material/resources/.gitkeep") + CvParam(StructuralOntology.AFSO.Workflows_Directory ,"workflows") + CvParam(StructuralOntology.AFSO.Workflow_Directory, "workflows/FixedScript") + CvParam(StructuralOntology.AFSO.File_Path, "workflows/FixedScript/script.fsx") ] |> List.sortBy (fun cvp -> cvp.Value |> ParamValue.getValueAsString)