Git Product home page Git Product logo

hicsail / clotho Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 5.0 5.02 MB

Clotho is a framework for engineering synthetic biological systems and managing the data used to create them. You can author data schemas, run functions and algorithms, and tie Clotho into existing applications.

Home Page: http://alpha.clothocad.org/

License: MIT License

JavaScript 80.28% HTML 6.89% CSS 12.72% Shell 0.11%

clotho's People

Contributors

aditid avatar frederickjansen avatar gregfrasco avatar ishaikh1 avatar jgyou-bu avatar shreyapandit avatar

Stargazers

 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

Forkers

cidarlab aditid

clotho's Issues

Fix Linting Issues

Run npm run lint and fix these issues. npm run lint should be used before every commit

FASTA Files

  • Create a POST Route /api/blast
  • Have route create temp directory mkdir -p /blast/temp####
  • Create FASTA File on Sequences based on payload
  • Read FASTA File and reply with the results
  • Delete the Temp Folder After replying results

Reference : child_process

FASTA File should have extension .fasta

> Sequence Name-SequenceID
TAGDTAGDTdnalettersTSGAGTA

> Sequence Name2-SequenceID2
TAGSTGATGSATAGSTAGTSGA

Max Auth Attempts

If you have reached the max auth attempts, be directed to update your password.

On password update, delete all auth attempts from your ip and username

New Roles

These roles are possible for create convenience methods

  • Glycerol
  • Vector
  • RBS
  • Gene
  • FP

BLAST

  • Install Blast on Docker
  • Save Blast FASTA file on server
  • Run BLAST on FASTA file with given sequence
  • Parse results
  • return results
  • delete FASTA file

setup page

after Clotho is installed, we need a root user. Create a setup page that creates this root user and inserts it into the database.

  • Provided instructions after is running to go to /setup
  • Create an API route to insert root user, only if there is no root user
  • Create /setup to get root users info if there is already a root user, return setup complete

Permanently Delete Objects

When a user calls delete part or device, an attribute toDelete: true is added, and removed from search queries. Create a route to delete theses objects.

  • route must only be run by admin user
  • must go through each collection and delete instances
  • return success / failure message

Conversion of Java Models

Here is a List of Java Models that need to be converted, other can be added based on dependencies
other Java models

Please update what models you are working on

Version Control and History

Create A Model that keep track of version control history for BioDesign.

Version: Number
Application Used to Update: Get From Current Session
OldBioDesignId:
NewBioDesignId:

Custom Function Model

Create Model to Store Custom Javascript Functions

Model Attributes

  • Function Name - String
  • UserID - String
  • Code - String
  • Example Input - Array
  • Example Output - Array
  • Pass Test - Boolean

Check Is DNA Sequence is Vaild

Confirm If all DNA Charters are included before making function

Create A Pre-Function to check whether DNA Sequence is valid.
Use Bio Node checkType to see if it returns a valid sequence

Account editing page

create a page to allow users to edit account settings

  • Change username
  • Change email
  • Change full name
  • Change password

createDevice: no response

Getting no response with the following payload:

{
	"createSeqFromParts":"true",
	"name":"pBAD_betIBFP_EF",
	"partIds":["59772f52844cd13aefd11935","59772f54844cd13aefd11953","59772f54844cd13aefd11959","59772f55844cd13aefd11971"],
	"displayId":"pBAD_betIBFP_EF"
}

2017-07-25-115407_1920x1080_scrot

Create An API route that limit the return data

api/Get Part/{:filter}
will only return Biodesign with the filtered object

Example:
api/Get Part/parameters

will only return the Biodesign with the parameters object, parts and modules not included

[
  {
    "_id":"BioDesignID",
    "Others": "Bio Designs Attrubtes",
    "parameters": [
      {"parameter object"}
    ]
  }
]

Get Part/parts
will only return the bodyDesign with the parts object, parameters and modules not included

[
  {
    "_id":"BioDesignID",
    "Others": "Bio Designs Attrubtes",
    "parts": [
      {"part object"}
    ]
  }
]

This route will have the same payload as Get Part

Call Server.inject(request, response) with the same request as Get Part and loop parse the output

Same Routes for the Device

Part and Device Roles

Create A Model Roles that is a List Of Part And Device Roles that is used, Role Often Change or be added.

Master Branch Depolyment

Get Access to AWS from CIDER lab and set up Docker and CI on Master Branch
Switch Out out CI Server to Staging Branch

Logout Errors

Make logout API call be more descriptive on it responses.

Clotho Functions

Use BioNode to create clotho functions

  • checkType
  • reverse
  • complement
  • reversecomplement
  • removeIntrons
  • transcribe
  • translate - not used, unable to store proteins in database

Docker

Add docker to the application as well as documentation on how to install, setup and run application using docker.

createPart: roles, sequences, and parameters not being stored

Two payloads:

{
	"name":"testpart5",
	"displayId":"testpart5",
	"role":"FP",
	"sequence":"ACTGACTGACTG",
}

Role and Sequence are not being stored in the database. In screenshot, middle left is database output.

{
	"name":"testpart6",
	"displayId":"testpart6",
	"role":"FP",
	"sequence":"ACTGACTGACTG",
	"parameters":[
		{
			"name":"toxic metric",
			"value":"0.5",
			"units":"mmol",
			"variable":"toxicity"
			
		}
	]
}

Role, Sequence and Parameters are not being stored in the database. In screenshot, bottom left is database output

GET-ting either with .../api/part/{_id} returns 404

2017-07-11-104922_1920x1080_scrot

Remove Second Create Statement

Some models have 2 create statements

class CompositeModule extends MongoModels {

  static create(name, role, submodules, author, callback) {
    return create(name, null, role, submodules, author, callback);
  }

  static create(name, description, role, submodules, author_id, callback) {

remove first create statement since api method will insert default | null when approprate

 static create(name, role, submodules, author, callback) {
    return create(name, null, role, submodules, author, callback);
  }

get Device

  • Retrieve superPart with BioDesignId
  • Retrieve subparts though bioDesign
  • Retrieve Assembly
  • Retrieve subAnnotations

Change Doc System to Slate

Slate has a better system to document the API, which includes multi-language support, better search functionality

  • Get Slate Up And Running
  • Customize It to Include Favicon And Logo
  • Add Slate Requirements to documentation
  • Add Slate Requirements to Docker
  • Change API Docs to point to Slate

View scale as an example

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.