2
$\begingroup$

What is the point of having both a Component and a ComponentDefinition in SBOL? Shouldn't you be able to link straight from one component to its sub-components?

The same question goes for Module and ModuleDefinition.

$\endgroup$
2
$\begingroup$

The key to understanding this is to think about a system with more than one copy of a genetic construct.

For example, let's say you have a construct that uses two copies of the pBAD promoter, each regulating a different coding sequence. Both of these promoters are pBAD promoters, with the same sequence and type information, so they should share the same ComponentDefinition.

But there are two copies. In the context of the larger construct, we need to be able to talk about each copy separately. For example, we might need to say that the first comes after a MoClo cut site, while the second comes after a terminator. For that, we need the Component object, to have a way to say "this particular copy of pBAD", as opposed to "pBAD in general", which is what the ComponentDefinition tells us about.

$\endgroup$
0
1
$\begingroup$

Essentially, a ComponentDefinition represents the component itself, while a Component represents the component being used as a sub-component.

There is a proposal within the SBOL community as to whether for SBOL version 3 ComponentDefinition should be renamed to Component and Component should be renamed to SubComponent to make this situation less confusing.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.