diff --git a/playground.fsx b/playground.fsx index 6fe2f92..062c94d 100644 --- a/playground.fsx +++ b/playground.fsx @@ -1,34 +1,8 @@ -//open System.IO -//open System.Collections.Generic - -//let dllBasePath = @"c:/repos/csbiology/fsspreadsheet/src" -//File.Copy(dllBasePath + "/FsSpreadsheet/bin/Debug/netstandard2.0/FsSpreadsheet.dll", dllBasePath + "/FsSpreadsheet/bin/Debug/netstandard2.0/FsSpreadsheet_Copy.dll", true) -//File.Copy(dllBasePath + "/FsSpreadsheet.CsvIO/bin/Debug/netstandard2.0/FsSpreadsheet.CsvIO.dll", dllBasePath + "/FsSpreadsheet.CsvIO/bin/Debug/netstandard2.0/FsSpreadsheet.CsvIO_Copy.dll", true) -//File.Copy(dllBasePath + "/FsSpreadsheet.ExcelIO/bin/Debug/netstandard2.0/FsSpreadsheet.ExcelIO.dll", dllBasePath + "/FsSpreadsheet.ExcelIO/bin/Debug/netstandard2.0/FsSpreadsheet.ExcelIO_Copy.dll", true) -//File.Copy(@"C:\Repos\nfdi4plants\ArcGraphModel\src\ArcGraphModel\bin\Debug\net6.0\ArcGraphModel.dll", @"C:\Repos\nfdi4plants\ArcGraphModel\src\ArcGraphModel\bin\Debug\net6.0\ArcGraphModel_Copy.dll", true) - #r "nuget: FSharpAux" //#r "nuget: FsOboParser" #r "nuget: OBO.NET" #r "nuget: FsSpreadsheet.ExcelIO, 4.1.0" -#r "nuget: FSharp.FGL.ArrayAdjacencyGraph" - -open DocumentFormat.OpenXml -open FSharpAux -open FSharp.FGL -open FSharp.FGL.ArrayAdjacencyGraph -open System.Collections.Generic - - -//#r "c:/repos/csbiology/fsspreadsheet/src/FsSpreadsheet/bin/Debug/netstandard2.0/FsSpreadsheet.dll" -//#r "c:/repos/csbiology/fsspreadsheet/src/FsSpreadsheet.CsvIO/bin/Debug/netstandard2.0/FsSpreadsheet.CsvIO.dll" -//#r "c:/repos/csbiology/fsspreadsheet/src/FsSpreadsheet.ExcelIO/bin/Debug/netstandard2.0/FsSpreadsheet.ExcelIO.dll" -//#r @"C:\Repos\nfdi4plants\ArcGraphModel\src\ArcGraphModel\bin\Debug\net6.0\ArcGraphModel.dll" -//#r @"C:\Repos\nfdi4plants\ArcGraphModel\src\ArcGraphModel\bin\Debug\netstandard2.0\ArcGraphModel.dll" -//#r @"C:\Repos\nfdi4plants\ArcGraphModel\src\ArcGraphModel.IO\bin\Debug\netstandard2.0\ArcGraphModel.IO.dll" -//#r @"C:/Users/olive/.nuget/packages/fsharpaux/1.1.0/lib/net5.0/FSharpAux.dll" -//#r "src/ArcGraphModel/bin/Release/netstandard2.0/ArcGraphModel.dll" -//#r "src/ControlledVocabulary/bin/Release/netstandard2.0/ControlledVocabulary.dll" + #I "src/ControlledVocabulary/bin/Debug/netstandard2.0" #I "src/ControlledVocabulary/bin/Release/netstandard2.0" #r "ControlledVocabulary.dll" @@ -45,6 +19,36 @@ open ControlledVocabulary open type ControlledVocabulary.ParamBase open ARCTokenization open ARCTokenization.StructuralOntology +open System.IO + + +let arcProt = @"C:\Repos\git.nfdi4plants.org\ArcPrototype" + +let afts = FileSystem.parseAbsoluteFilePaths arcProt +afts |> Seq.iter (Param.getValueAsString >> printfn "%s") + +let tryParseMetadataSheetFromToken (isaFileName: string) (isaMdsParsingF: string -> IParam list) (absFileToken: IParam) = + let cvpStr = Param.getValueAsString absFileToken + printfn $"cvpStr: {cvpStr}" + //if String.contains isaFileName cvpStr then + if Path.GetFileName cvpStr = isaFileName then + try + Some (isaMdsParsingF cvpStr) + with _ -> + None + else None + +afts +|> Seq.map ( + fun cvp -> + printfn $"{Param.getValueAsString cvp}" + tryParseMetadataSheetFromToken "isa.investigation.xlsx" (Investigation.parseMetadataSheetFromFile()) cvp +) +|> Seq.length + +let its = Investigation.parseMetadataSheetsFromTokens() afts + + let ot = List.head Terms.InvestigationMetadata.ontology.Terms @@ -129,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/FileSystem.fs b/src/ARCTokenization/FileSystem.fs index 1ecf7bf..fb96869 100644 --- a/src/ARCTokenization/FileSystem.fs +++ b/src/ARCTokenization/FileSystem.fs @@ -9,6 +9,7 @@ open ARCTokenization.StructuralOntology open System.IO open System open ControlledVocabulary +open Tokenization module internal FS = @@ -51,4 +52,31 @@ module internal FS = cvTerm = AFSO.``File Path``, v = file.Replace("\\","/") ) - } \ No newline at end of file + } + + + let internal normalisePath (path:string) = + path.Replace("\\","/") + + let tokenizeARCFileSystem (rootPath:string) = + let rootPathNormalised = rootPath|>normalisePath + + let directories = + Directory.EnumerateDirectories(rootPath, "*", SearchOption.AllDirectories) + |> Seq.map(fun p -> + Tokenization.ArcFileSystem.PType.Directory, + p|>normalisePath + ) + + let files = + Directory.EnumerateFiles(rootPath, "*", SearchOption.AllDirectories) + |> Seq.map(fun p -> + Tokenization.ArcFileSystem.PType.File, + p|>normalisePath + ) + let collection: (Tokenization.ArcFileSystem.PType * string) seq = Seq.concat (seq{directories;files}) + + collection + |>Seq.map(fun (pType,p) -> ArcFileSystem.getArcFileSystemTokens rootPathNormalised pType p) + + \ No newline at end of file diff --git a/src/ARCTokenization/RELEASE_NOTES.md b/src/ARCTokenization/RELEASE_NOTES.md index dac62f3..1ae31f6 100644 --- a/src/ARCTokenization/RELEASE_NOTES.md +++ b/src/ARCTokenization/RELEASE_NOTES.md @@ -1,4 +1,9 @@ -### 3.0.0 - (Released 2024-01-0) +### 4.0.0 - (Released 2024-03-02) + +- Additions: + - [Add enhanced Tokenization for Specific Folders and Files](https://github.com/nfdi4plants/ARCTokenization/pull/53) + +### 3.0.0 - (Released 2024-01-10) - Additions: - [Add basic process graph tokenization](https://github.com/nfdi4plants/ARCTokenization/pull/48/commits/e6cd1775575aaac5aca3d2a48ff26fd31b136038): diff --git a/src/ARCTokenization/Tokenization.fs b/src/ARCTokenization/Tokenization.fs index ef690e4..53fa0da 100644 --- a/src/ARCTokenization/Tokenization.fs +++ b/src/ARCTokenization/Tokenization.fs @@ -4,6 +4,7 @@ open ControlledVocabulary open FsSpreadsheet open MetadataSheet open ARCTokenization.Terms +open ARCtrl open ARCtrl.ISA module Tokenization = @@ -158,3 +159,40 @@ module Tokenization = at.Columns |> Array.map CompositeColumn.tokenize |> List.ofArray + + module ArcFileSystem = + + /// Represents the type of file system entity (Directory or File) + type PType = + | File + | Directory + + /// Matches a CvParam based on the relative path and file system type + let convertRelativePath (pType:PType) (relativePath: string) = + 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) + | 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) + + /// Gets CvParams based on the root path, file system type, and full path + let getArcFileSystemTokens (rootPath:string) (pType:PType) (path:string) = + let relativePath = path.Replace(rootPath,"").TrimStart('/') + convertRelativePath pType relativePath + \ No newline at end of file diff --git a/src/ARCTokenization/TopLevelParsers.fs b/src/ARCTokenization/TopLevelParsers.fs index 80aa336..a8802b2 100644 --- a/src/ARCTokenization/TopLevelParsers.fs +++ b/src/ARCTokenization/TopLevelParsers.fs @@ -9,54 +9,51 @@ module internal ISA = open System.IO - let tryParseMetadataSheetFromToken (isaFileName: string) (isaMdsParsingF: string -> IParam list) (absFileToken: IParam) = + let tryParseMetadataSheetFromToken (rootPath:string) (isaCvTerm: CvTerm) (isaMdsParsingF: string -> IParam list) (relFileToken: IParam) = - let cvpStr = Param.getValueAsString absFileToken - //printfn $"cvpStr: {cvpStr}" - //if String.contains isaFileName cvpStr then - if Path.GetFileName cvpStr = isaFileName then + let cvpStr = Param.getValueAsString relFileToken + let path = Path.Combine(rootPath, cvpStr) + let containsToken = relFileToken|> (fun x -> x.Name = isaCvTerm.Name) + + if containsToken then try - Some (isaMdsParsingF cvpStr) + Some (isaMdsParsingF path) with _ -> None else None - let parseMetadataSheetsFromTokens (isaFileName: string) (isaMdsParsingF: string -> IParam list) (absFileTokens: #IParam seq) = - absFileTokens - |> Seq.choose (fun token -> tryParseMetadataSheetFromToken isaFileName isaMdsParsingF token) - - //type löl = - - - // static member parseStudyMetadataSheetFromCvp absFileTokens = - // parseMetadataSheetsFromCvps "isa.study.xlsx" ARCTokenization.Study.parseMetadataSheetfromFile absFileTokens - - // static member parseAssayMetadataSheetFromCvp absFileTokens = - // parseMetadataSheetsFromCvps "isa.assay.xlsx" ARCTokenization.Assay.parseMetadataSheetFromFile absFileTokens - - // static member tryParseIsaMetadataSheetFromCvp (isaFileName : string) isaMdsParsingF absFileTokens = - // absFileTokens - // |> Seq.choose ( - // fun cvp -> - // let cvpStr = Param.getValueAsString cvp - // //printfn $"cvpStr: {cvpStr}" - // //if String.contains isaFileName cvpStr then - // if isaFileName = Path.GetFileName cvpStr then - // try Some (isaMdsParsingF cvpStr) - // with _ -> None - // else None - // ) - - // static member tryParseInvestigationMetadataSheetFromCvp (absFileTokens : #IParam seq) = - // try ParamBasedParsers.tryParseIsaMetadataSheetFromCvp "isa.investigation.xlsx" ARCTokenization.Investigation.parseMetadataSheetFromFile absFileTokens - // |> Seq.concat - // with _ -> Seq.empty + let parseMetadataSheetsFromTokens (rootPath:string) (isaCvTerm: CvTerm) (isaMdsParsingF: string -> IParam list) (relFileTokens: #IParam seq) = + relFileTokens + |> Seq.choose (fun token -> tryParseMetadataSheetFromToken rootPath isaCvTerm isaMdsParsingF token) + + let parseProcessGraphColumnsFromToken (rootPath:string) (relFileToken: IParam) = + let cvpStr = Param.getValueAsString relFileToken + let path = System.IO.Path.Combine(rootPath, cvpStr) + (FsWorkbook.fromXlsxFile path) + .GetWorksheets() + |> Seq.choose (fun ws -> + ws + |> ARCtrl.ISA.Spreadsheet.ArcTable.tryFromFsWorksheet + |> Option.map (fun t -> + ws.Name, + t + |> Tokenization.ARCtrl.ARCTable.tokenizeColumns + ) + ) + |> Map.ofSeq - // static member tryParseStudyMetadataSheetFromCvp (absFileTokens : #IParam seq) = - // ParamBasedParsers.tryParseIsaMetadataSheetFromCvp "isa.study.xlsx" ARCTokenization.Study.parseMetadataSheetfromFile absFileTokens + let parseProcessGraphColumnsFromTokens (rootPath:string) (isaCvTerm: CvTerm) (relFileTokens: #IParam seq) = + relFileTokens + |> Seq.choose (fun (token :#IParam) -> + match token |> Param.equalsTerm isaCvTerm with + | true -> Some (parseProcessGraphColumnsFromToken rootPath token) + | false -> None + ) + |> fun x -> + match Seq.length x with + | 0 -> Seq.empty + | _ -> x - // static member tryParseAssayMetadataSheetFromCvp (absFileTokens : #IParam seq) = - // ParamBasedParsers.tryParseIsaMetadataSheetFromCvp "isa.assay.xlsx" ARCTokenization.Assay.parseMetadataSheetFromFile absFileTokens type FileSystem = @@ -104,6 +101,17 @@ type FileSystem = ) = FS.tokenizeRelativeFilePaths rootPath + /// + /// Returns all files in the given rootPath as a list of CvParams containing the annotated relative file paths. + /// Uses the ARC file system structure to parse the files to tokens. + /// Note that rootPath must be an absolute path ending with a trailing slash. + /// + /// absolute path ending with a trailing slash + static member parseARCFileSystem( + rootPath:string + ) = + FS.tokenizeARCFileSystem rootPath + type Investigation = /// @@ -136,40 +144,38 @@ type Investigation = |> List.concat /// - /// Returns a function that returns Some flat IParam list representing the investigation metadata if the given token contains a filepath with the standard investigation file name ("isa.investigation.xlsx") or None otherwise. + /// Returns a function that returns Some flat IParam list representing the investigation metadata if the given token contains an investigation file tied to an filepath with the standard investigation file name ("isa.investigation.xlsx") or None otherwise. /// /// Wether or not to try parse the last sheet as metadata sheet when there is no sheet with the correct name ("isa_investigation") in the workbook - /// The name of the investigation file, note that this should not be set if the file follows spec (as "isa.investigation.xlsx" is the default) static member tryParseMetadataSheetFromToken( - ?UseLastSheetOnIncorrectName: bool, - ?FileName: string + ?UseLastSheetOnIncorrectName: bool ) = - let fileName = defaultArg FileName Globals.INVESTIGATION_FILE_NAME + let fileToken = StructuralOntology.AFSO.``Investigation File`` - fun (token: #IParam) -> + fun (rootPath:string) (token: #IParam) -> ISA.tryParseMetadataSheetFromToken - fileName + rootPath + fileToken (Investigation.parseMetadataSheetFromFile(?UseLastSheetOnIncorrectName = UseLastSheetOnIncorrectName)) token /// - /// Returns a function that parses all metadata sheets from all the tokens containing a filepath with the standard investigation file name ("isa.investigation.xlsx") - /// in a given collection of tokens as a 2D list containing the individual Investigation metadata as a flat list of `IParam`s. - /// - /// if no tokens contain such a file path, the result will be an empty list. + /// Returns a function that parses all metadata sheets from all the tokens containing an `Investigation File' tied to an filepath with the + /// standard investigation file name ("isa.investigation.xlsx") in a given collection of tokens as a 2D list containing the individual + /// Investigation metadata as a flat list of `IParam`s. + /// If no tokens contain such a file path, the result will be an empty list. /// /// Wether or not to try parse the last sheet as metadata sheet when there is no sheet with the correct name ("isa_investigation") in the workbook - /// The name of the investigation file, note that this should not be set if the file follows spec (as "isa.investigation.xlsx" is the default) static member parseMetadataSheetsFromTokens( - ?UseLastSheetOnIncorrectName: bool, - ?FileName: string + ?UseLastSheetOnIncorrectName: bool ) = - let fileName = defaultArg FileName Globals.INVESTIGATION_FILE_NAME + let fileToken = StructuralOntology.AFSO.``Investigation File`` - fun (tokens: #seq<#IParam>) -> + fun (rootPath:string) (tokens: #seq<#IParam>) -> ISA.parseMetadataSheetsFromTokens - fileName + rootPath + fileToken (Investigation.parseMetadataSheetFromFile(?UseLastSheetOnIncorrectName = UseLastSheetOnIncorrectName)) tokens |> List.ofSeq @@ -206,45 +212,43 @@ type Study = |> List.concat /// - /// Returns a function that returns Some flat IParam list representing the study metadata if the given token contains a filepath with the standard study file name ("isa.study.xlsx") or None otherwise. + /// Returns a function that returns Some flat IParam list representing the study metadata if the given token contains a 'Study File' tied to an filepath with the the standard study file name ("isa.study.xlsx") or None otherwise. /// /// Wether or not to try parse the last sheet as metadata sheet when there is no sheet with the correct name ("isa_study") in the workbook - /// The name of the study file, note that this should not be set if the file follows spec (as "isa.study.xlsx" is the default) static member tryParseMetadataSheetFromToken( - ?UseLastSheetOnIncorrectName: bool, - ?FileName: string + ?UseLastSheetOnIncorrectName: bool ) = - let fileName = defaultArg FileName Globals.STUDY_FILE_NAME - fun (token: #IParam) -> + let fileToken = StructuralOntology.AFSO.``Study File`` + + fun (rootPath:string) (token: #IParam) -> ISA.tryParseMetadataSheetFromToken - fileName + rootPath + fileToken (Study.parseMetadataSheetFromFile(?UseLastSheetOnIncorrectName = UseLastSheetOnIncorrectName)) token /// - /// Returns a function that parses all metadata sheets from all the tokens containing a filepath with the standard study file name ("isa.study.xlsx") + /// Returns a function that parses all metadata sheets from all the tokens containing a 'Study File' with the standard study file name ("isa.study.xlsx") /// in a given collection of tokens as a 2D list containing the individual study metadata as a flat list of `IParam`s. /// /// if no tokens contain such a file path, the result will be an empty list. /// /// Wether or not to try parse the last sheet as metadata sheet when there is no sheet with the correct name ("isa_study") in the workbook - /// The name of the study file, note that this should not be set if the file follows spec (as "isa.study.xlsx" is the default) static member parseMetadataSheetsFromTokens( - ?UseLastSheetOnIncorrectName: bool, - ?FileName: string + ?UseLastSheetOnIncorrectName: bool ) = - let fileName = defaultArg FileName Globals.STUDY_FILE_NAME + let fileToken = StructuralOntology.AFSO.``Study File`` - fun (tokens: #seq<#IParam>) -> + fun (rootPath:string) (tokens: #seq<#IParam>) -> ISA.parseMetadataSheetsFromTokens - fileName + rootPath + fileToken (Study.parseMetadataSheetFromFile(?UseLastSheetOnIncorrectName = UseLastSheetOnIncorrectName)) tokens |> List.ofSeq - /// /// Parses all annotation tables from an ISA Study XLSX file as a /// Map of string * `IParam` 2D List representing the individual parts parts of the Process graph, @@ -266,6 +270,29 @@ type Study = ) |> Map.ofSeq + /// + /// Returns an annotation table from an IParam if the given token is annotated with the term 'Study File'. + /// Returns a map of string * `IParam` 2D list representing the individual parts of the process graph. + /// The string is the name of the worksheet that contained the table, and the 2D lists represent a single table where the inner 1D lists represent a single column. + /// + /// The root path of the ARC + /// IParam that may be a relevant token + /// A map of string * `IParam` 2D list representing the individual parts of the process graph + static member parseProcessGraphColumnsFromToken (rootPath:string) (relFileToken: IParam) = + ISA.parseProcessGraphColumnsFromToken rootPath relFileToken + + + /// + /// Returns a seq of annotation tables from an IParam seq for each contained token that is annotated with the term 'Study File'. + /// Returns a map of string * `IParam` 2D list representing the individual parts of the process graph. + /// The string is the name of the worksheet that contained the table, and the 2D lists represent a single table where the inner 1D lists represent a single column. + /// + /// The root path of the ARC + /// 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 + type Assay = /// @@ -298,40 +325,38 @@ type Assay = |> List.concat /// - /// Returns a function that returns Some flat IParam list representing the assay metadata if the given token contains a filepath with the standard assay file name ("isa.assay.xlsx") or None otherwise. + /// Returns a function that returns Some flat IParam list representing the assay metadata if the given token contains an 'Assay File' with the standard assay file name ("isa.assay.xlsx") or None otherwise. /// /// Wether or not to try parse the last sheet as metadata sheet when there is no sheet with the correct name ("isa_assay") in the workbook - /// The name of the assay file, note that this should not be set if the file follows spec (as "isa.assay.xlsx" is the default) static member tryParseMetadataSheetFromToken( - ?UseLastSheetOnIncorrectName: bool, - ?FileName: string + ?UseLastSheetOnIncorrectName: bool ) = - let fileName = defaultArg FileName Globals.ASSAY_FILE_NAME + let fileToken = StructuralOntology.AFSO.``Assay File`` - fun (token: #IParam) -> + fun (rootPath:string) (token: #IParam) -> ISA.tryParseMetadataSheetFromToken - fileName + rootPath + fileToken (Assay.parseMetadataSheetFromFile(?UseLastSheetOnIncorrectName = UseLastSheetOnIncorrectName)) token /// - /// Returns a function that parses all metadata sheets from all the tokens containing a filepath with the standard assay file name ("isa.assay.xlsx") + /// Returns a function that parses all metadata sheets from all the tokens containing an 'Assay File' with the standard assay file name ("isa.assay.xlsx") /// in a given collection of tokens as a 2D list containing the individual assay metadata as a flat list of `IParam`s. /// /// if no tokens contain such a file path, the result will be an empty list. /// /// Wether or not to try parse the last sheet as metadata sheet when there is no sheet with the correct name ("isa_assay") in the workbook - /// The name of the assay file, note that this should not be set if the file follows spec (as "isa.assay.xlsx" is the default) static member parseMetadataSheetsFromTokens( - ?UseLastSheetOnIncorrectName: bool, - ?FileName: string + ?UseLastSheetOnIncorrectName: bool ) = - let fileName = defaultArg FileName Globals.ASSAY_FILE_NAME + let fileToken = StructuralOntology.AFSO.``Assay File`` - fun (tokens: #seq<#IParam>) -> + fun (rootPath:string) (tokens: #seq<#IParam>) -> ISA.parseMetadataSheetsFromTokens - fileName + rootPath + fileToken (Assay.parseMetadataSheetFromFile(?UseLastSheetOnIncorrectName = UseLastSheetOnIncorrectName)) tokens |> List.ofSeq @@ -355,4 +380,26 @@ type Assay = |> Tokenization.ARCtrl.ARCTable.tokenizeColumns ) ) - |> Map.ofSeq \ No newline at end of file + |> Map.ofSeq + + /// + /// Returns an annotation table from an IParam if the given token is annotated with the term 'Assay File'. + /// Returns a map of string * `IParam` 2D list representing the individual parts of the process graph. + /// The string is the name of the worksheet that contained the table, and the 2D lists represent a single table where the inner 1D lists represent a single column. + /// + /// The root path of the ARC + /// IParam that may be a relevant token + /// A map of string * `IParam` 2D list representing the individual parts of the process graph + static member parseProcessGraphColumnsFromToken (rootPath:string) (relFileToken: IParam) = + ISA.parseProcessGraphColumnsFromToken rootPath relFileToken + +/// +/// Returns a seq of annotation tables from an IParam seq for each contained token that is annotated with the term 'Assay File'. +/// Returns a map of string * `IParam` 2D list representing the individual parts of the process graph. +/// The string is the name of the worksheet that contained the table, and the 2D lists represent a single table where the inner 1D lists represent a single column. +/// +/// The root path of the ARC +/// 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 diff --git a/src/ARCTokenization/structural_ontologies/AFSO.fs b/src/ARCTokenization/structural_ontologies/AFSO.fs index 9d5eb63..4ed992a 100644 --- a/src/ARCTokenization/structural_ontologies/AFSO.fs +++ b/src/ARCTokenization/structural_ontologies/AFSO.fs @@ -23,4 +23,28 @@ module 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") \ No newline at end of file + 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 diff --git a/src/ARCTokenization/structural_ontologies/arc_file_structure_ontology.obo b/src/ARCTokenization/structural_ontologies/arc_file_structure_ontology.obo index 125d864..2f7274d 100644 --- a/src/ARCTokenization/structural_ontologies/arc_file_structure_ontology.obo +++ b/src/ARCTokenization/structural_ontologies/arc_file_structure_ontology.obo @@ -1,56 +1,126 @@ -!This file was auto generated on 2024-01-10. 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: "" +!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: "" diff --git a/src/ARCTokenization/structural_ontologies/arc_file_structure_ontology.yml b/src/ARCTokenization/structural_ontologies/arc_file_structure_ontology.yml index 4ae49f3..8264eef 100644 --- a/src/ARCTokenization/structural_ontologies/arc_file_structure_ontology.yml +++ b/src/ARCTokenization/structural_ontologies/arc_file_structure_ontology.yml @@ -52,4 +52,74 @@ 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: "" \ No newline at end of file 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 31d36de..b21b20e 100644 --- a/src/ARCTokenization/structural_ontologies/arc_process_graph_structural_ontology.obo +++ b/src/ARCTokenization/structural_ontologies/arc_process_graph_structural_ontology.obo @@ -1,4 +1,4 @@ -!This file was auto generated on 2024-01-10. Do not edit it. All manual changes will be overwritten by the next generator run eventually. +!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 diff --git a/src/ARCTokenization/structural_ontologies/assay_metadata_structural_ontology.obo b/src/ARCTokenization/structural_ontologies/assay_metadata_structural_ontology.obo index 9ab1b2a..378e1b1 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 2024-01-10. 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 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 diff --git a/src/ARCTokenization/structural_ontologies/investigation_metadata_structural_ontology.obo b/src/ARCTokenization/structural_ontologies/investigation_metadata_structural_ontology.obo index 8320561..cc3d7c9 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 2024-01-10. 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 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 diff --git a/src/ARCTokenization/structural_ontologies/study_metadata_structural_ontology.obo b/src/ARCTokenization/structural_ontologies/study_metadata_structural_ontology.obo index 10f1b94..1d410c0 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 2024-01-10. 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 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 diff --git a/tests/ARCTokenization.Tests/Fixtures/arcStructure/assays/measurement1/isa.assay.xlsx b/tests/ARCTokenization.Tests/Fixtures/arcStructure/assays/measurement1/isa.assay.xlsx new file mode 100644 index 0000000..d3ad4bc Binary files /dev/null and b/tests/ARCTokenization.Tests/Fixtures/arcStructure/assays/measurement1/isa.assay.xlsx differ diff --git a/tests/ARCTokenization.Tests/Fixtures/arcStructure/assays/measurement1/isa.dataset.xlsx b/tests/ARCTokenization.Tests/Fixtures/arcStructure/assays/measurement1/isa.dataset.xlsx new file mode 100644 index 0000000..4acd55d Binary files /dev/null and b/tests/ARCTokenization.Tests/Fixtures/arcStructure/assays/measurement1/isa.dataset.xlsx differ diff --git a/tests/ARCTokenization.Tests/Fixtures/arcStructure/isa.investigation.xlsx b/tests/ARCTokenization.Tests/Fixtures/arcStructure/isa.investigation.xlsx new file mode 100644 index 0000000..689b53e Binary files /dev/null and b/tests/ARCTokenization.Tests/Fixtures/arcStructure/isa.investigation.xlsx differ diff --git a/tests/ARCTokenization.Tests/Fixtures/arcStructure/runs/FSharpArcCapsule.yml b/tests/ARCTokenization.Tests/Fixtures/arcStructure/runs/FSharpArcCapsule.yml new file mode 100644 index 0000000..2ed7449 --- /dev/null +++ b/tests/ARCTokenization.Tests/Fixtures/arcStructure/runs/FSharpArcCapsule.yml @@ -0,0 +1,22 @@ +arcDirectory: + class: Directory + path: ../ +firstArg: + class: File + path: ../assays/measurement1/dataset/table.csv +secondArg: ./result.csv + +arc:has process sequence: + - class: arc:process sequence + arc:has input: + - class: arc:data + arc:name: "./arc/assays/measurement1/dataset/table.csv" + arc:has output: + - class: arc:data + arc:name: "./arc/runs/fsResult1/result.csv" + +$namespaces: + arc: https://github.com/nfdi4plants/ARC_ontology + +$schemas: + - https://raw.githubusercontent.com/nfdi4plants/ARC_ontology/main/ARC_v2.0.owl diff --git a/tests/ARCTokenization.Tests/Fixtures/arcStructure/studies/experiment1_material/isa.study.xlsx b/tests/ARCTokenization.Tests/Fixtures/arcStructure/studies/experiment1_material/isa.study.xlsx new file mode 100644 index 0000000..7dd9d68 Binary files /dev/null and b/tests/ARCTokenization.Tests/Fixtures/arcStructure/studies/experiment1_material/isa.study.xlsx differ diff --git a/tests/ARCTokenization.Tests/Fixtures/arcStructure/studies/experiment1_material/resources/.gitkeep b/tests/ARCTokenization.Tests/Fixtures/arcStructure/studies/experiment1_material/resources/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tests/ARCTokenization.Tests/Fixtures/arcStructure/workflows/FixedScript/script.fsx b/tests/ARCTokenization.Tests/Fixtures/arcStructure/workflows/FixedScript/script.fsx new file mode 100644 index 0000000..5638d8b --- /dev/null +++ b/tests/ARCTokenization.Tests/Fixtures/arcStructure/workflows/FixedScript/script.fsx @@ -0,0 +1 @@ +"Hello" \ No newline at end of file diff --git a/tests/ARCTokenization.Tests/Fixtures/correct/isa.investigation.xlsx b/tests/ARCTokenization.Tests/Fixtures/correct/isa.investigation.xlsx new file mode 100644 index 0000000..689b53e Binary files /dev/null and b/tests/ARCTokenization.Tests/Fixtures/correct/isa.investigation.xlsx differ diff --git a/tests/ARCTokenization.Tests/IntegrationTests/AssayMetadata.fs b/tests/ARCTokenization.Tests/IntegrationTests/AssayMetadata.fs index d0b78f7..0d7e5ed 100644 --- a/tests/ARCTokenization.Tests/IntegrationTests/AssayMetadata.fs +++ b/tests/ARCTokenization.Tests/IntegrationTests/AssayMetadata.fs @@ -32,12 +32,12 @@ module AssayMetadata = [] let ``Simple study is parsed from filepath CvParam with all structural ontology terms in order`` () = - let fakePath = CvParam(cvTerm = AFSO.``File Path``, v = "Fixtures/correct/assay_simple.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] |> Assay.parseMetadataSheetsFromTokens( - FileName = "assay_simple.xlsx" - ) + ) rootDir |> Seq.head Assert.All((List.zip allExpectedMetadataTermsFull actual), (fun (expected,actual) -> CvParam.structuralEquality (expected) (actual :?> CvParam) diff --git a/tests/ARCTokenization.Tests/IntegrationTests/InvestigationMetadata.fs b/tests/ARCTokenization.Tests/IntegrationTests/InvestigationMetadata.fs index e198d0a..f4b0002 100644 --- a/tests/ARCTokenization.Tests/IntegrationTests/InvestigationMetadata.fs +++ b/tests/ARCTokenization.Tests/IntegrationTests/InvestigationMetadata.fs @@ -11,7 +11,7 @@ module InvestigationMetadata = open TestUtils let parsedInvestigationMetadataEmpty = Investigation.parseMetadataSheetFromFile() "Fixtures/incorrect/investigation_empty.xlsx" - let parsedInvestigationMetadataSimple = Investigation.parseMetadataSheetFromFile() "Fixtures/correct/investigation_simple.xlsx" + let parsedInvestigationMetadataSimple = Investigation.parseMetadataSheetFromFile() "Fixtures/correct/isa.investigation.xlsx" let allExpectedMetadataTermsEmpty = Terms.InvestigationMetadata.nonObsoleteNonRootCvTerms @@ -61,12 +61,11 @@ module InvestigationMetadata = [] let ``Simple investigation is parsed from filepath CvParam with all structural ontology terms in order`` () = - let fakePath = CvParam(cvTerm = AFSO.``File Path``, v = "Fixtures/correct/investigation_simple.xlsx") + let fakePath = CvParam(cvTerm = AFSO.``Investigation File``, v = "isa.investigation.xlsx") + let rootDir = (System.IO.Path.GetFullPath("Fixtures/arcStructure/")) let actual = - [fakePath] - |> Investigation.parseMetadataSheetsFromTokens( - FileName = "investigation_simple.xlsx" - ) + Investigation.parseMetadataSheetsFromTokens( + ) rootDir [fakePath] |> Seq.head Assert.All((List.zip allExpectedMetadataTermsFull actual), (fun (expected,actual) -> diff --git a/tests/ARCTokenization.Tests/IntegrationTests/StudyMetadata.fs b/tests/ARCTokenization.Tests/IntegrationTests/StudyMetadata.fs index 3404ab4..379d94f 100644 --- a/tests/ARCTokenization.Tests/IntegrationTests/StudyMetadata.fs +++ b/tests/ARCTokenization.Tests/IntegrationTests/StudyMetadata.fs @@ -27,12 +27,12 @@ module StudyMetadata = [] let ``Simple study is parsed from filepath CvParam with all structural ontology terms in order`` () = - let fakePath = CvParam(cvTerm = AFSO.``File Path``, v = "Fixtures/correct/study_simple.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] |> Study.parseMetadataSheetsFromTokens( - FileName = "study_simple.xlsx" - ) + ) rootDir |> Seq.head Assert.All((List.zip allExpectedMetadataTermsFull actual), (fun (expected,actual) -> CvParam.structuralEquality (expected) (actual :?> CvParam) diff --git a/tests/ARCTokenization.Tests/TokenizationTests/FileSystemTokenization.fs b/tests/ARCTokenization.Tests/TokenizationTests/FileSystemTokenization.fs index 90e2630..de90e33 100644 --- a/tests/ARCTokenization.Tests/TokenizationTests/FileSystemTokenization.fs +++ b/tests/ARCTokenization.Tests/TokenizationTests/FileSystemTokenization.fs @@ -52,3 +52,35 @@ module FileSystem = List.zip expected actual, fun (e, a) -> Assert.True(e.Equals(a)) ) + + + let parsedFilePathsArc = FS.tokenizeARCFileSystem (Path.Combine(System.Environment.CurrentDirectory, "Fixtures/arcStructure/")) + + [] + let ``Test ARC Tokenisation``() = + 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") + ] + |> List.sortBy (fun cvp -> cvp.Value |> ParamValue.getValueAsString) + + Assert.All( + List.zip actual expected, + fun (a,e) -> + Assert.True(a.Equals(e)) + )