@nfdi4plants/arctrl 1.0.0-alpha10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ARC.js +262 -0
- package/Contract/Contract.js +95 -0
- package/Contracts/Contracts.ARCtrl.js +35 -0
- package/Contracts/Contracts.ArcAssay.js +65 -0
- package/Contracts/Contracts.ArcInvestigation.js +58 -0
- package/Contracts/Contracts.ArcStudy.js +65 -0
- package/Contracts/Contracts.Git.js +91 -0
- package/FileSystem/Commit.js +18 -0
- package/FileSystem/DefaultGitignore.js +3 -0
- package/FileSystem/FileSystem.js +53 -0
- package/FileSystem/FileSystemTree.js +223 -0
- package/FileSystem/Path.js +38 -0
- package/FileSystemTree.js +51 -0
- package/ISA/ISA/ArcTypes/ArcTable.js +848 -0
- package/ISA/ISA/ArcTypes/ArcTableAux.js +1105 -0
- package/ISA/ISA/ArcTypes/ArcTables.js +479 -0
- package/ISA/ISA/ArcTypes/ArcTypes.js +2281 -0
- package/ISA/ISA/ArcTypes/CompositeCell.js +180 -0
- package/ISA/ISA/ArcTypes/CompositeColumn.js +48 -0
- package/ISA/ISA/ArcTypes/CompositeHeader.js +668 -0
- package/ISA/ISA/ArcTypes/CompositeRow.js +111 -0
- package/ISA/ISA/ArcTypes/IdentifierSetters.js +26 -0
- package/ISA/ISA/Builder/Types.js +243 -0
- package/ISA/ISA/Fable.js +50 -0
- package/ISA/ISA/Helper.js +338 -0
- package/ISA/ISA/Identifier.js +76 -0
- package/ISA/ISA/JsonTypes/AnnotationValue.js +56 -0
- package/ISA/ISA/JsonTypes/Assay.js +620 -0
- package/ISA/ISA/JsonTypes/AssayMaterials.js +39 -0
- package/ISA/ISA/JsonTypes/ColumnIndex.js +246 -0
- package/ISA/ISA/JsonTypes/Comment.js +58 -0
- package/ISA/ISA/JsonTypes/CommentList.js +139 -0
- package/ISA/ISA/JsonTypes/Component.js +158 -0
- package/ISA/ISA/JsonTypes/Data.js +55 -0
- package/ISA/ISA/JsonTypes/DataFile.js +68 -0
- package/ISA/ISA/JsonTypes/Factor.js +128 -0
- package/ISA/ISA/JsonTypes/FactorValue.js +109 -0
- package/ISA/ISA/JsonTypes/Investigation.js +204 -0
- package/ISA/ISA/JsonTypes/Material.js +66 -0
- package/ISA/ISA/JsonTypes/MaterialAttribute.js +101 -0
- package/ISA/ISA/JsonTypes/MaterialAttributeValue.js +126 -0
- package/ISA/ISA/JsonTypes/MaterialType.js +41 -0
- package/ISA/ISA/JsonTypes/OntologyAnnotation.js +219 -0
- package/ISA/ISA/JsonTypes/OntologySourceReference.js +85 -0
- package/ISA/ISA/JsonTypes/Person.js +137 -0
- package/ISA/ISA/JsonTypes/Process.js +401 -0
- package/ISA/ISA/JsonTypes/ProcessInput.js +297 -0
- package/ISA/ISA/JsonTypes/ProcessOutput.js +263 -0
- package/ISA/ISA/JsonTypes/ProcessParameterValue.js +129 -0
- package/ISA/ISA/JsonTypes/ProcessSequence.js +255 -0
- package/ISA/ISA/JsonTypes/Protocol.js +277 -0
- package/ISA/ISA/JsonTypes/ProtocolParameter.js +101 -0
- package/ISA/ISA/JsonTypes/Publication.js +105 -0
- package/ISA/ISA/JsonTypes/Sample.js +71 -0
- package/ISA/ISA/JsonTypes/Source.js +54 -0
- package/ISA/ISA/JsonTypes/Study.js +942 -0
- package/ISA/ISA/JsonTypes/StudyMaterials.js +45 -0
- package/ISA/ISA/JsonTypes/URI.js +19 -0
- package/ISA/ISA/JsonTypes/Value.js +210 -0
- package/ISA/ISA/Regex.js +588 -0
- package/ISA/ISA.Json/Assay.js +123 -0
- package/ISA/ISA.Json/Comment.js +84 -0
- package/ISA/ISA.Json/ConverterOptions.js +33 -0
- package/ISA/ISA.Json/Data.js +271 -0
- package/ISA/ISA.Json/Decode.js +46 -0
- package/ISA/ISA.Json/Factor.js +194 -0
- package/ISA/ISA.Json/GEncode.js +15 -0
- package/ISA/ISA.Json/Investigation.js +132 -0
- package/ISA/ISA.Json/Material.js +233 -0
- package/ISA/ISA.Json/Ontology.js +204 -0
- package/ISA/ISA.Json/Person.js +204 -0
- package/ISA/ISA.Json/Process.js +291 -0
- package/ISA/ISA.Json/Protocol.js +242 -0
- package/ISA/ISA.Json/Publication.js +92 -0
- package/ISA/ISA.Json/Study.js +230 -0
- package/ISA/ISA.Json/Validation/Fable.js +69 -0
- package/ISA/ISA.Json/Validation/JsonSchemaValidation.js +88 -0
- package/ISA/ISA.Json/Validation/ValidationResult.js +45 -0
- package/ISA/ISA.Spreadsheet/AnnotationTable/ArcTable.js +137 -0
- package/ISA/ISA.Spreadsheet/AnnotationTable/CompositeCell.js +78 -0
- package/ISA/ISA.Spreadsheet/AnnotationTable/CompositeColumn.js +59 -0
- package/ISA/ISA.Spreadsheet/AnnotationTable/CompositeHeader.js +478 -0
- package/ISA/ISA.Spreadsheet/ArcAssay.js +150 -0
- package/ISA/ISA.Spreadsheet/ArcInvestigation.js +314 -0
- package/ISA/ISA.Spreadsheet/ArcStudy.js +67 -0
- package/ISA/ISA.Spreadsheet/CollectionAux.js +128 -0
- package/ISA/ISA.Spreadsheet/Metadata/Assays.js +81 -0
- package/ISA/ISA.Spreadsheet/Metadata/Comment.js +60 -0
- package/ISA/ISA.Spreadsheet/Metadata/Contacts.js +104 -0
- package/ISA/ISA.Spreadsheet/Metadata/Conversions.js +180 -0
- package/ISA/ISA.Spreadsheet/Metadata/DesignDescriptors.js +27 -0
- package/ISA/ISA.Spreadsheet/Metadata/Factors.js +85 -0
- package/ISA/ISA.Spreadsheet/Metadata/OntologyAnnotation.js +65 -0
- package/ISA/ISA.Spreadsheet/Metadata/OntologySourceReference.js +73 -0
- package/ISA/ISA.Spreadsheet/Metadata/Protocols.js +116 -0
- package/ISA/ISA.Spreadsheet/Metadata/Publication.js +96 -0
- package/ISA/ISA.Spreadsheet/Metadata/SparseTable.js +451 -0
- package/ISA/ISA.Spreadsheet/Metadata/Study.js +260 -0
- package/README.md +277 -0
- package/SemVer.js +60 -0
- package/Templates/Template.Json.js +85 -0
- package/Templates/Template.Spreadsheet.js +315 -0
- package/Templates/Template.Web.js +27 -0
- package/Templates/Template.js +179 -0
- package/Templates/Templates.js +82 -0
- package/WebRequest/WebRequest.js +38 -0
- package/fable_modules/Fable.Fetch.2.6.0/Fable.Fetch.fableproj +21 -0
- package/fable_modules/Fable.Fetch.2.6.0/Fetch.fs +469 -0
- package/fable_modules/Fable.Fetch.2.6.0/Fetch.fs.js +111 -0
- package/fable_modules/Fable.Promise.3.2.0/AsyncIterable.fs +57 -0
- package/fable_modules/Fable.Promise.3.2.0/AsyncIterable.fs.js +104 -0
- package/fable_modules/Fable.Promise.3.2.0/Fable.Promise.fableproj +20 -0
- package/fable_modules/Fable.Promise.3.2.0/Promise.fs +766 -0
- package/fable_modules/Fable.Promise.3.2.0/Promise.fs.js +217 -0
- package/fable_modules/Fable.Promise.3.2.0/PromiseImpl.fs +31 -0
- package/fable_modules/Fable.Promise.3.2.0/PromiseImpl.fs.js +19 -0
- package/fable_modules/Fable.SimpleHttp.3.5.0/Fable.SimpleHttp.fableproj +23 -0
- package/fable_modules/Fable.SimpleHttp.3.5.0/Http.fs +357 -0
- package/fable_modules/Fable.SimpleHttp.3.5.0/Http.fs.js +429 -0
- package/fable_modules/Fable.SimpleHttp.3.5.0/Types.fs +52 -0
- package/fable_modules/Fable.SimpleHttp.3.5.0/Types.fs.js +112 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Cells/FsCell.fs +387 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Cells/FsCell.fs.js +240 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Cells/FsCellsCollection.fs +725 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Cells/FsCellsCollection.fs.js +522 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/CellBuilder.fs +195 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/CellBuilder.fs.js +208 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/ColumnBuilder.fs +209 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/ColumnBuilder.fs.js +137 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/DSL.fs +61 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/DSL.fs.js +62 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/Expression.fs +24 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/Expression.fs.js +56 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/Operators.fs +102 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/Operators.fs.js +6 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/RowBuilder.fs +200 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/RowBuilder.fs.js +137 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/SheetBuilder.fs +139 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/SheetBuilder.fs.js +116 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/TableBuilder.fs +120 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/TableBuilder.fs.js +120 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/Transform.fs +229 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/Transform.fs.js +421 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/Types.fs +151 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/Types.fs.js +277 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/WorkbookBuilder.fs +114 -0
- package/fable_modules/FsSpreadsheet.4.1.0/DSL/WorkbookBuilder.fs.js +104 -0
- package/fable_modules/FsSpreadsheet.4.1.0/FsAddress.fs +177 -0
- package/fable_modules/FsSpreadsheet.4.1.0/FsAddress.fs.js +249 -0
- package/fable_modules/FsSpreadsheet.4.1.0/FsColumn.fs +200 -0
- package/fable_modules/FsSpreadsheet.4.1.0/FsColumn.fs.js +125 -0
- package/fable_modules/FsSpreadsheet.4.1.0/FsRow.fs +202 -0
- package/fable_modules/FsSpreadsheet.4.1.0/FsRow.fs.js +135 -0
- package/fable_modules/FsSpreadsheet.4.1.0/FsSpreadsheet.fableproj +58 -0
- package/fable_modules/FsSpreadsheet.4.1.0/FsWorkbook.fs +183 -0
- package/fable_modules/FsSpreadsheet.4.1.0/FsWorkbook.fs.js +138 -0
- package/fable_modules/FsSpreadsheet.4.1.0/FsWorksheet.fs +628 -0
- package/fable_modules/FsSpreadsheet.4.1.0/FsWorksheet.fs.js +398 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRange.fs +19 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRange.fs.js +41 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeAddress.fs +222 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeAddress.fs.js +235 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeBase.fs +93 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeBase.fs.js +91 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeColumn.fs +65 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeColumn.fs.js +74 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeRow.fs +22 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Ranges/FsRangeRow.fs.js +40 -0
- package/fable_modules/FsSpreadsheet.4.1.0/SheetBuilder.fs +249 -0
- package/fable_modules/FsSpreadsheet.4.1.0/SheetBuilder.fs.js +325 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTable.fs +455 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTable.fs.js +310 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTableField.fs +140 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTableField.fs.js +173 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTableRow.fs +6 -0
- package/fable_modules/FsSpreadsheet.4.1.0/Tables/FsTableRow.fs.js +17 -0
- package/fable_modules/FsSpreadsheet.4.1.0/obj/Debug/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.fs +3 -0
- package/fable_modules/FsSpreadsheet.4.1.0/obj/Debug/netstandard2.0/FsSpreadsheet.AssemblyInfo.fs +19 -0
- package/fable_modules/FsSpreadsheet.4.1.0/obj/Release/netstandard2.0/.NETStandard,Version=v2.0.AssemblyAttributes.fs +3 -0
- package/fable_modules/FsSpreadsheet.4.1.0/obj/Release/netstandard2.0/FsSpreadsheet.AssemblyInfo.fs +19 -0
- package/fable_modules/Thoth.Json.10.1.0/Decode.fs +1366 -0
- package/fable_modules/Thoth.Json.10.1.0/Decode.fs.js +1798 -0
- package/fable_modules/Thoth.Json.10.1.0/Encode.fs +621 -0
- package/fable_modules/Thoth.Json.10.1.0/Encode.fs.js +472 -0
- package/fable_modules/Thoth.Json.10.1.0/Extra.fs +31 -0
- package/fable_modules/Thoth.Json.10.1.0/Extra.fs.js +8 -0
- package/fable_modules/Thoth.Json.10.1.0/Thoth.Json.fableproj +30 -0
- package/fable_modules/Thoth.Json.10.1.0/Types.fs +59 -0
- package/fable_modules/Thoth.Json.10.1.0/Types.fs.js +98 -0
- package/fable_modules/Thoth.Json.10.1.0/obj/Release/netstandard2.0/Thoth.Json.AssemblyInfo.fs +19 -0
- package/fable_modules/Thoth.Json.10.1.0/package.json +5 -0
- package/fable_modules/fable-library.4.1.4/Array.d.ts +120 -0
- package/fable_modules/fable-library.4.1.4/Array.js +1204 -0
- package/fable_modules/fable-library.4.1.4/Async.d.ts +32 -0
- package/fable_modules/fable-library.4.1.4/Async.js +158 -0
- package/fable_modules/fable-library.4.1.4/AsyncBuilder.d.ts +59 -0
- package/fable_modules/fable-library.4.1.4/AsyncBuilder.js +183 -0
- package/fable_modules/fable-library.4.1.4/BigInt.d.ts +115 -0
- package/fable_modules/fable-library.4.1.4/BigInt.js +282 -0
- package/fable_modules/fable-library.4.1.4/BitConverter.d.ts +27 -0
- package/fable_modules/fable-library.4.1.4/BitConverter.js +138 -0
- package/fable_modules/fable-library.4.1.4/Boolean.d.ts +3 -0
- package/fable_modules/fable-library.4.1.4/Boolean.js +21 -0
- package/fable_modules/fable-library.4.1.4/Char.d.ts +65 -0
- package/fable_modules/fable-library.4.1.4/Char.js +169 -0
- package/fable_modules/fable-library.4.1.4/Choice.d.ts +138 -0
- package/fable_modules/fable-library.4.1.4/Choice.js +227 -0
- package/fable_modules/fable-library.4.1.4/Date.d.ts +70 -0
- package/fable_modules/fable-library.4.1.4/Date.js +451 -0
- package/fable_modules/fable-library.4.1.4/DateOffset.d.ts +63 -0
- package/fable_modules/fable-library.4.1.4/DateOffset.js +268 -0
- package/fable_modules/fable-library.4.1.4/DateOnly.d.ts +18 -0
- package/fable_modules/fable-library.4.1.4/DateOnly.js +124 -0
- package/fable_modules/fable-library.4.1.4/Decimal.d.ts +45 -0
- package/fable_modules/fable-library.4.1.4/Decimal.js +212 -0
- package/fable_modules/fable-library.4.1.4/Double.d.ts +11 -0
- package/fable_modules/fable-library.4.1.4/Double.js +46 -0
- package/fable_modules/fable-library.4.1.4/Encoding.d.ts +12 -0
- package/fable_modules/fable-library.4.1.4/Encoding.js +173 -0
- package/fable_modules/fable-library.4.1.4/Event.d.ts +31 -0
- package/fable_modules/fable-library.4.1.4/Event.js +93 -0
- package/fable_modules/fable-library.4.1.4/FSharp.Collections.d.ts +7 -0
- package/fable_modules/fable-library.4.1.4/FSharp.Collections.js +27 -0
- package/fable_modules/fable-library.4.1.4/FSharp.Core.d.ts +17 -0
- package/fable_modules/fable-library.4.1.4/FSharp.Core.js +69 -0
- package/fable_modules/fable-library.4.1.4/Global.d.ts +24 -0
- package/fable_modules/fable-library.4.1.4/Global.js +8 -0
- package/fable_modules/fable-library.4.1.4/Guid.d.ts +10 -0
- package/fable_modules/fable-library.4.1.4/Guid.js +142 -0
- package/fable_modules/fable-library.4.1.4/Int32.d.ts +28 -0
- package/fable_modules/fable-library.4.1.4/Int32.js +135 -0
- package/fable_modules/fable-library.4.1.4/List.d.ts +143 -0
- package/fable_modules/fable-library.4.1.4/List.js +1273 -0
- package/fable_modules/fable-library.4.1.4/Long.d.ts +3 -0
- package/fable_modules/fable-library.4.1.4/Long.js +46 -0
- package/fable_modules/fable-library.4.1.4/MailboxProcessor.d.ts +25 -0
- package/fable_modules/fable-library.4.1.4/MailboxProcessor.js +93 -0
- package/fable_modules/fable-library.4.1.4/Map.d.ts +178 -0
- package/fable_modules/fable-library.4.1.4/Map.js +1396 -0
- package/fable_modules/fable-library.4.1.4/MapUtil.d.ts +10 -0
- package/fable_modules/fable-library.4.1.4/MapUtil.js +112 -0
- package/fable_modules/fable-library.4.1.4/MutableMap.d.ts +52 -0
- package/fable_modules/fable-library.4.1.4/MutableMap.js +326 -0
- package/fable_modules/fable-library.4.1.4/MutableSet.d.ts +39 -0
- package/fable_modules/fable-library.4.1.4/MutableSet.js +232 -0
- package/fable_modules/fable-library.4.1.4/Native.d.ts +2 -0
- package/fable_modules/fable-library.4.1.4/Native.js +8 -0
- package/fable_modules/fable-library.4.1.4/Numeric.d.ts +19 -0
- package/fable_modules/fable-library.4.1.4/Numeric.js +71 -0
- package/fable_modules/fable-library.4.1.4/Observable.d.ts +32 -0
- package/fable_modules/fable-library.4.1.4/Observable.js +113 -0
- package/fable_modules/fable-library.4.1.4/Option.d.ts +28 -0
- package/fable_modules/fable-library.4.1.4/Option.js +96 -0
- package/fable_modules/fable-library.4.1.4/README.md +3 -0
- package/fable_modules/fable-library.4.1.4/Random.d.ts +37 -0
- package/fable_modules/fable-library.4.1.4/Random.js +170 -0
- package/fable_modules/fable-library.4.1.4/Range.d.ts +12 -0
- package/fable_modules/fable-library.4.1.4/Range.js +45 -0
- package/fable_modules/fable-library.4.1.4/Reflection.d.ts +119 -0
- package/fable_modules/fable-library.4.1.4/Reflection.js +461 -0
- package/fable_modules/fable-library.4.1.4/RegExp.d.ts +10 -0
- package/fable_modules/fable-library.4.1.4/RegExp.js +132 -0
- package/fable_modules/fable-library.4.1.4/Seq.d.ts +165 -0
- package/fable_modules/fable-library.4.1.4/Seq.js +1379 -0
- package/fable_modules/fable-library.4.1.4/Seq2.d.ts +18 -0
- package/fable_modules/fable-library.4.1.4/Seq2.js +111 -0
- package/fable_modules/fable-library.4.1.4/Set.d.ts +190 -0
- package/fable_modules/fable-library.4.1.4/Set.js +1789 -0
- package/fable_modules/fable-library.4.1.4/String.d.ts +49 -0
- package/fable_modules/fable-library.4.1.4/String.js +540 -0
- package/fable_modules/fable-library.4.1.4/System.Collections.Generic.d.ts +71 -0
- package/fable_modules/fable-library.4.1.4/System.Collections.Generic.js +307 -0
- package/fable_modules/fable-library.4.1.4/System.Text.d.ts +30 -0
- package/fable_modules/fable-library.4.1.4/System.Text.js +110 -0
- package/fable_modules/fable-library.4.1.4/SystemException.d.ts +5 -0
- package/fable_modules/fable-library.4.1.4/SystemException.js +5 -0
- package/fable_modules/fable-library.4.1.4/TimeOnly.d.ts +15 -0
- package/fable_modules/fable-library.4.1.4/TimeOnly.js +122 -0
- package/fable_modules/fable-library.4.1.4/TimeSpan.d.ts +34 -0
- package/fable_modules/fable-library.4.1.4/TimeSpan.js +177 -0
- package/fable_modules/fable-library.4.1.4/Timer.d.ts +19 -0
- package/fable_modules/fable-library.4.1.4/Timer.js +67 -0
- package/fable_modules/fable-library.4.1.4/Types.d.ts +58 -0
- package/fable_modules/fable-library.4.1.4/Types.js +208 -0
- package/fable_modules/fable-library.4.1.4/Unicode.13.0.0.d.ts +2 -0
- package/fable_modules/fable-library.4.1.4/Unicode.13.0.0.js +4 -0
- package/fable_modules/fable-library.4.1.4/Uri.d.ts +29 -0
- package/fable_modules/fable-library.4.1.4/Uri.js +142 -0
- package/fable_modules/fable-library.4.1.4/Util.d.ts +187 -0
- package/fable_modules/fable-library.4.1.4/Util.js +662 -0
- package/fable_modules/fable-library.4.1.4/lib/big.d.ts +338 -0
- package/fable_modules/fable-library.4.1.4/lib/big.js +826 -0
- package/fable_modules/fable-library.4.1.4/package.json +23 -0
- package/fable_modules/project_cracked.json +1 -0
- package/index.js +13 -0
- package/package.json +24 -0
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
import { Record } from "../../fable_modules/fable-library.4.1.4/Types.js";
|
|
2
|
+
import { record_type, list_type, string_type } from "../../fable_modules/fable-library.4.1.4/Reflection.js";
|
|
3
|
+
import { Remark, Comment$_$reflection } from "../ISA/JsonTypes/Comment.js";
|
|
4
|
+
import { ofSeq, head, tail, isEmpty, concat, unzip, append, toArray, reverse, cons, empty, map, ofArray } from "../../fable_modules/fable-library.4.1.4/List.js";
|
|
5
|
+
import { Remark_wrapRemark, Comment_toString, Comment_fromString } from "./Metadata/Comment.js";
|
|
6
|
+
import { SparseRowModule_writeToSheet, SparseRowModule_fromFsRow, SparseRowModule_fromValues, SparseRowModule_tryGetValueAt, SparseTable_ToRows_6A3D4534, SparseTable_FromRows_Z5579EC29, SparseTable, SparseTable_Create_Z2192E64B, SparseTable__TryGetValueDefault_5BAE6133 } from "./Metadata/SparseTable.js";
|
|
7
|
+
import { addToDict } from "../../fable_modules/fable-library.4.1.4/MapUtil.js";
|
|
8
|
+
import { value as value_1, defaultArg } from "../../fable_modules/fable-library.4.1.4/Option.js";
|
|
9
|
+
import { List_distinctBy, List_distinct } from "../../fable_modules/fable-library.4.1.4/Seq2.js";
|
|
10
|
+
import { comparePrimitives, getEnumerator, stringHash } from "../../fable_modules/fable-library.4.1.4/Util.js";
|
|
11
|
+
import { Option_fromValueWithDefault } from "./Metadata/Conversions.js";
|
|
12
|
+
import { ArcInvestigation } from "../ISA/ArcTypes/ArcTypes.js";
|
|
13
|
+
import { toRows as toRows_1, fromRows as fromRows_1 } from "./Metadata/OntologySourceReference.js";
|
|
14
|
+
import { toRows as toRows_2, fromRows as fromRows_2 } from "./Metadata/Publication.js";
|
|
15
|
+
import { toRows as toRows_3, fromRows as fromRows_3 } from "./Metadata/Contacts.js";
|
|
16
|
+
import { toRows as toRows_4, fromRows as fromRows_4 } from "./Metadata/Study.js";
|
|
17
|
+
import { iterateIndexed, map as map_1, toList, collect, singleton, append as append_1, delay } from "../../fable_modules/fable-library.4.1.4/Seq.js";
|
|
18
|
+
import { tryFind, ofList } from "../../fable_modules/fable-library.4.1.4/Map.js";
|
|
19
|
+
import { printf, toFail } from "../../fable_modules/fable-library.4.1.4/String.js";
|
|
20
|
+
import { FsWorksheet } from "../../fable_modules/FsSpreadsheet.4.1.0/FsWorksheet.fs.js";
|
|
21
|
+
import { FsWorkbook } from "../../fable_modules/FsSpreadsheet.4.1.0/FsWorkbook.fs.js";
|
|
22
|
+
|
|
23
|
+
export class InvestigationInfo extends Record {
|
|
24
|
+
constructor(Identifier, Title, Description, SubmissionDate, PublicReleaseDate, Comments) {
|
|
25
|
+
super();
|
|
26
|
+
this.Identifier = Identifier;
|
|
27
|
+
this.Title = Title;
|
|
28
|
+
this.Description = Description;
|
|
29
|
+
this.SubmissionDate = SubmissionDate;
|
|
30
|
+
this.PublicReleaseDate = PublicReleaseDate;
|
|
31
|
+
this.Comments = Comments;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export function InvestigationInfo_$reflection() {
|
|
36
|
+
return record_type("ARCtrl.ISA.Spreadsheet.ArcInvestigation.InvestigationInfo", [], InvestigationInfo, () => [["Identifier", string_type], ["Title", string_type], ["Description", string_type], ["SubmissionDate", string_type], ["PublicReleaseDate", string_type], ["Comments", list_type(Comment$_$reflection())]]);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export function InvestigationInfo_create(identifier, title, description, submissionDate, publicReleaseDate, comments) {
|
|
40
|
+
return new InvestigationInfo(identifier, title, description, submissionDate, publicReleaseDate, comments);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export function InvestigationInfo_get_Labels() {
|
|
44
|
+
return ofArray(["Investigation Identifier", "Investigation Title", "Investigation Description", "Investigation Submission Date", "Investigation Public Release Date"]);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export function InvestigationInfo_FromSparseTable_651559CC(matrix) {
|
|
48
|
+
const comments = map((k) => Comment_fromString(k, SparseTable__TryGetValueDefault_5BAE6133(matrix, "", [k, 0])), matrix.CommentKeys);
|
|
49
|
+
return InvestigationInfo_create(SparseTable__TryGetValueDefault_5BAE6133(matrix, "", ["Investigation Identifier", 0]), SparseTable__TryGetValueDefault_5BAE6133(matrix, "", ["Investigation Title", 0]), SparseTable__TryGetValueDefault_5BAE6133(matrix, "", ["Investigation Description", 0]), SparseTable__TryGetValueDefault_5BAE6133(matrix, "", ["Investigation Submission Date", 0]), SparseTable__TryGetValueDefault_5BAE6133(matrix, "", ["Investigation Public Release Date", 0]), comments);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export function InvestigationInfo_ToSparseTable_Z4D87C88C(investigation) {
|
|
53
|
+
const matrix = SparseTable_Create_Z2192E64B(void 0, InvestigationInfo_get_Labels(), void 0, 2);
|
|
54
|
+
let commentKeys = empty();
|
|
55
|
+
addToDict(matrix.Matrix, ["Investigation Identifier", 1], investigation.Identifier);
|
|
56
|
+
addToDict(matrix.Matrix, ["Investigation Title", 1], defaultArg(investigation.Title, ""));
|
|
57
|
+
addToDict(matrix.Matrix, ["Investigation Description", 1], defaultArg(investigation.Description, ""));
|
|
58
|
+
addToDict(matrix.Matrix, ["Investigation Submission Date", 1], defaultArg(investigation.SubmissionDate, ""));
|
|
59
|
+
addToDict(matrix.Matrix, ["Investigation Public Release Date", 1], defaultArg(investigation.PublicReleaseDate, ""));
|
|
60
|
+
if (!(investigation.Comments.length === 0)) {
|
|
61
|
+
const array = investigation.Comments;
|
|
62
|
+
array.forEach((comment) => {
|
|
63
|
+
const patternInput = Comment_toString(comment);
|
|
64
|
+
const n = patternInput[0];
|
|
65
|
+
commentKeys = cons(n, commentKeys);
|
|
66
|
+
addToDict(matrix.Matrix, [n, 1], patternInput[1]);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
return new SparseTable(matrix.Matrix, matrix.Keys, reverse(List_distinct(commentKeys, {
|
|
70
|
+
Equals: (x, y) => (x === y),
|
|
71
|
+
GetHashCode: stringHash,
|
|
72
|
+
})), matrix.ColumnCount);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export function InvestigationInfo_fromRows(lineNumber, rows) {
|
|
76
|
+
const tupledArg = SparseTable_FromRows_Z5579EC29(rows, InvestigationInfo_get_Labels(), lineNumber);
|
|
77
|
+
return [tupledArg[0], tupledArg[1], tupledArg[2], InvestigationInfo_FromSparseTable_651559CC(tupledArg[3])];
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export function InvestigationInfo_toRows_Z4D87C88C(investigation) {
|
|
81
|
+
return SparseTable_ToRows_6A3D4534(InvestigationInfo_ToSparseTable_Z4D87C88C(investigation));
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export function fromParts(investigationInfo, ontologySourceReference, publications, contacts, studies, assays, remarks) {
|
|
85
|
+
const studyIdentifiers = map((s) => s.Identifier, studies);
|
|
86
|
+
const arg_1 = Option_fromValueWithDefault("", investigationInfo.Title);
|
|
87
|
+
const arg_2 = Option_fromValueWithDefault("", investigationInfo.Description);
|
|
88
|
+
const arg_3 = Option_fromValueWithDefault("", investigationInfo.SubmissionDate);
|
|
89
|
+
const arg_4 = Option_fromValueWithDefault("", investigationInfo.PublicReleaseDate);
|
|
90
|
+
const arg_5 = toArray(ontologySourceReference);
|
|
91
|
+
const arg_6 = toArray(publications);
|
|
92
|
+
const arg_7 = toArray(contacts);
|
|
93
|
+
const arg_8 = Array.from(assays);
|
|
94
|
+
const arg_9 = Array.from(studies);
|
|
95
|
+
const arg_10 = Array.from(studyIdentifiers);
|
|
96
|
+
const arg_11 = toArray(investigationInfo.Comments);
|
|
97
|
+
const arg_12 = toArray(remarks);
|
|
98
|
+
return ArcInvestigation.make(investigationInfo.Identifier, arg_1, arg_2, arg_3, arg_4, arg_5, arg_6, arg_7, arg_8, arg_9, arg_10, arg_11, arg_12);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export function fromRows(rows) {
|
|
102
|
+
const en = getEnumerator(rows);
|
|
103
|
+
const emptyInvestigationInfo = InvestigationInfo_create("", "", "", "", "", empty());
|
|
104
|
+
const loop = (lastLine_mut, ontologySourceReferences_mut, investigationInfo_mut, publications_mut, contacts_mut, studies_mut, remarks_mut, lineNumber_mut) => {
|
|
105
|
+
loop:
|
|
106
|
+
while (true) {
|
|
107
|
+
const lastLine = lastLine_mut, ontologySourceReferences = ontologySourceReferences_mut, investigationInfo = investigationInfo_mut, publications = publications_mut, contacts = contacts_mut, studies = studies_mut, remarks = remarks_mut, lineNumber = lineNumber_mut;
|
|
108
|
+
let matchResult, k_5, k_6, k_7, k_8, k_9, k_10;
|
|
109
|
+
if (lastLine != null) {
|
|
110
|
+
switch (lastLine) {
|
|
111
|
+
case "ONTOLOGY SOURCE REFERENCE": {
|
|
112
|
+
matchResult = 0;
|
|
113
|
+
k_5 = lastLine;
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
case "INVESTIGATION": {
|
|
117
|
+
matchResult = 1;
|
|
118
|
+
k_6 = lastLine;
|
|
119
|
+
break;
|
|
120
|
+
}
|
|
121
|
+
case "INVESTIGATION PUBLICATIONS": {
|
|
122
|
+
matchResult = 2;
|
|
123
|
+
k_7 = lastLine;
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
126
|
+
case "INVESTIGATION CONTACTS": {
|
|
127
|
+
matchResult = 3;
|
|
128
|
+
k_8 = lastLine;
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
case "STUDY": {
|
|
132
|
+
matchResult = 4;
|
|
133
|
+
k_9 = lastLine;
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
default: {
|
|
137
|
+
matchResult = 5;
|
|
138
|
+
k_10 = lastLine;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
matchResult = 5;
|
|
144
|
+
k_10 = lastLine;
|
|
145
|
+
}
|
|
146
|
+
switch (matchResult) {
|
|
147
|
+
case 0: {
|
|
148
|
+
const patternInput = fromRows_1(lineNumber + 1, en);
|
|
149
|
+
lastLine_mut = patternInput[0];
|
|
150
|
+
ontologySourceReferences_mut = patternInput[3];
|
|
151
|
+
investigationInfo_mut = investigationInfo;
|
|
152
|
+
publications_mut = publications;
|
|
153
|
+
contacts_mut = contacts;
|
|
154
|
+
studies_mut = studies;
|
|
155
|
+
remarks_mut = append(remarks, patternInput[2]);
|
|
156
|
+
lineNumber_mut = patternInput[1];
|
|
157
|
+
continue loop;
|
|
158
|
+
}
|
|
159
|
+
case 1: {
|
|
160
|
+
const patternInput_1 = InvestigationInfo_fromRows(lineNumber + 1, en);
|
|
161
|
+
lastLine_mut = patternInput_1[0];
|
|
162
|
+
ontologySourceReferences_mut = ontologySourceReferences;
|
|
163
|
+
investigationInfo_mut = patternInput_1[3];
|
|
164
|
+
publications_mut = publications;
|
|
165
|
+
contacts_mut = contacts;
|
|
166
|
+
studies_mut = studies;
|
|
167
|
+
remarks_mut = append(remarks, patternInput_1[2]);
|
|
168
|
+
lineNumber_mut = patternInput_1[1];
|
|
169
|
+
continue loop;
|
|
170
|
+
}
|
|
171
|
+
case 2: {
|
|
172
|
+
const patternInput_2 = fromRows_2("Investigation Publication", lineNumber + 1, en);
|
|
173
|
+
lastLine_mut = patternInput_2[0];
|
|
174
|
+
ontologySourceReferences_mut = ontologySourceReferences;
|
|
175
|
+
investigationInfo_mut = investigationInfo;
|
|
176
|
+
publications_mut = patternInput_2[3];
|
|
177
|
+
contacts_mut = contacts;
|
|
178
|
+
studies_mut = studies;
|
|
179
|
+
remarks_mut = append(remarks, patternInput_2[2]);
|
|
180
|
+
lineNumber_mut = patternInput_2[1];
|
|
181
|
+
continue loop;
|
|
182
|
+
}
|
|
183
|
+
case 3: {
|
|
184
|
+
const patternInput_3 = fromRows_3("Investigation Person", lineNumber + 1, en);
|
|
185
|
+
lastLine_mut = patternInput_3[0];
|
|
186
|
+
ontologySourceReferences_mut = ontologySourceReferences;
|
|
187
|
+
investigationInfo_mut = investigationInfo;
|
|
188
|
+
publications_mut = publications;
|
|
189
|
+
contacts_mut = patternInput_3[3];
|
|
190
|
+
studies_mut = studies;
|
|
191
|
+
remarks_mut = append(remarks, patternInput_3[2]);
|
|
192
|
+
lineNumber_mut = patternInput_3[1];
|
|
193
|
+
continue loop;
|
|
194
|
+
}
|
|
195
|
+
case 4: {
|
|
196
|
+
const patternInput_4 = fromRows_4(lineNumber + 1, en);
|
|
197
|
+
const study = patternInput_4[3];
|
|
198
|
+
const newRemarks_4 = patternInput_4[2];
|
|
199
|
+
const lineNumber_5 = patternInput_4[1] | 0;
|
|
200
|
+
const currentLine_4 = patternInput_4[0];
|
|
201
|
+
if (study != null) {
|
|
202
|
+
lastLine_mut = currentLine_4;
|
|
203
|
+
ontologySourceReferences_mut = ontologySourceReferences;
|
|
204
|
+
investigationInfo_mut = investigationInfo;
|
|
205
|
+
publications_mut = publications;
|
|
206
|
+
contacts_mut = contacts;
|
|
207
|
+
studies_mut = cons(value_1(study), studies);
|
|
208
|
+
remarks_mut = append(remarks, newRemarks_4);
|
|
209
|
+
lineNumber_mut = lineNumber_5;
|
|
210
|
+
continue loop;
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
lastLine_mut = currentLine_4;
|
|
214
|
+
ontologySourceReferences_mut = ontologySourceReferences;
|
|
215
|
+
investigationInfo_mut = investigationInfo;
|
|
216
|
+
publications_mut = publications;
|
|
217
|
+
contacts_mut = contacts;
|
|
218
|
+
studies_mut = studies;
|
|
219
|
+
remarks_mut = append(remarks, newRemarks_4);
|
|
220
|
+
lineNumber_mut = lineNumber_5;
|
|
221
|
+
continue loop;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
default: {
|
|
225
|
+
let patternInput_5;
|
|
226
|
+
const tupledArg = unzip(studies);
|
|
227
|
+
patternInput_5 = [reverse(tupledArg[0]), List_distinctBy((a_1) => a_1.Identifier, concat(tupledArg[1]), {
|
|
228
|
+
Equals: (x, y) => (x === y),
|
|
229
|
+
GetHashCode: stringHash,
|
|
230
|
+
})];
|
|
231
|
+
return fromParts(investigationInfo, ontologySourceReferences, publications, contacts, patternInput_5[0], patternInput_5[1], remarks);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
break;
|
|
235
|
+
}
|
|
236
|
+
};
|
|
237
|
+
if (en["System.Collections.IEnumerator.MoveNext"]()) {
|
|
238
|
+
return loop(SparseRowModule_tryGetValueAt(0, en["System.Collections.Generic.IEnumerator`1.get_Current"]()), empty(), emptyInvestigationInfo, empty(), empty(), empty(), empty(), 1);
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
throw new Error("emptyInvestigationFile");
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
export function toRows(investigation) {
|
|
246
|
+
let remarks, rows;
|
|
247
|
+
return (remarks = ofArray(investigation.Remarks), (rows = delay(() => append_1(singleton(SparseRowModule_fromValues(["ONTOLOGY SOURCE REFERENCE"])), delay(() => append_1(toRows_1(ofArray(investigation.OntologySourceReferences)), delay(() => append_1(singleton(SparseRowModule_fromValues(["INVESTIGATION"])), delay(() => append_1(InvestigationInfo_toRows_Z4D87C88C(investigation), delay(() => append_1(singleton(SparseRowModule_fromValues(["INVESTIGATION PUBLICATIONS"])), delay(() => append_1(toRows_2("Investigation Publication", ofArray(investigation.Publications)), delay(() => append_1(singleton(SparseRowModule_fromValues(["INVESTIGATION CONTACTS"])), delay(() => append_1(toRows_3("Investigation Person", ofArray(investigation.Contacts)), delay(() => collect((study) => append_1(singleton(SparseRowModule_fromValues(["STUDY"])), delay(() => toRows_4(study, void 0))), investigation.RegisteredStudies)))))))))))))))))), (() => {
|
|
248
|
+
try {
|
|
249
|
+
const rm = ofList(map((arg) => Remark.toTuple(arg), remarks), {
|
|
250
|
+
Compare: comparePrimitives,
|
|
251
|
+
});
|
|
252
|
+
const loop = (i_mut, l_mut, nl_mut) => {
|
|
253
|
+
loop:
|
|
254
|
+
while (true) {
|
|
255
|
+
const i = i_mut, l = l_mut, nl = nl_mut;
|
|
256
|
+
const matchValue = tryFind(i, rm);
|
|
257
|
+
if (matchValue == null) {
|
|
258
|
+
if (!isEmpty(l)) {
|
|
259
|
+
i_mut = (i + 1);
|
|
260
|
+
l_mut = tail(l);
|
|
261
|
+
nl_mut = cons(head(l), nl);
|
|
262
|
+
continue loop;
|
|
263
|
+
}
|
|
264
|
+
else {
|
|
265
|
+
return nl;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
const remark = matchValue;
|
|
270
|
+
i_mut = (i + 1);
|
|
271
|
+
l_mut = l;
|
|
272
|
+
nl_mut = cons(SparseRowModule_fromValues([Remark_wrapRemark(remark)]), nl);
|
|
273
|
+
continue loop;
|
|
274
|
+
}
|
|
275
|
+
break;
|
|
276
|
+
}
|
|
277
|
+
};
|
|
278
|
+
return reverse(loop(1, ofSeq(rows), empty()));
|
|
279
|
+
}
|
|
280
|
+
catch (matchValue_1) {
|
|
281
|
+
return toList(rows);
|
|
282
|
+
}
|
|
283
|
+
})()));
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
export function fromFsWorkbook(doc) {
|
|
287
|
+
let arg, matchValue, matchValue_1;
|
|
288
|
+
try {
|
|
289
|
+
return fromRows(map_1(SparseRowModule_fromFsRow, (arg = ((matchValue = doc.TryGetWorksheetByName("isa_investigation"), (matchValue == null) ? ((matchValue_1 = doc.TryGetWorksheetByName("Investigation"), (matchValue_1 == null) ? (() => {
|
|
290
|
+
throw new Error("Could not find metadata sheet with sheetname \"isa_investigation\" or deprecated sheetname \"Investigation\"");
|
|
291
|
+
})() : matchValue_1)) : matchValue)), FsWorksheet.getRows(arg))));
|
|
292
|
+
}
|
|
293
|
+
catch (err) {
|
|
294
|
+
const arg_1 = err.message;
|
|
295
|
+
return toFail(printf("Could not read investigation from spreadsheet: %s"))(arg_1);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
export function toFsWorkbook(investigation) {
|
|
300
|
+
try {
|
|
301
|
+
const wb = new FsWorkbook();
|
|
302
|
+
const sheet = new FsWorksheet("isa_investigation");
|
|
303
|
+
iterateIndexed((rowI, r) => {
|
|
304
|
+
SparseRowModule_writeToSheet(rowI + 1, r, sheet);
|
|
305
|
+
}, toRows(investigation));
|
|
306
|
+
wb.AddWorksheet(sheet);
|
|
307
|
+
return wb;
|
|
308
|
+
}
|
|
309
|
+
catch (err) {
|
|
310
|
+
const arg = err.message;
|
|
311
|
+
return toFail(printf("Could not write investigation to spreadsheet: %s"))(arg);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { FsWorksheet } from "../../fable_modules/FsSpreadsheet.4.1.0/FsWorksheet.fs.js";
|
|
2
|
+
import { iterate, isEmpty, choose, map, append, iterateIndexed } from "../../fable_modules/fable-library.4.1.4/Seq.js";
|
|
3
|
+
import { SparseRowModule_fromFsRow, SparseRowModule_fromValues, SparseRowModule_writeToSheet } from "./Metadata/SparseTable.js";
|
|
4
|
+
import { fromRows as fromRows_1, toRows } from "./Metadata/Study.js";
|
|
5
|
+
import { defaultArg } from "../../fable_modules/fable-library.4.1.4/Option.js";
|
|
6
|
+
import { getEnumerator } from "../../fable_modules/fable-library.4.1.4/Util.js";
|
|
7
|
+
import { ArcStudy } from "../ISA/ArcTypes/ArcTypes.js";
|
|
8
|
+
import { createMissingIdentifier } from "../ISA/Identifier.js";
|
|
9
|
+
import { empty } from "../../fable_modules/fable-library.4.1.4/List.js";
|
|
10
|
+
import { printf, toConsole } from "../../fable_modules/fable-library.4.1.4/String.js";
|
|
11
|
+
import { toFsWorksheet, tryFromFsWorksheet } from "./AnnotationTable/ArcTable.js";
|
|
12
|
+
import { ArcTables__get_Tables, ArcTables_$ctor_Z18C2F36D, ArcTables_updateReferenceTablesBySheets_Z2EE88E97 } from "../ISA/ArcTypes/ArcTables.js";
|
|
13
|
+
import { FsWorkbook } from "../../fable_modules/FsSpreadsheet.4.1.0/FsWorkbook.fs.js";
|
|
14
|
+
|
|
15
|
+
export function ArcStudy_toMetadataSheet(study, assays) {
|
|
16
|
+
let source_1;
|
|
17
|
+
const sheet = new FsWorksheet("isa_study");
|
|
18
|
+
iterateIndexed((rowI, r) => {
|
|
19
|
+
SparseRowModule_writeToSheet(rowI + 1, r, sheet);
|
|
20
|
+
}, (source_1 = toRows(study, assays), append([SparseRowModule_fromValues(["STUDY"])], source_1)));
|
|
21
|
+
return sheet;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export function ArcStudy_fromMetadataSheet(sheet) {
|
|
25
|
+
let en;
|
|
26
|
+
return defaultArg((en = getEnumerator(map(SparseRowModule_fromFsRow, sheet.Rows)), (void en["System.Collections.IEnumerator.MoveNext"](), fromRows_1(2, en)[3])), [ArcStudy.create(createMissingIdentifier()), empty()]);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Reads an assay from a spreadsheet
|
|
31
|
+
*/
|
|
32
|
+
export function ARCtrl_ISA_ArcStudy__ArcStudy_fromFsWorkbook_Static_32154C9D(doc) {
|
|
33
|
+
let patternInput;
|
|
34
|
+
const matchValue = doc.TryGetWorksheetByName("isa_study");
|
|
35
|
+
if (matchValue == null) {
|
|
36
|
+
const matchValue_1 = doc.TryGetWorksheetByName("Study");
|
|
37
|
+
if (matchValue_1 == null) {
|
|
38
|
+
toConsole(printf("Cannot retrieve metadata: Study file does not contain \"%s\" or \"%s\" sheet."))("isa_study")("Study");
|
|
39
|
+
patternInput = [ArcStudy.create(createMissingIdentifier()), empty()];
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
patternInput = ArcStudy_fromMetadataSheet(matchValue_1);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
patternInput = ArcStudy_fromMetadataSheet(matchValue);
|
|
47
|
+
}
|
|
48
|
+
const studyMetadata = patternInput[0];
|
|
49
|
+
const sheets = choose(tryFromFsWorksheet, doc.GetWorksheets());
|
|
50
|
+
if (!isEmpty(sheets)) {
|
|
51
|
+
const updatedTables = ArcTables_updateReferenceTablesBySheets_Z2EE88E97(ArcTables_$ctor_Z18C2F36D(studyMetadata.Tables), ArcTables_$ctor_Z18C2F36D(Array.from(sheets)), true);
|
|
52
|
+
studyMetadata.Tables = ArcTables__get_Tables(updatedTables);
|
|
53
|
+
}
|
|
54
|
+
return [studyMetadata, patternInput[1]];
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function ARCtrl_ISA_ArcStudy__ArcStudy_toFsWorkbook_Static_Z2A9662E9(study, assays) {
|
|
58
|
+
const doc = new FsWorkbook();
|
|
59
|
+
const metaDataSheet = ArcStudy_toMetadataSheet(study, assays);
|
|
60
|
+
doc.AddWorksheet(metaDataSheet);
|
|
61
|
+
iterate((arg_1) => {
|
|
62
|
+
const arg = toFsWorksheet(arg_1);
|
|
63
|
+
doc.AddWorksheet(arg);
|
|
64
|
+
}, study.Tables);
|
|
65
|
+
return doc;
|
|
66
|
+
}
|
|
67
|
+
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { tryFind, maxBy, skip } from "../../fable_modules/fable-library.4.1.4/Seq.js";
|
|
2
|
+
import { tryItem, skip as skip_1, initialize } from "../../fable_modules/fable-library.4.1.4/Array.js";
|
|
3
|
+
import { defaultOf, comparePrimitives } from "../../fable_modules/fable-library.4.1.4/Util.js";
|
|
4
|
+
import { some, value } from "../../fable_modules/fable-library.4.1.4/Option.js";
|
|
5
|
+
import { empty, tail, cons, head, reverse, isEmpty, tryPick } from "../../fable_modules/fable-library.4.1.4/List.js";
|
|
6
|
+
import { tryGetValue } from "../../fable_modules/fable-library.4.1.4/MapUtil.js";
|
|
7
|
+
import { FSharpRef } from "../../fable_modules/fable-library.4.1.4/Types.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* If at least i values exist in seq a, builds a new array that contains the elements of the given seq, exluding the first i elements
|
|
11
|
+
*/
|
|
12
|
+
export function Seq_trySkip(i, s) {
|
|
13
|
+
try {
|
|
14
|
+
return skip(i, s);
|
|
15
|
+
}
|
|
16
|
+
catch (matchValue) {
|
|
17
|
+
return void 0;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export function Array_ofIndexedSeq(s) {
|
|
22
|
+
return initialize(1 + maxBy((tuple) => tuple[0], s, {
|
|
23
|
+
Compare: comparePrimitives,
|
|
24
|
+
})[0], (i) => {
|
|
25
|
+
const matchValue = tryFind((arg) => (i === arg[0]), s);
|
|
26
|
+
if (matchValue == null) {
|
|
27
|
+
return "";
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
const i_1 = matchValue[0] | 0;
|
|
31
|
+
return matchValue[1];
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* If at least i values exist in array a, builds a new array that contains the elements of the given array, exluding the first i elements
|
|
38
|
+
*/
|
|
39
|
+
export function Array_trySkip(i, a) {
|
|
40
|
+
try {
|
|
41
|
+
return skip_1(i, a);
|
|
42
|
+
}
|
|
43
|
+
catch (matchValue) {
|
|
44
|
+
return void 0;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Returns Item of array at index i if existing, else returns default value
|
|
50
|
+
*/
|
|
51
|
+
export function Array_tryItemDefault(i, d, a) {
|
|
52
|
+
const matchValue = tryItem(i, a);
|
|
53
|
+
if (matchValue == null) {
|
|
54
|
+
return d;
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
return value(matchValue);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export function Array_map4(f, aa, ba, ca, da) {
|
|
62
|
+
if (!(((aa.length === ba.length) && (ba.length === ca.length)) && (ca.length === da.length))) {
|
|
63
|
+
throw new Error("");
|
|
64
|
+
}
|
|
65
|
+
return initialize(aa.length, (i) => f(aa[i], ba[i], ca[i], da[i]));
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export function List_tryPickDefault(chooser, d, list) {
|
|
69
|
+
const matchValue = tryPick(chooser, list);
|
|
70
|
+
if (matchValue == null) {
|
|
71
|
+
return d;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
return value(matchValue);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export function List_unzip4(l) {
|
|
79
|
+
const loop = (la_mut, lb_mut, lc_mut, ld_mut, l_1_mut) => {
|
|
80
|
+
loop:
|
|
81
|
+
while (true) {
|
|
82
|
+
const la = la_mut, lb = lb_mut, lc = lc_mut, ld = ld_mut, l_1 = l_1_mut;
|
|
83
|
+
if (isEmpty(l_1)) {
|
|
84
|
+
return [reverse(la), reverse(lb), reverse(lc), reverse(ld)];
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
la_mut = cons(head(l_1)[0], la);
|
|
88
|
+
lb_mut = cons(head(l_1)[1], lb);
|
|
89
|
+
lc_mut = cons(head(l_1)[2], lc);
|
|
90
|
+
ld_mut = cons(head(l_1)[3], ld);
|
|
91
|
+
l_1_mut = tail(l_1);
|
|
92
|
+
continue loop;
|
|
93
|
+
}
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
return loop(empty(), empty(), empty(), empty(), l);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
export function Dictionary_tryGetValue(k, dict) {
|
|
101
|
+
let patternInput;
|
|
102
|
+
let outArg = defaultOf();
|
|
103
|
+
patternInput = [tryGetValue(dict, k, new FSharpRef(() => outArg, (v) => {
|
|
104
|
+
outArg = v;
|
|
105
|
+
})), outArg];
|
|
106
|
+
if (patternInput[0]) {
|
|
107
|
+
return some(patternInput[1]);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
return void 0;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export function Dictionary_tryGetString(k, dict) {
|
|
115
|
+
let patternInput;
|
|
116
|
+
let outArg = defaultOf();
|
|
117
|
+
patternInput = [tryGetValue(dict, k, new FSharpRef(() => outArg, (v) => {
|
|
118
|
+
outArg = v;
|
|
119
|
+
})), outArg];
|
|
120
|
+
const v_1 = patternInput[1];
|
|
121
|
+
if (patternInput[0] && (v_1.trim() !== "")) {
|
|
122
|
+
return v_1.trim();
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
return void 0;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { reverse, cons, iterateIndexed, empty, map as map_1, toArray, initialize, singleton, length, ofArray } from "../../../fable_modules/fable-library.4.1.4/List.js";
|
|
2
|
+
import { OntologyAnnotation } from "../../ISA/JsonTypes/OntologyAnnotation.js";
|
|
3
|
+
import { Option_fromValueWithDefault } from "./Conversions.js";
|
|
4
|
+
import { unwrap, defaultArg, map } from "../../../fable_modules/fable-library.4.1.4/Option.js";
|
|
5
|
+
import { ArcAssay } from "../../ISA/ArcTypes/ArcTypes.js";
|
|
6
|
+
import { SparseTable_ToRows_6A3D4534, SparseTable_FromRows_Z5579EC29, SparseTable, SparseTable_Create_Z2192E64B, SparseTable__TryGetValue_11FD62A8, SparseTable__TryGetValueDefault_5BAE6133, SparseTable_GetEmptyComments_651559CC } from "./SparseTable.js";
|
|
7
|
+
import { Assay_fileNameFromIdentifier, removeMissingIdentifier, Assay_identifierFromFileName, createMissingIdentifier } from "../../ISA/Identifier.js";
|
|
8
|
+
import { Comment_toString, Comment_fromString } from "./Comment.js";
|
|
9
|
+
import { addToDict } from "../../../fable_modules/fable-library.4.1.4/MapUtil.js";
|
|
10
|
+
import { List_distinct } from "../../../fable_modules/fable-library.4.1.4/Seq2.js";
|
|
11
|
+
import { stringHash } from "../../../fable_modules/fable-library.4.1.4/Util.js";
|
|
12
|
+
|
|
13
|
+
export const labels = ofArray(["Measurement Type", "Measurement Type Term Accession Number", "Measurement Type Term Source REF", "Technology Type", "Technology Type Term Accession Number", "Technology Type Term Source REF", "Technology Platform", "File Name"]);
|
|
14
|
+
|
|
15
|
+
export function fromString(measurementType, measurementTypeTermSourceREF, measurementTypeTermAccessionNumber, technologyType, technologyTypeTermSourceREF, technologyTypeTermAccessionNumber, technologyPlatform, fileName, comments) {
|
|
16
|
+
const measurementType_1 = OntologyAnnotation.fromString(measurementType, measurementTypeTermSourceREF, measurementTypeTermAccessionNumber);
|
|
17
|
+
const technologyType_1 = OntologyAnnotation.fromString(technologyType, technologyTypeTermSourceREF, technologyTypeTermAccessionNumber);
|
|
18
|
+
const arg_1 = Option_fromValueWithDefault(OntologyAnnotation.empty, measurementType_1);
|
|
19
|
+
const arg_2 = Option_fromValueWithDefault(OntologyAnnotation.empty, technologyType_1);
|
|
20
|
+
const arg_3 = map((arg_7) => ArcAssay.decomposeTechnologyPlatform(arg_7), technologyPlatform);
|
|
21
|
+
return ArcAssay.make(fileName, arg_1, arg_2, arg_3, [], [], comments);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export function fromSparseTable(matrix) {
|
|
25
|
+
if ((matrix.ColumnCount === 0) && (length(matrix.CommentKeys) !== 0)) {
|
|
26
|
+
const comments = SparseTable_GetEmptyComments_651559CC(matrix);
|
|
27
|
+
return singleton(ArcAssay.create(createMissingIdentifier(), void 0, void 0, void 0, void 0, void 0, comments));
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return initialize(matrix.ColumnCount, (i) => {
|
|
31
|
+
const comments_1 = toArray(map_1((k) => Comment_fromString(k, SparseTable__TryGetValueDefault_5BAE6133(matrix, "", [k, i])), matrix.CommentKeys));
|
|
32
|
+
return fromString(SparseTable__TryGetValue_11FD62A8(matrix, ["Measurement Type", i]), SparseTable__TryGetValue_11FD62A8(matrix, ["Measurement Type Term Source REF", i]), SparseTable__TryGetValue_11FD62A8(matrix, ["Measurement Type Term Accession Number", i]), SparseTable__TryGetValue_11FD62A8(matrix, ["Technology Type", i]), SparseTable__TryGetValue_11FD62A8(matrix, ["Technology Type Term Source REF", i]), SparseTable__TryGetValue_11FD62A8(matrix, ["Technology Type Term Accession Number", i]), SparseTable__TryGetValue_11FD62A8(matrix, ["Technology Platform", i]), Assay_identifierFromFileName(SparseTable__TryGetValueDefault_5BAE6133(matrix, createMissingIdentifier(), ["File Name", i])), comments_1);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export function toSparseTable(assays) {
|
|
38
|
+
const matrix = SparseTable_Create_Z2192E64B(void 0, labels, void 0, length(assays) + 1);
|
|
39
|
+
let commentKeys = empty();
|
|
40
|
+
iterateIndexed((i, a) => {
|
|
41
|
+
const processedFileName = (a.Identifier.indexOf("MISSING_IDENTIFIER_") === 0) ? removeMissingIdentifier(a.Identifier) : Assay_fileNameFromIdentifier(a.Identifier);
|
|
42
|
+
const i_1 = (i + 1) | 0;
|
|
43
|
+
let mt_1;
|
|
44
|
+
const mt = defaultArg(a.MeasurementType, OntologyAnnotation.empty);
|
|
45
|
+
mt_1 = OntologyAnnotation.toString(mt, true);
|
|
46
|
+
let tt_1;
|
|
47
|
+
const tt = defaultArg(a.TechnologyType, OntologyAnnotation.empty);
|
|
48
|
+
tt_1 = OntologyAnnotation.toString(tt, true);
|
|
49
|
+
addToDict(matrix.Matrix, ["Measurement Type", i_1], mt_1.TermName);
|
|
50
|
+
addToDict(matrix.Matrix, ["Measurement Type Term Accession Number", i_1], mt_1.TermAccessionNumber);
|
|
51
|
+
addToDict(matrix.Matrix, ["Measurement Type Term Source REF", i_1], mt_1.TermSourceREF);
|
|
52
|
+
addToDict(matrix.Matrix, ["Technology Type", i_1], tt_1.TermName);
|
|
53
|
+
addToDict(matrix.Matrix, ["Technology Type Term Accession Number", i_1], tt_1.TermAccessionNumber);
|
|
54
|
+
addToDict(matrix.Matrix, ["Technology Type Term Source REF", i_1], tt_1.TermSourceREF);
|
|
55
|
+
addToDict(matrix.Matrix, ["Technology Platform", i_1], defaultArg(map((arg) => ArcAssay.composeTechnologyPlatform(arg), a.TechnologyPlatform), ""));
|
|
56
|
+
addToDict(matrix.Matrix, ["File Name", i_1], processedFileName);
|
|
57
|
+
if (!(a.Comments.length === 0)) {
|
|
58
|
+
const array = a.Comments;
|
|
59
|
+
array.forEach((comment) => {
|
|
60
|
+
const patternInput = Comment_toString(comment);
|
|
61
|
+
const n = patternInput[0];
|
|
62
|
+
commentKeys = cons(n, commentKeys);
|
|
63
|
+
addToDict(matrix.Matrix, [n, i_1], patternInput[1]);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}, assays);
|
|
67
|
+
return new SparseTable(matrix.Matrix, matrix.Keys, reverse(List_distinct(commentKeys, {
|
|
68
|
+
Equals: (x, y) => (x === y),
|
|
69
|
+
GetHashCode: stringHash,
|
|
70
|
+
})), matrix.ColumnCount);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export function fromRows(prefix, lineNumber, rows) {
|
|
74
|
+
const tupledArg = SparseTable_FromRows_Z5579EC29(rows, labels, lineNumber, unwrap(prefix));
|
|
75
|
+
return [tupledArg[0], tupledArg[1], tupledArg[2], fromSparseTable(tupledArg[3])];
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export function toRows(prefix, assays) {
|
|
79
|
+
return SparseTable_ToRows_6A3D4534(toSparseTable(assays), unwrap(prefix));
|
|
80
|
+
}
|
|
81
|
+
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { defaultArg, bind } from "../../../fable_modules/fable-library.4.1.4/Option.js";
|
|
2
|
+
import { match } from "../../../fable_modules/fable-library.4.1.4/RegExp.js";
|
|
3
|
+
import { printf, toText } from "../../../fable_modules/fable-library.4.1.4/String.js";
|
|
4
|
+
import { Option_fromValueWithDefault } from "./Conversions.js";
|
|
5
|
+
import { Comment$ } from "../../ISA/JsonTypes/Comment.js";
|
|
6
|
+
|
|
7
|
+
export const Comment_commentRegex = /(?<=Comment\[<).*(?=>\])/gu;
|
|
8
|
+
|
|
9
|
+
export const Comment_commentRegexNoAngleBrackets = /(?<=Comment\[).*(?=\])/gu;
|
|
10
|
+
|
|
11
|
+
export function Comment_$007CComment$007C_$007C(key) {
|
|
12
|
+
return bind((k) => {
|
|
13
|
+
const r = match(Comment_commentRegex, k);
|
|
14
|
+
if (r != null) {
|
|
15
|
+
return r[0];
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
const r_1 = match(Comment_commentRegexNoAngleBrackets, k);
|
|
19
|
+
if (r_1 != null) {
|
|
20
|
+
return r_1[0];
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
return void 0;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}, key);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export function Comment_wrapCommentKey(k) {
|
|
30
|
+
return toText(printf("Comment[%s]"))(k);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export function Comment_fromString(k, v) {
|
|
34
|
+
const arg_1 = Option_fromValueWithDefault("", k);
|
|
35
|
+
const arg_2 = Option_fromValueWithDefault("", v);
|
|
36
|
+
return Comment$.make(void 0, arg_1, arg_2);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export function Comment_toString(c) {
|
|
40
|
+
return [defaultArg(c.Name, ""), defaultArg(c.Value, "")];
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export const Remark_remarkRegex = /(?<=#).*/gu;
|
|
44
|
+
|
|
45
|
+
export function Remark_$007CRemark$007C_$007C(key) {
|
|
46
|
+
return bind((k) => {
|
|
47
|
+
const r = match(Remark_remarkRegex, k);
|
|
48
|
+
if (r != null) {
|
|
49
|
+
return r[0];
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
return void 0;
|
|
53
|
+
}
|
|
54
|
+
}, key);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function Remark_wrapRemark(r) {
|
|
58
|
+
return toText(printf("#%s"))(r);
|
|
59
|
+
}
|
|
60
|
+
|