SynBioDex / SBOL-specification

The Synthetic Biology Open Language (SBOL)
http://sbolstandard.org
13 stars 9 forks source link

Rule 10604 #489

Closed dissys closed 1 year ago

dissys commented 1 year ago

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

jakebeal commented 1 year ago

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

cjmyers commented 1 year ago

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

dissys commented 1 year ago

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.

jakebeal commented 1 year ago

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.

jakebeal commented 1 year ago

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.

cjmyers commented 1 year ago

Change rule to say it should use the physical entity representation