Newcastle University Drylab/11 June 2008
From 2008.igem.org
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
|
|
|
|
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.