SynBioDex / pySBOL2

A pure Python implementation of the SBOL standard.
Apache License 2.0
20 stars 6 forks source link

creating an SBOL design with backwards parts #380

Closed dr3y closed 3 years ago

dr3y commented 4 years ago

Hi I am new to using pySBOL2 and I see that there is a assemblyPrimaryStructure function which allows one to define the order of components. However, there doesn't seem to be a way to indicate that components are reversed, within this structure? Is that even possible to express with SBOL?

jakebeal commented 4 years ago

By "reversed", I assume that you mean on the reverse complement strand? This is expressed in a Location via the orientation property. See: https://pysbol.readthedocs.io/en/stable/autoapi/sbol2/location/index.html?highlight=orientation

dr3y commented 4 years ago

Yes this is what I meant! I can't seem to find a Location in the SBOL Documents that I've downloaded from SynBioHub. Is it part of a ComponentDefinition?

For instance I have downloaded this file: iGEM_2016_interlab. Am I right in understanding that it doesn't have any Locations?

jakebeal commented 4 years ago

It does indeed have locations. For example at lines 134--157 of the XML of the file you linked, you will find a SequenceAnnotation object indicating that the location (line 142) of the RBS component (line 153) is at the Range (line 143-154) of bases 2106-2117 (line 151-152) and that this has an inline orientation (line 153).

dr3y commented 4 years ago

ok cool! How can I extract this information using pysbol2?

jakebeal commented 4 years ago

Here is an example:

>>> hub = sbol2.PartShop('https://synbiohub.org')
>>> doc = sbol2.Document()
>>> hub.pull(,'https://synbiohub.org/public/iGEM_2016_interlab/Medium_2016Interlab/1',doc)
>>> cd = doc.getComponentDefinition('https://synbiohub.org/public/iGEM_2016_interlab/Medium_2016Interlab/1')
>>> cd.sequenceAnnotations[3].component
'https://synbiohub.org/public/iGEM_2016_interlab/Medium_2016Interlab/RBS_Component/1'
>>> cd.sequenceAnnotations[3].locations[0].orientation
'http://sbols.org/v2#inline'
jakebeal commented 4 years ago

@dr3y Has your question been resolved? If so, I will close this issue.