text: user10755: I have a library of biological implementations (i.e. plasmids) of genetic circuits and their experimental data associated. I want to implement an in silico version with SBOL, but to be consistent with what I have I'm my freezer, I need to identify not only the genetic circuit but also the biological replicate (i.e. the different colonies picked), as they have their own associated experimental data.
  
  user4869: Support for distinguishing replicates was added in SBOL 2.2, along with other support for linking data throughout the experiment cycle.  I will explain this in terms of SBOL 3, which is simpler, then give the SBOL 2 translation at the end.
  For SBOL 3, all designs, including those for a plasmid, a strain, etc, are specified in terms of the Component class. This is just a "paper" design, however, and may or may not actually exist. When you have a real physical aliquot that you want to talk about, this is represented by an Implementation object: this is your biological replicate.
  The Implementation doesn't really have any content of its own; its nature is defined by linking back to the intended design with a prov:wasDerivedFrom link. If you've verified that what you got is what you intended, you can supplement that with a built link as well.
  One additional note, however: when you're representing a colony, you're probably not actually representing just a plasmid, but rather are representing a particular strain that has been transformed by a plasmid. The actual data you have may then be one level further removed, since the data has been gathered from a sample under particular growth conditions. SBOL can represent that as well, by describing the sample as a mixture of particular media, inducers, etc., with a transformed strain, which is itself a cell type containing your plasmid.
  Here is an example diagram showing just this sort of relationship, of data associated with three replicates of a sample.
  
  You can find this example in the SBOL3 tutorial from COMBINE 2020.
  Finally, in SBOL 2, this works exactly the same way, except that instead of a Component your implementation points to a ComponentDefinition or a ModuleDefinition, depending on the nature of the design you're representing. I won't go into that distinction, because it was a bad idea and there's a reason we got rid of it for SBOL 3.
  
original_text: 10755: <p>I have a library of biological implementations (i.e. plasmids) of genetic circuits and their experimental data associated. I want to implement an <em>in silico</em> version with SBOL, but to be consistent with what I have I'm my freezer, I need to identify not only the genetic circuit but also the biological replicate (i.e. the different colonies picked), as they have their own associated experimental data.</p>
   4869: <p>Support for distinguishing replicates was added in SBOL 2.2, along with other support for linking data throughout the experiment cycle.  I will explain this in terms of SBOL 3, which is simpler, then give the SBOL 2 translation at the end.</p>
  <p>For SBOL 3, all designs, including those for a plasmid, a strain, etc, are specified in terms of the <code>Component</code> class. This is just a &quot;paper&quot; design, however, and may or may not actually exist. When you have a real physical aliquot that you want to talk about, this is represented by an <code>Implementation</code> object: this is your biological replicate.</p>
  <p>The <code>Implementation</code> doesn't really have any content of its own; its nature is defined by linking back to the intended design with a <code>prov:wasDerivedFrom</code> link. If you've verified that what you got is what you intended, you can supplement that with a <code>built</code> link as well.</p>
  <p>One additional note, however: when you're representing a colony, you're probably not actually representing just a plasmid, but rather are representing a particular strain that has been transformed by a plasmid. The actual data you have may then be one level further removed, since the data has been gathered from a sample under particular growth conditions. SBOL can represent that as well, by describing the sample as a mixture of particular media, inducers, etc., with a transformed strain, which is itself a cell type containing your plasmid.</p>
  <p>Here is an example diagram showing just this sort of relationship, of data associated with three replicates of a sample.</p>
  <p><a href="https://i.stack.imgur.com/ajATx.png" rel="noreferrer"><img src="https://i.stack.imgur.com/ajATx.png" alt="SBOL representation of three replicates of a sample" /></a></p>
  <p>You can find this example in <a href="https://github.com/SynBioDex/Community-Media/tree/master/2020/COMBINE20" rel="noreferrer">the SBOL3 tutorial from COMBINE 2020</a>.</p>
  <p>Finally, in SBOL 2, this works exactly the same way, except that instead of a <code>Component</code> your implementation points to a <code>ComponentDefinition</code> or a <code>ModuleDefinition</code>, depending on the nature of the design you're representing. I won't go into that distinction, because it was a bad idea and there's a reason we got rid of it for SBOL 3.</p>
  