Code Monkey home page Code Monkey logo

sbol-visual's Introduction

SBOL Visual

This repository contains the reference implementation of SBOL Visual, including all glyphs.

Repository Structure

SBOL Visual development follows the GitFlow workflow. Its branch structure is thus:

  • The master branch of this repository should contain only releases and SEPs (see below).
  • The develop branch is used for release staging, and should contain only material that is approved but not yet released.
  • Proposals should be developed in "feature" branches, which are then merged into the develop branch after they are voted approved by the community.

Glyph Specification

Within the "Glyphs" directory, each individual glyph set has a sub-directory under its name. In that directory are:

  • SVG outline files for the recommended glyph and any alternates.
  • Approved versions should have PDFs as well.
  • Additional vector formats may be offered if desired. There should not be any raster formats like PNG or JPEG, however.
  • SVG "specification" files for the recomended glyphs and any alternates, annotating bounding box, fill, and recommended backbone alignment.
  • A markdown file that provides information about the glyph set:
  • Associated SO term(s).
  • Which glyph is recommended and which are alternates
  • An prose description of any intuition associated with each glyph's design.
  • Optionally, any examples useful for making a glyph's usage clear.

Glyphs are specified relative to a standard canvas of size 0.5 x 0.5 inches, based on the SBOL Visual 1.0 "Promoter" and "CDS" symbols.

Submitting changes to the specification

Any text for a non-trivial change should be approved by discussion as an Issue and/or SEP.

Proposed changes should be made in either a branch or a separate fork on GitHub. To do this, follow standard git branching or forking procedure.

Here is an example of git commands to achieve this:

git clone https://github.com/SynBioDex/SBOL-visual.git
git pull origin master # MAKE SURE NO ONE HAS MADE ANY MORE CHANGES
git checkout -b <newBranch> # CREATE NEW BRANCH

# MAKE YOUR EDITS

git add <filesYouChanged>
git commit
git push origin <newBranch>

When you are ready for your changes to be reviewed for incorporation, create a pull request. If you need help on pull requests see: https://help.github.com/articles/about-pull-requests/

sbol-visual's People

Contributors

actions-user avatar benjaminaleritsch avatar chofski avatar cjmyers avatar ckmadsen avatar dependabot[bot] avatar goksel avatar gonza10v avatar jakebeal avatar jamesscottbrown avatar palchicz avatar prashantvaidyanathan avatar randoom97 avatar rsc3 avatar tim-thimmaiah avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sbol-visual's Issues

SBO terms for molecular species?

Per Nicolas Le Novere: SBGN associates each of its glyphs with an SBO term, and we should consider that change for SBOL Visual molecular species glyphs as well:

Nicolas Le Novere wrote

SBO also provides terms for molecular species (all SBGN glyphs have to be associated with an SBO term). So we could also provide associated SBO terms in A.2

Complex:
SBO:0000253 non-covalent complex

Single-stranded nucleic acid:
Double-stranded nucleic acid:
SBO:0000354 informational molecule segment

Note: I think there is a misunderstanding about the SBGN PD glyph "Nucleic Acid Feature". It is not meant to represent a molecule of DNA or RNA etc. This is done with a "Macromolecule" glyph carrying the appropriate "Unit of Information", set to DNA or RNA. SBGN's "Nucleic Acid Feature" is used to represent the concept of the same name in SBOL, i.e. a portion of a macromolecule carrying a specific information, e.g. a gene, a coding sequence etc. It was necessary to distinguish in some models the reactions involving the whole nucleic acid (e.g. (de)polymerisation, degradation, translocation etc.) and reactions involving only part of it. Its shape is halfway from a unit of information (a rectangle) and a macromolecule (a round-corner rectangle)

Macromolecule:
SBO:0000245 macromolecule

Small Molecule:
SBO:0000247 simple chemical

Unspecified:
SBO:0000285 material entity of unspecified nature

Best practices for overlapping elements

Many constructs have lots of overlapping features, some "important" (e.g., promoter, CDS), some less so (e.g., restriction sites). This is especially the case when dealing with automatic annotation and conversion from flat file formats like GenBank.

While SBOL Visual permits overlapping features, it would be useful to give some thought to these cases with lots of overlapping features, and to make some best practices recommendations.

Make SBOL Visual 2.0 font

Once upon a time, somebody made a font out of the SBOL Visual 1.0 glyphs - can we figure out how to make and maintain for Visual 2.0?

SEP V009: Engineered Region vs. Composite

SEP V009: Engineered Region vs. Composite

SEP
Authors Jacob Beal ([email protected]), Chris Myers, John Sexton
Editor
Type Specification
SBOL Visual Version 1.1
Status Draft
Created 7-Oct-2017
Last modified Never

Abstract

This SEP proposes to split Engineered Region from Composite.

1. Rationale

The Engineered Region SO term (SO:0000804) currently assigned to the Composite glyph does not actually describe composite parts: some engineered regions are not meaningfully composites, and some multi-element composites are better described by terms not covered by Engineered Region (e.g., a double terminator, or an evolved gene cluster).

This SEP thus proposes to split the two terms, giving Engineered Region the Rectangle glyph. The rectangle will also be eventually removed from Unspecified.

2. Specification

Engineered Region

Associated SO term: SO:0000804 Engineered Region

Glyph: Rectangle

Composite

The Composite glyph will no longer have a specific SO term. Instead, there will be the following note:

