Team:Amsterdam/maarten/

From 2012.igem.org

(Difference between revisions)
 
(109 intermediate revisions not shown)
Line 1: Line 1:
 +
{{Team:Amsterdam/toolStyleBase}}
 +
{{Team:Amsterdam/toolStyleSunburst}}
{{Team:Amsterdam/stylesheet}}
{{Team:Amsterdam/stylesheet}}
{{Team:Amsterdam/scripts}}
{{Team:Amsterdam/scripts}}
{{Team:Amsterdam/Header}}
{{Team:Amsterdam/Header}}
-
{{Team:Amsterdam/Sidebar1}}
+
{{Team:Amsterdam/Sidebar2}}
<html>
<html>
-
<head>
+
<script type='text/javascript' src='/Team:Amsterdam/maarten/slides.min.jquery.js?action=raw'></script>
-
<script type="text/javascript" src="jquery-1.2.3.min.js"></script>
+
-
<script type='text/javascript'>
+
-
 
+
-
function addForbiddenSequences(){
+
-
forbiddenSequences.addSite('Forbidden-EcoRI','GAATTC')
+
-
forbiddenSequences.addSite('Forbidden-XbaI','GAATTC')
+
-
forbiddenSequences.addSite('Forbidden-SpeI','ACTAGT')
+
-
forbiddenSequences.addSite('Forbidden-PstI','CTGCAG')
+
-
forbiddenSequences.addSite('Forbidden-NotI','GCGGCCGC')
+
-
}
+
-
 
+
-
var forbiddenSequences = {
+
-
    forbiddenSequencesArray : {},
+
-
addSite : function(name,sequence){
+
-
forbiddenSequences.forbiddenSequencesArray[name] = sequence
+
-
},
+
-
}
+
-
 
+
-
function checkOccurrence(target,sequence){
+
-
if (sequence.length > target.length){
+
-
        if (sequence.indexOf(target) == -1){
+
-
            return false
+
-
        } else{
+
-
            return true
+
-
        }
+
-
} else{
+
-
if (target.indexOf(sequence) == -1){
+
-
            return false
+
-
        } else{
+
-
            return true
+
-
        }
+
-
}
+
-
}
+
-
 
+
-
function randomDNA(length){
+
-
chars = 'atgc'
+
-
inForbiddenSite = true
+
-
while (inForbiddenSite === true){
+
-
sequence = ''
+
-
inForbiddenSite = false
+
-
for (k=0; k<length; k++) {
+
-
rnum = Math.floor(Math.random() * chars.length);
+
-
sequence += chars.substring(rnum,rnum+1);
+
-
}
+
-
for (item in forbiddenSequences.forbiddenSequencesArray){
+
-
if (checkOccurrence(sequence,forbiddenSequences.forbiddenSequencesArray[item].toLowerCase()) === false){
+
-
continue
+
-
} else{
+
-
inForbiddenSite = true
+
-
break
+
-
}
+
-
}
+
-
}
+
-
return sequence
+
-
}
+
-
 
