<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml'/>
<!--}}}-->
Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}

h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}

.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}

.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}

.tabSelected{color:[[ColorPalette::PrimaryDark]];
	background:[[ColorPalette::TertiaryPale]];
	border-left:1px solid [[ColorPalette::TertiaryLight]];
	border-top:1px solid [[ColorPalette::TertiaryLight]];
	border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}

#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}

.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
	border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
	border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
	border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}

#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}

.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}

.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}

.tiddler .defaultCommand {font-weight:bold;}

.shadow .title {color:[[ColorPalette::TertiaryDark]];}

.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}

.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}

.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}

.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}

.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}

.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}

.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}

.imageLink, #displayArea .imageLink {background:transparent;}

.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}

.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}

.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}

.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}

.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}

.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}

#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity:60)';}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}

body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}

h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}

.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}

/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}

#mainMenu .tiddlyLinkExisting,
	#mainMenu .tiddlyLinkNonExisting,
	#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}

.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0em 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0em 1em 1em; left:0px; top:0px;}

.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}

#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}

#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0em 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 .3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}

.wizard {padding:0.1em 1em 0em 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0em 0em 0em; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0em;}
.wizardFooter .status {padding:0em 0.4em 0em 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em 0.1em 0.2em;}

#messageArea {position:fixed; top:2em; right:0em; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em 0.2em 0.2em 0.2em;}
#messageArea a {text-decoration:underline;}

.tiddlerPopupButton {padding:0.2em 0.2em 0.2em 0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em 1em 1em 1em; margin:0;}

.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0em;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}

.tabset {padding:1em 0em 0em 0.5em;}
.tab {margin:0em 0em 0em 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}

#contentWrapper {display:block;}
#splashScreen {display:none;}

#displayArea {margin:1em 17em 0em 14em;}

.toolbar {text-align:right; font-size:.9em;}

.tiddler {padding:1em 1em 0em 1em;}

.missing .viewer,.missing .title {font-style:italic;}

.title {font-size:1.6em; font-weight:bold;}

.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}

.tiddler .button {padding:0.2em 0.4em;}

.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}

.footer {font-size:.9em;}
.footer li {display:inline;}

.annotation {padding:0.5em; margin:0.5em;}

* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0em 0.25em; padding:0em 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}

.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}

.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}

.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0em; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}

.fieldsetFix {border:0; padding:0; margin:1px 0px 1px 0px;}

.sparkline {line-height:1em;}
.sparktick {outline:0;}

.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}

* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0em; right:0em;}
#backstageButton a {padding:0.1em 0.4em 0.1em 0.4em; margin:0.1em 0.1em 0.1em 0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; margin:0em 3em 0em 3em; padding:1em 1em 1em 1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em 0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none ! important;}
#displayArea {margin: 1em 1em 0em 1em;}
/* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
noscript {display:none;}
}
/*}}}*/
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>
<!--}}}-->
To get started with this blank TiddlyWiki, you'll need to modify the following tiddlers:
* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* MainMenu: The menu (usually on the left)
* DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
These InterfaceOptions for customising TiddlyWiki are saved in your browser

Your username for signing your edits. Write it as a WikiWord (eg JoeBloggs)

<<option txtUserName>>
<<option chkSaveBackups>> SaveBackups
<<option chkAutoSave>> AutoSave
<<option chkRegExpSearch>> RegExpSearch
<<option chkCaseSensitiveSearch>> CaseSensitiveSearch
<<option chkAnimate>> EnableAnimations

