Newcastle University Drylab/11 June 2008

From 2008.igem.org

Bugbuster-logo-red.png
Ncl uni logo.jpg


Newcastle University

GOLD MEDAL WINNER 2008

Home Team Original Aims Software Modelling Proof of Concept Brick Wet Lab Conclusions


Home >> Dry Lab >> Dry Lab Journal

May
MTWTFSS
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
June
MTWTFSS
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
July
MTWTFSS
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
August
MTWTFSS
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

11 June 2008

Mark

I finished off my CellML model and implemented all the appropriate units and cariables into a single component. In this component there were four equations that equalled the four different states in the model. I then carried out a number of simulations on the model and thereby tested the variables in order to see whether or not the model did as I would have liked.

The next stage is to implement this into my EA, but before I could do this I need a Java simulation package that can be plugged into the EA itself, as the CellML madels cannot be directly incorporated. After consulting with Morgan I decided that Jsim was the best option especially as it was detailed on the CellML website.


Megan

Work bench

1. The workbench will request a list of all part names, types, ids, and part type ids. The program will retrieve all of these from the repository and send these back to the workbench as ordered lists that map between names and their corresponding Id.

2. The work bench will request all Chassis and their Ids. The program will retieve these from the repository and out them to the work bench as lists that map between the Chassis name and their corresponding Id.

3. The workbench will provide the Id of a certain part, the program will find this part in the database and return all of the information stored on the specified part to the workbench.

4. the workbench wil provide the Id of the part that it would like a model for, the program will look up the part in the database find the model and return this model to the workbench with the Id attached?

Evolutionary algorithm

1. EA will provide the Id of the part type required with the parameter that the part should adhere to, the program will find a part of that type that fits the parameter set by the EA that doesn’t have the same Id, then output this part to the EA.

2. EA will provide part ID and request the model for this part, the program will find the part based on it’s Id in the database then find the model for this part and return it to the EA.

Constraints repository


  • Originally all interactions between the constraints repository and parts repository will go through the work bench but if they were to interact directly it would be as follows*

1. Constraints repository will request all parts, all part types, all part Ids and part type IDs, the programm will ask query the database for all of these and return them to the constraints repository.

2. Once a part is entered the program will inform the constriant repository that there is a new part available.

Person/other user

1. Someone wants to enter a new part. The program tells that database to create a new space and Id for this part. The user provides the informationfor the new part, the program inputs this information into the database where the space is created.

2. User wants to update a part, the user provides the Id of the part that they wish to update and the field that they want to update and the information to be stored. The program finds the part and field in the database and replaces the information.

8-O May need to inform the work bench if there is a new part

8-O Be able to output the sequence to the model to sequence converter

Architecture

get……

       allPartID()		Set<allPartIDs>	
       allTypeID()		Set<allTypeIDs>	
       allChassisIds()		Set<allChassisIds>	
       chassisName(chassisId)  Set<allChassisNames>
       partByType(Type)	Set<allPartTypes>	
       partID(partType)/(partName)/(BehaviouralParameter) 	
       partModel(partID)	String partModel
       allInfo(partID)		Set<allPartInfo>	
       newPartID()		String newPartID

Placing everything into sorted sets makes it easier to access information as it means that the information will be stored in the same order that it is taken out of the table each time therefore will correlate with other collections.

set……

       newPart()		*Requests new part ID

newPartModel(partID) *Provides model newAllInfo(partID) *ProvidesInfo to populate database updatePart(partID) *Provides updated info

In order to carry out these requests the program will need to receive certain information from the other users. *This basically includes everything in the get section. I assume this will be a case of the other users calling certain methods from my code. But maybe it would be that my program should be able to read in the request and then be directed to the correct method within my program. SQL queries can be set up within the program to query the database about most of these things, but some queries will need to be set as the program runs, for example setting a certain parameter for a part.


recieveRequestFor…

                 allPartNames
                 allPartTypes		These would not require further 	
                 allPartIds		information from the other users.
                 allTypeIds
                 allChassisIds
                 allChassisNames    
                 allPartInfo		These would require the partId e.g. 				
                 partModel		prophage promoter (P001).
                 specificPartInfo	Needs partTypeId, then also any 							
                                       behavioural parameter that the part 	

should conform to e.g Promoter (T01),

 			                with Strength > 0.5.


Some examples of SQL queries that will be used.

All part names

SELECT Name

FROM Parts

All part types

SELECT Name

FROM Part Types

All part IDs

SELECT Unique Id

FROM Parts

All type Ids

SELECT Unique Id

FROM Part Types

All chassis names

SELECT Name

FROM Chassis

All chassis Ids

SELECT Unique Id

FROM Chassis

Part type, when provided with Id

SELECT Type

FROM Parts

WHERE Unique Id = ‘P004’


Part Id

SELECT Unique ID

FROM Parts

WHERE Type = ‘T01’

AND Strength>0.5

Part Model

SELECT Model

FROM Parts

WHERE Unique Id = ‘P004’

All info on a part

SELECT *

FROM Parts

WHERE Unique Id = ‘P007’

New Part

INSERT INTO Parts

VALUES (‘P0032’, ‘Prophage promoter’, ‘Regulates transcription of…..’, etc… columns in order)

New part model

INSERT INTO Parts (Model)

VALUES (<xml> etc …..)


Update a part

UPDATE Parts 
SET sequence = ’AGCGCAGTTTGTGCTCTA’
WHERE Unique Id = ’P09’

8-O Problem encountered; Not sure how to get the database to generate a new unique Id itself, need to find out how to do this. Usually when creating new rows the autoidentifier will count through numbers so hopefully there is some way of manipulating this so that when a new row is created it will follow a pattern of unique Ids. However there could be problems as I wanted to group parts of the same types together however this may not be possible.


Morgan

Nina

Control BioBrick

Had a meeting with Jan about constructing simple BioBricks to test our two component systems. He suggested that for the control it might be wiser to integrate the Bacillus subtilis wild type with FPs into the Bacillus subtilis-168. The wildtype two component system is regulated by subtilin which is a peptide and acts as an antibiotic. However, 168 does not respond in the same way. (Bongers, Veening et al., 2005).

Then I tried to start populating a matrix with parts we have so far.