Composite does not have an associated SO term, as it merely links a base glyph (with its own SO term) to a sub-diagram (comprising glyphs with their own associated SO terms).

The Rectangle glyph will no longer be an alternative for Composite.

Unspecified

The Rectangle alternative will be deprecated and given RECOMMEND NOT status for Unspecified in SBOL Visual 1.1, then removed entirely in SBOL Visual 2.0.

3. Examples

Engineered Region might represent a DNA component containing both a promoter and a CDS.

Composite could then be used to link to a sub-diagram showing the two subcomponents.

4. Backwards Compatibility

The "User Defined" rectangle will be deprecated, then removed.

5. Discussion

References

Copyright

CC0
To the extent possible under law, SBOL developers has waived all copyright and related or neighboring rights to SEP V009. This work is published from: United States.

What are the glyph requirements for arrows?

Are there specific glyph requirements for interaction arrows, apart from those that are set out for other SBOL Visual glyphs?

I think that we may want to say the line can't have any specified shape.

Vertical Orientation Option

From @jfarlow

Is there a standard for vertical orientation of the SBOL visual language?

It seems like a visual language should be compatible with the vertical scrolling patterns commonly used on a computer screen. With more than just a few components it becomes impossible to annotate a SBOL map without having a user either scroll horizontally (a terrible user interface pattern), or have 'rows' which must be kept track of and would be both jarring to the user, and difficult to implement in a responsive way.

Has there been any thought to how the visual language can be adopted in a vertical manner so that theoretically a massively annotated plasmid, or even small chromosome could be reasonably represented on a computer screen?

Diagrams of variants and libraries

From @jakebeal on August 1, 2016 0:43

Combinatorial libraries or sets of variants are frequently used in synthetic biology engineering. Is there a good way to diagram something like this?

Copied from original issue: SynBioDex/SBOL-visual-deprecated#2

Interaction specs are missing their Participations

SBOL Visual 2.1 supports Interactions, for which the head and tail imply SBO roles in a Participation. All of the actual glyph specifications, however, omit the head and tail roles.

I do not believe this requires an SEP, because participations are in the spec, and for each glyph the associated relations are all already defined in the SBOL data specification.

When this is completed, the ontology will need to be updated to include them as well.

SEP V002: Alternative Glyphs

SEP V002: Alternative Glyphs

SEP
Authors Jacob Beal ([email protected])
Editor
Type Specification
SBOL Visual Version 1.1
Status Draft
Created 21-Jul-2017
Last modified

Abstract

Sometimes there is more than one way of drawing a diagram that is accepted by the community and no strong reason to attempt to force a choice of only one. In such cases, SBOL Visual should recommend one symbol, but also endorse good alternatives.

1. Rationale

In some cases, the community has come up with more than one good symbol for a given concept. Rather than declaring only one valid and the others "bad," SBOL should support the use of good alternatives.

2. Specification

There may be more than one glyph sharing the same definition: in this case, these glyphs form a family of variants, of which precisely one MUST be designated as the RECOMMENDED variant.

For example, a CDS may be represented by either a pentagonal glyph or an arrow glyph, but the pentagon is the RECOMMENDED variant, and so it is preferred. In specific cases, however, there may be reasons to use one of the other applicable glyphs instead.

3. Examples

RECOMMENDED CDS glyph from SBOL Visual 1.0:
cds

Alternative "arrow" CDS glyph
arrowcds

4. Backwards Compatibility

No backwards compatibility issues.

5. Discussion

Copyright

CC0
To the extent possible under law, SBOL developers has waived all copyright and related or neighboring rights to SEP V002. This work is published from: United States.

SEP V001: Bounding box, interior, backbone alignment, and relative scale

SEP V001: Bounding box, interior, backbone alignment, and relative scale

SEP
Authors Jacob Beal ([email protected])
Editor
Type Specification
SBOL Visual Version 1.1
Status Draft
Created 01-Jul-2017
Last modified 03-Sep-2017

Abstract

Glyphs need some additional information about how they are to be used, as failing to specify this has caused confusion. In particular:

  • What their recommended relative scale is.
  • Whether they "tightly" fill their bounding box or whether there are expected to be gaps at the edges
  • Which, if any portions, are the "interior" of the glyph, to be affected by fill choices
  • How the glyph is recommended to be aligned with the nucleic acid backbone.

Table of Contents

1. Rationale

We've run into problems with ambiguity in some glyphs, in which people are confused about how to use a glyph in several areas. This aims to add explicit guidance on how to resolve these issues to the specification of each glyph.

2. Specification

2.1 Relative scale

Glyphs are RECOMMENDED to use the same relative scale to one another as found in the specification.

This just makes formal something that has been informally interpreted in this way already. All of the original SBOL Visual 1.0 glyphs were specified on a 0.5 x 0.5 inch template, so this should probably be the base for future glyph design as well.

2.2 Bounding Box

Every glyph specification MUST include a grey rectangular bounding box. Glyph interactions with one another and with the nucleic acid backbone are defined in terms of the bounding box, not the lines of the glyph.

This allows "gaps" at the edge of a glyph to be part of its expected specification.
Most significantly, a glyph can thus "hover" over the nucleic acid backbone, like primer binding sites generally do.

2.3 Interior

When a glyph has an intended interior (i.e., spaces within the boundary that may be filled with color or pattern), the interior MUST be specified as a grey filled area.

This avoids ambiguity in which spaces are intended to be "inside" versus which may simply be closed lines.