----
Also see AdvancedOptions
<<importTiddlers>>
Genes from bacteriophages can cause bacterial cell lysis. Can we get these genes? (Is there one which will be enough alone?)
* Simple lytic phages, such as the single-stranded (ss) DNA phage φX174 and the ssRNA phages, have a single lysis gene (prototypical genes being //φX174 E//, //MS2 L// and //Qβ A2//).
* //φX174 E// seems(?) to be the best characterised at the moment, and encodes a single lysis protein that inhibits a specific step in murein biosynthesis.
* Fewer than 500 molecules of E are present at the time of lysis.
* Lysis by E requires continued host cell division. (We can't use the system that Paris used to make their "germline" non-divisible.)

The DNA sequence for E is:
ATGGTACGCTGGACTTTGTGGGATACCCTCGCTTTCCTGCTCCTGTTGAGTTTATTGCTG
CCGTCATTGCTTATTATGTTCATCCCGTCAACATTCAAACGGCCTGTCTCATCATGGAAG
GCGCTGAATTTACGGAAAACATTATTAATGGCGTCGAGCGTCCGGTTAAAGCCGCTGAAT
TGTTCGCGTTTACCTTGCGTGTACGCGCAGGAAACACTGACGTTCTTACTGACGCAGAAG
AAAACGTGCGTCAAAAATTACGTGCGGAAGGAGTGA

translates to:
MVRWTLWDTLAFLLLLSLLL
PSLLIMFIPSTFKRPVSSWK
ALNLRKTLLMASSVRLKPLN
CSRLPCVYAQETLTFLLTQK
KTCVKNYVRKE

''[[References|Scientific Paper References]]''
<html><a href="http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6TD0-3YTB3XW-P&_user=809099&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000043939&_version=1&_urlVersion=0&_userid=809099&md5=4fe8331984cfe4cb8de71c0c178fd5c7" target="_blank">2000: Phages will out: strategies of host cell lysis</a></html>
//E. coli// has loads of glucose-senstive genes, most of which are positively regulated by cAMP:

The action of adenylate cyclase is repressed by glucose. Low [glucose] results in an increase in the activity of adenylate cyclase, which converts AMP into cyclic AMP (cAMP). cAMP associates with the cAMP receptor protein (CRP, also known as the cAMP activator protein, CAP). CRP•cAMP can then associate with the CRP binding site upstream of the target gene promoter. CRP•cAMP then interacts with RNA polymerase, resulting in transcription of the gene.

Some examples of genes controlled in such a way are the //rpoH// (σ32, the heat-shock σ-factor), the sdhCDAB operon and the genes of the CAP regulon. The best characterised system seems to be the //lac// operon (part of the CAP regulon).

The //lac// operon has its CRP binding site at -70 -> -55, where CRP•cAMP binds as a dimer and interacts with the C-terminal domain of the α-subunit of the RNA Polymerase. We could take this sequence and add it to the same position upstream of the promoter of an artificial cellulase operon.

There are a couple of other things to think about though:
* The //lac// operon has its activity repressed by the LacI repressor, which binds to the operator, preventing the polymerase from binding to the promoter. Allolactose (an analogue of lactose) displaces LacI. - What this shows is that we do not want to copy the operator!
* Other catabolite-sensitive promoters bind CRP•cAMP in two locations, as two dimers. This could potentially be better for us. Needing 2 dimers to bind would make initiation of the transcription less sensitive.

Searching <html><a href="http://ecocyc.org/" target="_blank">EcoCyc</a></html> for CRP•cAMP transcriptional dual regulator regulated genes gives some 200 results. I propose that we want a gene whose activity is only controlled by CRP•cAMP, of which there appear to be five. The best candidate out of these seems to be //cstA//, the gene for a peptide transporter induced by carbon starvation. The CRP•cAMP transcriptional dual regulator is located at -89.5 from the transcription start site.

This gives a sequence:
* CRP-binding site: act cggttaaCGG AGTGATCGAG TTAACATTGt taagttaaa = 628968->629009
* Promoter: tca actccgattt acatggttgc tgtgttgtta aattgtacaa agatgttata gaaacaaAat gtaacatctc tatggaca = 629018->629098

CAGGAAA __act cggttaaCGG AGTGATCGAG TTAACATTGt taagttaaa__T ATTGGTT __tca
actccgattt acatggttgc tgtgttgtta aattgtacaa agatgttata gaaacaa''A''at
gtaacatctc tatggaca__CG CACACGGATA ACAACT//atg//A ACAAATCAGG GAAATACCTC
= 628970-629140

(The CRP-binding site and the promoter are both __underlined__. "''A''" is the transcription start site. "//atg//" is the start codon.)

We could add this sequence (up to the start codon) to our cellulase operon.

[[References|Scientific Paper References]]
2007: Molecular Genetics of Bacteria (3rd Edition) (Book)
For pCstA, could we use the excess glucose plate. Excess glucose would prevent up-regulation of any genes under the regulation of the promoter. If we attach //lacZ// downstream from the promoter, we should get less LacZ on the (+)glucose plate than on the (-)glucose plate. We could compare this to the amount of LacZ produced by cells on (+)/(-)glucose plates with lacZ under an endogenous promoter.

The promoter with lacI and lambda repressor repression that Chris was talking about appears to be <html><a href="http://partsregistry.org/wiki/index.php?title=Part:BBa_J33205" target="_blank">this</a></html> . 
//B. subtilis//
Gram +ve rod
genome: 4.2Mb single chromosome, 4,100 protein-coding genes, 53% represented once
Produces spores in unfavourable nutrient conditions. These spores are very resistant to heating, and only sporulate when conditions are favourable. - Storage potential.
Very rarely pathogenic
Motile (flagellate)

//E. coli//
Gram -ve rod
K12 genome (we use JM109): 4.6Mb single chromosome, 4,288 protein-coding genes
Better studied, so any problems will probably be easier to overcome

The processes of genome replication are similar, but there are differences
Both are highly amenable to genetic manipulation
Lipopolysaccharides (LPS) are toxic to humans, and are produced by gram -ve bacteria, but not by //B. subtilis//.
Create abstraction hierarchies - basically simplifying things down into component parts.
Ideally we want to decouple the machine aspect from the native (housekeeping etc.) functions of the cell.
The cell is the chassis, and we want to minimise the complexity of this.
''Vitamin A''
This has already been done last year with some problems with newly created biobricks and mutations occurring during PCR. Hot start PCR and improved targeted point mutation methods improved this over the past year (Douglas X's honours project and <html><a href="https://www.wiki.ed.ac.uk/display/CFrenchLabwiki/Carotenoids" target="_blank">C French's lab carotenoid pigment project</a></html>).

''Starch synthesis''

__''Other/Incorporations''__
''Bacterial stem cells''
Modify bacterial cells so that when they divide, one cell remains divisible, the other differentiates. The differentiate cells could then produce a product more efficiently than the stem cell. There would need to be some means of isolating the terminal cells from the undifferentiated cells, say by colour. This could be combined with starch or vitamin synthesis projects.
See <html><a href="http://parts.mit.edu/igem07/index.php/Paris" target="_blank">Paris '07 iGEM project</a></html>. Is this idea too similar to Paris' last year?

- This seems to be exactly what Paris did last year (but of course that doesn't mean that we can't use their work to supplement our own). Paris used site-specific recombination (SSR) during cell division to disrupt a gene required for cell division. This created differentiated, non-divisible (somatic) cells.
Adding to this:
We could use SSR to insert a useful gene (e.g. for starch production) into the gene disrupted in the Paris '07 model. This could both disrupt the cell division gene and activate the starch synthesis gene.
Why would this be useful? - Probably it wouldn't be. It would prevent the exponential expansion of the colony (each stem cell would have one daughter cell), so yield would surely be lower even though the individual somatic cells may be more efficient at producing starch than individual less adulterated cells.
The problem with colony growth could be overcome by using some environmental trigger to start differentiation, but then this removes any need for stem cells.
''Conclusion:'' There's probably no point in incorporating this idea, unless we think later on that it would massively increase product yield (unlikely). Paris did it sufficiently last year, so there's no point in us pursuing the idea as an end in itself.

''BABEL/MABEL'' - see <html><a href="https://www.wiki.ed.ac.uk/display/CFrenchLabwiki/home" target="_blank">C French's lab</a></html>
BABEL is a method of creating biobricks that can be inserted in either orientiation.
MABEL is a method of site-directed mutagenesis.
- Incorporating either of these into our project may earn us extra brownie points.
This is the focus of our project.

There seem to be two approaches: //''Starch vs. Glycogen''//
Using bacteria to produce starch and purifying it
Using bacteria to produce glycogen, then engineering an RNAse enzyme to make the bacteria food-safe (cf. quorn)
- RNAse could be used for the starch instead of purification. Purification is surely preferable to bacterial digestion though.
For RNAse, see Berkley '07's <html><a href="http://parts.mit.edu/igem07/index.php/BerkiGEM2007Present5" target="_blank">"Genetic Self-Destruct"</a></html> mechanism.

Problems:
Cellulose metabolism
Starch synthesis
Starch purification/bacterial neutralisation

''Starch synthesis''
Key enzyme to differentiate starch synthesis from glycogenesis = isoamylase? What about granule-bound starch synthase (GBSS)?
Plant starch = Amylose and amylopectin
Cyanobacterial starch has "<html><a href="http://mbe.oxfordjournals.org/cgi/content/full/25/3/536" target="_blank">identical patterns and structures</a></html>" to plant starch
Plants and green algae with isoamylase mutation make glycogen rather than starch

''[[References|Scientific Paper References]]''
<html><a href="http://mbe.oxfordjournals.org/cgi/content/full/25/3/536" target="_blank">2007: Metabolic Symbiosis and the Birth of the Plant Kingdom</a></html>
* ''Adler Ma'' - Cellulose metabolism
* ''Andy Hall'' - Starch synthesis
* ''Omar'' - Cost feasibility
* ''Wenhong Lee'' - Developing the website
* ''Xing He'' - Distinguishing between starch production and glycogen production/Assaying starch synthesis
* ''Ze Yan'' - Starch purification vs. Bacterial inactivation
''Glycogen''
* Eukaryotes make glycogen from UDP-glucose, most bacteria make it from ADP-glucose
In the bacterial core pathway. (//E. coli//'s genes):
** ADP glucose pyrophosphorylase (//glgC//) - Glucose-1-P + ATP <-> ADP-glucose + PPi
** Glycogen synthase (//glgA//)
** Glycogen phosphorylase
** Branching enzyme (//glgB//)
** Debranching enzyme (//glgX//) - ECL4 - Glycogen <-> Glycogen + Maltotetraose (Mutant = glycogen overproducer)
 - Organised in 2 neighbouring operons in //E. coli//.
** Also enzymes involved in malto-oligosaccharide utilisation (for catabolism?)

''Starch''
* ''Starch structure''
** Two types (Red algae etc. (= Floridian) vs. Green algae and higher plants)
** Made from ADP-glucose in plants and green algae
** Starch = Amylopectin ("[The] major compound of intermediate size α-1,4 linked glucans that are clustered together and hooked to longer spacer glucans by α-1,6 linkages) and amylose ("a smaller, essentially linear molecule with very few α-1,6 branches")
* ''GBSS''
** Granule-bound starch synthesase (GBSS) is required for amylose synthesis
** There are several GBSSs and starch synthases (SS) in plants - regionally/developmentally seperated?
** GBSSI (aka GBSS) is most important GBSS in amylose synthesis
** Mutants suggest that amylose synthesis is not required for normal starch granule biogenesis? and that amylose synthesis acts downstream of amylopectin synthesis - it needs the semi-crystalline starch granule to be present before amylose synthesis can occur
* Many branching enzymes in plants. They show partial redundancy. ''Check similarity to //E. coli// branching enzyme?''
* Green algae mutants defective in isoamylase produce glycogen instead of starch

''All together now...''

A feasible pathway may be:
1. Glucose + ATP -> ADP-glucose (by GlgC)
2. ADP-glucose -> Glycogen (by GlgA/Starch synthase + GlgB)
3. Glycogen -> Amylopectin (by Isoamylases (ISA) 1/2)
4. Amylopectin -> Starch (by Granule bound starch synthase)

Glucose + ATP -> ADP-glucose (by GlgC) is the rate-limiting step in bacteria, due to inhibition of GlgC by 5'-AMP, ADP or orthophosphate. (GlgA is the rate limiting step in mammalian glycogenesis.)
Therefore we want to upregulate GlgC by mutating the regulatory region or enzyme X to increase the overall product. The problem is that //E. coli// //glgC// has 2 EcoRI restriction sites.
So: ''Find a different //glgC// to use?''
(GlgC is activated by fructose 1,6 bis-phosphate)
ISA1 and ISA2 form a heterodimer which is essential for glycogen -> amylopectin?

ISA2 is aka Debranching Enzyme 1 - ''Would //E. coli// DE dimerise with ISA1?'' - My intuition says probably not, but possibly worth a look.
* Protein Blast of ISA2 against //E. coli// genes gave <html><a href="http://www.ncbi.nlm.nih.gov/entrez/viewer.fcgi?db=protein&val=117625705" target="_blank">glgX</a></html> as its best hit (score = 187, E value = 4e-47). It has only 28% sequence identity, gaps, and the //E. coli// protein is shorter, so probably could not be used interchangeably with ISA2.

See BioBricks

''[[References|Scientific Paper References]]''
<html><a href="http://carlin.lib.ed.ac.uk:2218/doi/full/10.1146/annurev.arplant.54.031902.134927" target="_blank">2003: From Bacterial Gycogen to Starch: Understanding the Biogenesis of the Plant Starch Granule</a></html>
<html><a href="http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=212844" target="_blank">1986: Cloning and expression of the <i>Escherichia coli glgC</i> gene from a mutant containing an ADPglucose pyrophosphorylase with altered allosteric properties</a></html>
It is probably logical to compose our genes as three operons (cellulose degradation, starch synthesis and β-carotene synthesis), so we need three promoters.

Genes in pSB1A2 (our vector) show some residual expression during the stationary phase without any additional promoter, so we could test the activity of the system, to an extent, without an additional promoter. Otherwise we could use the //lac//-promoter (that the team last year used) for proof of concept. (Expression of genes under the //lac//-promoter are inducible by isopropyl β-D-1-thiogalactopyranoside (IPTG).)

In our plan though we can use other promoters (for activation of genes under different circumstances or to different degrees). There are also various promoters in the registry which we can use, including constitutive promoters.
Sequencing primers are needed, only one (forward or back) for each reaction. These primers are kept in the antibiotics box in the freezer.

Protocol:
* Add 5μl DNA to a sequencing tube.
* Add 1μl primer
* Spin briefly (a couple of seconds) if there is any liquid on the sides of the tube.
The sequencing tubes should be labelled and put in the fridge on the 6th floor before 1200 ready to be taken away for sequencing. A sheet needs filling in while down there listing the names of the tubes, your name, the group leader's name, the grant no. (you can get from me or Chris), and an email address to which the results can be sent. 'Reaction required' must also be circled.
''α-haemolysin translocator complex'' – Nothing yet
''//hlyA//'' - Nothing yet
''//hlyB//'' – Nothing yet
''//hlyD//'' – Nothing yet
''//cenA//'' – We have a stock of Cellulomonas fimi, but PCR hasn’t worked yet
''//cenB//'' – We have a stock of Cellulomonas fimi, but PCR hasn’t worked yet
''//cenC//'' – We have a stock of Cellulomonas fimi, but PCR hasn’t worked yet
''//cex//'' – We have a stock of Cellulomonas fimi, but PCR hasn’t worked yet
''β-glucosidase'' – Nothing yet
''//cstA// transcription factor binding site'' - Nothing yet
''//comK//'' – Nothing yet
''//comK// transcription factor binding site'' – Nothing yet
''φX174 //E//'' – Nothing yet
''//glgC//'' – Both forbidden restriction sites have been removed, but the gene is in the wrong orientation. Waiting to add to registry and waiting for 3rd set of mutagenic primers.
''//Isa1//'' – Waiting for Zea mayz(?) culture
''//Isa2//'' – Waiting for Zea mayz(?) culture
''//gbss//'' – Waiting for Zea mayz(?) culture
''//dxs//'' – Added to registry (BBa_K118000), currently trying to add ribosome binding site
''//crtE//'' – BioBrick complete from last year.
''//crtB//'' – Waiting to add to registry. Currently trying to add rbs.
''//crtI//'' – Waiting to add to registry. Currently trying to add rbs.
''//crtY//'' – First PCR failed. Next step is to retry the PCR.
''//appY//'' – Added to registry (BBa_K118001), currently trying to add rbs.
''//lims// (BBa_I742111)'' – Nothing yet
''RNAse (BBa_I716463)'' – Nothing yet
Genes we might need:
    * //Cellulomonas fimi// endoglucanase A (//cenC//)
    * C. fimi endoglucanase B (//cenB//)
    * C. fimi endoglucanase C (C. fimi 1,4-β-glucanase //cenC//)
    * C. fimi exoglucanase (//cex//)

''[[References|Scientific Paper References]]''
<html><a href="http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6T4X-3WBR2JC-172&_user=809099&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000043939&_version=1&_urlVersion=0&_userid=809099&md5=0de607e8a514c165f114f911b01e1971" target="_blank">1997: The Glucanases of <i>Cellulomonas</i></a></html>
SBML = Systems Biology Markup Language
Model and software ideas

Synthetic biology is involved with small gene regulatory circuits (less encompassing than systems biology)
Kinetic models are used to determine the rate of reactions:
 - What factors affect the reaction rate?
 - In what function do they affect the reaction rate?

Mass action kinetics = simplest (v = k*S1*S2*...*Sn)
Michaelis-Menten kinetics = for enzymes (v = vmS/(Km+S))
Hill equations (v = vmS^h/(K^h+S^h)) - Where h = the Hill coefficient

See SFP3 notes on Hill equations etc. and the last web tutoiral of MCB3

''Links''
Databases on metabolic pathways:
<html><a href="http://biocyc.org/" target="_blank">BioCyc Database Collection</a></html>
<html><a href="http://www.brenda-enzymes.info/" target="_blank">Brenda Enzyme Database</a></html>
<html><a href="http://www.expasy.ch/" target="_blank">ExPASy Proteomics Server</a></html>
<html><a href="http://www.genome.ad.jp/kegg/" target="_blank">KEGG: Kyoto Encyclopaedia of Genes and Genomes</a></html>

Databases on gene regulation:
<html><a href="http://ecocyc.org/" target="_blank">EcoCyc:  Encyclopedia of <i>Escherichia coli</i> K-12 Genes and Metabolism</a></html>
<html><a href="http://regulondb.ccg.unam.mx/" target="_blank">RegulonDB: <i>E. coli</i> K12 Transcriptional Network</a></html>

Software tools for modelling:
<html><a href="http://www.copasi.org/tiki-index.php" target="_blank">COPASI: Complex Pathway Simulator</a></html>

''[[References|Scientific Paper References]]''
<html><a href="http://www.nature.com/nbt/journal/v24/n6/full/nbt0606-667.html" target="_blank">2006: Tools for kinetic modeling of biochemical networks</a></html>
<html><a href="http://www.nature.com/nature/journal/v435/n7038/full/nature03508.html" target="_blank">2005: A synthetic gene−metabolic oscillator</a></html>
<html><a href="http://www.pnas.org/cgi/content/abstract/100/21/11980" target="_blank">2003: Structure and function of the feed-forward loop network motif</a></html>
<html><a href="http://www.nature.com/nature/journal/v403/n6767/full/403339a0.html" target="_blank">2000: Construction of a genetic toggle switch in <i>Escherichia coli</i></a></html>
<html><a href="http://www.nature.com/nature/journal/v403/n6767/full/403335a0.html" target="_blank">2000: A synthetic oscillatory network of transcriptional regulators</a></html>
''Forbidden restriction sites:''
EcoRI - GAATTC
NotI - GCGGCCGC
XbaI - TCTAGA
SpeI - ACTAGT
PstI - CTGCAG

''BioBrick Prefix:''
EcoRI: 5'-G^A A T T C-3'
NotI: 5'-G C^G G C C G C-3'
XbaI: 5'-T^C T A G A-3'

''BioBrick Suffix:''
SpeI: 5'-A^C T A G T-3'
NotI: 5'-G C^G G C C G C-3'
PstI: 5'-C T G C A^G-3'

''RBS Prefix:''
(EcoRI: 5'-G^A A T T C-3'?)
(NotI: 5'-G C^G G C C G C-3'?)
XbaI: 5'-T^C T A G A-3'
SacI: 5'-G A G C T^C-3'

''RBS Suffix:''
(SpeI: 5'-A^C T A G T-3'?)
(NotI: 5'-G C^G G C C G C-3'?)
(PstI: 5'-C T G C A^G-3'?)

''Edinbrick:''
SacI: 5'-G A G C T^C-3'
* PCR gene using specific primers that add the prefix and suffix (run on gel)
* Digest and ligate to plasmid
* Transform cells
* Miniprep (sequence and submit)
* Digest using EcoRI and XbaI to create sicky end for SpeI sticky end and scar
* Add rbs (already digested with EcoRI and SpeI)
* Ligate
* PCR using forward primer matching the RBS and generic BioBrick reverse primer (which creates product with entire suffix, inc. PstI site)
* Digest fusion PCR product and Edinbrick1 vector using XbaI and PstI
* Ligate
* Transform cells
''We should hope to achieve in the lab 10% of what we design in theory.''

Cellulose degradation:
* Cellulose degradation is really complicated. There are various different mechanisms that various different organisms use. (What is traditionally known is derived from work done on //Trichoderma reesei//, a fungus which is easilly cultured, but there are many other mechanisms.) Over the past ~50 years attempts to introduce cellulases into //E. coli// have yielded poor results.
* That isn't to say that we should give up on cellulose degredation.
** //Cytophaga hutchinsonii// is a cellulolytic bacterium whose genome has been sequenced. PhD students working under Chris French are investigating cellulases from this bacterium. We could use this ''(needs some research)''. A talk by the PhD students has been suggested, and would probably be useful for us even if we have already decided by then not to use //C. hutchinsonii//.
** Chris isn't opposed to the idea of ordering a stock of //Cellulomonas// if we know the gene we need, and we can get the right strain. A strain would be best ordered from <html><a href="http://www.ncimb.com/" target="_blank">NCIMB</a></html> in the UK, but there are other companies in Europe and America (from which the strain would take long to arrive and would probably be more expensive). Chris says he would be quite keen to have his PhD students working //Cellulomonas// anyway (hence his approvable of ordering it).
There are alternatives to actually using our chassis organism to degrade cellulose though:
* //E. coli// is naturally able to metabolise pentose sugars (arabinose, xylose etc.), which are the products of hemicellulose hydrolysis. Hemicellulose is similar to cellulose and present in a lot of waste biomass. It can be broken down into pentose sugars by the action of dilute acid. We could grow our modified strain of //E. coli// on a hemicellulose hydrolysate medium.
* //E. coli// is able to metabolise lactose, a sugar which can be retrieved from whey. Whey is a waste product of the dairy industry, of which, because of its biological oxygen demand (BOD), dairies have to pay companies to dispose of. So we could probably get whey for free, although there probably isn't much of it hanging around the 3rd world! (But this idea would make it easy to use last year's <html><a href="http://parts.mit.edu/igem07/index.php/Edinburgh/Yoghurt/Design" target="_blank"> vanilla-flavouring system</a></html>, where vanillin is derived from tyr, which is naturally present in milk. - //E. coli// does naturally make tyr though.)
* The final idea is to used mixed cultures. This would mean using a cellulytic organism to break down cellulose. Because the demand for C, N and P are roughly in a 100:10:1 ratio, and cellulose is has them in a roughly 100:0:0 ratio, the cellulytic organisms secrete high-C waste products that can then be naturally metabolised by //E. coli//. Chris is currently investigating the feasibility of this, culturing //E. coli// with //C. hutchinsonii// and paper.

Related things to consider:
* To get a bacterial gene, it's best to order a strain of said bacteria and use PCR to amplify the gene ourselves. An unfavourable alternative is to order custom-made genes from <html><a href="http://www.geneart.com/" target="_blank">GeneArt</a></html>, which would be expensive and could take as long as 2 months to get here (in theory it shouldn't take longer than a few weeks, but it was 2 months when they tried it last summer).
* Cellulase enzymes need to be secreted. The secretory pathway of //E. coli// is apparently poorly understand (unlike that of //B. subtilis//), and is unlike the canonical bacterial secretory pathway. If we are using //E. coli// and cloning cellulase enzymes into them, we need to find out how to secrete the enzymes.
** A method may be to fuse cellulase to the C-terminus of Haemolysin A (a secreted //E. coli// protein). We could make a secretory biobrick construct whereby potentially any protein could be coupled to the N-terminal part of HlyA. (This would be good for the registry.)
See <html><a href="http://openwetware.org/wiki/The_BioBricks_Foundation:Standards/Technical/Formats" target="_blank">this page on OpenWetWear</a></html> for information on the different methods for creating fusion BioBricks.
''Genes''
//E. coli//’s glycogen genes are arranged in two independent clusters: //glgBX// and //glgCAP// (1).
Other genes involved: //pgm//, //aspP// and //glgS// (1).
Transforming cells with a plasmid containing //glgA// and //glgC// under their endogenous promoters increased glycogen production by ~5x (3).
A regulatory mutation of //glgQ// increased glycogen production by ~5x (3)

''Assays''
"''2.1. E. coli K-12 mutants and culture conditions''  .. For quantitative measurement of glycogen content, cells were grown at 37 °C with rapid gyratory shaking in liquid Kornberg medium (1.1% K2HPO4, 0.85% KH2PO4, 0.6% yeast extract from Duchefa, Haarlem, The Netherlands) supplemented with 50 mM glucose after inoculation with 1 vol. of an overnight culture for 50 vol. of fresh medium. Cells from cultures entering the stationary phase were centrifuged at 4400 × g for 15 min, rinsed with fresh Kornberg medium, resuspended in 40 mM Tris–HCl (pH 7.5) and disrupted by sonication prior to quantitative glycogen measurement (see below). Solid Kornberg medium was prepared by addition of 1.8% bacteriological agar to liquid Kornberg medium before autoclaving. When required, filter-sterilized l-cysteine (Cys) or l-glutamine (Gln) was added to the culture medium to a final concentration of 1 mM.
''"2.2. Screening of mutants with altered glycogen content''  First screening of glycogen mutants on solid Kornberg medium was carried out following the glycogen iodine staining method [27]. Mutants identified using this procedure were subsequently cultured in liquid glucose Kornberg medium and subjected to quantitative glycogen measurement analyses using an amyloglucosidase/hexokinase/glucose-6P dehydrogenase-based test kit from Sigma. Intracellular glycogen content was referred to protein, which was measured using a Bio-Rad prepared reagent."(1)
"In the presence of iodine vapors, “glycogen-excess” mutants stain darker than their brownish parental cells, whereas “glycogen-deficient” mutants stain yellow." (1)

"The cells were washed and plated immediately on an enriched medium [0.85% KH(2)PO(4), 1.1% K(2)HPO(4), 0.6% yeast extract (Difco), 1% glucose, 1.5% agar (Difco)]. Alterations in ability to store glycogen were detected by staining cell colonies with an  iodine solution (0.01M I(2), 0.03M KI, 5 ml per plate)." (2)
"The intensitites of staining of both the parents strain and the mutants are dependent on the medium and on the time of incubation. However, under the same conditions, "glycogen-excess" mutants always stain darker than or the same as parents colonies, and glycogen-deficient mutants always stain lighter than or the same as parent colonies. Differences in staining are consistent with quantitative differences in glycogen accumulation." (2)
Some mutants were grown on "a minimal medium [basal salts solution P, pH 7.0, 0.12% (NH4)2SO4, 0.6% glucose]" (2) - See Fraenkel, D. and F. Neidhardt, 1961. "Use of chloramphenicol to study control of RNA synthesis in bacteria." Biochem. Biophys. Acta 53: 96-110.

Glycogen granules have <50nm diameter (4).
Starch granules have 0.1-50μm diameter (4).

"''Assay of glycogen content.'' The cell pellet from 20 ml of culture was suspended in 50 mM Tris-EDTA-acetate buffer (pH 7.8) and centrifuged at 5,000 × g for 5 min. The pellet was resuspended in 200 mM sodium acetate buffer (pH 4.5; 3 ml of buffer/g of cells) and sonicated after addition of 10 μl of 0.1 M Pefabloc per ml. The crude extract was then divided into aliquots for glycogen and protein analyses. The glycogen assay was performed by using a modification of the method proposed in the Megazyme total starch analysis procedure (α-amylase/amyloglucosidase). Amyloglucosidase (10 μl of a 200-U/ml solution) was added to 100 μl of the crude extract and incubated for 30 min at 50°C. After centrifugation for 5 min at 14,000 × g, 1 ml of the glucose oxidase/peroxidase (GOPOD) reagent was added to the supernatant, and the reaction mixture was incubated for 20 min at 50°C prior to measurement of the A510. The glucose concentration was determined by using a standard curve covering the range from 0 to 50 μg of glucose per ml. Control reaction mixtures lacking amyloglucosidase were used for all samples, but they had negligible glucose contents." (5)
Glycogen is naturally accumulated when carbon is abundant, but another nutrient required for growth is limiting. (5)
Grow on Luria-Bertani (LB) medium. (5)
(5) used the iodine vapour method mentioned in (6) to assay glycogen.

"The detection of mutants was made by flooding colonies with iodine solution (0.2 I2 in 0.4% KI) on solid media. Colonies of the parent strain which accumulate glycogen on synthetic medium containing 80mg of ammonium chloride and 3g of glucose per liter are red-brown with iodine solution." (6)

''[[References|Scientific Paper References]]''
(1) <html><a href="http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6T36-4NTHKYW-5&_user=809099&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000043939&_version=1&_urlVersion=0&_userid=809099&md5=196a62a013c9218fd0561ea53f923e05" target="_blank">2007: Genome-wide screening of genes affecting glycogen metabolism in <i>Escherichia coli</i> K-12</a></html>
(2) <html><a href="http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=249791" target="_blank">1969: Isolation of mutants of <i>Escherichia coli</i> K-12</a></html>
(3) <html><a href="http://www3.interscience.wiley.com/journal/107624200/abstract?CRETRY=1&SRETRY=0" target="_blank">1994: Overproduction of glycogen in <i>Escherichia coli</i> blocked in the acetate pathway improves cell growth</a></html> ABSTRACT ONLY
(4)  <html><a href="http://arjournals.annualreviews.org/doi/full/10.1146/annurev.arplant.54.031902.134927" target="_blank">2003: FROM BACTERIAL GLYCOGEN TO STARCH: Understanding the Biogenesis of the Plant Starch Granule</a></html>
(5)  <html><a href="http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=545640" target="_blank">2005: Role of the <i>Escherichia coli</i> <i>glgX</i> Gene in Glycogen Metabolism</a></html>
(6) 1968: Mutants of //Escherichia coli// K 12 altered in their ability to store glycogen
"Many genes thought to encode proteins involved in cellulose utilization were identified. These include candidate endo-β-1,4-glucanases and β-glucosidases. Surprisingly, obvious homologs of known cellobiohydrolases were not detected. Since such enzymes are needed for efficient cellulose digestion by well-studied cellulolytic bacteria, //C. hutchinsonii// either has novel cellobiohydrolases or has an unusual method of cellulose utilization." - <html><a href="http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=1932680" target="_blank">Link</a></html>

//C. hutchinsonii// has binds to cellulolytic fibres and glides along them. It is hypothesised that it has to be attached to the medium to be able to utilise it. The enzymes involved in the cellulolysis are unknown though. There are candidate genes, but nothing concrete.

Based on this information, I think we should concentrate on trying to introduce //Cellulomonas// genes into E. coli. It might be worth us questioning Chris on his PhD students' progress with //C. hutchinsonii//. Cellulose degradation is the most ambitious part of our plan, and we should accept that we might have to give it up in practice and pursue an alternative mentioned [[yesterday|24 June 2008 - Notes from meeting with Chris]].

''[[References|Scientific Paper References]]''
<html><a href="http://www.blackwell-synergy.com/doi/full/10.1196/annals.1419.026" target="_blank">2008: Three Microbial Strategies for Plant Cell Wall Degradation</a></html>
<html><a href="http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=1932680" target="_blank">2007: Genome Sequence of the Cellulolytic Gliding Bacterium <i>Cytophaga hutchinsonii</i></a></html>
There seem to be two options:
''1. ''Attach the trans-gene to the C-terminus of Haemolysin A, a protein from enterohaemorrhagic //E. coli//.
''2. ''Use a (to me at least) poorly understood mechanism for secretion of a native //E. coli// K12 protein.
//glgC16// = the mutation that reduced inhibiton of GlgC in //E. coli// 618. - <html><a href="http://www.pubmedcentral.nih.gov/picrender.fcgi?artid=212844&blobtype=pdf" target="_blank">Link</a></html>
The phenotype is a result of a Gly->Asp change at position 336.
"The mutant enzyme had altered kinetic properties, including higher activity in the absence of the activator fructose 1,6-bisphosphate (FBP), higher apparent affinity for FBP and substrates, and lower apparent affinity for the inhibitor AMP." - <html><a href="http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6WB5-45KKRWW-9P&_user=809099&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000043939&_version=1&_urlVersion=0&_userid=809099&md5=aa8d0cb9ae204115911c188cbdc31b16f" target="_blank">Link</a></html>

To achieve 336:G->D we can mutate base 1076:g->a (codon ggc->gac)

''Mutant primers:''
Forward: acggttgtgtgatctccg - 54°C
Reverse: cggaaaccagtgagttaag - 56°C

''[[References|Scientific Paper References]]''
<html><a href="http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6WB5-45KKRWW-9P&_user=809099&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000043939&_version=1&_urlVersion=0&_userid=809099&md5=aa8d0cb9ae204115911c188cbdc31b16f" target="_blank">1998 - Site-Directed Mutagenesis of a Regulatory Site of <i>Escherichia coli</i> ADP-Glucose Pyrophosphorylase: The Role of Residue 336 in Allosteric Behavior</a></html>
<html><a href="http://www.pubmedcentral.nih.gov/picrender.fcgi?artid=212844&blobtype=pdf" target="_blank">1986 - Cloning and expression of the <i>Escherichia coli glgC</i> gene from a mutant containing an ADPglucose pyrophosphorylase with altered allosteric properties</a></html>
''Mutant primers for //glgC// forbidden restriction sites'' - See [[glgC mutant primers.doc|file://///mull.sms.ed.ac.uk\Home\s0569460\IGEM\glgC mutant primers.doc]]

Restriction site 1:
Forward: tgttgaaaaacctgctaacc - 54°C
Reverse: aattcgataattttatcgttc -52°C

Restriction site 2:
Forward: atcattctgcaacattgattcc - 54°C
Reverse: ttcacgcgaacgcgcg - 54°C
''References and links''
<html><a href="http://oregonstate.edu/instruction/bb450/fall2007/lecture/glycogennotes.html" target="_blank">Glycogen metabolism notes</a></html>
"''Starch Purification and Quantification''
Cells were harvested after 5–6 days of culture by centrifugation 10 min at 3,000 x g at 4 °C. The pellets were resuspended in water, and cells disrupted using a French press (10,000 Psi). Starch and cell debris were collected by centrifugation (10,000 x g, 15 min) and resuspended in 90% Percoll (GE Healthcare, formerly Amersham Bioscience, Little Chalfont, UK). Due to density differences, starch can be pelleted by centrifugation (10,000 x g, 30 min) away from the bulk of cell debris. The gradient step was repeated once to insure a complete removal of cell debris from the starch pellet. Starch was then washed twice in sterile water. Clean white starch pellets were stored at 4 °C. Starch or {alpha}-1,4 glucans amounts were assayed using the Diffchamb Enzyplus Starch kit (Diffchamb, Lyon, France).

''In Vitro Synthesis of Amylose''
The enzyme activity of GBSS can be assayed as follows: 2 mg of native starch granules were incubated for 12 h at 30 °C in 100 µl of 50 mM Tris/HCl pH 7.5, 0.47% mercaptoethanol, 5.5 mM MgCl2, 3.2 mM ADP-Glc, and 2.2 µM 14C radiolabelled ADP-glucose (GE Healthcare, formerly Amersham Bioscience) at 304 mCi/mmol. Tubes were vigorously shaken during incubation, and the reaction was stopped by adding 900 µl 70% ethanol. Granules were washed twice with 1 ml 70% ethanol and dried. Incubated starch granules were boiled in 50 µl of 30% dimethyl sulfoxide (DMSO) at 98 °C during 10 min. The dispersed starch samples were debranched by Pseudomonas amylodermosa isoamylase as described above. Linear glucan chains were subjected to TSK HW50 chromatography running at 10 ml/min in 10% DMSO (D = 1 cM H = 47 cM). A total of 30 µl of each fraction (200 µl) was used to determine the equivalent of glucose following miniaturized procedures (Fox and Robyt 1991Go). The radioactivity was measured by liquid scintillation counting as described previously (van de Wal et al. 1998Go).

''Extraction and Visualization of Granule-Bound Proteins''
A complete procedure for starch granule–bound protein extraction by sodium dodecyl sulfate (SDS) boiling and their separation by SDS page is described in Deschamps et al. (2006)Go. Major proteins were subjected to trypsic digestion and analyzed by QSTAR-QqTOF tandem hybrid system to build a peptide map and sequence the major peptides.

''Transmission Electron Microscopy Observation''
Starch granules were treated by 2.2 N hydrochloric acid during 48 h, at 37 °C. After washing to neutrality by repeated centrifugation in distilled water, drops of suspensions were deposited onto glow-discharged carbon-coated transmission electron microscopy (TEM) grids and negatively stained with 2% uranyl acetate. The specimens were observed using a Philips CM200 microscope operating at 80 kV. The images were recorded on Kodak SO163 films." (1)

''[[References|Scientific Paper References]]''
(1) <html><a href="http://mbe.oxfordjournals.org/cgi/content/full/25/3/536?ck=nck" target="_blank">2008: Metabolic Symbiosis and the Birth of the Plant Kingdom</a></html>
<html><a href="http://parts.mit.edu/igem07/index.php/Paris" target="_blank">Paris '07</a></html> designed what they called a "synthetic multicellular bacterium" (SMB). This involved reproductively capable "germline" cells which were dependent on diaminopimelate (DAP), a metabolite produced by reproductively incapable "somatic" cells. Low concentrations of DAP triggered the transcription of Cre-recombinase (under the influence of DAP-sensitive promoter), which caused the removal of a gene required for bacterial reproduction by site-specific recombination (SSR), and resulted in the activation of a gene for the production of DAP by them.

We could adapt this system to cause some cells to produce cellulases and then lyse to release them into the medium. However, a simpler method could by-pass the need for SSR and could be as follows:
* Our cellulase genes could be under the influence of a promoter sensitive to glucose concentration (activated by low [glucose], inhibited by high [glucose]). Low glucose would, therefore, cause the production of cellulases in some cells.
* We could engineer a reporter gene just downstream of a cellulase gene (under the influence of the same promoter), which could act as a transcriptional activator for lysis genes.
* So low glucose concentration would cause some cells to produce cellulases and the lysis gene transcription factor. Thus the cells would lyse, releasing the cellulases into the cellulose growth medium. The cellulases would work //ex vivo// to break down cellulose into glucose, which could then be taken up by other cells and converted into starch until the glucose is depleted to insufficient levels.
This seems to be one of those ideas that, if it works, would be very "elegant", an abstract term that biologists seem to love! It might also provide some more interesting modelling opportunities than the very linear metabolic pathways, and we shouldn't need so much data to model this idea. (I still think that secretion of cellulases would be better though - it would be more straightforward, if possible.)

Next step along this train of thought: ''Find a promoter that is repressed by glucose!''
Cellulose content is "typically in the range of approximately 35 to 50% of plant dry weight" (1, ref. 410)

''[[References|Scientific Paper References]]''
(1) <html><a href="http://mmbr.asm.org/cgi/reprint/66/3/506" target="_blank">2002: Microbial Cellulose Utilization: Fundamentals and Biotechnology</a></html>
I need to find a prokaryotic gene (no post-translational modifications), which can act as a transcription factor, but which is not natively present in //E. coli// (or //B. subtilis///).
* //E. coli// is a gamma-proteobacterium (phylum: proteobacteria, section: gammaproteobacteria), //B. subtilis// is a gram positive (phylum: firmicutes, section: bacillales).
* RNA sequencing suggests that planctomycetes are distantly diverged from other eubacteria, and they are non-pathogenic. Would these be good candidates for a transcription factor?
Possibilities:
//B. subtilis// //comK// competence transcription factor (CTF)
 - ComK-binding motif is AAAANNNNNTTTT
 - Binding motif should be located within 500bp of the start codon of the regulated gene
 - ComGA is upregulated by ComK
 - But no sequence in //B. subtilis// matches what is supposedly the ComK-binding motif of //comGA//.
 - An alternative: ComK upregulates its own expression, so we could use that operator.

ComK-binding motif of //comK// gene:
//agt__aaaa__tcg gt__ttat__tact agtcatttagt accattaaat atcatt__aaaa__ gatga__tttt__a t//cttaaatgt taaaaaaacc tgtcgtttta caaaaacaga tgatagatta ttagtataaa ttttgcagaa aaaggatgga ggccataatA TG...
(//Italics// is the sequence identified by <html><a href="http://www.phri.org/research/pdf/res_art_dubnau02.pdf" target="_blank">Berka <i>et al.</i>( 2002)</a></html>, __underlined__ are conserved binding motif units, CAPS represents the start of the gene.)

//comK// nucleotide sequence:
__ATG__agtcaga aaacagacgc acctttagaa tcgtatgaag tgaacggcgc aacaattgcc gtgctgccag aagaaataga cggcaaaatc tgttccaaaa ttattgaaaa agattgcgtg ttttatgtaa acatgaagcc gctgcaaatt gtcgacagaa gctgccgatt ttttggatca agctatgcgg gaagaaaagc aggaacttat gaagtgacaa aaatttcaca caagccgccg atcatggtgg acccttcgaa ccaaatcttt ttattcccta cactttcttc gacaagaccc caatgcggct ggatttccca tgtgcatgta aaagaattca aagcgactga attcgacgat acggaagtga cgttttccaa tgggaaaacg atggagctgc cgatctctta taattcgttc gagaaccagg tataccgaac agcgtggctc agaaccaaat tccaagacag aatcgaccac cgcgtgccga aaagacagga atttatgctg tacccgaaag aagagcggac gaagatgatt tatgatttta ttttgcgtga gctcggggaa cggtat__tag__
(Underlined are the start and stop codons)

''[[References|Scientific Paper References]]''
<html><a href="http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6VS2-4BYF671-4&_user=809099&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000043939&_version=1&_urlVersion=0&_userid=809099&md5=e0f2345b309fd558f342cfa4ecf35610" target="_blank">2004: Regulation at complex bacterial promoters: how bacteria use different promoter organizations to produce different regulatory outcomes</a></html>
<html><a href="http://www.phri.org/research/pdf/res_art_dubnau02.pdf" target="_blank">2002: Microarray analysis of the <i>Bacillus subtilis</i> K-state: genome-wide expression changes dependent on ComK</a></html>
<html><a href="http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6VS2-466NN3R-5&_user=809099&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000043939&_version=1&_urlVersion=0&_userid=809099&md5=f24885983c48f33a99e94b3c4ed1cac3" target="_blank">1998: Positive activation of gene expression</a></html>
<html><a href="http://www.ncbi.nlm.nih.gov/sites/entrez?cmd=Link&db=pubmed&LinkName=pubmed_pubmed&from_uid=11758454" target="_blank">Further links</a></html>
Vanilla flavouring would be optimal, but the parts from last year are still in the planning stage. The best alternative would be to use limonene synthesis from <html><a href="http://parts.mit.edu/igem07/index.php/Edinburgh/Yoghurt/Design#Lemon_Flavour_Production"_blank">Edinburgh '07</a></html>. This uses a single gene (limonene synthase) to create the phenol thought to be 90% responsible for the lemon flavour from geranyl diphosphate (an intermediate in the mevalonate pathway).

The BioBrick part for this is <html><a href="http://partsregistry.org/wiki/index.php/Part:BBa_I742111"_blank">BBa_1742111</a></html>
β-glucosidase is responsible for converting cellobiose (a disaccharide of glucose with a β(1→4) bond) to glucose. - Needs to be secreted.
We might be able to make do with only one endoglucosinase (the genes have too many forbidden restriction sites for us to make them acceptable in the time we have)
Add transcription factor gene
Add [[RNAse|8 July 2008 - RNAse]]
See <html><a href="http://parts.mit.edu/igem07/index.php/BerkiGEM2007Present5" target="_blank">Berkley '07</a></html> for the description of RNAse and their <html><a href="http://partsregistry.org/cgi/partsdb/pgroup.cgi?pgroup=iGEM2007&group=iGEM2007_Berkeley_UC" target="_blank">team parts page</a></html> for the BioBricks

We would want part <html><a href="http://partsregistry.org/wiki/index.php?title=Part:BBa_I716463" target="_blank">BBa_I716463</a></html>, an arabinose-inducible RNAse
See <html><a href="http://parts.mit.edu/igem07/index.php/Image:Zeaxanthin.jpg" target="_blank">Zeaxanthin pathway</a></html>.

We want genes //crtE//, //crtB//, //crtI// and //crtY// to produce β-carotene from farnesyl diphosphate.

Where do //dxs// (DXP, 1-deoxy-D-xylulose-5-phosphate) and //appY// come in?
* DXP participates in the rate-limiting step in the synthesis of isopentenyl pyrophosphate (IPP).
* //appY// encodes a transcriptional regulator related to anaerobic energy metabolism. It is not directly involved in the lycopene synthesis pathway. (Lycopene is the step immediately before β-carotene)
* Co-expression of //appY// with //dxs// has been reported to produce 8x the amount of lycopene that was produced without expression of both genes.
* DXP transfers glyceraldehyde-3-phosphate and pyruvate from the glycolysis pathway to the lycopene synthesis pathway.

[[References|Scientific Paper References]]
<html><a href="http://www3.interscience.wiley.com/cgi-bin/fulltext/110496964/PDFSTART" target="_blank">2005: Identification of genes affecting lycopene accumulation in Escherichia coli using a shot-gun method</a></html>
Biobricks that we will potentially need to use/create:

''Starch synthesis/glycogen accumulation''
* Glucose-1-phosphate adenylyltransferase (//glgC//) regulatory mutation - Can be cloned directly from //E. coli//
** We can do this by performing site-directed mutagenesis on the regulatory domain (''where is this?'') and then inserting it. The gene will be present in parrallel with the WT gene, whose activity will be inhibited. Being a gain of function mutation, GlgC+ will be able to override the inactivity of WT GlgC - i.e. we don't need to knock-out the WT gene. (The same will go for other similar situations, and site-directed mutagenesis will be used to remove forbidden restriction sites - ''in which genes are these''?)
*** Primers ordered (20 June 2008) - See [[StarchGenes20jun08.doc|file://///mull.sms.ed.ac.uk\Home\s0569460\IGEM\StarchGenes20jun08.doc]]
* Isoamylase (ISA)<html><a href="http://www.arabidopsis.org/servlets/TairObject?id=34764&type=locus" target="_blank">1</a></html>/<html><a href="http://www.arabidopsis.org/servlets/TairObject?id=27881&type=locus" target="_blank">2</a></html>
* <html><a href="http://www.arabidopsis.org/servlets/TairObject?id=31189&type=locus" target="_blank">Granule-bound starch synthase (GBSS)</a></html>?
''Cellulose degradation''
* //Cellulomonas fimi// endoglucanase A (CenC)
* //C. fimi// endoglucanase B (CenB)
* //C. fimi// endoglucanase C (C. fimi 1,4-β-glucanase CenC)
* //C. fimi// exoglucanase (Cex)

''Biobricks so far:''
BBa_K118000: //dxs//
BBa_K118001: //appY//
[[To do]]
[[Noncommenced gene statuses]]
[[Plan of Action]]
All gene/proteins are present in //E. coli// K12 unless otherwise stated. __Underlined__ are transgenic components or native components which will otherwise modify.

__''PART 1: CONVERSION OF CELLULOSE TO GLUCOSE''__
__''Option 1''__
__''α-haemolysin translocator complex''__ - The protein complex in //E. coli// responsible for secreting proteins targeted outside the cell. It is composed of:
__''//hlyB//''__ - Haemolysin B gene, the cytoplasmic component of the translocator complex. (Gene not present in //E. coli// K12.)
__''//hlyD//''__ - Haemolysin D gene, the periplasmic component of the translocator complex. (Gene not present in //E. coli// K12.)
''//tolC//'' - The outer membrane component of the translocator complex.
__''Cellulase operon''__ - Artificially composed. Consists of the //Cellulomonas fimi// endoglucanase A, B and C genes (//cenA//, //cenB//, //cenC//) and the //C. fimi// exoglucanase gene (//cex//). Together these genes will convert cellulose into cellobiose extracellularly, and then β-glucosidase will hydrolyse cellobiose to glucose.
__''C-terminal region of Haemolysin A''__ - This region acts a signal sequence to target Haemolysin A to the translocator complex. We can try attaching it to our cellulase genes in the hope of having them secreted.

__''Option 2''__
''Adenylate cyclase'' - Converts adenosine monophosphate (AMP) to 3'-5'-cyclic AMP (cAMP). The enzyme is inhibited by glucose, so a low concentration of glucose will result in a higher yield of cAMP.
''cAMP receptor protein'' - Acts as a transcription factor when it has bound cAMP.
__''//cstA// transcription factor binding site''__ - //cstA// codes for a peptide transporter induced by carbon starvation. The operator is a CRP•cAMP dual regulator that associates with two CRP proteins bound with cAMP. This binding activates transcription from the //cstA// promoter. We could insert this non-coding section of DNA upstream of the cellulase operon to make cellulase synthesis glucose-sensitive.
__''Cellulase operon''__ - Artificially composed. Consists of the //Cellulomonas fimi// endoglucanase A, B and C genes (//cenA//, //cenB//, //cenC//) and the //C. fimi// exoglucanase gene (//cex//). Together these genes will convert cellulose into cellobiose extracellularly, and then β-glucosidase will hydrolyse cellobiose to glucose.
__//''comK''//__ - This is a transcription factor-encoding gene that can be inserted as the final gene of the cellulase operon. (//comK// is a //B. subtilis// gene.)
__''//comK// transcription factor binding site''__ - This sequence can be inserted upstream of //φX174 E//. Binding of ComK to the transcription factor binding site will help promote the RNA polymerase to the site for transcription of the downstream gene.
__''//φX174 E//''__ - E is a lysin produced by the bacteriophage φX174. Production of the protein should result in bacterial cell lysis and the release of the cellulases into the cellulose growth medium.

__''PART 2: CONVERSION OF GLUCOSE TO STARCH''__
''Hexokinase'' - Converts: D-glucose + ATP -> α-D-glucose 6-phosphate +  ADP
''Phosphoglucomutase'' - Converts: α-D-glucose 6-phosphate -> Glucose 1-phosphate
__''//glgC//''__ - ADP-glucose pyrophosphorylase converts: Glucose 1-phosphate + ATP -> ADP-glucose + PPi. This is the rate limiting step in //E. coli//. The substitution 336:Gly->Asp has been reported to increase the yield of glucogen.)
''//glgA//'' - Glycogen synthase adds ADP-glucose to an existing glycogen chain, producing Glycogen-α-1,4-glucose + ADP
''//glgB//'' - Branching enzyme produces glucose by changing the α-1,4 bond to an α-1,6 bond.
__''Isoamylase complex''__ - A heterodimer consisting of the debranching enzymes isoamylase 1 (//isa1//) and isoamylase 2 (//isa2//). It catalyzes the hydrolysis of α-1,6-glucosidic linkages in glycogen to form amylopectin. Neither gene is present in //E. coli//, but we can get cDNAs of the //Arabidopsis// genes.
__''//gbss//''__ - Granule-bound starch synthase converts some of the amylopectin into amylose. The complex of amylopectin and amylose is starch. (Again, a cDNA of the //Arabidopsis// //gbss// can be ordered.)

__''PART 3: β-CAROTENE SYNTHESIS''__
__''DXP''__ is encoded by //dxs//. It is responsible for converting glyceraldehyde-3-phosphate and pyruvate (products of glycolysis) to 1-deoxy-D-xylulose-5-phosphate (DXP). (It is a native //E. coli// protein, but overexpression increases yield of farnesyl diphosphate (FPP).)
''//ispC//'', ''//ispD//'', ''//ispE//'', ''//ispF//'', ''//ispG//'', ''//ispH//'' and ''//ispA//'' aswell as ''//idi//'' are all present in //E. coli// and are part of the pathway converting DXP to FPP. (See <html><a href="http://www3.interscience.wiley.com/cgi-bin/fulltext/110496964/PDFSTART" target="_blank">Kang et al., 2005</a></html>)
__''//crtE//''__ encodes geranyl diphosphate synthase, responsible for converting FPP to Geranylgeranyl diphosphate (GGPP). (From //Pantoea ananatis//.)
__''//crtB//''__ encodes phytoene synthase for conversion of GGPP to phytoene. (From //P. ananatis//.)
__''//crtI//''__ encodes phytoene desaturase for conversion of phytoene to lycopene. (From //P. ananatis//.)
__''//crtY//''__ encodes lycopene β-cyclase, making β-carotene from lycopene. (From //P. ananatis//.)
__''//appY//''__ encodes a transcriptional regulator related to anaerobic energy metabolism. It is not directly related to β-carotene synthesis, but its up-regulation should equate to a higher yield of β-carotene.

__''PART 4: LEMON FLAVOURING''__
__''//lims//''__ (BioBrick <html><a href="http://partsregistry.org/wiki/index.php/Part:BBa_I742111"_blank">BBa_1742111</a></html>) encodes limonene synthase, which converts geranyl diphosphate (an intermediate of the mevalonate pathway) into limonene. (//lims// is not native to //E. coli//.)

__''PART 5: RNAse''__
__''BioBrick <html><a href="http://partsregistry.org/wiki/index.php?title=Part:BBa_I716463" target="_blank"><b><u>BBa_I716463</u></b></a></html>''__ encodes a RNAse (Barnase) with a pBad (arabinose-sensitive promoter). Subjecting the cell to arabinose would should cause the RNAse gene to be activated, leading to the destruction of RNA in the cell, killing the cell but leaving it intact.
To get started with this blank TiddlyWiki, you'll need to modify the following tiddlers:
* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* MainMenu: The menu (usually on the left)
* DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>

For more info see <html><a href="http://tiddlyspot.com/twhelp/" target="_blank">TW help</a></html>
''15 July 2008''
* //dxs// + RBS (L12, renamed L15) and //glgC// mut1+2 (L13) transformed (L13 = J15, L15 = J16 respectively).
* J15 contains BABEL vector, so plated onto ampicillin plate.
* J16 contains Edinbrick vector, so plated for blue-white selection.

//Cellulomonas// streaked from plate 28 or 29(?) onto plate 37, which includes paper.

''14 July 2008''
//glgC// mutant 2:
* Mutagenic PCR (MABEL) with KOD of the first forbidden restriction site performed for //glgC// mut2 M19 and M22 (M21 looks from the gel like it didn't work). - PCR started at 1030, 2hr run. (P13, P14)
* Ran gel of results after digestion with EcoRI. Looks promising
//dxs//:
* Purification of //dxs// + RBS PCR products (from over the weekend):
** Purified product = P12
** Digestion of P12 with PstI and XbaI in buffer H, incubating for a minimum of 2hrs from 1112.
* //dxs// + RBS (P12) was digested then purified:
** Mistake made with elution buffer (40ul used instead of 10ul)
** This has consequences for the the ligation (with EdinBrick1). We are trying to perform ligation with 10ul of the purified DNA mixture. If that doesn't work, we can try to repurify the remaining 30ul.

''11 July 2008''
//glgC// mutant 2:
* M19, M21 and M22 sent for sequencing (forward primer only), labelled as AH19F, AH21F and AH22F.

''10 July 2008''
//appY//:
* M15 sent for sequencing, labelled as AH15F and AH15R
//glgC// mutant 2:
* Minipreps made of 6 colonies from plate 27 (L7), labelled M19-M24.

''09 July 2008''
//appY//:
* Minipreps done on 6 overnight cultures of //appY// transformations (culture P21).
* Restriction digests done with EcoRI and PstI. Tubes labelled IG1-6 at 37°C for 2 hours, ready at 1530 for running on gel
* Miniprep cultures labelled mislabelled M21 1-6 and relabelled as M13-18 in iGEM icebox ready for sequencing.
* Gel results: 3-6 seem to have worked, 1 & 2 probably have not.
//glgC//:
* Overnight cultures of //glgC// with mutant primer 2 in BABEL vector (P23(L7)) made.
''Vitamin A''
<html><a href="https://www.wiki.ed.ac.uk/display/CFrenchLabwiki/Carotenoids" target="_blank">C French's lab carotenoid pigment project</a></html>
<html><a href="http://parts.mit.edu/igem07/index.php/Edinburgh/Yoghurt" target="_blank">Edinburgh 2007 self-flavouring yoghurt wiki</a></html>

Also see Douglas X's honours project

''Starch biosynthesis''
<html><a href="https://www.wiki.ed.ac.uk/display/CFrenchLabwiki/StarchNotes" target="_blank">Notes on Starch and Glycogen Biosynthesis</a></html>

''An //E. coli// secretory pathway''
<html><a href="http://openwetware.org/wiki/The_BioBricks_Foundation:Standards/Technical/Formats" target="_blank">this page on OpenWetWear</a></html>

''Genes''
<html><a href="http://www.ebi.ac.uk/embl/" target="_blank">EMBL nucleotide sequence database</a></html>
<html><a href="http://www.ncbi.nlm.nih.gov/" target="_blank">National Center for Biotechnology Information (NCBI)</a></html>
<html><a href="http://www.arabidopsis.org/" target="_blank">The <i>Arabidopsis</i> Information Resource (TAIR)</a></html>
<html><a href="http://www.arabidopsis.org/portals/clones_DNA/index.jsp" target="_blank">TAIR - DNA resources</a></html> - Purchasing
<html><a href="http://www.geneart.com" target="_blank">GeneArt</a></html>
<html><a href="http://www.imagenes-bio.de/applications/clones/" target="_blank">imaGenes</a></html> - Purchasing

''Primer Design''
<html><a href="http://fokker.wi.mit.edu/primer3/input.htm" target="_blank">Primer3</a></html>

''From Hongwu''
Databases on metabolic pathways:
<html><a href="http://biocyc.org/" target="_blank">BioCyc Database Collection</a></html>
<html><a href="http://www.brenda-enzymes.info/" target="_blank">Brenda Enzyme Database</a></html>
<html><a href="http://www.expasy.ch/" target="_blank">ExPASy Proteomics Server</a></html>
<html><a href="http://www.genome.ad.jp/kegg/" target="_blank">KEGG: Kyoto Encyclopaedia of Genes and Genomes</a></html>

Databases on gene regulation:
<html><a href="http://ecocyc.org/" target="_blank">EcoCyc:  Encyclopedia of <i>Escherichia coli</i> K-12 Genes and Metabolism</a></html>
<html><a href="http://regulondb.ccg.unam.mx/" target="_blank">RegulonDB: <i>E. coli</i> K12 Transcriptional Network</a></html>

Software tools for modelling:
<html><a href="http://www.copasi.org/tiki-index.php" target="_blank">COPASI: Complex Pathway Simulator</a></html>

''Previous iGEM Projects''
(<html><a href="https://www.wiki.ed.ac.uk/display/CFrenchLabwiki/iGEM08ideas" target="_blank">Our former internal wiki</a></html>)
<html><a href="http://parts.mit.edu/igem07/index.php/Main_Page" target="_blank">iGEM 2007 main page</a></html>
<html><a href="http://parts.mit.edu/igem07/index.php/BerkiGEM2007Present5" target="_blank">Berkeley '07</a></html> - Genetic Self-Destruct Mechanism
<html><a href="http://parts.mit.edu/igem07/index.php/Edinburgh/Yoghurt" target="_blank">Edinburgh '07</a></html> - Self-flavouring yoghurt and B-carotene
<html><a href="http://parts.mit.edu/igem07/index.php/Paris" target="_blank">Paris '07</a></html> - Multicellular bacteria/bacterial stem cells/cell differentiation
<html><a href="http://openwetware.org/wiki/IGEM:MIT/2006/Blurb" target="_blank">MIT '06</a></html> - Banana flavour
GettingStarted
[[Plan|Plan of Action]]
[[To do]]
<html><a href="http://2008.igem.org/Main_Page" target="_blank">iGEM 2008 main page</a></html>
<html><a href="http://partsregistry.org/Main_Page" target="_blank">Registry</a></html>
<html><a href="http://2008.igem.org/Team:Edinburgh" target="_blank">Official iGEM Wiki</a></html>
<html><a href="https://www.wiki.ed.ac.uk/display/iGEM2008/Home" target="_blank">Internal iGEM Wiki</a></html>
<html><a href="https://www.wiki.ed.ac.uk/display/iGEM2008/Labwork+Summary" target="_blank">Online Lab Book</a></html>
<html><a href="http://macteria.co.uk/" target="_blank">Macteria.co.uk</a></html>
<html><a href="https://www.wiki.ed.ac.uk/display/CFrenchLabwiki/Home" target="_blank">Chris French's Lab</a></html>
<html><a href="http://www.openwetware.org/wiki/French_Lab" target="_blank">Chris French on OpenWetWear</a></html>
<html><a href="https://www.wiki.ed.ac.uk/display/CFrenchLabwiki/iGEMgenes" target="_blank">Our genes</a></html>
BioBricks
[[Links]]
[[References|Scientific Paper References]]
''Names''
* Bacpipe - Team name suggestion. Maybe better as a product name?

''Logos''
* Bacterial with a chef's hat (+ bread + kilt?)
''//crtY//'' - We'll try cloning into BABEL2 (as proof-of-concept for BABEL2)
''HLY genes'' - Chris is still trying to find a source
''Starch synthases'' - Chris is getting on to the guy in the US.
''β-glucosidase genes'' - Adler's sorting it out (use //E. coli// genes)
''30 June 2008''
__Possible Wiki Structure__
- Abstract (+ Translate -> Chinese & Arabic?)
- Team information
- Introduction (all needs facts, figures, pathways and references):
-- World food crisis
-- Microorganisms as food
-- Starch biosynthesis
-- Cellulose degradation
- Methods
- Results
-- Modelling
-- Starch
-- Carotenoids?
-- Cellulose
- References

__Modelling__
//E. coli// metabolic pathway modelling manipulations which increase glycogen synthesis

__Engineering considerations__
Scale-up, costs, yield, demand, raw materials, processing, regulatory (CAN THIS REALLY WORK?)

__Lab work__
- Making BioBricks (2?)
- Testing glycogen detection, cellulose degradation assay

''27 June 2008''
* Research E. coli K12 protein secretion (is there a signal peptide sequence like with eukaryotic protein transport?)
* Design primers and mutagenic primers for all genes we want
* Read up on bioinformatics

''26 June 2008''
* Check out how to purify PCR products on <html><a href="http://openwetware.org/wiki/Main_Page" target="_blank">OpenWetWear</a></html>
* Purify PCR products at 11am
* Check risk-assessment form
* Design mutagenic primers for //glgC// forbidden restriction sites

''25 June 2008''
* Adler - //Cellulomonas fimi// cellulases
* He Xing - Flavourings
* Omar - Berkley '07's <html><a href="http://parts.mit.edu/igem07/index.php/BerkiGEM2007Present5" target="_blank">RNAse system</a></html> and <html><a href="http://parts.mit.edu/igem07/index.php/Edinburgh/Yoghurt" target="_blank">B-carotene</a></html>
* Me - //Cytophaga hutchinsonii// cellulases

''24 June 2008''
On the computers:
* Wenhong has the information for the website.
* We need to do some modelling at some point. (We're probably not at an appropriate stage yet)
* We need to make some decisions on cellulose
* We need to decide on genes:
** Which BioBricks do we need from the registry?
** Which genes do we need to order, and primers do we need to design?
** Do we need to order any organisms?
In the lab:
* We should get the primers tomorrow, so we should be able to PCR them
* We need to try reviving a BioBrick again. (Why didn't it work last time?)
Use [[Artemis|file://///ed\dst\UnManaged\DeptSoftware\SciEng\Biological Sciences\BIOLOGY\sanger\artemis_v8.jar]]

The primers should have a melting point of ~55°C (usually 17-18 bp), based on:
* G/C = 4°C each
* A/T = 2°C each
* G/T = 0°C
* Internal mismatches complicate and can be -ve temps.

Remember, dPol adds to the 3' end - don't get confused when only one strand is presented!
* 3' end of the primer should be G/C - This is a stronger bond than A/T, so it binds more strongly to the target DNA sequence and the //Taq// will extend the primer more reliably.

''General biobrick primers''
* 5' part of the primer should be non-complementary (<~20bp) to the DNA being amplified, and this should contain the prefix and suffix.
* The sequence must start ATG and stop TAATAA - if this is not naturally the case, then replace the natural start/stop codons using non-complementary primer.
* It may be necessary to leave ~3 extra bases additionally at the 5' end of each primer as EcoRI (and other restriction enzymes?) won't cut at the end of sequences. Adding the extra bases basically fools EcoRI into thinking that its cutting in the middle of a DNA fragment.
* We should leave out one of the two 5' restriction sites to prevent annealing of the two primers to each other. (The restriction site will be added back in as part of the vector when the vector and insert are annealed together.)

Therefore, prefix and suffix to use are:
PREFIX Primer: ''gaattcgcggccgcttctag'' (if the following sequence is coding, otherwise "gaattcgcggccgcttctagag")
SUFFIX Primer: ''tactagtagcggccgctgcag''

Note, however, that the suffix is read for the 5'->3' strand (the same as the prefix), and therefore when designing the primer the complementary sequence must be used:

Sequence to use as suffix when designing the reverse primer: ''ctgcag cggccgc t actagt a''

''Mutagenic primers (for MABEL)''
(<html><a href="http://www.openwetware.org/wiki/Cfrench:MABEL" target="_blank">Designing mutant primers for Mutagenesis with blunt-end ligation (MABEL)</a></html>)

''Forbidden restriction sites''
EcoRI - GAATTC
NotI - GCGGCCGC
XbaI - TCTAGA
SpeI - ACTAGT
PstI - CTGCAG

"Design two divergent non-overlapping primers, one forward and one reverse, centred on the offending restriction site. One of them obviously must include the base which is being mutated, preferably at or near the 5' end so that the mismatch does not affect annealing too much. The primers can be quite short (17 bases or so) since they don't overlap or include any non-complementary tails. The 5' ends of the primers must be adjacent to each other (on opposite strands, of course) so that the PCR product will include every base of the vector plus insert."

For more info, see:
<html><a href="http://www.openwetware.org/wiki/Cfrench:bbprimerdesign" target="_blank">Chris French's page on designing BioBrick primers</a></html>.
<html><a href="http://openwetware.org/wiki/Designing_primers" target="_blank">OpenWetWare page on designing primers</a></html>.
''<html><a href="http://www.fermentas.com/techinfo/pcr/dnaamplprotocol.htm" target="_blank">PCR with Taq DNA polymerase</a></html>''
Primers designed for:
Cellulolysis:
* //cenA// - BioBrick primers (not mutagenic)
* //cenB// - BioBrick primers (not mutagenic)
* //cenC// - BioBrick primers (not mutagenic)
* //cex// - BioBrick primers (not mutagenic)

Starch/Glycogen biosynthesis:
* //glgC// - all primers
* //isa1// - BioBrick primers (not mutagenic)
* //isa2// - BioBrick primers (not mutagenic)
* //GBSS// - BioBrick primers (not mutagenic)

Terpenoid biosynthesis:
* //dsx// - BioBrick primers (not mutagenic)
* //appY// - BioBrick primers (not mutagenic)

- For genes without mutagenic primers, check for any forbidden restriction sites.
*  Our plan so far involves the engineering of E. coli. The modified E. coli should be able to secrete cellulose-degrading enzymes that will break down cellulose into glucose.
* Glucose will the be converted into glycogen by the E. coli's natural glycogen anabolism pathway (but one gene, //glgC//, should be mutated to to increase the yield of glycogen.
* Once glycogen is made, it should be converted to starch. This process can, in theory, be achieved by inserting the genes of the isoamylase1/2 complex and  possibly granule-bound starch synthase. Starch is the product we want.
* Next, to make our product safe for consumption we will probably engineer in the RNAse system developed by <html><a href="http://parts.mit.edu/igem07/index.php/BerkiGEM2007Present5" target="_blank">Berkeley '07</a></html>. This will breakdown RNA, the harmful ingredient of bacteria.
* Concurrently, we may engineer the bacteria to produce the vitamin A precursor, B-carotene (developed by Edinburgh iGEM '07 team, and continued through this year), and we may also add in the banana flavouring system of <html><a href="http://openwetware.org/wiki/IGEM:MIT/2006/Blurb" target="_blank">MIT '06</a></html> or one of the yoghurt flavourings of <html><a href="http://parts.mit.edu/igem07/index.php/Edinburgh/Yoghurt" target="_blank">Edinburgh '07</a></html>.
''β-carotene synthesis''
''[[08 July 2008|8 July 2008 - β-carotene synthesis]]''
<html><a href="http://www3.interscience.wiley.com/cgi-bin/fulltext/110496964/PDFSTART" target="_blank">2005: Identification of genes affecting lycopene accumulation in Escherichia coli using a shot-gun method</a></html>
''Unsorted''
Misawa,N., Nakagawa,M., Kobayashi,K., Yamano,S., Izawa,Y., Nakamura,K. and Harashima,K. Elucidation of the Erwinia uredovora carotenoid biosynthetic pathway by functional analysis of gene products expressed in Escherichia coli. J. Bacteriol. 172 (12), 6704-6712 (1990)

''Bacterial lysis idea''
''[[07 July 2008|7 July 2008 - A transcription factor to trigger cell lysis]]''
<html><a href="http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6VS2-4BYF671-4&_user=809099&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000043939&_version=1&_urlVersion=0&_userid=809099&md5=e0f2345b309fd558f342cfa4ecf35610" target="_blank">2004: Regulation at complex bacterial promoters: how bacteria use different promoter organizations to produce different regulatory outcomes</a></html>
<html><a href="http://www.phri.org/research/pdf/res_art_dubnau02.pdf" target="_blank">2002: Microarray analysis of the <i>Bacillus subtilis</i> K-state: genome-wide expression changes dependent on ComK</a></html>
<html><a href="http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6VS2-466NN3R-5&_user=809099&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000043939&_version=1&_urlVersion=0&_userid=809099&md5=f24885983c48f33a99e94b3c4ed1cac3" target="_blank">1998: Positive activation of gene expression</a></html>
''[[01 July 2008 (a)|1 July 2008 - Glucose-sensitive cellulase synthesis]]''
2007: Molecular Genetics of Bacteria (3rd Edition) (Book)
''[[01 July 2008 (b)|1 July 2008 - E. coli cell lysis]]''
<html><a href="http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6TD0-3YTB3XW-P&_user=809099&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000043939&_version=1&_urlVersion=0&_userid=809099&md5=4fe8331984cfe4cb8de71c0c178fd5c7" target="_blank">2000: Phages will out: strategies of host cell lysis</a></html>

''Cellulose Degradation''
''[[25 June 2008|25 June 2008 - Cellulolysis by Cytophaga hutchinsonii]]''
<html><a href="http://www.blackwell-synergy.com/doi/full/10.1196/annals.1419.026" target="_blank">2008: Three Microbial Strategies for Plant Cell Wall Degradation</a></html>
<html><a href="http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=1932680" target="_blank">2007: Genome Sequence of the Cellulolytic Gliding Bacterium <i>Cytophaga hutchinsonii</i></a></html>
''[[23 June 2008|23 June 2008 - Cellulose Degradation]]''
<html><a href="http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6T4X-3WBR2JC-172&_user=809099&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000043939&_version=1&_urlVersion=0&_userid=809099&md5=0de607e8a514c165f114f911b01e1971" target="_blank">1997: The Glucanases of <i>Cellulomonas</i></a></html>

''Glycogen/Starch synthesis''
''[[30 July 2008|30 July 2008 - Starch assays and purification]]''
<html><a href="http://mbe.oxfordjournals.org/cgi/content/full/25/3/536?ck=nck" target="_blank">2008: Metabolic Symbiosis and the Birth of the Plant Kingdom</a></html>
''[[25 July 2008|25 July 2008 - Glycogen and Starch synthesis genes and assays]]''
<html><a href="http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6T36-4NTHKYW-5&_user=809099&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000043939&_version=1&_urlVersion=0&_userid=809099&md5=196a62a013c9218fd0561ea53f923e05" target="_blank">2007:Genome-wide screening of genes affecting glycogen metabolism in <i>Escherichia coli</i> K-12</a></html>
<html><a href="http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=249791" target="_blank">1969: Isolation of mutants of <i>Escherichia coli</i> K-12</a></html>
<html><a href="http://www3.interscience.wiley.com/journal/107624200/abstract?CRETRY=1&SRETRY=0" target="_blank">1994: Overproduction of glycogen in <i>Escherichia coli</i> blocked in the acetate pathway improves cell growth</a></html> ABSTRACT ONLY
<html><a href="http://arjournals.annualreviews.org/doi/full/10.1146/annurev.arplant.54.031902.134927" target="_blank">2003: FROM BACTERIAL GLYCOGEN TO STARCH: Understanding the Biogenesis of the Plant Starch Granule</a></html>
<html><a href="http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=545640" target="_blank">2005: Role of the <i>Escherichia coli</i> <i>glgX</i> Gene in Glycogen Metabolism</a></html>
1968: Mutants of //Escherichia coli// K 12 altered in their ability to store glycogen

''[[26 June 2008|26 June 2008 - Further mutation to glgC]]''
<html><a href="http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6WB5-45KKRWW-9P&_user=809099&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000043939&_version=1&_urlVersion=0&_userid=809099&md5=aa8d0cb9ae204115911c188cbdc31b16f" target="_blank">1998 - Site-Directed Mutagenesis of a Regulatory Site of <i>Escherichia coli</i> ADP-Glucose Pyrophosphorylase: The Role of Residue 336 in Allosteric Behavior</a></html>
<html><a href="http://www.pubmedcentral.nih.gov/picrender.fcgi?artid=212844&blobtype=pdf" target="_blank">1986 - Cloning and expression of the <i>Escherichia coli glgC</i> gene from a mutant containing an ADPglucose pyrophosphorylase with altered allosteric properties</a></html>

''[[20 June 2008|20-23 June 2008  - Glycogen Synthesis vs. Starch Synthesis]]''
<html><a href="http://carlin.lib.ed.ac.uk:2218/doi/full/10.1146/annurev.arplant.54.031902.134927" target="_blank">2003: From Bacterial Gycogen to Starch: Understanding the Biogenesis of the Plant Starch Granule</a></html>
<html><a href="http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=212844" target="_blank">1986: Cloning and expression of the <i>Escherichia coli glgC</i> gene from a mutant containing an ADPglucose pyrophosphorylase with altered allosteric properties</a></html>

''[[19 June 2008|19 June 2008 - Cellulose Metabolism]]''
<html><a href="http://mbe.oxfordjournals.org/cgi/content/full/25/3/536" target="_blank">2007: Metabolic Symbiosis and the Birth of the Plant Kingdom</a></html> - Discovery of Starch synthesis by group V diazotrophic sincle-cell cyanobacteria. See //Starch Purification and Quantification// section of methods.

''Informatics/Modeling''
''[[23 June 2008|23 June 2008 - Notes on Hongwu Ma's Informatics]]''
<html><a href="http://www.nature.com/nbt/journal/v24/n6/full/nbt0606-667.html" target="_blank">2006: Tools for kinetic modeling of biochemical networks</a></html>
<html><a href="http://www.nature.com/nature/journal/v403/n6767/full/403335a0.html" target="_blank">2005: A synthetic gene−metabolic oscillator</a></html>
<html><a href="http://www.pnas.org/cgi/content/abstract/100/21/11980" target="_blank">2003: Structure and function of the feed-forward loop network motif</a></html>
<html><a href="http://www.nature.com/nature/journal/v403/n6767/full/403339a0.html" target="_blank">2000: Construction of a genetic toggle switch in <i>Escherichia coli</i></a></html>
<html><a href="http://www.nature.com/nature/journal/v403/n6767/full/403335a0.html" target="_blank">2000: A synthetic oscillatory network of transcriptional regulators</a></html>
"Cellulose is the most abundant form of fixed carbon, with 100,000,000,000 tons produced in cell walls by plants each year" <html><a href="http://www.blackwell-synergy.com/doi/full/10.1196/annals.1419.026" target="_blank">(Wilson, 2008)</a></html>
Andy's iGEM 2008 notes
''To do:''
* Find a promoter to charactise
* Research promoter characterisation assay?
* Submit one of the //crtE// minipreps for sequencing
* Continue from the transformations from Friday (Plates 119-128)
Write abstract and team profile page for wiki
Draw Edinburgh team logo
Draw logo (inc. for <html><a href="http://www.google.co.uk/search?hl=en&client=firefox-a&rls=org.mozilla%3Aen-GB%3Aofficial&hs=Tx0&q=synthetic+biology+standards+network&btnG=Search&meta=" target="_blank">Synthetic Biology Standards Network</a></html>)?
''Write up a detailed plan!''
* Find assays for cellulases, glycogen production, starch production and β-carotene production. (Iodine could be used for glycogen or EM to look for granules. Starch granules should be bigger than glycogen granules, which would be ~40nm.) What is a total sugar assay? - Ask Garry the PhD student.
** Could Raman spectroscopy be used for anything?
* Look into magnetic bacteria
* Find out about fusion protein biobrick standards (in case we decide to try the secretion of proteins from //E. coli// - think about misfolding though). - BioBrick 1.0 cannot be used (causes a frameshift), but 2.0 can be.
* Research more into glycogen synthesis genes to see if we might be able to further increase the yield.
* Decide on the order of the genes (see Douglas' project for the best order for β-carotene synthesis genes)
* Adding glycerol hinders formation of secondary structure for DNA. Different polymerases can be tried.
* Find at least one uncharacterised promoter from registry to characterise - a glucose sensitive one? - There is a promoter measurement kit supplied by the registry to aid with this.
* Think about the publicity (inc. t-shirts, mugs etc.) and the spin.
* Find a protein suitable for secretion by the Hly secretory system.
/***
Contains the stuff you need to use Tiddlyspot
Note you must also have UploadPlugin installed
***/
//{{{

// edit this if you are migrating sites or retrofitting an existing TW
config.tiddlyspotSiteId = 'andhi';

// make it so you can by default see edit controls via http
config.options.chkHttpReadOnly = false;
window.readOnly = false; // make sure of it (for tw 2.2)
window.showBackstage = true; // show backstage too

// disable autosave in d3
if (window.location.protocol != "file:")
	config.options.chkGTDLazyAutoSave = false;

// tweak shadow tiddlers to add upload button, password entry box etc
with (config.shadowTiddlers) {
	SiteUrl = 'http://'+config.tiddlyspotSiteId+'.tiddlyspot.com';
	SideBarOptions = SideBarOptions.replace(/(<<saveChanges>>)/,"$1<<tiddler TspotSidebar>>");
	OptionsPanel = OptionsPanel.replace(/^/,"<<tiddler TspotOptions>>");
	DefaultTiddlers = DefaultTiddlers.replace(/^/,"[[WelcomeToTiddlyspot]] ");
	MainMenu = MainMenu.replace(/^/,"[[WelcomeToTiddlyspot]] ");
}

// create some shadow tiddler content
merge(config.shadowTiddlers,{

'WelcomeToTiddlyspot':[
 "This document is a ~TiddlyWiki from tiddlyspot.com.  A ~TiddlyWiki is an electronic notebook that is great for managing todo lists, personal information, and all sorts of things.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //What now?// &nbsp;&nbsp;@@ Before you can save any changes, you need to enter your password in the form below.  Then configure privacy and other site settings at your [[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]] (your control panel username is //" + config.tiddlyspotSiteId + "//).",
 "<<tiddler TspotControls>>",
 "See also GettingStarted.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Working online// &nbsp;&nbsp;@@ You can edit this ~TiddlyWiki right now, and save your changes using the \"save to web\" button in the column on the right.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Working offline// &nbsp;&nbsp;@@ A fully functioning copy of this ~TiddlyWiki can be saved onto your hard drive or USB stick.  You can make changes and save them locally without being connected to the Internet.  When you're ready to sync up again, just click \"upload\" and your ~TiddlyWiki will be saved back to tiddlyspot.com.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Help!// &nbsp;&nbsp;@@ Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]].  Also visit [[TiddlyWiki.org|http://tiddlywiki.org]] for documentation on learning and using ~TiddlyWiki. New users are especially welcome on the [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]], which is an excellent place to ask questions and get help.  If you have a tiddlyspot related problem email [[tiddlyspot support|mailto:support@tiddlyspot.com]].",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Enjoy :)// &nbsp;&nbsp;@@ We hope you like using your tiddlyspot.com site.  Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments or suggestions."
].join("\n"),

'TspotControls':[
 "| tiddlyspot password:|<<option pasUploadPassword>>|",
 "| site management:|<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">>//(requires tiddlyspot password)//<br>[[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]], [[download (go offline)|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download]]|",
 "| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://faq.tiddlyspot.com/]], [[blog|http://tiddlyspot.blogspot.com/]], email [[support|mailto:support@tiddlyspot.com]] & [[feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|"
].join("\n"),

'TspotSidebar':[
 "<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">><html><a href='http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download' class='button'>download</a></html>"
].join("\n"),

'TspotOptions':[
 "tiddlyspot password:",
 "<<option pasUploadPassword>>",
 ""
].join("\n")

});
//}}}
| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |
| 24/06/2008 15:44:46 | andhi | [[Lab%20book.html|file://///mull.sms.ed.ac.uk/Home/s0569460/IGEM/Lab%20book.html]] | [[store.cgi|http://andhi.tiddlyspot.com/store.cgi]] | . | [[index.html | http://andhi.tiddlyspot.com/index.html]] | . | ok |
| 27/06/2008 12:49:25 | andhi | [[Lab%20book.html|file://///mull.sms.ed.ac.uk/Home/s0569460/IGEM/Lab%20book.html]] | [[store.cgi|http://andhi.tiddlyspot.com/store.cgi]] | . | [[index.html | http://andhi.tiddlyspot.com/index.html]] | . | ok |
| 27/06/2008 16:59:06 | andhi | [[Lab%20book.html|file://///mull.sms.ed.ac.uk/Home/s0569460/IGEM/Lab%20book.html]] | [[store.cgi|http://andhi.tiddlyspot.com/store.cgi]] | . | [[index.html | http://andhi.tiddlyspot.com/index.html]] | . | ok |
| 02/07/2008 16:34:05 | andhi | [[Lab%20book.html|file://///mull.sms.ed.ac.uk/Home/s0569460/IGEM/Lab%20book.html]] | [[store.cgi|http://andhi.tiddlyspot.com/store.cgi]] | . | [[index.html | http://andhi.tiddlyspot.com/index.html]] | . |
| 07/07/2008 13:24:00 | andhi | [[Lab%20book.html|file://///mull.sms.ed.ac.uk/Home/s0569460/IGEM/Lab%20book.html]] | [[store.cgi|http://andhi.tiddlyspot.com/store.cgi]] | . | [[index.html | http://andhi.tiddlyspot.com/index.html]] | . | ok |
| 07/07/2008 13:25:57 | andhi | [[Lab%20book.html|file://///mull.sms.ed.ac.uk/Home/s0569460/IGEM/Lab%20book.html]] | [[store.cgi|http://andhi.tiddlyspot.com/store.cgi]] | . | [[index.html | http://andhi.tiddlyspot.com/index.html]] | . | ok |
| 15/08/2008 12:12:02 | andhi | [[Lab%20book.20080808.1735330686.html|file://///mull.sms.ed.ac.uk/Home/s0569460/iGEM/Lab%20book/Lab%20book.20080808.1735330686.html]] | [[store.cgi|http://andhi.tiddlyspot.com/store.cgi]] | . | [[index.html | http://andhi.tiddlyspot.com/index.html]] | . |
| 15/08/2008 15:41:13 | andhi | [[andhi.html|file://///mull.sms.ed.ac.uk/Home/s0569460/iGEM/Lab%20book/andhi.html]] | [[store.cgi|http://andhi.tiddlyspot.com/store.cgi]] | . | [[index.html | http://andhi.tiddlyspot.com/index.html]] | . | ok |
| 15/08/2008 15:54:24 | andhi | [[andhi.html|file://///mull.sms.ed.ac.uk/Home/s0569460/iGEM/Lab%20book/andhi.html]] | [[store.cgi|http://andhi.tiddlyspot.com/store.cgi]] | . | [[index.html | http://andhi.tiddlyspot.com/index.html]] | . | ok |
| 15/08/2008 17:07:57 | andhi | [[andhi.html|file://///mull.sms.ed.ac.uk/Home/s0569460/iGEM/Lab%20book/andhi.html]] | [[store.cgi|http://andhi.tiddlyspot.com/store.cgi]] | . | [[index.html | http://andhi.tiddlyspot.com/index.html]] | . |
/***
|''Name:''|PasswordOptionPlugin|
|''Description:''|Extends TiddlyWiki options with non encrypted password option.|
|''Version:''|1.0.2|
|''Date:''|Apr 19, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#PasswordOptionPlugin|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (Beta 5)|
***/
//{{{
version.extensions.PasswordOptionPlugin = {
	major: 1, minor: 0, revision: 2, 
	date: new Date("Apr 19, 2007"),
	source: 'http://tiddlywiki.bidix.info/#PasswordOptionPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',
	coreVersion: '2.2.0 (Beta 5)'
};

config.macros.option.passwordCheckboxLabel = "Save this password on this computer";
config.macros.option.passwordInputType = "password"; // password | text
setStylesheet(".pasOptionInput {width: 11em;}\n","passwordInputTypeStyle");

merge(config.macros.option.types, {
	'pas': {
		elementType: "input",
		valueField: "value",
		eventName: "onkeyup",
		className: "pasOptionInput",
		typeValue: config.macros.option.passwordInputType,
		create: function(place,type,opt,className,desc) {
			// password field
			config.macros.option.genericCreate(place,'pas',opt,className,desc);
			// checkbox linked with this password "save this password on this computer"
			config.macros.option.genericCreate(place,'chk','chk'+opt,className,desc);			
			// text savePasswordCheckboxLabel
			place.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel));
		},
		onChange: config.macros.option.genericOnChange
	}
});

merge(config.optionHandlers['chk'], {
	get: function(name) {
		// is there an option linked with this chk ?
		var opt = name.substr(3);
		if (config.options[opt]) 
			saveOptionCookie(opt);
		return config.options[name] ? "true" : "false";
	}
});

merge(config.optionHandlers, {
	'pas': {
 		get: function(name) {
			if (config.options["chk"+name]) {
				return encodeCookie(config.options[name].toString());
			} else {
				return "";
			}
		},
		set: function(name,value) {config.options[name] = decodeCookie(value);}
	}
});

// need to reload options to load passwordOptions
loadOptionsCookie();

/*
if (!config.options['pasPassword'])
	config.options['pasPassword'] = '';

merge(config.optionsDesc,{
		pasPassword: "Test password"
	});
*/
//}}}

/***
|''Name:''|UploadPlugin|
|''Description:''|Save to web a TiddlyWiki|
|''Version:''|4.1.0|
|''Date:''|May 5, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#UploadPlugin|
|''Documentation:''|http://tiddlywiki.bidix.info/#UploadPluginDoc|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (#3125)|
|''Requires:''|PasswordOptionPlugin|
***/
//{{{
version.extensions.UploadPlugin = {
	major: 4, minor: 1, revision: 0,
	date: new Date("May 5, 2007"),
	source: 'http://tiddlywiki.bidix.info/#UploadPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	coreVersion: '2.2.0 (#3125)'
};

//
// Environment
//

if (!window.bidix) window.bidix = {}; // bidix namespace
bidix.debugMode = false;	// true to activate both in Plugin and UploadService
	
//
// Upload Macro
//

config.macros.upload = {
// default values
	defaultBackupDir: '',	//no backup
	defaultStoreScript: "store.php",
	defaultToFilename: "index.html",
	defaultUploadDir: ".",
	authenticateUser: true	// UploadService Authenticate User
};
	
config.macros.upload.label = {
	promptOption: "Save and Upload this TiddlyWiki with UploadOptions",
	promptParamMacro: "Save and Upload this TiddlyWiki in %0",
	saveLabel: "save to web", 
	saveToDisk: "save to disk",
	uploadLabel: "upload"	
};

config.macros.upload.messages = {
	noStoreUrl: "No store URL in parmeters or options",
	usernameOrPasswordMissing: "Username or password missing"
};

config.macros.upload.handler = function(place,macroName,params) {
	if (readOnly)
		return;
	var label;
	if (document.location.toString().substr(0,4) == "http") 
		label = this.label.saveLabel;
	else
		label = this.label.uploadLabel;
	var prompt;
	if (params[0]) {
		prompt = this.label.promptParamMacro.toString().format([this.destFile(params[0], 
			(params[1] ? params[1]:bidix.basename(window.location.toString())), params[3])]);
	} else {
		prompt = this.label.promptOption;
	}
	createTiddlyButton(place, label, prompt, function() {config.macros.upload.action(params);}, null, null, this.accessKey);
};

config.macros.upload.action = function(params)
{
		// for missing macro parameter set value from options
		var storeUrl = params[0] ? params[0] : config.options.txtUploadStoreUrl;
		var toFilename = params[1] ? params[1] : config.options.txtUploadFilename;
		var backupDir = params[2] ? params[2] : config.options.txtUploadBackupDir;
		var uploadDir = params[3] ? params[3] : config.options.txtUploadDir;
		var username = params[4] ? params[4] : config.options.txtUploadUserName;
		var password = config.options.pasUploadPassword; // for security reason no password as macro parameter	
		// for still missing parameter set default value
		if ((!storeUrl) && (document.location.toString().substr(0,4) == "http")) 
			storeUrl = bidix.dirname(document.location.toString())+'/'+config.macros.upload.defaultStoreScript;
		if (storeUrl.substr(0,4) != "http")
			storeUrl = bidix.dirname(document.location.toString()) +'/'+ storeUrl;
		if (!toFilename)
			toFilename = bidix.basename(window.location.toString());
		if (!toFilename)
			toFilename = config.macros.upload.defaultToFilename;
		if (!uploadDir)
			uploadDir = config.macros.upload.defaultUploadDir;
		if (!backupDir)
			backupDir = config.macros.upload.defaultBackupDir;
		// report error if still missing
		if (!storeUrl) {
			alert(config.macros.upload.messages.noStoreUrl);
			clearMessage();
			return false;
		}
		if (config.macros.upload.authenticateUser && (!username || !password)) {
			alert(config.macros.upload.messages.usernameOrPasswordMissing);
			clearMessage();
			return false;
		}
		bidix.upload.uploadChanges(false,null,storeUrl, toFilename, uploadDir, backupDir, username, password); 
		return false; 
};

config.macros.upload.destFile = function(storeUrl, toFilename, uploadDir) 
{
	if (!storeUrl)
		return null;
		var dest = bidix.dirname(storeUrl);
		if (uploadDir && uploadDir != '.')
			dest = dest + '/' + uploadDir;
		dest = dest + '/' + toFilename;
	return dest;
};

//
// uploadOptions Macro
//

config.macros.uploadOptions = {
	handler: function(place,macroName,params) {
		var wizard = new Wizard();
		wizard.createWizard(place,this.wizardTitle);
		wizard.addStep(this.step1Title,this.step1Html);
		var markList = wizard.getElement("markList");
		var listWrapper = document.createElement("div");
		markList.parentNode.insertBefore(listWrapper,markList);
		wizard.setValue("listWrapper",listWrapper);
		this.refreshOptions(listWrapper,false);
		var uploadCaption;
		if (document.location.toString().substr(0,4) == "http") 
			uploadCaption = config.macros.upload.label.saveLabel;
		else
			uploadCaption = config.macros.upload.label.uploadLabel;
		
		wizard.setButtons([
				{caption: uploadCaption, tooltip: config.macros.upload.label.promptOption, 
					onClick: config.macros.upload.action},
				{caption: this.cancelButton, tooltip: this.cancelButtonPrompt, onClick: this.onCancel}
				
			]);
	},
	refreshOptions: function(listWrapper) {
		var uploadOpts = [
			"txtUploadUserName",
			"pasUploadPassword",
			"txtUploadStoreUrl",
			"txtUploadDir",
			"txtUploadFilename",
			"txtUploadBackupDir",
			"chkUploadLog",
			"txtUploadLogMaxLine",
			]
		var opts = [];
		for(i=0; i<uploadOpts.length; i++) {
			var opt = {};
			opts.push()
			opt.option = "";
			n = uploadOpts[i];
			opt.name = n;
			opt.lowlight = !config.optionsDesc[n];
			opt.description = opt.lowlight ? this.unknownDescription : config.optionsDesc[n];
			opts.push(opt);
		}
		var listview = ListView.create(listWrapper,opts,this.listViewTemplate);
		for(n=0; n<opts.length; n++) {
			var type = opts[n].name.substr(0,3);
			var h = config.macros.option.types[type];
			if (h && h.create) {
				h.create(opts[n].colElements['option'],type,opts[n].name,opts[n].name,"no");
			}
		}
		
	},
	onCancel: function(e)
	{
		backstage.switchTab(null);
		return false;
	},
	
	wizardTitle: "Upload with options",
	step1Title: "These options are saved in cookies in your browser",
	step1Html: "<input type='hidden' name='markList'></input><br>",
	cancelButton: "Cancel",
	cancelButtonPrompt: "Cancel prompt",
	listViewTemplate: {
		columns: [
			{name: 'Description', field: 'description', title: "Description", type: 'WikiText'},
			{name: 'Option', field: 'option', title: "Option", type: 'String'},
			{name: 'Name', field: 'name', title: "Name", type: 'String'}
			],
		rowClasses: [
			{className: 'lowlight', field: 'lowlight'} 
			]}
}

//
// upload functions
//

if (!bidix.upload) bidix.upload = {};

if (!bidix.upload.messages) bidix.upload.messages = {
	//from saving
	invalidFileError: "The original file '%0' does not appear to be a valid TiddlyWiki",
	backupSaved: "Backup saved",
	backupFailed: "Failed to upload backup file",
	rssSaved: "RSS feed uploaded",
	rssFailed: "Failed to upload RSS feed file",
	emptySaved: "Empty template uploaded",
	emptyFailed: "Failed to upload empty template file",
	mainSaved: "Main TiddlyWiki file uploaded",
	mainFailed: "Failed to upload main TiddlyWiki file. Your changes have not been saved",
	//specific upload
	loadOriginalHttpPostError: "Can't get original file",
	aboutToSaveOnHttpPost: 'About to upload on %0 ...',
	storePhpNotFound: "The store script '%0' was not found."
};

bidix.upload.uploadChanges = function(onlyIfDirty,tiddlers,storeUrl,toFilename,uploadDir,backupDir,username,password)
{
	var callback = function(status,uploadParams,original,url,xhr) {
		if (!status) {
			displayMessage(bidix.upload.messages.loadOriginalHttpPostError);
			return;
		}
		if (bidix.debugMode) 
			alert(original.substr(0,500)+"\n...");
		// Locate the storeArea div's 
		var posDiv = locateStoreArea(original);
		if((posDiv[0] == -1) || (posDiv[1] == -1)) {
			alert(config.messages.invalidFileError.format([localPath]));
			return;
		}
		bidix.upload.uploadRss(uploadParams,original,posDiv);
	};
	
	if(onlyIfDirty && !store.isDirty())
		return;
	clearMessage();
	// save on localdisk ?
	if (document.location.toString().substr(0,4) == "file") {
		var path = document.location.toString();
		var localPath = getLocalPath(path);
		saveChanges();
	}
	// get original
	var uploadParams = Array(storeUrl,toFilename,uploadDir,backupDir,username,password);
	var originalPath = document.location.toString();
	// If url is a directory : add index.html
	if (originalPath.charAt(originalPath.length-1) == "/")
		originalPath = originalPath + "index.html";
	var dest = config.macros.upload.destFile(storeUrl,toFilename,uploadDir);
	var log = new bidix.UploadLog();
	log.startUpload(storeUrl, dest, uploadDir,  backupDir);
	displayMessage(bidix.upload.messages.aboutToSaveOnHttpPost.format([dest]));
	if (bidix.debugMode) 
		alert("about to execute Http - GET on "+originalPath);
	var r = doHttp("GET",originalPath,null,null,null,null,callback,uploadParams,null);
	if (typeof r == "string")
		displayMessage(r);
	return r;
};

bidix.upload.uploadRss = function(uploadParams,original,posDiv) 
{
	var callback = function(status,params,responseText,url,xhr) {
		if(status) {
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
			displayMessage(bidix.upload.messages.rssSaved,bidix.dirname(url)+'/'+destfile);
			bidix.upload.uploadMain(params[0],params[1],params[2]);
		} else {
			displayMessage(bidix.upload.messages.rssFailed);			
		}
	};
	// do uploadRss
	if(config.options.chkGenerateAnRssFeed) {
		var rssPath = uploadParams[1].substr(0,uploadParams[1].lastIndexOf(".")) + ".xml";
		var rssUploadParams = Array(uploadParams[0],rssPath,uploadParams[2],'',uploadParams[4],uploadParams[5]);
		bidix.upload.httpUpload(rssUploadParams,convertUnicodeToUTF8(generateRss()),callback,Array(uploadParams,original,posDiv));
	} else {
		bidix.upload.uploadMain(uploadParams,original,posDiv);
	}
};

bidix.upload.uploadMain = function(uploadParams,original,posDiv) 
{
	var callback = function(status,params,responseText,url,xhr) {
		var log = new bidix.UploadLog();
		if(status) {
			// if backupDir specified
			if ((params[3]) && (responseText.indexOf("backupfile:") > -1))  {
				var backupfile = responseText.substring(responseText.indexOf("backupfile:")+11,responseText.indexOf("\n", responseText.indexOf("backupfile:")));
				displayMessage(bidix.upload.messages.backupSaved,bidix.dirname(url)+'/'+backupfile);
			}
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
			displayMessage(bidix.upload.messages.mainSaved,bidix.dirname(url)+'/'+destfile);
			store.setDirty(false);
			log.endUpload("ok");
		} else {
			alert(bidix.upload.messages.mainFailed);
			displayMessage(bidix.upload.messages.mainFailed);
			log.endUpload("failed");			
		}
	};
	// do uploadMain
	var revised = bidix.upload.updateOriginal(original,posDiv);
	bidix.upload.httpUpload(uploadParams,revised,callback,uploadParams);
};

bidix.upload.httpUpload = function(uploadParams,data,callback,params)
{
	var localCallback = function(status,params,responseText,url,xhr) {
		url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
		if (xhr.status == httpStatus.NotFound)
			alert(bidix.upload.messages.storePhpNotFound.format([url]));
		if ((bidix.debugMode) || (responseText.indexOf("Debug mode") >= 0 )) {
			alert(responseText);
			if (responseText.indexOf("Debug mode") >= 0 )
				responseText = responseText.substring(responseText.indexOf("\n\n")+2);
		} else if (responseText.charAt(0) != '0') 
			alert(responseText);
		if (responseText.charAt(0) != '0')
			status = null;
		callback(status,params,responseText,url,xhr);
	};
	// do httpUpload
	var boundary = "---------------------------"+"AaB03x";	
	var uploadFormName = "UploadPlugin";
	// compose headers data
	var sheader = "";
	sheader += "--" + boundary + "\r\nContent-disposition: form-data; name=\"";
	sheader += uploadFormName +"\"\r\n\r\n";
	sheader += "backupDir="+uploadParams[3] +
				";user=" + uploadParams[4] +
				";password=" + uploadParams[5] +
				";uploaddir=" + uploadParams[2];
	if (bidix.debugMode)
		sheader += ";debug=1";
	sheader += ";;\r\n"; 
	sheader += "\r\n" + "--" + boundary + "\r\n";
	sheader += "Content-disposition: form-data; name=\"userfile\"; filename=\""+uploadParams[1]+"\"\r\n";
	sheader += "Content-Type: text/html;charset=UTF-8" + "\r\n";
	sheader += "Content-Length: " + data.length + "\r\n\r\n";
	// compose trailer data
	var strailer = new String();
	strailer = "\r\n--" + boundary + "--\r\n";
	data = sheader + data + strailer;
	if (bidix.debugMode) alert("about to execute Http - POST on "+uploadParams[0]+"\n with \n"+data.substr(0,500)+ " ... ");
	var r = doHttp("POST",uploadParams[0],data,"multipart/form-data; boundary="+boundary,uploadParams[4],uploadParams[5],localCallback,params,null);
	if (typeof r == "string")
		displayMessage(r);
	return r;
};

// same as Saving's updateOriginal but without convertUnicodeToUTF8 calls
bidix.upload.updateOriginal = function(original, posDiv)
{
	if (!posDiv)
		posDiv = locateStoreArea(original);
	if((posDiv[0] == -1) || (posDiv[1] == -1)) {
		alert(config.messages.invalidFileError.format([localPath]));
		return;
	}
	var revised = original.substr(0,posDiv[0] + startSaveArea.length) + "\n" +
				store.allTiddlersAsHtml() + "\n" +
				original.substr(posDiv[1]);
	var newSiteTitle = getPageTitle().htmlEncode();
	revised = revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " ");
	revised = updateMarkupBlock(revised,"PRE-HEAD","MarkupPreHead");
	revised = updateMarkupBlock(revised,"POST-HEAD","MarkupPostHead");
	revised = updateMarkupBlock(revised,"PRE-BODY","MarkupPreBody");
	revised = updateMarkupBlock(revised,"POST-SCRIPT","MarkupPostBody");
	return revised;
};

//
// UploadLog
// 
// config.options.chkUploadLog :
//		false : no logging
//		true : logging
// config.options.txtUploadLogMaxLine :
//		-1 : no limit
//      0 :  no Log lines but UploadLog is still in place
//		n :  the last n lines are only kept
//		NaN : no limit (-1)

bidix.UploadLog = function() {
	if (!config.options.chkUploadLog) 
		return; // this.tiddler = null
	this.tiddler = store.getTiddler("UploadLog");
	if (!this.tiddler) {
		this.tiddler = new Tiddler();
		this.tiddler.title = "UploadLog";
		this.tiddler.text = "| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |";
		this.tiddler.created = new Date();
		this.tiddler.modifier = config.options.txtUserName;
		this.tiddler.modified = new Date();
		store.addTiddler(this.tiddler);
	}
	return this;
};

bidix.UploadLog.prototype.addText = function(text) {
	if (!this.tiddler)
		return;
	// retrieve maxLine when we need it
	var maxLine = parseInt(config.options.txtUploadLogMaxLine,10);
	if (isNaN(maxLine))
		maxLine = -1;
	// add text
	if (maxLine != 0) 
		this.tiddler.text = this.tiddler.text + text;
	// Trunck to maxLine
	if (maxLine >= 0) {
		var textArray = this.tiddler.text.split('\n');
		if (textArray.length > maxLine + 1)
			textArray.splice(1,textArray.length-1-maxLine);
			this.tiddler.text = textArray.join('\n');		
	}
	// update tiddler fields
	this.tiddler.modifier = config.options.txtUserName;
	this.tiddler.modified = new Date();
	store.addTiddler(this.tiddler);
	// refresh and notifiy for immediate update
	story.refreshTiddler(this.tiddler.title);
	store.notify(this.tiddler.title, true);
};

bidix.UploadLog.prototype.startUpload = function(storeUrl, toFilename, uploadDir,  backupDir) {
	if (!this.tiddler)
		return;
	var now = new Date();
	var text = "\n| ";
	var filename = bidix.basename(document.location.toString());
	if (!filename) filename = '/';
	text += now.formatString("0DD/0MM/YYYY 0hh:0mm:0ss") +" | ";
	text += config.options.txtUserName + " | ";
	text += "[["+filename+"|"+location + "]] |";
	text += " [[" + bidix.basename(storeUrl) + "|" + storeUrl + "]] | ";
	text += uploadDir + " | ";
	text += "[[" + bidix.basename(toFilename) + " | " +toFilename + "]] | ";
	text += backupDir + " |";
	this.addText(text);
};

bidix.UploadLog.prototype.endUpload = function(status) {
	if (!this.tiddler)
		return;
	this.addText(" "+status+" |");
};

//
// Utilities
// 

bidix.checkPlugin = function(plugin, major, minor, revision) {
	var ext = version.extensions[plugin];
	if (!
		(ext  && 
			((ext.major > major) || 
			((ext.major == major) && (ext.minor > minor))  ||
			((ext.major == major) && (ext.minor == minor) && (ext.revision >= revision))))) {
			// write error in PluginManager
			if (pluginInfo)
				pluginInfo.log.push("Requires " + plugin + " " + major + "." + minor + "." + revision);
			eval(plugin); // generate an error : "Error: ReferenceError: xxxx is not defined"
	}
};

bidix.dirname = function(filePath) {
	if (!filePath) 
		return;
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(0, lastpos);
	} else {
		return filePath.substring(0, filePath.lastIndexOf("\\"));
	}
};

bidix.basename = function(filePath) {
	if (!filePath) 
		return;
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("#")) != -1) 
		filePath = filePath.substring(0, lastpos);
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(lastpos + 1);
	} else
		return filePath.substring(filePath.lastIndexOf("\\")+1);
};

bidix.initOption = function(name,value) {
	if (!config.options[name])
		config.options[name] = value;
};

//
// Initializations
//

// require PasswordOptionPlugin 1.0.1 or better
bidix.checkPlugin("PasswordOptionPlugin", 1, 0, 1);

// styleSheet
setStylesheet('.txtUploadStoreUrl, .txtUploadBackupDir, .txtUploadDir {width: 22em;}',"uploadPluginStyles");

//optionsDesc
merge(config.optionsDesc,{
	txtUploadStoreUrl: "Url of the UploadService script (default: store.php)",
	txtUploadFilename: "Filename of the uploaded file (default: in index.html)",
	txtUploadDir: "Relative Directory where to store the file (default: . (downloadService directory))",
	txtUploadBackupDir: "Relative Directory where to backup the file. If empty no backup. (default: ''(empty))",
	txtUploadUserName: "Upload Username",
	pasUploadPassword: "Upload Password",
	chkUploadLog: "do Logging in UploadLog (default: true)",
	txtUploadLogMaxLine: "Maximum of lines in UploadLog (default: 10)"
});

// Options Initializations
bidix.initOption('txtUploadStoreUrl','');
bidix.initOption('txtUploadFilename','');
bidix.initOption('txtUploadDir','');
bidix.initOption('txtUploadBackupDir','');
bidix.initOption('txtUploadUserName','');
bidix.initOption('pasUploadPassword','');
bidix.initOption('chkUploadLog',true);
bidix.initOption('txtUploadLogMaxLine','10');


/* don't want this for tiddlyspot sites

// Backstage
merge(config.tasks,{
	uploadOptions: {text: "upload", tooltip: "Change UploadOptions and Upload", content: '<<uploadOptions>>'}
});
config.backstageTasks.push("uploadOptions");

*/


//}}}