+
-
function getMethyltransferases(){
+
-
    methyltransferases = new Array()
+
-
    sca1 = new Object()
+
-
    sca1.target = "AGTACT"
+
-
    sca1.sequence = "tccgggcgggactttggatatgtgatacagtcgtccgctgcactatggaatcgactctctacattctcacagagaggaaaagccttggacaccaggcttgcagacatcaagaaggccctggggaagccgtactacgaaacctcggatgtccttctttaccacggcgacagtcttgagctgctcaagtcaatgcctcagcagattttcgaccttaccgtaactagcccaccttacaatattggcaaagagtacgagggtgtactgtcgatcgaggaatacatttcctggtgcgagacatggatgtcgcgcgttcatagggcgaccagcgcaggcggcgcattttggctcaatgttgggtacgtccctgtcccgaaccaaggaaaagcagtcccgattccttacctcttgtgggacaagagtccgttctacatgatccaggaagttgtctggaattacggggcgggagtggcgtctcgaaaatcgttttccccgcgcaatgaaaagtttctctggtatgtgcgcgacccgctgaattattacttcgacctcgattcggtgcgcgacccaaatgtgaaataccccaaccagaaaaagaatgggaagctcaaatgcaacccgttggggaaaaatcccactgacgtttggcagttccccaaggttacgtcgggcgcgaagagatcaagcgtggagcgcaccgcccatccggcacaattcccgtctgctgtcattgaacgggtcatcaaggcgtgcagcccttccgacggcgtcatcctggacccattcctcggttccggaacgacctcgctgaccgccagaaagcaaggccggtgcagcgtcggtatcgaaatccgcgaagactacctcgacatcgcggtgggacgcctggaggcggaggcgcaatccctcttctag"
+
-
    sca1.description = "M.Sca1"
+
-
sca2 = new Object()
+
-
sca2.target = "AGTACC"
+
-
sca2.sequence = "tccgggcgggactttggatatgtgatacagtcgtccgctgcactatggaatcgactctctacattctcacagagaggaaaagccttggacaccaggcttgcagacatcaagaaggccctggggaagccgtactacgaaacctcggatgtccttctttaccacggcgacagtcttgagctgctcaagtcaatgcctcagcagattttcgaccttaccgtaactagcccaccttacaatattggcaaagagtacgagggtgtactgtcgatcgaggaatacatttcctggtgcgagacatggatgtcgcgcgttcatagggcgaccagcgcaggcggcgcattttggctcaatgttgggtacgtccctgtcccgaaccaaggaaaagcagtcccgattccttacctcttgtgggacaagagtccgttctacatgatccaggaagttgtctggaattacggggcgggagtggcgtctcgaaaatcgttttccccgcgcaatgaaaagtttctctggtatgtgcgcgacccgctgaattattacttcgacctcgattcggtgcgcgacccaaatgtgaaataccccaaccagaaaaagaatgggaagctcaaatgcaacccgttggggaaaaatcccactgacgtttggcagttccccaaggttacgtcgggcgcgaagagatcaagcgtggagcgcaccgcccatccggcacaattcccgtctgctgtcattgaacgggtcatcaaggcgtgcagcccttccgacggcgtcatcctggacccattcctcggttccggaacgacctcgctgaccgccagaaagcaaggccggtgcagcgtcggtatcgaaatccgcgaagactacctcgacatcgcggtgggacgcctggaggcggaggcgcaatccctcttctagg"
+
-
    sca2.description = "M.Sca2"
+
-
methyltransferases[0] = sca1
+
-
methyltransferases[1] = sca2
+
-
addForbiddenSequence(methyltransferases,'hasTarget')
+
-
    return methyltransferases
+
-
}
+
-
 
+
-
function getZincFingers(){
+
-
    zincFingers = new Array()
+
-
    rawData = document.plasmidForm.zf.value
+
-
    rawData = rawData.split('>')
+
-
    rawData.reverse().pop()
+
-
    rawData.reverse()
+
-
    for (zf in rawData){
+
-
        zfFormatted = rawData[zf].split('\n')
+
-
        zfDescription = zfFormatted[0]
+
-
        zfTarget = zfDescription.split('|')[5]
+
-
        zfSequence = ''
+
-
        for (i=1;i<zfFormatted.length;i++){
+
-
            zfSequence+=zfFormatted[i]
+
-
        }
+
-
        zfObject = new Object()
+
-
        zfObject.target = zfTarget
+
-
        zfObject.sequence = zfSequence
+
-
        zfObject.description = zfDescription
+
-
        zincFingers[zf] = zfObject
+
-
    }
+
-
    addForbiddenSequence(zincFingers,'hasTarget')
+
-
    return zincFingers
+
-
}
+
-
 
+
-
function getLinkers(){
+
-
    linkers = new Array()
+
-
    linker1 = new Object()
+
-
    linker1.sequence = "gcacccggc"
+
-
    linker1.description = "Linker 1"
+
-
linker2 = new Object()
+
-
linker2.sequence = "gcaccccgccc"
+
-
linker2.description = "Linker 2"
+
-
    linkers[0] = linker1
+
-
linkers[1] = linker2
+
-
addForbiddenSequence(linkers,'noTarget')
+
-
    return linkers
+
-
}
+
-
 