2.4 Recommended Backbone alignment

Every glyph for representing a Component MUST have exactly one grey horizontal line indicating the RECOMMENDED vertical positioning of the glyph on a nucleic acid backbone.

Note that it is only recommended, and thus people can continue using alternate placements if they have good reason for doing so. Additional recommendations for best practices in alignment beyond this may be added to glyphs if desired as well.

3. Examples

CDS glyph, with interior marked and a possible recommended vertical alignment of the backbone to the bottom of the glyph:
image

Insulator with one possible interpretation of the interior marked:
image

Primer binding site, "hovering" over the nucleic acid backbone:
image

4. Backwards Compatibility

For most glyphs, the bounding box, interior and alignment are obvious.
For some, however, this is not the case, and these will need to be voted on to ensure consensus.

5. Discussion

Copyright

CC0
To the extent possible under law, SBOL developers has waived all copyright and related or neighboring rights to SEP V001. This work is published from: United States.

SEP V003: Distinguished Unknowns

SEP V003: Distinguished Unknowns

SEP
Authors Jacob Beal ([email protected])
Editor
Type Specification
SBOL Visual Version 1.1
Status Draft
Created 21-Jul-2017
Last modified 17-Aug-2017

Abstract

We need a way of distinguishing between three distinct use cases that are currently all covered by the "User Defined" symbol. These are:

  • Unspecified: SO:0000110 Sequence Feature
  • No glyph assigned: Any SO term that is not covered by any glyph besides the root Sequence Feature
  • Composite: SO:0000804 Engineered Region

Accompanying with the Composite proposal is also a proposal for an Omitted Detail glyph explicitly showing where information is not being represented.

Table of Contents

1. Rationale

Importing large numbers of constructs has found three distinct cases that need to be visually distinguished but currently are all lumped under 'User Defined":

  • "Unspecified": Constructs whose type information is missing --- here called "Unspecified," and typically defaulting to the root term SO:0000110. Here, we want people to recognize the problem and fill in the missing information.
  • "No Glyph Assigned": Constructs with a well-defined and interesting type that happens to not be covered by any of the current glyphs. Here, we want people to recognize that the part is well understood, just outside the current vocabulary. We also want them to make new glyph proposals.
  • "Composite": Potentially complex designs composing multiple parts. Here we want to have people recognize that there is more detail available.

The Unspecified glyph is intended for showing where a sequence's role is missing (or, equivalently, given only the uninformative "Sequence Feature" root role). It should never appear with well-curated designs or diagrams.

No Glyph Assigned is intended for constructs with a defined specific role that happens to not yet be covered by available approved glyphs (other than the root "Sequence Feature"). It is more likely to appear in machine-generated diagrams than in human-generated diagrams, since humans are likely to invent and use their own glyph for the purpose.

Some of the proposed glyphs for Composite are linked to the proposal for an Omitted Detail glyph.

2. Specification

The "User Defined" glyph will be split into three new glyphs: "Unspecified", "No Glyph Assigned", and "Composite".

A number of proposals have been made for these glyphs, from which we need to pick one to be RECOMMENDED for each and may choose to pick others as alternatives.

Currently, all three of these meanings are covered by the "User Defined" glyph, a plain rectangle suggesting a blank slate to be written upon:

glyph specification

Unspecified and No Glyph Assigned

A number of potential replacement glyphs and variants have been proposed for covering Unspecified and/or No Glyph Assigned. The current supported candidates are:

Unspecified

  • The unicode "replacement character" glyph, indicating a missing or invalid symbol, will be RECOMMENDED:

    glyph specification

  • A half-rounded rectangle, the SBGN glyph for a nucleic acid, will be an alternative:

    glyph specification

No Glyph Assigned

Per discussion, No Glyph Assigned has been deferred to SEP V006.

  • Keep the current "User Defined" rectangle as RECOMMENDED.

glyph specification

Alternate stylings of this rectangle might be preferred by users and tools:

  • A tall thin rectangle, which some fonts use as an alternative "replacement character":

    glyph specification

  • A dashed line rectangle, implying something is missing:

    glyph specification

Composite

For Composite the following glyph has been proposed to become RECOMMENDED:

  • Dashed "expanding lines" connecting any "base" glyph representing the more abstract composite (e.g., Omitted Detail, or Terminator, or Promoter) to a backbone diagramming the contents of the composite. Note the bounding box is indicating the location of the base glyph, and would scale with that glyph.

    glyph specification

Omitted Detail

No SO term will be associated with this, as it is indicating that something is not being representing.

The proposed RECOMMENDED omitted detail glyph is break in the backbone with something to indicate that material would normally be in that location. In particular, from reasonable several alternatives, an ellipsis is proposed:

glyph specification

Note that this glyph actually places a "break" in the nucleic acid backbone.

3. Examples

Unspecified: an anonymous sequence that is missing any information about its nature or intended purpose.

No Glyph Assigned is intended to be used for any Component that is not covered by other SBOL Visual glyphs.

Composite: an "expression cassette" containing a ribosome entry site, coding sequence, and terminator.

Omitted Detail: A diagram in which a sequence features is not drawn.

4. Backwards Compatibility

The "User Defined" rectangle will remain as a RECOMMENDED or alternative glyph for all three of Unspecified, No Glyph Assigned, and Composite.

5. Discussion

The following proposed options have been considered, but do not have strong support and are thus being removed from consideration unless they pick up significant advocacy. They may be revisited in the future.

