The problem
In data-manager/rdkit.yaml, job similarity-screen-rdkit, output variable
outputFile, the derived-from annotation is nested inside
fields-descriptor (line 1051, indented 16 spaces) instead of sitting beside
it, and no top-level derived-from is present:
annotation-properties:
fields-descriptor:
origin: squonk2-job
description: Similarity screen
fields:
...
derived-from: inputFile # <-- one level too deep
The intended annotation is therefore silently not applied. Every one of the
other eight derived-from entries in this file is correctly placed at 14
spaces, so this is a lone indentation slip.
Why it went unnoticed
The Job Definition schema declared additionalProperties: true for
annotation-properties, so an unrecognised key nested anywhere in there
validated cleanly and nothing ever complained.
That has now changed. InformaticsMatters/squonk2-data-manager-job-decoder#4
constrains annotation-properties to fields-descriptor, derived-from and
service-execution only. Run against all 18 Job Definitions in the
squonk2-jobs umbrella, the tightened schema produces exactly one failure —
this one:
FAIL virtual-screening/data-manager/rdkit.yaml | Additional properties are not allowed ('derived-from' was unexpected)
The fix
Lift derived-from: inputFile at data-manager/rdkit.yaml:1051 out of
fields-descriptor so it is a sibling of it, matching the other eight
occurrences in the file.
Ordering
This collection will not validate against decoder 2.7.0 until this lands, so
it should be merged before that decoder release is adopted. The identical
defect in the decoder's own copy of this definition
(example-definitions/good/virtual-screening-rdkit.yaml) is already corrected
in the decoder PR.
Verification
python3 -c "
import yaml, sys; sys.path.insert(0, '../squonk2-data-manager-job-decoder')
from decoder import decoder
print(decoder.validate_job_schema(yaml.safe_load(open('data-manager/rdkit.yaml'))))"
Expect None with a decoder checked out at the branch of
InformaticsMatters/squonk2-data-manager-job-decoder#4. Then run jote over the
affected tests to confirm the annotation now being applied does not disturb
them.
Raised from InformaticsMatters/squonk2-jobs#27.
The problem
In
data-manager/rdkit.yaml, jobsimilarity-screen-rdkit, output variableoutputFile, thederived-fromannotation is nested insidefields-descriptor(line 1051, indented 16 spaces) instead of sitting besideit, and no top-level
derived-fromis present:The intended annotation is therefore silently not applied. Every one of the
other eight
derived-fromentries in this file is correctly placed at 14spaces, so this is a lone indentation slip.
Why it went unnoticed
The Job Definition schema declared
additionalProperties: trueforannotation-properties, so an unrecognised key nested anywhere in therevalidated cleanly and nothing ever complained.
That has now changed. InformaticsMatters/squonk2-data-manager-job-decoder#4
constrains
annotation-propertiestofields-descriptor,derived-fromandservice-executiononly. Run against all 18 Job Definitions in thesquonk2-jobsumbrella, the tightened schema produces exactly one failure —this one:
The fix
Lift
derived-from: inputFileatdata-manager/rdkit.yaml:1051out offields-descriptorso it is a sibling of it, matching the other eightoccurrences in the file.
Ordering
This collection will not validate against decoder 2.7.0 until this lands, so
it should be merged before that decoder release is adopted. The identical
defect in the decoder's own copy of this definition
(
example-definitions/good/virtual-screening-rdkit.yaml) is already correctedin the decoder PR.
Verification
Expect
Nonewith a decoder checked out at the branch ofInformaticsMatters/squonk2-data-manager-job-decoder#4. Then run
joteover theaffected tests to confirm the annotation now being applied does not disturb
them.
Raised from InformaticsMatters/squonk2-jobs#27.