+
-
function getMycTags(){
+
-
    mycTags = new Array()
+
-
    mycTag1 = new Object()
+
-
    mycTag1.sequence = "gaacagaaactcatctctgaagaggatctg"
+
-
    mycTag1.description = "Myc Tag 1"
+
-
mycTag2 = new Object()
+
-
mycTag2.sequence = "gaacagaaactcatctctgaagagaatctgaagactgagtcagt"
+
-
mycTag2.description = "Myc Tag 2"
+
-
    mycTags[0] = mycTag1
+
-
mycTags[1] = mycTag2
+
-
addForbiddenSequence(mycTags,'noTarget')
+
-
    return mycTags
+
-
}
+
-
 
+
-
function getTerminators(){
+
-
    terminators = new Array()
+
-
    terminator1 = new Object()
+
-
    terminator1.sequence = "tcacactggctcaccttcgggtgggcctttctgcgtttatatactagagagagaatataaaaagccagattattaatccggcttttttattattt"
+
-
    terminator1.description = "B0014 containing BOO12 and BOO11 terminators"
+
-
terminator2 = new Object()
+
-
terminator2.sequence = "tcacactggctcaccttcgggtgggcctttctgcgtttatatactagagagagaatataaaaagccagattattaatccggcttttttattatttt"
+
-
    terminator2.description = "Terminator 2"
+
-
terminators[0] = terminator1
+
-
terminators[1] = terminator2
+
-
addForbiddenSequence(terminators,'noTarget')
+
-
    return terminators
+
-
}
+
-
 
+
-
function getRBS(){
+
-
    rbs = new Array()
+
-
    rbs1 = new Object()
+
-
    rbs1.sequence = "tcacacaggaaag"
+
-
    rbs1.description = "BBa_B0032"
+
-
    rbs2 = new Object()
+
-
    rbs2.sequence = "aaaaaaaaaaaccccaa"
+
-
    rbs2.description = "RBS2"
+
-
    rbs[0] = rbs1
+
-
    rbs[1] = rbs2
+
-
addForbiddenSequence(rbs,'noTarget')
+
-
    return rbs
+
-
}
+
-
 
+
-
function addForbiddenSequence(array,type){
+
-
if (type == 'hasTarget'){
+
-
for (item in array){
+
-
forbiddenSequences.addSite(array[item].description,array[item].target)
+
-
}
+
-
} else{
+
-
for (item in array){
+
-
forbiddenSequences.addSite(array[item].description,array[item].sequence)
+
-
}
+
-
}
+
-
+
-
}
+
-
 
+
-
function getDate(){
+
-
    today = new Date()
+
-
    dd = today.getDate()
+
-
    mm = today.getMonth()+1
+
-
    yyyy = today.getFullYear()
+
-
    if(dd<10){
+
-
        dd='0'+dd
+
-
    }
+
-
    if(mm<10){
+
-
        mm='0'+mm
+
-
    }
+
-
    today = dd+'-'+mm.substring(0,2)+'-'+yyyy;
+
-
    return today
+
-
}
+
-
 
+
-
function generateWhiteSpace(amount){
+
-
        output = ''
+
-
        for (i=0;i<amount;i++){
+
-
            output += '&nbsp;'
+
-
        }
+
-
        return output
+
-
}
+
-
 