Unspecified or No Glyph Assigned

  • A horizontal line with a question mark over it:

    glyph specification

  • A piece of DNA:

    glyph specification

  • A horizontal line:

    glyph specification

  • A rectangle with an X through it:

    glyph specification

Composite

  • Dashed "expanding lines" connecting an Omitted glyph (one candidate shown here for an example) to a backbone diagramming the contents of the composite. Note this glyph's bounding box is only the Omitted glyph.

    glyph specification

  • Dashed "expanding lines" connecting a point of the backbone to a backbone diagramming the contents of the composite. Note that this glyph has no bounding box.

    glyph specification

  • Dashed "expanding lines" connecting two bars to a backbone diagramming the contents of the composite. Note that this glyph has no bounding box.

    glyph specification

  • A double rectangle:

glyph specification

  • A "black box":

glyph specification

Omitted Detail

Brackets:

glyph specification

Slanted "graph axis break":

glyph specification

Straight "graph axis break":

glyph specification

Copyright

CC0
To the extent possible under law, SBOL developers has waived all copyright and related or neighboring rights to SEP V003. This work is published from: United States.

Interactions with interactions

From @jakebeal on August 1, 2016 19:26

Related to #6, biologists also often draw an interaction to an interaction in order to express interaction with a species that has been elided.

For example, drawing aTc repressing the repression of a TetR CDS on pTet, since the actual TetR protein is not being diagrammed.

Copied from original issue: SynBioDex/SBOL-visual-deprecated#7

Make macromolecule different from yeast cells

Our current recommended macromolecule glyph looks too much like the glyph people often use for yeast cells (it has also been criticized as not being easy enough to draw).

A patch solution is to simply use the SBGN variant instead (rounded box), but there were good reasons we didn't make that the recommended glyph in the first place.

Can we make a variant that is different, to avoid this visual collision?

Potential suggestions that have been made previously include:

  • a kidney/bean/crescent shape ("kidney")
  • a biconvave/dumb-bell shape (this could be confused with a red blood cell, but I think this is unlikely?) ("peanut") has been rejected in SEP V008
  • a variant of the dumb-bell with a bulge in the middle ("tie fighter")
  • three-way symmetric blobby object ("fidget spinner")
  • "Any arbitrary monomer symbol linked by a backbone line"
  • "a loosely wound string of beads"
  • "an arbitrary a self-intersecting curve"

image
image
image

Non-ordered glyph priority

SequenceOntology permits multiple parents for a term, which means that the ordering rules for glyph choice don't necessarily resolve which of two glyphs is preferred.

We should make an explicit recommendation for how to handle this.

Glyphs for type IIs / asymmetric endonuclease sites

I'd like to propose a glyph for type IIs restriction endonuclease sites, a feature used in diagrams of Golden Gate assembly and especially in MoClo-like hierarchical DNA assembly part/cassette/multigene plasmids, which are increasing in popularity (maybe ~30 toolkits out there). [Yeast Toolkit, original MoClo]

Type IIs sites differ from regular sticky end restriction sites in that their sites are asymmetric and cut outside their recognition sequence, allowing simultaneous excision and assembly of up to 20 fragments / plasmid elements. The main feature that needs to be captured in the glyph is the asymmetry. The SBOL 5โ€ฒ cohesive end restriction site symbols are non-directional, but have been used in a few Golden Gate toolkit papers already despite this, though they could have benefitted from a directional glyph to specify restriction site direction, which informs how connectivity in Golden Gate reactions is to be expected. The "traditional" type IIs site symbol (2nd panel) might be confusable with a promoter, and I thought the new glyph ought to build off the existing 5โ€ฒ sticky end glyph (3โ€ฒ type IIs sites have not to my knowledge ever been employed for Golden Gate, so the 3โ€ฒ versions can be omitted.).
image

