Giter VIP home page Giter VIP logo

sbol_parser_api's Introduction

SBOL Parser API

Generating CSVs for DNABot (BASIC Assembly)

Construct and Parts/Linkers CSVs can be generated by calling the generateCsv method of SBOLParser.

The generateCsv method processes the SBOL Document as follows:

  1. Extracts Component Definitions and/or Combinatorial Derivations from SBOL Document
  2. Enumerates any Combinatorial Derivations
  3. Filters designs to remove designs with repeated parts
  4. Select a random subset of the design space
  5. Inserts backbone plasmid to each design if not present
  6. Inserts up to 7 linkers between designs (neutral BASIC linkers L1-L7)
  7. Sorts list of parts/linkers used across all designs alphabetically
  8. Writes construct and parts/linkers CSVs

generateCSV can take in several different combinations of parameters depending on the requirements of the experimental setup.

Generate a single construct and parts/linkers CSV for a specific Component Definition/Combinatorial Derivation

generateCsv(SBOLDocument doc, String constructType, String constructURI, int maxSize)

Parameters:

  • doc SBOL Document containing construct designs
  • constructType Accepts COMPONENT_DEFINITION or COMBINATORIAL_DERIVATION as input
  • constructURI URI of Combinatorial Derivation or Component Definition to assemble
  • maxSize Maximum number of samples in a single plate

Generate several construct and parts/linkers CSVs for a specific Component Definition/Combinatorial Derivation depending on the number of runs

generateCsv(SBOLDocument doc, String constructType, String constructURI, int maxSize, int numberOfRuns)

Parameters:

  • doc SBOL Document containing construct designs
  • constructType Accepts COMPONENT_DEFINITION or COMBINATORIAL_DERIVATION as input
  • constructURI URI of Combinatorial Derivation or Component Definition to assemble
  • maxSize Maximum number of samples in a single plate
  • numberOfRuns Number of runs (i.e. number of construct and parts/linkers CSVs to be generated)

Generate a single construct and parts/linkers CSV for all Component Definitions/Combinatorial Derivations/Both

generateCsv(SBOLDocument doc, String constructType, int maxSize)

Parameters:

  • doc SBOL Document containing construct designs
  • constructType Accepts COMPONENT_DEFINITION or COMBINATORIAL_DERIVATION or BOTH as input
  • maxSize Maximum number of samples in a single plate

Generate several construct and parts/linkers CSV for all Component Definitions/Combinatorial Derivations/Both depending on the number of runs

generateCsv(SBOLDocument doc, String constructType, int maxSize, int numberOfRuns)

Parameters:

  • doc SBOL Document containing construct designs
  • constructType Accepts COMPONENT_DEFINITION or COMBINATORIAL_DERIVATION or BOTH as input
  • maxSize Maximum number of samples in a single plate
  • numberOfRuns Number of runs (i.e. number of construct and parts/linkers CSVs to be generated)

Generating CSVs for MoClo GoldenGate Assembly

Notes

  • Default prefix URI needs to be set for SBOL Document
  • No option to change Linkers or Backbone currently
  • Linkers and Backbone SBOL files are found in examples/sbol_files directory as linker_parts.xml and dummyBackbone.xml respectively
    • linker_parts.xml and dummyBackbone.xml are generated by linkerOutput.java and backboneOutput.java respectively

Example SBOL Files

  • examples/sbol_files/iGEM2020 contains SBOL files specifying designs for Imperial iGEM 2020 (outdated)
    • Trp_Optimization.xml describes fully assembled construct for Trp Optimization
  • examples/sbol_filess/synbiohub contains SBOL files taken from SynbioHub
  • dummy.xml describes a basic gene design of Pro-RBS-CDS-Ter

REST API

sbol_parser_api's People

Contributors

hm00 avatar imperialigem2020 avatar raghavkhanna18 avatar

Watchers

 avatar  avatar

sbol_parser_api's Issues

Improve filter to take in user-defined constraints

Currently the entire design space is only trimmed by removing designs with duplicated parts. Will it be possible to take in user constraints and improve the filter (hopefully over different iterations) to remove designs based on additional user constraints? Will also be good for DOE as we learn more rules and are able to eliminate more designs - a good way to complete to DBTL loop.

Output correct csv files from generateMoCloCsv

  • Remove createConstructCsvHeader(constructCsv, minNumberOfParts); (line 1504)
  • Remove createPartsLinkersCsvHeader(partsLinkersCsv); (line 1509)
  • Remove insertLinkers(cd, components, doc, linkers); (line 1539)
  • Remove constructCsv.append(WELLS.get(well_index));(line 1549)
  • Remove lines 1579-1588 if not sorting alphabetically
  • Rewrite lines 1591-1597 to output parts-linkers csv in the correct format for MoClo assembly

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.