+
-
function staticGenbank(name){
+
-
output = 'LOCUS'
+
-
        output += generateWhiteSpace(16)
+
-
        output += name
+
-
        output += generateWhiteSpace(8)
+
-
        output += memoryPlasmid.dna.length+' bp DNA '
+
-
        output += generateWhiteSpace(3)
+
-
        output += 'linear'
+
-
        output += generateWhiteSpace(7)
+
-
        output += getDate()+'<br>'
+
-
        output += 'DEFINITION<br>'
+
-
        output += 'ACCESSION<br>'
+
-
        output += 'VERSION<br>'
+
-
        output += 'SOURCE<br>'
+
-
        output += ' &nbsp;ORGANISM<br>'
+
-
        output += 'COMMENT<br>'
+
-
        output += 'FEATURES'
+
-
        output += generateWhiteSpace(13)
+
-
        output += 'Location/Qualifiers<br>'
+
-
return output
+
-
}
+
-
 
+
-
function genbank(){
+
-
        memoryPlasmidOutput = staticGenbank('memory_plasmid')
+
-
        for (item in memoryPlasmid.memoryObjects){
+
-
    for (key in memoryPlasmid.memoryObjects[item]){
+
-
memoryPlasmidOutput += generateWhiteSpace(5)
+
-
memoryPlasmidOutput += 'misc_feature'
+
-
memoryPlasmidOutput += generateWhiteSpace(5)
+
-
memoryPlasmidOutput += memoryPlasmid.memoryObjects[item][key].start+'...'+memoryPlasmid.memoryObjects[item][key].end+'<br>'
+
-
memoryPlasmidOutput += generateWhiteSpace(10)
+
-
memoryPlasmidOutput += '/label='+memoryPlasmid.memoryObjects[item][key].description+'<br>'
+
-
}
+
-
           
+
-
        }
+
-
        origin = memoryPlasmid.dna
+
-
        origin = origin.replace(/[atgc]{10}/g,'$& ').replace(/amp;/g,'').split(' ')
+
-
        pos = 1
+
-
        newString = ''
+
-
        memoryPlasmidOutput += 'ORIGIN<br>'
+
-
        for (i=0;i<origin.length;i++){
+
-
            newString = newString+' '+origin[i]
+
-
            if ((i+1)%6===0){
+
-
                whiteSpace = ''
+
-
                for (j=0;j<9-pos.toString().length;j++){
+
-
                    whiteSpace+= '&nbsp;'
+
-
                }
+
-
                newString = whiteSpace+pos + ' ' + newString
+
-
                memoryPlasmidOutput+=newString+'<br>'
+
-
                newString = ''
+
-
            } else if ((i+1)%6==1){
+
-
                  if (i!=0){
+
-
                      pos+=60
+
-
                  }
+
-
              }
+
-
        }
+
-
        if (origin.length%6 != 0){
+
-
            newString = ''
+
-
            whiteSpace = ''
+
-
            for (j=0;j<9-pos.toString().length;j++){
+
-
                whiteSpace+= '&nbsp;'
+
-
            }
+
-
            newString+=whiteSpace+pos
+
-
            for (i=0;i<(origin.length%6);i++){
+
-
                newString+=' '+origin[origin.length-origin.length%6+i]
+
-
            }
+
-
            memoryPlasmidOutput+=newString+'<br>'
+
-
        }
+
-
restrictionPlasmidOutput = staticGenbank('restriction_plasmid')
+
-
targetSites = new Array()
+
-
for (item in memoryPlasmid.memoryObjects){
+
-
    site = new Object()
+
-
site.zincFinger = memoryPlasmid.memoryObjects[item].zincFinger.featureObject.target
+
-
site.methyltransferase = memoryPlasmid.memoryObjects[item].methyltransferase.featureObject.target
+
-
            targetSites[item-1] = site
+
-
        }
+
-
restrictionOrigin = memoryPlasmid.features[1].sequence
+
-
for (key in targetSites){
+
-
    restrictionOrigin += randomDNA(10)
+
-
    restrictionPlasmidOutput += generateWhiteSpace(5)
+
-
restrictionPlasmidOutput += 'misc_feature'
+
-
restrictionPlasmidOutput += generateWhiteSpace(5)
+
-
restrictionPlasmidOutput += restrictionOrigin.length+1+'...'
+
-
    restrictionOrigin += targetSites[key].zincFinger
+
-
restrictionPlasmidOutput += restrictionOrigin.length+'<br>'
+
-
restrictionOrigin += randomDNA(10)
+
-
restrictionPlasmidOutput += generateWhiteSpace(5)
+
-
restrictionPlasmidOutput += 'misc_feature'
+
-
restrictionPlasmidOutput += generateWhiteSpace(5)
+
-
restrictionPlasmidOutput += restrictionOrigin.length+1+'...'
+
-
    restrictionOrigin += targetSites[key].methyltransferase
+
-
restrictionPlasmidOutput += restrictionOrigin.length+'<br>'
+
-
restrictionOrigin += targetSites[key].methyltransferase
+
-
}
+
-
restrictionOrigin = restrictionOrigin.toLowerCase()
+
-
        restrictionOrigin = restrictionOrigin.replace(/[atgc]{10}/g,'$& ').replace(/amp;/g,'').split(' ')
+
-
        pos = 1
+
-
        newString = ''
+
-
        restrictionPlasmidOutput += 'ORIGIN<br>'
+
-
        for (i=0;i<restrictionOrigin.length;i++){
+
-
            newString = newString+' '+restrictionOrigin[i]
+
-
            if ((i+1)%6===0){
+
-
                whiteSpace = ''
+
-
                for (j=0;j<9-pos.toString().length;j++){
+
-
                    whiteSpace+= '&nbsp;'
+
-
                }
+
-
                newString = whiteSpace+pos + ' ' + newString
+
-
                restrictionPlasmidOutput+=newString+'<br>'
+
-
                newString = ''
+
-
            } else if ((i+1)%6==1){
+
-
                  if (i!=0){
+
-
                      pos+=60
+
-
                  }
+
-
              }
+
-
        }
+
-
        if (restrictionOrigin.length%6 != 0){
+
-
            newString = ''
+
-
            whiteSpace = ''
+
-
            for (j=0;j<9-pos.toString().length;j++){
+
-
                whiteSpace+= '&nbsp;'
+
-
            }
+
-
            newString+=whiteSpace+pos
+
-
            for (i=0;i<(restrictionOrigin.length%6);i++){
+
-
                newString+=' '+restrictionOrigin[restrictionOrigin.length-restrictionOrigin.length%6+i]
+
-
            }
+
-
            restrictionPlasmidOutput+=newString+'<br>'
+
-
        }
+
-
        content = memoryPlasmidOutput
+
-
        uriContent = "data:application/octet-stream," + encodeURIComponent(content);
+
-
        newWindow=window.open(uriContent, 'neuesDokument');
+
-
        myWindow=window.open()
+
-
        myWindow.document.write(memoryPlasmidOutput)
+
-
        myWindow.focus()
+
-
restrictionSiteWindow = window.open()
+
-
restrictionSiteWindow.document.write(restrictionPlasmidOutput)
+
-
restrictionSiteWindow.focus()
+
-
}
+
-
 