I polled my previous lab which exclusively uses hierarchical Golden Gate based on the Yeast Toolkit, and my current lab which heavily uses ad hoc Golden Gate (except me โ€“ I'm all hierarchical). I asked them to choose a glyph most obviously indicative of proper direction and restriction site position relative to the cut site and non-confusable with existing symbols. We came to the consensus of choosing (B).
image

The rationale for (B) is that we refer to pairs of Golden Gate sites as inward- or outward-facing, which seem to be most plainly captured by horizontal arrows, "originating" in the recognition site.
The others, vertical arrow glyphs, while still giving a sense for direction when the path of the symbol is traced, places unnecessary, potentially distracting emphasis on a vertical motion to cleavage through a strand. (C) and (D) may be perceived as nicking sites. (A) would seem to thus be second in preference, but still doesn't emphasize the location of the recognition site as much as (B) does, nor the "inward/outward" paradigm.

Not all files present in zip files on sbolstandard.org

Dear all,

I tried to download the zipped collection of glyphs from http://sbolstandard.org/visual/glyphs/ -- however, in the file for nucleic acid glyphs in svg format (it's a hidden link to http://sbolstandard.org/download/nucleic-acid-glyphs-svg/?wpdmdl=2720 -- if the link doesn't work, please look for "Nucleic Acid Glyphs SVG, 40.49 KB, Download" on the web page) the promoter and terminator elements seem to be missing.

I am not sure if I contacted the right persons here, but I hope so. Otherwise, please let me know, so that I can write someone else...

Thanks in advance and all the best,
Robert

Allow compositing a Molecular Species with a DNA backbone to show binding?

John Sexton observes that a molecular species in contact with a DNA backbone is often used to show binding into a complex in a diagram. We should consider whether SBOL Visual can be extended to allow this:

John Sexton wrote:

In Section 6.3, the standard dictates that molecular species glyphs MUST NOT contact a nucleic acid backbone (page 14, line 3). I think this is unnecessarily restrictive; DNA binding domains of proteins often interact with DNA molecules but are still classified as molecular species. In the Tabor lab in particular, bacterial two-component systems are often illustrated as dimerized protein domains binding a DNA backbone (see [1], [2], [3], [4], [5]). These diagrams are currently not compliant with SBOL Visual 2.0 given the specification that molecular species MUST NOT touch a DNA backbone. I understand that edits to this document should not be substantive, but was this requirement included in a vote? I don't see it in SEP V008.

Ontology needs updating to track new SEPs

The ontology files are out of date and need updating. We also need to have a README in the ontology directory that explains what all of the ontology files are for and what they mean.

Test the SBOL-Visual ontology

Test the SBOL-visual ontology with reference to the README file in the Glyphs directory.
The ontology is available as an RDF file (Ontology/v2/sbol-vo.rdf) and can be viewed using Protege (https://protege.stanford.edu/products.php). The ontology is also available as a human readable HTML file which can be found at Ontology/v2/sbol-vo.html.

How can we represent non-ordered elements?

From @jakebeal on August 1, 2016 0:43

SBOL allows a ComponentDefinition to contain elements that are not ordered, e.g., sub-Components that must be contained but for which no linearization decision has yet been made.

Can we effectively represent this in SBOL visual diagrams?

Copied from original issue: SynBioDex/SBOL-visual-deprecated#1

SEP V006: No Glyph Assigned

SEP V006: No Glyph Assigned

SEP
Authors Jacob Beal ([email protected]), Chris Myers
Editor
Type Specification
SBOL Visual Version 1.1
Status Draft
Created 14-Sep-2017
Last modified Never

Abstract

We need a way of distinguishing a Composite object (SO:0000804 Engineered Region) from a No Glyph Assigned object (i.e., any SO term that is not covered by any glyph besides the root Sequence Feature).

Table of Contents

1. Rationale

Two cases that currently do not have a clear way of visually distinguishing them are:

  • "No Glyph Assigned": Constructs with a well-defined and interesting type that happens to not be covered by any of the current glyphs. Here, we want people to recognize that the part is well understood, just outside the current vocabulary. We also want them to make new glyph proposals.
  • "Composite": Potentially complex designs composing multiple parts. Here we want to have people recognize that there is more detail available.

Here we focus on distinguishing No Glyph Assigned, which is intended for constructs with a defined specific role that happens to not yet be covered by available approved glyphs (other than the root "Sequence Feature"). It is more likely to appear in machine-generated diagrams than in human-generated diagrams, since humans are likely to invent and use their own glyph for the purpose.

2. Specification

The "User Defined" glyph has been split into three new glyphs: "Unspecified", "No Glyph Assigned", and "Composite". We have not yet, however, defined a glyph for "No Glyph Assigned"

A number of proposals have been made, from which we need to pick one to be RECOMMENDED for each and may choose to pick others as alternatives. The proposal is:

  • When a part has no assigned glyph it is RECOMMENDED that a user provide their own glyph. The user is also encouraged to submit the new glyph for possible adoption into the SBOLv standard.

  • An alternative is brackets, suggesting information that needs to be filled in:

glyph specification

As a best practice, it is suggested that the name of the term be put in between the brackets.

3. Examples

No Glyph Assigned is intended to be used for any Component that is not covered by other SBOL Visual glyphs.
For example, at present there is no glyph recommended for representing a transposon.

4. Backwards Compatibility

The "User Defined" rectangle will remain as a RECOMMENDED or alternative glyph for No Glyph Assigned.

5. Discussion

Alternatives currently without support:

  • Keep the "User Defined" rectangle as RECOMMENDED, a plain rectangle suggesting a blank slate to be written upon:

glyph specification

Alternate stylings of this rectangle might be preferred by users and tools:

  • A tall thin rectangle, which some fonts use as an alternative "replacement character":

    glyph specification

  • A dashed line rectangle, implying something is missing:

    glyph specification

Note that the User Defined rectangle causes No Glyph Assigned to conflict with Composite. We might correct this, however, by allowing the rectangle to be used only as part of a base glyph in composite, and withdrawing its use as an alternative for that glyph. Its use in Composite would then be distinguished by inclusion of the secondary backbone, e.g.,:

glyph specification

References

Copyright

CC0
To the extent possible under law, SBOL developers has waived all copyright and related or neighboring rights to SEP V006. This work is published from: United States.

Visualisation of spatial localisation of components

Hello,

Spatial constraints in bacteria (e.g. localisation of components) are getting a lot of attention, since they affect drastically the performance of a circuit. Should SBOLv represent these?

Use case:

I have a design. Part of it has been integrated into the chromosome. Part of it is in a plasmid. Both bits together build the circuit I'm working with. I need to represent that info.

Suggestion: a small symbol on circuit 'line' (the DNA) - to the left.

  1. To represent that the downstream circuit has been cloned (if so!) in a plasmid, write a small circle on top of the DNA line. I don't want to write a huge circle and place the circuit in on it, as it is generally done while using a vector editor (this would be OK for other purposes)

  2. To represent that the downstream circuit has been cloned (if so!) inside the chromosome, write oscillatory lines at the beginning of the DNA line.

I have attached a circuit in which three different sub-parts are distributed across two plasmids and the chromosome.

sbolv_spatial

SEP V008: Functional Component Glyphs

Like SBOL 2, SBOL Visual 2 needs to express not just the structure of nucleic acids but also the functional relationships between nucleic acid regions and other species in a biological system. The functional component glyphs in this proposal come from two sources:

  1. SBOL has committed to compatibility with SBGN, so glyphs align with the categories in SBGN-AF and every glyph includes the corresponding SBGN glyph as an alternative.
  2. A number of possible glyphs intended to be more "intuitive" for synthetic biologists have also been proposed.

Note that not all SBGN glyphs are being imported; we just commit that where an equivalence exists that the SBGN representation should be allowed.

Please see the full proposal at: https://github.com/SynBioDex/SBOLv-realizations/blob/develop/SEPs/SEP_V008.md

SEP V013 : Multi-source / multi-sink arrows

We have not yet determined what it means when an arrow has multiple sources or multiple sinks.
The fundamental ambiguity in drawings at present is that this is currently used to mean two things:

  1. One species that has multiple sources or multiple points of effect.
  2. A chemical reaction that combines multiple species into one or splits one species into many

Add SEP V011, SEPV012 glyphs to font

The new font was added just shortly before we adopted SEP V011 and SEP V012: we need to add the new symbols that have just been added to the spec to the font.

@BenjaminAleritsch would you be willing to do this update, or do you want somebody else to do it?

SEP V014: Modules and MapsTo

The ModuleDefinition, Module, and MapsTo classes from SBOL 2 do not yet have an equivalent representation in SBOL Visual.

Functional RNA Glyphs

Current SBOL RNA-related glyphs (i) do not capture the range of RNA functions and (ii) where they do exist are not expressive enough to precisely annotate the RNA function. A new set of glyphs that more precisely expresses RNA functions are needed to capture the repertoire of available functional RNA systems.

For example, an increasingly used tool in synthetic biology are riboswitches - cis-acting RNA element that binds to a specific chemical target via an aptamer domain, then undergoes a structural transition to control a specific aspect of gene expression (transcription, translation, splicing) via an expression platform domain). When wanting to annotate a riboswitch, the aptamer glyph is not precise enough as it does not specify the type of gene expression process regulated by the aptamer. This is important as a riboswitch that controls transcription has different implications for genetic circuit function than one that controls translation. One possible solution
is to create a fusion between the aptamer glyph and the terminator glyph to indicate that the riboswitch controls transcription, or a fusion between the aptamer glyph and the RBS glyph to indicate that the riboswitch controls translation. It could be extended too - for example if a splice site glyph was determined then the aptamer glyph and this glyph combined could be used for a riboswitch that controls splicing.

A system of RNA glyphs is needed to capture riboswitches and other increasingly used functional RNA elements such as:

  • trans-acting RNAs including but not limited to: toe hold switches, small RNA regulators of translation, small transcription activating RNAs
  • cis-acting RNAs including but not limited to: riboswitches, splice sites and splicing regulators
  • RNAs that act via protein binding mechanisms

Ideally this glyph system could be easily adapted as new types of functional RNAs are created.

Elision of interactions

From @jakebeal on August 1, 2016 19:24

๏ฟผWe observe that biologists do elision of interactions of the form:
A โ€”> B โ€”* C ==> A โ€“* C

For example, they will draw a single repression arc from a CDS to a promoter to represent production of an species that represents the promoter, thereby eliding those two relations into a single relation.

We do not yet have a clear statement of when making such elisions is OK and when it is not.

Copied from original issue: SynBioDex/SBOL-visual-deprecated#6

Incorporation of protein language

A visual protein sequence feature description language, analogous to the nucleic acid sequence feature description language of SBOL Visual, has been proposed in https://pubs.acs.org/doi/abs/10.1021/acssynbio.6b00286

Example image from this paper:
image

In order to incorporate this into SBOL Visual, we will need to discuss harmonization of its glyphs and rules with those already existing in SBOL Visual.

An intermediate language of interlocking rounded polygons may also be of interest, per @shyambhakta's suggestions on #67: image

Insulator is too biologically specific

From @jakebeal on August 2, 2016 13:31

Insulator is defined as SO:0000627, which is more biologically specific than the term is being used in practice.

Proposed in discussions: generalize this symbol, change its name to 'insulator/spacer' and submit a new SO term

Copied from original issue: SynBioDex/SBOL-visual-deprecated#12

Hammerhead ribozyme

It would be good to have a glyph for self-cleaving hammerhead ribozymes. There is an "handlebars" shape that I have sometimes seen in talks that might do well.

SBOL for 2A sequences

Hi,

I am trying to use a SBOL glyph to show 2A sequences. Unfortunately, there isn't a glyph for it. The best alternative I can find at the moment is the protein cleavage site. 2A sequences, however, are not protease cleavage sites. Instead, they work by 'skipping' a peptide bond formation step during translation. Would there be a good glyph to represent this?

SEP V004: New Glyph Proposal Collection

SEP V004: New Glyph Collection

SEP
Authors Jacob Beal ([email protected])
Editor
Type Specification
SBOL Visual Version 1.1
Status Draft
Created 22-Aug-2017
Last modified 18-Sep-2017

Abstract

A number of new glyphs have been proposed over the past few years, and we need to put them to an up-or-down vote.

There are twelve proposals currently pending: Aptamer, Codon, Homology Region, Inverter, Non-Coding RNA, ORI-T, polyA Site, Protein Domain, Specific Recombination Site, Non Directional Sticky End, Tag, Transcript Region

Table of Contents

1. Rationale

Each glyph detailed below in its specification has been provided with an individual rationale for that glyph. Examples are also embedded within each proposal.

2. Specification

Aptamer

Associated SO term(s)

SO:0000031: Aptamer

Recommended Glyph and Alternates

The proposed aptamer glyph is a cartoon diagram of nucleic acid secondary structure like that found in aptamers:

glyph specification

Prototypical Example

theophylline aptamer

Non-Coding RNA Gene

Associated SO term(s)

SO:0001263: Non-Coding RNA Gene
SO:0000834: Mature Transcript Region

Recommended Glyph and Alternates

Two of the proposed non-coding RNA glyphs are both single-stranded RNA "wiggles," one on top of a box:

glyph specification

another hovering above the backbone:

glyph specification

One or the other of these should be chosen, but not both.

Prototypical Example

gRNA

ORI-T

Associated SO term(s)

SO:0000724: Origin of Transfer

Recommended Glyph and Alternates

The origin of transfer glyph is circular like Origin of Replication, but also includes an outbound arrow:

glyph specification

Prototypical Example

oriT

Notes

The recommended backbone location of Origin of Replication is not yet fixed; the backbone location of this glyph is intended to match Origin of Replication, so it that is recommended to become below the glyph, this backbone location will shift as well.

polyA site

Associated SO term(s)

SO:0000553: polyA Site

Recommended Glyph and Alternates

The polyA site glyph is a sequence of As sitting atop the backbone:

glyph specification

Prototypical Example

polyA tail on mammalian coding sequence

Specific Recombination Site

Associated SO term(s)

SO:0000299: Specific Recombination Site

Recommended Glyph and Alternates

The specific recombination site glyph is a triangle, centered on the backbone, as has appeared in a number of recombinase circuit papers:

glyph specification

Prototypical Example

flippase recognition target (FRT) site

Notes

Potential conflict with proposed Inverter glyph.

3. Examples

See examples in individual glyph proposals.

4. Backwards Compatibility

All proposals are for new glyphs that do not conflict with existing glyphs. Note that two proposals (Inverter and Recombinase Site) do conflict with one another.

5. Discussion

The following proposed options have been considered, but do not have strong support and are thus being removed from consideration unless they pick up significant advocacy. They may be revisited in the future.

Aptamer

glyph specification

Codon

Associated SO term(s)

SO:0000360: Codon

SO:0000318: Start Codon

SO:0000319: Stop Codon

Recommended Glyph and Alternates

The proposed aptamer glyphs are two versions of a cartoon diagram of nucleic acid secondary structure like that found in aptamers:

glyph specification

Nucleotides can be indicated with colors or letters in the boxes:

glyph specificationglyph specification

Proteins can be indicated by a letter above:

glyph specification

Stop and start codons might be indicated by special symbols:

glyph specificationglyph specificationglyph specification

Edits can be indicated by changes:

glyph specificationglyph specificationglyph specificationglyph specificationglyph specificationglyph specification

Prototypical Example

UGA stop codon

Notes

If accepted, there will need to be additional work done to elaborate the full specification.

Homology Region

Associated SO term(s)

SO:0000853

Recommended Glyph and Alternates

The homology region glyph is a stretched hexagon hovering above the backbone:

glyph specification

Prototypical Example

Needs a good example

Inverter

Associated SO term(s)

No SO term currently exists

Recommended Glyph and Alternates

The inverter glyph is a triangle, echoing the buffer glyph from electronics. It might be either above or on the backbone.

glyph specification

glyph specification

Prototypical Example

Needs a good example

Notes

Potential conflict with proposed Specific Recombination Site glyph.

Non-Coding RNA

Squiggle with teeth:

glyph specification

Peeling comb suggesting an RNA sequence partially attached to the backbone:

glyph specification

Non Directional Sticky End

Associated SO term(s)

SO:0001692 (unspecified direction)

Recommended Glyph and Alternates

A sticky restriction site of unspecified direction is an angled set of cuts:

glyph specification

Prototypical Example

EcoRI restriction site.

ORI-T

Spirals outward toward a new destination rather than being a closed circle. Two slightly different variants of spiral are proposed for consideration:

glyph specification

glyph specification

Protein Domain

Associated SO term(s)

SO:0000417 Polypeptide Domain

Recommended Glyph and Alternates

A number of proposals have been made for Protein Domain glyphs. These are:

  • A chevron, which composes nicely with the standard CDS pentagon

glyph specification

  • A plain rectangle (the same as user defined):

glyph specification

  • A chevron with a vertical break:

glyph specification

  • A broken CDS pentagon

glyph specification

  • A broken arrow (i.e., broken alternate CDS)

glyph specification

  • A CDS pentagon with a chevron break:

glyph specification

Prototypical Example

VP64 activation domain

Notes

Protein domain should have the same recommended vertical position as CDS, but CDS does not have a recommended vertical position yet, so these proposals do not either.

Tag

Associated SO term(s)

SO:0000324: Tag

Recommended Glyph and Alternates

The tag glyph is a diagonal rectangle with clipped corners, reminiscent of a stereotypical paper gift tag:

glyph specification

Prototypical Example

PEST tag

Copyright

CC0
To the extent possible under law, SBOL developers has waived all copyright and related or neighboring rights to SEP V004. This work is published from: United States.

SEP V005: Ambiguities and Variants

SEP V005: Ambiguities and Variants

SEP
Authors Jacob Beal ([email protected])
Editor
Type Specification
SBOL Visual Version 1.1
Status Draft
Created 30-Aug-2017
Last modified 17-Sep-2017

Abstract

A number of potential variants of existing glyphs have been proposed, and we need to put them to an up-or-down vote. We also need to clarify the position and/or interior of some of the existing glyphs.

There are ten glyphs potentially affected by these proposals:

  • Resolving ambiguity: Assembly Scar, CDS, Restriction Enzyme Recognition Site, Five-Prime Overhang, Five-Prime Sticky Restriction Site, Insulator, Operator, Origin of Replication, User Defined
  • Proposed variants: CDS, Insulator, Operator, Terminator

Table of Contents

1. Rationale

Each glyph variant detailed below in its specification has been provided with an individual rationale for that glyph. Examples are also embedded within each proposal.

2. Specification

Assembly Scar

The assembly scar glyph is an "equal sign" image, the pattern produced by the union of a 5' sticky end and 3' sticky end glyph. The scar will cover the backbone, creating a visual break suggesting the potential disruption associated with a scar:

glyph specificationglyph specification

CDS

The coding sequence glyph is a "box" with one side bent out arrow-like to show direction. Its recommended backbone alignment is to the middle:

glyph specification

A block arrow variant is already commonly used in diagrams:

glyph specification

Its recommended alignment will also be to the middle.

Restriction Enzyme Recognition Site (Cleavage Site)

Recommended backbone alignment is centered on backbone:

glyph specification

5' Overhang Site

The 5' overhang site glyph is an image of a strand of DNA extended on the 5' edge of its forward strand:

glyph specification

With a double-stranded backbone:

glyph specification

5' Sticky Restriction Site

The 5' sticky restriction site glyph is an image of the lines along which two strands of DNA will be cut into 5' sticky ends. Vertical position with respect to the backbone is between a double backbone and in a break in a single backbone:

glyph specificationglyph specification

Insulator

The insulator glyph is a box inside another box that isolates it from its environment.
Its interior is only the inner box:

glyph specification

The position of the back bone will be below the backbone, as insulators are often used with respect to a construct associated with a particular strand (e.g., a promoter):

glyph specification

Operator

The operator glyph will be replaced by an open "cup" as in the binding sites of the proposed protein language:

glyph specification

Origin of Replication

The origin of replication glyph is a circle suggesting the "bulge" opened in a piece of circular DNA when replication is beginning:

glyph specification

User Defined

The user defined component glyph is a plain rectangle. The backbone is RECOMMENDED to be placed at the bottom:

glyph specification

3. Examples

See examples in individual glyph proposals.

4. Backwards Compatibility

All proposals either provide clarity on existing ambiguous glyphs or else propose new non-conflicting variants.

5. Discussion

The following proposed options have been considered, but do not have strong support and are thus being removed from consideration unless they pick up significant advocacy. They may be revisited in the future.

Assembly Scar

Assembly Scar might be on on either side of or above the backbone:

glyph specification

glyph specification

CDS

CDS backbone alignment might be to the middle:

glyph specification

A number of variants have been proposed; their alignment will match that of CDS except when otherwise noted.

User Defined rectangle:

glyph specification

Other alternatives include a chevron and asymmetric "halved" versions of the current CDS or block arrow:

glyph specificationglyph specificationglyph specification

Restriction Enzyme Recognition Site (Cleavage Site)

Site on top of backbone:

glyph specification

5' Sticky Restriction Site

Vertical position with respect to the backbone might above the backbone:

glyph specification

Insulator

Insulator's fill might also be no interior, outer, or both boxes filled:

glyph specificationglyph specificationglyph specification

The position of the back bone might also be centered, or hovering below:

glyph specificationglyph specification

Two possible alternate glyphs have also been proposed:

  • A circle with an X through the middle:

glyph specification

  • Parentheses around an ellipsis:

glyph specification

Operator

The operator glyph was a box marking a place:

glyph specification

The glyph is proposed to be generalized to Binding Site, which also suggests it might be an open "cup" as in the binding sites of the proposed protein language. The bottom and hover options for alignment do not currently have support:

glyph specificationglyph specification

Its recommended backbone alignment might be middle, bottom, or hovering above:

glyph specificationglyph specificationglyph specification

The notion of binding site might also simply be indicated by generalizing Restriction Enzyme Recognition Site to simply be a generic Recognition Site:

glyph specificationglyph specification

Origin of Replication

The origin of replication might also be above the backbone:

glyph specification

Terminator

A number of variants have been proposed. Some add asymmetry by:

  • Adding a "blocking" line handing down on the left, cutting the terminator in half, or doing both:

glyph specificationglyph specificationglyph specification

Other variants make function more symbolic by:

  • Looking somewhat like a stop sign (from the iGEM registry):

glyph specification

  • Diagramming some sort of hairpin- or loop-like structure:

glyph specificationglyph specificationglyph specification

User Defined

The user defined component might be aligned at the middle, or hovering under the glyphs:

glyph specificationglyph specification

Copyright

CC0
To the extent possible under law, SBOL developers has waived all copyright and related or neighboring rights to SEP V005. This work is published from: United States.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.