@nfdi4plants/arctrl 1.0.0-beta.8 → 1.0.0
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 +9 -8
- package/Contracts/Contracts.ArcTypes.js +12 -9
- package/ISA/ISA/ArcTypes/ArcTable.js +17 -17
- package/ISA/ISA/ArcTypes/ArcTableAux.js +13 -11
- package/ISA/ISA/ArcTypes/ArcTables.js +6 -6
- package/ISA/ISA/ArcTypes/ArcTypes.js +209 -185
- package/ISA/ISA/ArcTypes/CompositeHeader.js +2 -2
- package/ISA/ISA/ArcTypes/CompositeRow.js +4 -4
- package/ISA/ISA/Fable.js +83 -10
- package/ISA/ISA/Helper.js +11 -4
- package/ISA/ISA/Identifier.js +10 -8
- package/ISA/ISA/JsonTypes/ColumnIndex.js +2 -2
- package/ISA/ISA/JsonTypes/Component.js +24 -16
- package/ISA/ISA/JsonTypes/OntologyAnnotation.js +3 -2
- package/ISA/ISA/JsonTypes/Process.js +7 -6
- package/ISA/ISA/JsonTypes/ProcessParameterValue.js +70 -92
- package/ISA/ISA/JsonTypes/ProtocolParameter.js +51 -79
- package/ISA/ISA/JsonTypes/Value.js +100 -165
- package/ISA/ISA/Regex.js +12 -6
- package/ISA/ISA.Json/ArcTypes/ArcAssay.js +197 -0
- package/ISA/ISA.Json/ArcTypes/ArcInvestigation.js +79 -0
- package/ISA/ISA.Json/ArcTypes/ArcStudy.js +77 -0
- package/ISA/ISA.Json/ArcTypes/ArcTable.js +57 -0
- package/ISA/ISA.Json/ArcTypes/CompositeCell.js +51 -0
- package/ISA/ISA.Json/ArcTypes/CompositeHeader.js +82 -0
- package/ISA/ISA.Json/ArcTypes/IOType.js +35 -0
- package/ISA/ISA.Json/Assay.js +0 -18
- package/ISA/ISA.Json/Investigation.js +17 -35
- package/ISA/ISA.Json/Process.js +3 -3
- package/ISA/ISA.Json/Study.js +0 -18
- package/ISA/ISA.Spreadsheet/ArcAssay.js +3 -3
- package/ISA/ISA.Spreadsheet/ArcInvestigation.js +21 -5
- package/ISA/ISA.Spreadsheet/ArcStudy.js +3 -5
- package/ISA/ISA.Spreadsheet/Metadata/Conversions.js +3 -3
- package/SemVer.js +5 -7
- package/Templates/Template.Json.js +12 -17
- package/fable_modules/project_cracked.json +1 -1
- package/package.json +5 -5
package/ARC.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { concat, fold, map, exactlyOne, choose } from "./fable_modules/fable-library.4.5.0/Array.js";
|
|
2
|
-
import { ARCtrl_ISA_ArcStudy__ArcStudy_ToUpdateContract,
|
|
2
|
+
import { ARCtrl_ISA_ArcStudy__ArcStudy_ToUpdateContract, ARCtrl_ISA_ArcInvestigation__ArcInvestigation_ToUpdateContract_6FCE9E49, ARCtrl_ISA_ArcAssay__ArcAssay_ToDeleteContract, ARCtrl_ISA_ArcInvestigation__ArcInvestigation_tryFromReadContract_Static_7570923F, ARCtrl_ISA_ArcStudy__ArcStudy_tryFromReadContract_Static_7570923F, ARCtrl_ISA_ArcAssay__ArcAssay_tryFromReadContract_Static_7570923F } from "./Contracts/Contracts.ArcTypes.js";
|
|
3
3
|
import { collect, empty, iterate, find, tryFind, map as map_1, singleton, append, delay, toList, toArray } from "./fable_modules/fable-library.4.5.0/Seq.js";
|
|
4
4
|
import { createRunsFolder, createWorkflowsFolder, createInvestigationFile, createStudyFolder, createStudiesFolder, createAssayFolder, createAssaysFolder } from "./FileSystemTree.js";
|
|
5
5
|
import { FileSystemTree } from "./FileSystem/FileSystemTree.js";
|
|
@@ -11,7 +11,7 @@ import { ofArray } from "./fable_modules/fable-library.4.5.0/List.js";
|
|
|
11
11
|
import { tryISAReadContractFromPath } from "./Contracts/Contracts.ARCtrl.js";
|
|
12
12
|
import { ArcTables } from "./ISA/ISA/ArcTypes/ArcTables.js";
|
|
13
13
|
import { addToDict } from "./fable_modules/fable-library.4.5.0/MapUtil.js";
|
|
14
|
-
import { toFsWorkbook } from "./ISA/ISA.Spreadsheet/ArcInvestigation.js";
|
|
14
|
+
import { toFsWorkbook, toLightFsWorkbook } from "./ISA/ISA.Spreadsheet/ArcInvestigation.js";
|
|
15
15
|
import { ArcInvestigation } from "./ISA/ISA/ArcTypes/ArcTypes.js";
|
|
16
16
|
import { Assay_fileNameFromIdentifier, Study_fileNameFromIdentifier } from "./ISA/ISA/Identifier.js";
|
|
17
17
|
import { ARCtrl_ISA_ArcStudy__ArcStudy_toFsWorkbook_Static_Z2A9662E9 } from "./ISA/ISA.Spreadsheet/ArcStudy.js";
|
|
@@ -113,7 +113,7 @@ export class ARC {
|
|
|
113
113
|
const assayFolderPath = getAssayFolderPath(assayIdentifier);
|
|
114
114
|
const filteredPaths = paths.filter((p) => !(p.indexOf(assayFolderPath) === 0));
|
|
115
115
|
this$.SetFilePaths(filteredPaths);
|
|
116
|
-
const collection = toList(delay(() => append(singleton(ARCtrl_ISA_ArcAssay__ArcAssay_ToDeleteContract(assay)), delay(() => append(singleton(
|
|
116
|
+
const collection = toList(delay(() => append(singleton(ARCtrl_ISA_ArcAssay__ArcAssay_ToDeleteContract(assay)), delay(() => append(singleton(ARCtrl_ISA_ArcInvestigation__ArcInvestigation_ToUpdateContract_6FCE9E49(isa)), delay(() => map_1(ARCtrl_ISA_ArcStudy__ArcStudy_ToUpdateContract, studies)))))));
|
|
117
117
|
return Array.from(collection);
|
|
118
118
|
}
|
|
119
119
|
RemoveStudy(studyIdentifier) {
|
|
@@ -131,7 +131,7 @@ export class ARC {
|
|
|
131
131
|
const studyFolderPath = getStudyFolderPath(studyIdentifier);
|
|
132
132
|
const filteredPaths = paths.filter((p) => !(p.indexOf(studyFolderPath) === 0));
|
|
133
133
|
this$.SetFilePaths(filteredPaths);
|
|
134
|
-
const collection = ofArray([Contract.createDelete(studyFolderPath),
|
|
134
|
+
const collection = ofArray([Contract.createDelete(studyFolderPath), ARCtrl_ISA_ArcInvestigation__ArcInvestigation_ToUpdateContract_6FCE9E49(isa)]);
|
|
135
135
|
return Array.from(collection);
|
|
136
136
|
}
|
|
137
137
|
static fromFilePaths(filePaths) {
|
|
@@ -160,7 +160,7 @@ export class ARC {
|
|
|
160
160
|
const array_4 = investigation.StudyIdentifiers;
|
|
161
161
|
array_4.forEach((si) => {
|
|
162
162
|
if (!studies.some((s) => (s.Identifier === si))) {
|
|
163
|
-
investigation.
|
|
163
|
+
investigation.DeleteStudy(si);
|
|
164
164
|
}
|
|
165
165
|
});
|
|
166
166
|
studies.forEach((study) => {
|
|
@@ -197,16 +197,17 @@ export class ARC {
|
|
|
197
197
|
newFS = ARCAux_updateFSByCWL(this$._cwl, fs);
|
|
198
198
|
this$._fs = newFS;
|
|
199
199
|
}
|
|
200
|
-
GetWriteContracts() {
|
|
200
|
+
GetWriteContracts(isLight) {
|
|
201
201
|
const this$ = this;
|
|
202
|
+
const isLight_1 = defaultArg(isLight, true);
|
|
202
203
|
const workbooks = new Map([]);
|
|
203
204
|
const matchValue = this$.ISA;
|
|
204
205
|
if (matchValue == null) {
|
|
205
|
-
addToDict(workbooks, "isa.investigation.xlsx", ["ISA_Investigation",
|
|
206
|
+
addToDict(workbooks, "isa.investigation.xlsx", ["ISA_Investigation", toLightFsWorkbook(ArcInvestigation.create("MISSING_IDENTIFIER_"))]);
|
|
206
207
|
}
|
|
207
208
|
else {
|
|
208
209
|
const inv = matchValue;
|
|
209
|
-
addToDict(workbooks, "isa.investigation.xlsx", ["ISA_Investigation", toFsWorkbook(inv)]);
|
|
210
|
+
addToDict(workbooks, "isa.investigation.xlsx", ["ISA_Investigation", (isLight_1 ? (toLightFsWorkbook) : (toFsWorkbook))(inv)]);
|
|
210
211
|
iterate((s) => {
|
|
211
212
|
addToDict(workbooks, Study_fileNameFromIdentifier(s.Identifier), ["ISA_Study", ARCtrl_ISA_ArcStudy__ArcStudy_toFsWorkbook_Static_Z2A9662E9(s)]);
|
|
212
213
|
}, inv.Studies);
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { combineMany } from "../FileSystem/Path.js";
|
|
2
2
|
import { equalsWith } from "../fable_modules/fable-library.4.5.0/Array.js";
|
|
3
3
|
import { defaultOf } from "../fable_modules/fable-library.4.5.0/Util.js";
|
|
4
|
+
import { unwrap, defaultArg } from "../fable_modules/fable-library.4.5.0/Option.js";
|
|
5
|
+
import { fromFsWorkbook, toFsWorkbook, toLightFsWorkbook } from "../ISA/ISA.Spreadsheet/ArcInvestigation.js";
|
|
4
6
|
import { Contract } from "../Contract/Contract.js";
|
|
5
|
-
import { fromFsWorkbook, toFsWorkbook } from "../ISA/ISA.Spreadsheet/ArcInvestigation.js";
|
|
6
7
|
import { Assay_fileNameFromIdentifier, Study_fileNameFromIdentifier } from "../ISA/ISA/Identifier.js";
|
|
7
8
|
import { ARCtrl_ISA_ArcStudy__ArcStudy_fromFsWorkbook_Static_32154C9D, ARCtrl_ISA_ArcStudy__ArcStudy_toFsWorkbook_Static_Z2A9662E9 } from "../ISA/ISA.Spreadsheet/ArcStudy.js";
|
|
8
9
|
import { getAssayFolderPath, getStudyFolderPath } from "../Path.js";
|
|
@@ -85,20 +86,22 @@ export function $007CInvestigationPath$007C_$007C(input) {
|
|
|
85
86
|
}
|
|
86
87
|
}
|
|
87
88
|
|
|
88
|
-
export function
|
|
89
|
-
|
|
89
|
+
export function ARCtrl_ISA_ArcInvestigation__ArcInvestigation_ToCreateContract_6FCE9E49(this$, isLight) {
|
|
90
|
+
const converter = defaultArg(isLight, true) ? (toLightFsWorkbook) : (toFsWorkbook);
|
|
91
|
+
return Contract.createCreate("isa.investigation.xlsx", "ISA_Investigation", converter(this$));
|
|
90
92
|
}
|
|
91
93
|
|
|
92
|
-
export function
|
|
93
|
-
|
|
94
|
+
export function ARCtrl_ISA_ArcInvestigation__ArcInvestigation_ToUpdateContract_6FCE9E49(this$, isLight) {
|
|
95
|
+
const converter = defaultArg(isLight, true) ? (toLightFsWorkbook) : (toFsWorkbook);
|
|
96
|
+
return Contract.createUpdate("isa.investigation.xlsx", "ISA_Investigation", converter(this$));
|
|
94
97
|
}
|
|
95
98
|
|
|
96
|
-
export function
|
|
97
|
-
return
|
|
99
|
+
export function ARCtrl_ISA_ArcInvestigation__ArcInvestigation_toCreateContract_Static_6EB1BBBD(inv, isLight) {
|
|
100
|
+
return ARCtrl_ISA_ArcInvestigation__ArcInvestigation_ToCreateContract_6FCE9E49(inv, unwrap(isLight));
|
|
98
101
|
}
|
|
99
102
|
|
|
100
|
-
export function
|
|
101
|
-
return
|
|
103
|
+
export function ARCtrl_ISA_ArcInvestigation__ArcInvestigation_toUpdateContract_Static_6EB1BBBD(inv, isLight) {
|
|
104
|
+
return ARCtrl_ISA_ArcInvestigation__ArcInvestigation_ToUpdateContract_6FCE9E49(inv, unwrap(isLight));
|
|
102
105
|
}
|
|
103
106
|
|
|
104
107
|
export function ARCtrl_ISA_ArcInvestigation__ArcInvestigation_tryFromReadContract_Static_7570923F(c) {
|
|
@@ -16,7 +16,7 @@ import { createMissingIdentifier } from "../Identifier.js";
|
|
|
16
16
|
import { ARCtrl_ISA_Component__Component_TryGetColumnIndex, ARCtrl_ISA_ProtocolParameter__ProtocolParameter_TryGetColumnIndex } from "../JsonTypes/ColumnIndex.js";
|
|
17
17
|
import { Protocol_create_Z7DFD6E67, Protocol_addComponent, Protocol_addParameter, Protocol_setName, Protocol_setDescription, Protocol_setUri, Protocol_setVersion, Protocol_setProtocolType } from "../JsonTypes/Protocol.js";
|
|
18
18
|
import { OntologyAnnotation } from "../JsonTypes/OntologyAnnotation.js";
|
|
19
|
-
import {
|
|
19
|
+
import { ProtocolParameter } from "../JsonTypes/ProtocolParameter.js";
|
|
20
20
|
import { Component_create_61502994 } from "../JsonTypes/Component.js";
|
|
21
21
|
import { Array_groupBy, List_distinct } from "../../../fable_modules/fable-library.4.5.0/Seq2.js";
|
|
22
22
|
import { toProtocol } from "./CompositeRow.js";
|
|
@@ -27,33 +27,33 @@ import { class_type } from "../../../fable_modules/fable-library.4.5.0/Reflectio
|
|
|
27
27
|
|
|
28
28
|
export class ArcTable {
|
|
29
29
|
constructor(name, headers, values) {
|
|
30
|
-
this
|
|
31
|
-
this["
|
|
32
|
-
this["
|
|
30
|
+
this["name@20"] = name;
|
|
31
|
+
this["headers@21"] = headers;
|
|
32
|
+
this["values@22"] = values;
|
|
33
33
|
}
|
|
34
34
|
get Headers() {
|
|
35
|
-
const
|
|
36
|
-
return
|
|
35
|
+
const this$ = this;
|
|
36
|
+
return this$["headers@21"];
|
|
37
37
|
}
|
|
38
|
-
set Headers(
|
|
39
|
-
const
|
|
40
|
-
|
|
38
|
+
set Headers(newHeaders) {
|
|
39
|
+
const this$ = this;
|
|
40
|
+
this$["headers@21"] = newHeaders;
|
|
41
41
|
}
|
|
42
42
|
get Values() {
|
|
43
|
-
const
|
|
44
|
-
return
|
|
43
|
+
const this$ = this;
|
|
44
|
+
return this$["values@22"];
|
|
45
45
|
}
|
|
46
|
-
set Values(
|
|
47
|
-
const
|
|
48
|
-
|
|
46
|
+
set Values(newValues) {
|
|
47
|
+
const this$ = this;
|
|
48
|
+
this$["values@22"] = newValues;
|
|
49
49
|
}
|
|
50
50
|
get Name() {
|
|
51
51
|
const this$ = this;
|
|
52
|
-
return this
|
|
52
|
+
return this$["name@20"];
|
|
53
53
|
}
|
|
54
54
|
set Name(newName) {
|
|
55
55
|
const this$ = this;
|
|
56
|
-
this
|
|
56
|
+
this$["name@20"] = newName;
|
|
57
57
|
}
|
|
58
58
|
static create(name, headers, values) {
|
|
59
59
|
return new ArcTable(name, headers, values);
|
|
@@ -720,7 +720,7 @@ export class ArcTable {
|
|
|
720
720
|
case 8:
|
|
721
721
|
return Protocol_setName(p, "");
|
|
722
722
|
case 3:
|
|
723
|
-
return Protocol_addParameter(
|
|
723
|
+
return Protocol_addParameter(ProtocolParameter.create(void 0, h.fields[0]), p);
|
|
724
724
|
case 0:
|
|
725
725
|
return Protocol_addComponent(Component_create_61502994(void 0, void 0, void 0, h.fields[0]), p);
|
|
726
726
|
default:
|
|
@@ -7,10 +7,10 @@ import { CompositeCell } from "./CompositeCell.js";
|
|
|
7
7
|
import { max } from "../../../fable_modules/fable-library.4.5.0/Double.js";
|
|
8
8
|
import { iterateIndexed } from "../../../fable_modules/fable-library.4.5.0/Array.js";
|
|
9
9
|
import { FSharpSet__get_MinimumElement, FSharpSet__get_IsEmpty, difference, ofSeq as ofSeq_1 } from "../../../fable_modules/fable-library.4.5.0/Set.js";
|
|
10
|
-
import {
|
|
10
|
+
import { Value as Value_1 } from "../JsonTypes/Value.js";
|
|
11
11
|
import { Component_fromOptions } from "../JsonTypes/Component.js";
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
12
|
+
import { ProtocolParameter } from "../JsonTypes/ProtocolParameter.js";
|
|
13
|
+
import { ProcessParameterValue } from "../JsonTypes/ProcessParameterValue.js";
|
|
14
14
|
import { FactorValue_create_18335379 } from "../JsonTypes/FactorValue.js";
|
|
15
15
|
import { Factor } from "../JsonTypes/Factor.js";
|
|
16
16
|
import { toString } from "../../../fable_modules/fable-library.4.5.0/Types.js";
|
|
@@ -24,7 +24,7 @@ import { tryGetFactorColumnIndex, tryGetCharacteristicColumnIndex, tryGetCompone
|
|
|
24
24
|
import { Source_create_7A281ED9 } from "../JsonTypes/Source.js";
|
|
25
25
|
import { Sample_create_E50ED22 } from "../JsonTypes/Sample.js";
|
|
26
26
|
import { Process_create_Z42860F3E, Process_decomposeName_Z721C83C5, Process_make, Process_composeName } from "../JsonTypes/Process.js";
|
|
27
|
-
import { List_tryPickAndRemove, Option_fromValueWithDefault } from "../Helper.js";
|
|
27
|
+
import { List_tryPickAndRemove, HashCodes_boxHashSeq, Option_fromValueWithDefault } from "../Helper.js";
|
|
28
28
|
import { Protocol_make } from "../JsonTypes/Protocol.js";
|
|
29
29
|
import { List_groupBy } from "../../../fable_modules/fable-library.4.5.0/Seq2.js";
|
|
30
30
|
import { createMissingIdentifier } from "../Identifier.js";
|
|
@@ -420,9 +420,9 @@ export function JsonTypes_valueOfCell(value) {
|
|
|
420
420
|
case 0:
|
|
421
421
|
return [new Value_1(0, [value.fields[0]]), void 0];
|
|
422
422
|
case 2:
|
|
423
|
-
return [
|
|
423
|
+
return [Value_1.fromString(value.fields[0]), value.fields[1]];
|
|
424
424
|
default:
|
|
425
|
-
return [
|
|
425
|
+
return [Value_1.fromString(value.fields[0]), void 0];
|
|
426
426
|
}
|
|
427
427
|
}
|
|
428
428
|
|
|
@@ -439,7 +439,8 @@ export function JsonTypes_composeComponent(header, value) {
|
|
|
439
439
|
*/
|
|
440
440
|
export function JsonTypes_composeParameterValue(header, value) {
|
|
441
441
|
const patternInput = JsonTypes_valueOfCell(value);
|
|
442
|
-
|
|
442
|
+
const p = ProtocolParameter.create(void 0, header.ToTerm());
|
|
443
|
+
return ProcessParameterValue.create(p, patternInput[0], unwrap(patternInput[1]));
|
|
443
444
|
}
|
|
444
445
|
|
|
445
446
|
/**
|
|
@@ -941,13 +942,13 @@ export function ProcessParsing_groupProcesses(ps) {
|
|
|
941
942
|
export function ProcessParsing_mergeIdenticalProcesses(processes) {
|
|
942
943
|
const l = List_groupBy((x) => {
|
|
943
944
|
if ((x.Name != null) && (Process_decomposeName_Z721C83C5(value_9(x.Name))[1] != null)) {
|
|
944
|
-
return [Process_decomposeName_Z721C83C5(value_9(x.Name))[0], x.ExecutesProtocol, x.ParameterValues];
|
|
945
|
+
return [Process_decomposeName_Z721C83C5(value_9(x.Name))[0], x.ExecutesProtocol, map_1(HashCodes_boxHashSeq, x.ParameterValues)];
|
|
945
946
|
}
|
|
946
947
|
else if ((x.ExecutesProtocol != null) && (value_9(x.ExecutesProtocol).Name != null)) {
|
|
947
|
-
return [value_9(value_9(x.ExecutesProtocol).Name), x.ExecutesProtocol, x.ParameterValues];
|
|
948
|
+
return [value_9(value_9(x.ExecutesProtocol).Name), x.ExecutesProtocol, map_1(HashCodes_boxHashSeq, x.ParameterValues)];
|
|
948
949
|
}
|
|
949
950
|
else {
|
|
950
|
-
return [createMissingIdentifier(), x.ExecutesProtocol, x.ParameterValues];
|
|
951
|
+
return [createMissingIdentifier(), x.ExecutesProtocol, map_1(HashCodes_boxHashSeq, x.ParameterValues)];
|
|
951
952
|
}
|
|
952
953
|
}, processes, {
|
|
953
954
|
Equals: equalArrays,
|
|
@@ -957,9 +958,10 @@ export function ProcessParsing_mergeIdenticalProcesses(processes) {
|
|
|
957
958
|
const _arg = tupledArg[0];
|
|
958
959
|
const processes_1 = tupledArg[1];
|
|
959
960
|
const n = _arg[0];
|
|
961
|
+
const pVs = item(0, processes_1).ParameterValues;
|
|
960
962
|
const inputs = Option_fromValueWithDefault(empty_1(), collect((p) => defaultArg(p.Inputs, empty_1()), processes_1));
|
|
961
963
|
const outputs = Option_fromValueWithDefault(empty_1(), collect((p_1) => defaultArg(p_1.Outputs, empty_1()), processes_1));
|
|
962
|
-
return Process_create_Z42860F3E(void 0, (length(l) > 1) ? Process_composeName(n, i) : n, _arg[1],
|
|
964
|
+
return Process_create_Z42860F3E(void 0, (length(l) > 1) ? Process_composeName(n, i) : n, _arg[1], pVs, void 0, void 0, void 0, void 0, inputs, outputs);
|
|
963
965
|
}, l);
|
|
964
966
|
}
|
|
965
967
|
|
|
@@ -200,15 +200,15 @@ export function ArcTablesAux_SanityChecks_validateNewNamesUnique(newNames, exist
|
|
|
200
200
|
|
|
201
201
|
export class ArcTables {
|
|
202
202
|
constructor(initTables) {
|
|
203
|
-
this
|
|
203
|
+
this.tables = initTables;
|
|
204
204
|
}
|
|
205
205
|
get Tables() {
|
|
206
|
-
const
|
|
207
|
-
return
|
|
206
|
+
const this$ = this;
|
|
207
|
+
return this$.tables;
|
|
208
208
|
}
|
|
209
|
-
set Tables(
|
|
210
|
-
const
|
|
211
|
-
|
|
209
|
+
set Tables(newTables) {
|
|
210
|
+
const this$ = this;
|
|
211
|
+
this$.tables = newTables;
|
|
212
212
|
}
|
|
213
213
|
get_Item(index) {
|
|
214
214
|
const this$ = this;
|