+
-
function formatPlasmidInput(backbone){
+
-
        backbone = backbone.split('\n')
+
-
        originBoolean = false
+
-
        backboneName = ''
+
-
        sequence = ''
+
-
        if (backbone[0].toLowerCase().indexOf('locus') != -1){
+
-
            for (i=0;i<backbone.length;i++){
+
-
                if (originBoolean === true){
+
-
                    if (backbone[i].indexOf('//') == -1){
+
-
                      appendThis = backbone[i].replace(/[0-9]|\s|\n|\t/g,'')
+
-
                      sequence = sequence+appendThis
+
-
                    } else{
+
-
                        originalBoolean = false
+
-
                    }
+
-
                }
+
-
                if (backbone[i].indexOf('locus') != -1){
+
-
                    backboneName = backbone[i].split(/\s+|\t+/g)[1]
+
-
                }
+
-
                if (backbone[i].indexOf('origin') != -1){
+
-
                    originBoolean = true
+
-
                }
+
-
            }
+
-
        } else if (backbone[0][0] == '>'){
+
-
                for (i=0;i<backbone.length;i++){
+
-
                    if (backbone[i][0] != '>'){
+
-
                        appendThis = backbone[i].replace(/[0-9]|\s|\n|\t/g,'')
+
-
                        sequence = sequence+appendThis
+
-
                    } else{
+
-
                        backboneName = backbone[i].replace('>','')
+
-
                    }
+
-
                }
+
-
        }
+
-
        memoryPlasmid.addFeature(1,sequence.length,'Backbone',sequence,backboneName,'')
+
-
        return sequence
+
-
}
+
-
 
