SynBioDex/SBOL-specification

Rule 10604

Closed this issue · 6 comments

Can there be any component without a type from Table 2? Since the requirement is SHOULD, I interpret this, yes there can be. In this case, it may not be possible to validate this rule. Can we leave this rule as guidance, as part of the spec rather than as a validation rule?

"sbol3-10604 ⋆ A Component SHOULD have a type property from Table 2."

Component Type - URI for SBO Term
DNA (Deoxyribonucleic acid) https://identifiers.org/SBO:0000251
RNA (Ribonucleic acid) https://identifiers.org/SBO:0000250
Protein (Polypeptide chain) https://identifiers.org/SBO:0000252
Simple Chemical https://identifiers.org/SBO:0000247
Non-covalent complex https://identifiers.org/SBO:0000253
Functional Entity https://identifiers.org/SBO:0000241

When we are representing experiment designs, we have often used other types to represent non-biochemical materials, such as fluorescent calibration beads.

This rule is only a best practice rule, which means that it is not required.

Thanks @jakebeal, @cjmyers: Should we still keep best practices that cannot be validated as part of the validation rules? This becomes confusing for library development to have a validation rule that is actually best practice.

Form a library design standpoint, I think of these as things that the library should help a user do, rather than things it needs to validate for.

I will note, poking around in this particular rule-10604 doesn't actually capture the text correctly.

What the text actually says is:

the type property of a Component SHOULD contain a URI from the physical entity representation branch of the Systems Biology Ontology

Rule-10603 is correct, however, since it is stricter for those things that are well-described.

We should probably get better about doing dual-typing, but haven't been: I'm not really sure how to infer an SBO type when one isn't given by the user.

Change rule to say it should use the physical entity representation