+
-
function feature(start,end,type,sequence,description,featureObject){
+
-
this.start = start;
+
-
this.end = end;
+
-
this.type = type;
+
-
    this.sequence = sequence;
+
-
    this.description = description;
+
-
this.featureObject = featureObject
+
-
}
+
-
 
+
-
var restrictionPlasmid = {
+
-
backboneName : '',
+
-
dna : '',
+
-
features : {},
+
-
    setBackboneName : function(backboneName){
+
-
        restrictionlasmid.backboneName = backboneName
+
-
    },
+
-
setDNA : function(dna){
+
-
restrictionPlasmid.dna = dna
+
-
},
+
-
addFeature : function(start,end,type,sequence,description){
+
-
restrictionPlasmid.features[start] = new feature(start,end,type,sequence,description)
+
-
},
+
-
addRecognitionAreaObject : function(zfTarget,mtaseTarget){
+
-
 
+
-
recognitionPlasmid.zfTarget = zfTarget
+
-
recognitionPlasmid.mtaseTarget = mtaseTarget
+
-
}
+
-
}
+
-
 
+
-
var memoryPlasmid = {
+
-
    backboneName : '',
+
-
dna : '',
+
-
features : {},
+
-
memoryObjects : {},
+
-
    setBackboneName : function(backboneName){
+
-
        memoryPlasmid.backboneName = backboneName
+
-
    },
+
-
setDNA : function(dna){
+
-
memoryPlasmid.dna = dna
+
-
},
+
-
addMemoryObject : function(sensor,rbs,zincFinger,linker,mycTag,methyltransferase,terminator){
+
-
memoryObject = new Object()
+
-
memoryObject.sensor = sensor
+
-
memoryObject.rbs = rbs
+
-
memoryObject.zincFinger = zincFinger
+
-
memoryObject.linker = linker
+
-
memoryObject.mycTag = mycTag
+
-
memoryObject.methyltransferase = methyltransferase
+
-
memoryObject.terminator = terminator
+
-
    memoryPlasmid.memoryObjects[sensor.start] = memoryObject
+
-
},
+
-
addFeature : function(start,end,type,sequence,description){
+
-
memoryPlasmid.features[start] = new feature(start,end,type,sequence,description)
+
-
}
+
-
}
+
-
 
+
-
function sensorObject(name,sequence){
+
-
        this.name = name
+
-
        this.sequence = sequence
+
-
+
-
}
+
-
     
+
-
function formatSensors(sensors){
+
-
        sensorArray = new Array()
+
-
        if (sensors.indexOf('LOCUS') != -1){
+
-
            sensors = sensors.split('LOCUS')
+
-
            sensors.reverse().pop()
+
-
            for (i=0;i<sensors.length;i++){
+
-
                originBoolean = false
+
-
                sensorName = ''
+
-
                sequence = ''
+
-
                sensor = sensors[i].split('\n')
+
-
                for (j=0;j<sensor.length;j++){
+
-
                    if (j===0){
+
-
                        sensorName = sensor[j]
+
-
                    }
+
-
                    if (originBoolean === true){
+
-
                        if (sensor[j].indexOf('//') == -1){
+
-
                            appendThis = sensor[j].replace(/[0-9]|\s|\n|\t/g,'')
+
-
                            sequence += appendThis
+
-
                        } else {
+
-
                            originBoolean = false
+
-
                        }
+
-
                    }
+
-
                    if (sensor[j].indexOf('ORIGIN') != -1){
+
-
                        originBoolean = true
+
-
                    }
+
-
                }
+
-
                sensorArray[i] = new sensorObject(sensorName,sequence)
+
-
            }
+
-
        } else if (sensors[0] == '>'){
+
-
            sensors = sensors.split('//')
+
-
            sensors.pop()
+
-
            sensorName = ''
+
-
            for (i=0;i<sensors.length;i++){
+
-
                sensor = sensors[i].split('\n')
+
-
                sequence = ''
+
-
                for (j=0;j<sensor.length;j++){
+
-
                    if (sensor[j][0] != '>'){
+
-
                        appendThis = sensor[j].replace(/[0-9]|\s|\n|\t/g,'')
+
-
                        sequence = sequence+appendThis
+
-
                    } else if (sensor[j][0] == '>'){
+
-
                        sensorName = sensor[j].replace('>','')
+
-
                    } 
+
-
                }
+
-
                sensorArray[i] = new sensorObject(sensorName,sequence)
+
-
            }
+
-
        }
+
-
        return sensorArray
+
-
}
+
-
 
+
-
function formatPartsregistryPromoters(){
+
-
        promoters = new Array()
+
-
        $("input:checkbox[name=promoter]:checked").each(function(){
+
-
            promoter = $(this).val().split(':')
+
-
            promoters.push(new sensorObject(promoter[0],promoter[2]))
+
-
        })
+
-
        return promoters
+
-
}
+
-
function configuratePlasmid(){
+
-
        addForbiddenSequences()
+
-
        backbone = document.plasmidForm.plasmid.value.toLowerCase()
+
-
        sensors = document.plasmidForm.sensors.value.toLowerCase()
+
-
        methyltransferases = getMethyltransferases()
+
-
        zincFingers = getZincFingers()
+
-
        linkers = getLinkers()
+
-
        mycTags = getMycTags()
+
-
        rbs = getRBS()
+
-
        terminators = getTerminators()
+
-
        plasmidSequence = formatPlasmidInput(backbone)
+
-
        memoryPlasmid.setDNA(plasmidSequence)
+
-
        sensorArray = formatSensors(sensors)
+
-
        promoters = formatPartsregistryPromoters()
+
-
        sensorArray = promoters.concat(sensorArray)
+
-
        for (i=0;i<sensorArray.length;i++){
+
-
    featureArray = new Array()
+
-
featureArray[0] = new feature(memoryPlasmid.dna.length+1,memoryPlasmid.dna.length+sensorArray[i].sequence.length,'Sensor',sensorArray[i].sequence,sensorArray[i].name,sensorArray[i])
+
-
            memoryPlasmid.setDNA(memoryPlasmid.dna+sensorArray[i].sequence)
+
-
            j = Math.floor((Math.random()*rbs.length))
+
-
            featureArray[1] = new feature(memoryPlasmid.dna.length+1,memoryPlasmid.dna.length+rbs[j].sequence.length,'RBS',rbs[j].sequence,rbs[j].description,rbs[j])
+
-
            memoryPlasmid.setDNA(memoryPlasmid.dna+rbs[j].sequence+randomDNA(3))
+
-
            memoryPlasmid.setDNA(memoryPlasmid.dna+'atg'+randomDNA(10))
+
-
            for (j=0;j<zincFingers.length;j++){
+
-
                if (checkOccurrence(zincFingers[j].target.toLowerCase(),memoryPlasmid.dna) === true || checkOccurrence(zincFingers[j].sequence.toLowerCase(),memoryPlasmid.dna) === true){
+
-
                    continue
+
-
                } else{
+
-
                    featureArray[2] = new feature(memoryPlasmid.dna.length+1,memoryPlasmid.dna.length+zincFingers[j].sequence.length,'Zinc Finger',zincFingers[j].sequence,zincFingers[j].description,zincFingers[j])
+
-
                    memoryPlasmid.setDNA(memoryPlasmid.dna+zincFingers[j].sequence)
+
-
                    break
+
-
                }
+
-
            }
+
-
            j = Math.floor((Math.random()*linkers.length))
+
-
            featureArray[3] = new feature(memoryPlasmid.dna.length+1,memoryPlasmid.dna.length+linkers[j].sequence.length,'Linker',linkers[j].sequence,linkers[j].description,linkers[j])
+
-
    memoryPlasmid.setDNA(memoryPlasmid.dna+linkers[j].sequence)
+
-
            j = Math.floor((Math.random()*mycTags.length))
+
-
            featureArray[4] = new feature(memoryPlasmid.dna.length+1,memoryPlasmid.dna.length+mycTags[j].sequence.length,'Myc Tag',mycTags[j].sequence,mycTags[j].description,mycTags[j])
+
-
    memoryPlasmid.setDNA(memoryPlasmid.dna+mycTags[j].sequence)
+
-
            j = Math.floor((Math.random()*methyltransferases.length))
+
-
    featureArray[5] = new feature(memoryPlasmid.dna.length+1,memoryPlasmid.dna.length+methyltransferases[j].sequence.length,'Methyltransferase',methyltransferases[j].sequence,methyltransferases[j].description,methyltransferases[j])
+
-
            memoryPlasmid.setDNA(memoryPlasmid.dna+methyltransferases[j].sequence)
+
-
            j = Math.floor((Math.random()*terminators.length))
+
-
            featureArray[6] = new feature(memoryPlasmid.dna.length+1,memoryPlasmid.dna.length+terminators[j].sequence.length,'Terminator',terminators[j].sequence,terminators[j].description,terminators[j])
+
-
    memoryPlasmid.setDNA(memoryPlasmid.dna+terminators[j].sequence+randomDNA(10))
+
-
            memoryPlasmid.addMemoryObject(featureArray[0],featureArray[1],featureArray[2],featureArray[3],featureArray[4],featureArray[5],featureArray[6])
+
-
        }
+
-
               
+
-
restrictionPlasmid.setDNA(memoryPlasmid.features[1].sequence)
+
-
for (item in memoryPlasmid.memoryObjects){
+
-
featureArray = new Array()
+
-
mtaseStart = restrictionPlasmid.dna.length+1
+
-
mtaseEnd = restrictionPlasmid.dna.length+memoryPlasmid.memoryObjects[item].methyltransferase.featureObject.target.length
+
-
mtaseType = 'Restriction Site'
+
-
mtaseTarget = memoryPlasmid.memoryObjects[item].methyltransferase.featureObject.target.toLowerCase()
+
-
mtaseDescription = memoryPlasmid.memoryObjects[item].methyltransferase.featureObject.description+' restriction site'
+
-
featureArray[0] = new feature(mtaseStart,mtaseEnd,mtaseType,mtaseTarget,mtaseDescription)
+
-
restrictionPlasmid.setDNA(restrictionPlasmid.dna+mtaseTarget)
+
-
zfStart = restrictionPlasmid.dna.length+1
+
-
zfEnd = restrictionPlasmid.dna.length+memoryPlasmid.memoryObjects[item].zincFinger.featureObject.target.length
+
-
zfType = 'Restriction Site'
+
-
zfTarget = memoryPlasmid.memoryObjects[item].zincFinger.featureObject.target
+
-
zfDescription = memoryPlasmid.memoryObjects[item].zincFinger.featureObject.description+' restriction site'
+
-
featureArray[1] = new feature(zfStart,zfEnd,zfType,zfTarget,zfDescription)
+
-
restrictionPlasmid.setDNA(restrictionPlasmid.dna+mtaseTarget)
+
-
restrictionPlasmid.mtaseTarget = featureArray[0]
+
-
restrictionPlasmid.zfTarget = featureArray[1]
+
-
}
+
-
        genbank()
+
-
}
+
-
 
+
-
</script>
+
-
</head>
+
</html>
</html>
-
<div id="main-content">
 
-
{{Team:Amsterdam/toolForm}}
 
-
</div>
 
{{Team:Amsterdam/Foot}}
{{Team:Amsterdam/Foot}}

Latest revision as of 22:41, 26 September 2012