Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • 2024/gcm-ky
1 result
Show changes
Commits on Source (3)
Showing
with 4004 additions and 3832 deletions
import{b as pr}from"./chunks/mermaid.esm.min/chunk-BZCPFP2Z.mjs";import{a as ze}from"./chunks/mermaid.esm.min/chunk-UNXC6AID.mjs";import{a as Or}from"./chunks/mermaid.esm.min/chunk-GSFY7FJO.mjs";import{a as Fr}from"./chunks/mermaid.esm.min/chunk-QO4M3C66.mjs";import"./chunks/mermaid.esm.min/chunk-AO5Q4NQQ.mjs";import"./chunks/mermaid.esm.min/chunk-U6LOUQAF.mjs";import{a as mr}from"./chunks/mermaid.esm.min/chunk-J5J7XQ4F.mjs";import{b as Sr,j as Ve,l as Lr,m as X,n as _r,o as Tr}from"./chunks/mermaid.esm.min/chunk-INOGIEW4.mjs";import"./chunks/mermaid.esm.min/chunk-TI4EEUUG.mjs";import{$ as W,A as K,B as Er,C as fe,D as at,G as wr,M as br,O as Cr,aa as ue,b as A,c as Be,d as dr,f as gr,fa as H,g as Ue,h as ve,i as Ae,j as hr,k as xr,r as Ee,u as Ge,v as yr,w as Dr,x as vr,y as $e,z as Ar}from"./chunks/mermaid.esm.min/chunk-DMXVZUOD.mjs";import{d as qe}from"./chunks/mermaid.esm.min/chunk-YPUTD6PB.mjs";import"./chunks/mermaid.esm.min/chunk-6BY5RJGC.mjs";import{a as o,e as ot}from"./chunks/mermaid.esm.min/chunk-GTKDMUJJ.mjs";var kr="c4",lt=o(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),"detector"),ct=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/c4Diagram-PKRGQ4J3.mjs");return{id:kr,diagram:e}},"loader"),st={id:kr,detector:lt,loader:ct},Ir=st;var Mr="flowchart",ft=o((e,r)=>r?.flowchart?.defaultRenderer==="dagre-wrapper"||r?.flowchart?.defaultRenderer==="elk"?!1:/^\s*graph/.test(e),"detector"),ut=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/flowDiagram-45WVBZOY.mjs");return{id:Mr,diagram:e}},"loader"),pt={id:Mr,detector:ft,loader:ut},Rr=pt;var Nr="flowchart-v2",mt=o((e,r)=>r?.flowchart?.defaultRenderer==="dagre-d3"?!1:(r?.flowchart?.defaultRenderer==="elk"&&(r.layout="elk"),/^\s*graph/.test(e)&&r?.flowchart?.defaultRenderer==="dagre-wrapper"?!0:/^\s*flowchart/.test(e)),"detector"),dt=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/flowDiagram-45WVBZOY.mjs");return{id:Nr,diagram:e}},"loader"),gt={id:Nr,detector:mt,loader:dt},Pr=gt;var jr="er",ht=o(e=>/^\s*erDiagram/.test(e),"detector"),xt=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/erDiagram-CXR4D6DV.mjs");return{id:jr,diagram:e}},"loader"),yt={id:jr,detector:ht,loader:xt},Hr=yt;var Yr="gitGraph",Dt=o(e=>/^\s*gitGraph/.test(e),"detector"),vt=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/gitGraphDiagram-PQENWCQG.mjs");return{id:Yr,diagram:e}},"loader"),At={id:Yr,detector:Dt,loader:vt},Br=At;var Ur="gantt",Et=o(e=>/^\s*gantt/.test(e),"detector"),wt=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/ganttDiagram-ND5H62MH.mjs");return{id:Ur,diagram:e}},"loader"),bt={id:Ur,detector:Et,loader:wt},Gr=bt;var $r="info",Ct=o(e=>/^\s*info/.test(e),"detector"),St=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/infoDiagram-NPKQX72Y.mjs");return{id:$r,diagram:e}},"loader"),Vr={id:$r,detector:Ct,loader:St};var qr="pie",Lt=o(e=>/^\s*pie/.test(e),"detector"),_t=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/pieDiagram-623AM5EG.mjs");return{id:qr,diagram:e}},"loader"),zr={id:qr,detector:Lt,loader:_t};var Kr="quadrantChart",Tt=o(e=>/^\s*quadrantChart/.test(e),"detector"),Ft=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/quadrantDiagram-WGSIUGW7.mjs");return{id:Kr,diagram:e}},"loader"),Ot={id:Kr,detector:Tt,loader:Ft},Wr=Ot;var Xr="xychart",kt=o(e=>/^\s*xychart-beta/.test(e),"detector"),It=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/xychartDiagram-66APFTYY.mjs");return{id:Xr,diagram:e}},"loader"),Mt={id:Xr,detector:kt,loader:It},Qr=Mt;var Zr="requirement",Rt=o(e=>/^\s*requirement(Diagram)?/.test(e),"detector"),Nt=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/requirementDiagram-W5N2FZW3.mjs");return{id:Zr,diagram:e}},"loader"),Pt={id:Zr,detector:Rt,loader:Nt},Jr=Pt;var ei="sequence",jt=o(e=>/^\s*sequenceDiagram/.test(e),"detector"),Ht=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/sequenceDiagram-SCXOSQPA.mjs");return{id:ei,diagram:e}},"loader"),Yt={id:ei,detector:jt,loader:Ht},ri=Yt;var ii="class",Bt=o((e,r)=>r?.class?.defaultRenderer==="dagre-wrapper"?!1:/^\s*classDiagram/.test(e),"detector"),Ut=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/classDiagram-AMI2HWAO.mjs");return{id:ii,diagram:e}},"loader"),Gt={id:ii,detector:Bt,loader:Ut},ni=Gt;var ti="classDiagram",$t=o((e,r)=>/^\s*classDiagram/.test(e)&&r?.class?.defaultRenderer==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(e),"detector"),Vt=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/classDiagram-v2-ZV5MXIEC.mjs");return{id:ti,diagram:e}},"loader"),qt={id:ti,detector:$t,loader:Vt},oi=qt;var ai="state",zt=o((e,r)=>r?.state?.defaultRenderer==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(e),"detector"),Kt=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/stateDiagram-SCSOWTBO.mjs");return{id:ai,diagram:e}},"loader"),Wt={id:ai,detector:zt,loader:Kt},li=Wt;var ci="stateDiagram",Xt=o((e,r)=>!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&r?.state?.defaultRenderer==="dagre-wrapper"),"detector"),Qt=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/stateDiagram-v2-CDOWEHZP.mjs");return{id:ci,diagram:e}},"loader"),Zt={id:ci,detector:Xt,loader:Qt},si=Zt;var fi="journey",Jt=o(e=>/^\s*journey/.test(e),"detector"),eo=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/journeyDiagram-U3TH2EJ6.mjs");return{id:fi,diagram:e}},"loader"),ro={id:fi,detector:Jt,loader:eo},ui=ro;var io=o((e,r,i)=>{A.debug(`rendering svg for syntax error
`);let t=Or(r),n=t.append("g");t.attr("viewBox","0 0 2412 512"),br(t,100,512,!0),n.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),n.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),n.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),n.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),n.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),n.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),n.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),n.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${i}`)},"draw"),Ke={draw:io},pi=Ke;var no={db:{},renderer:Ke,parser:{parse:o(()=>{},"parse")}},mi=no;var di="flowchart-elk",to=o((e,r={})=>/^\s*flowchart-elk/.test(e)||/^\s*flowchart|graph/.test(e)&&r?.flowchart?.defaultRenderer==="elk"?(r.layout="elk",!0):!1,"detector"),oo=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/flowDiagram-45WVBZOY.mjs");return{id:di,diagram:e}},"loader"),ao={id:di,detector:to,loader:oo},gi=ao;var hi="timeline",lo=o(e=>/^\s*timeline/.test(e),"detector"),co=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/timeline-definition-T3RG5MMB.mjs");return{id:hi,diagram:e}},"loader"),so={id:hi,detector:lo,loader:co},xi=so;var yi="mindmap",fo=o(e=>/^\s*mindmap/.test(e),"detector"),uo=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/mindmap-definition-IT44IW4K.mjs");return{id:yi,diagram:e}},"loader"),po={id:yi,detector:fo,loader:uo},Di=po;var vi="sankey",mo=o(e=>/^\s*sankey-beta/.test(e),"detector"),go=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/sankeyDiagram-4BAG2S2Q.mjs");return{id:vi,diagram:e}},"loader"),ho={id:vi,detector:mo,loader:go},Ai=ho;var Ei="packet",xo=o(e=>/^\s*packet-beta/.test(e),"detector"),yo=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/diagram-GRJ7KGWB.mjs");return{id:Ei,diagram:e}},"loader"),wi={id:Ei,detector:xo,loader:yo};var bi="block",Do=o(e=>/^\s*block-beta/.test(e),"detector"),vo=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/blockDiagram-BWT5NM65.mjs");return{id:bi,diagram:e}},"loader"),Ao={id:bi,detector:Do,loader:vo},Ci=Ao;var Si="architecture",Eo=o(e=>/^\s*architecture/.test(e),"detector"),wo=o(async()=>{let{diagram:e}=await import("./chunks/mermaid.esm.min/architectureDiagram-D2ORJ6PI.mjs");return{id:Si,diagram:e}},"loader"),bo={id:Si,detector:Eo,loader:wo},Li=bo;var _i=!1,ee=o(()=>{_i||(_i=!0,W("error",mi,e=>e.toLowerCase().trim()==="error"),W("---",{db:{clear:o(()=>{},"clear")},styles:{},renderer:{draw:o(()=>{},"draw")},parser:{parse:o(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:o(()=>null,"init")},e=>e.toLowerCase().trimStart().startsWith("---")),Ae(Ir,oi,ni,Hr,Gr,Vr,zr,Jr,ri,gi,Pr,Rr,Di,xi,Br,si,li,ui,Wr,Ai,wi,Qr,Ci,Li))},"addDiagrams");var Ti=o(async()=>{A.debug("Loading registered diagrams");let r=(await Promise.allSettled(Object.entries(Ue).map(async([i,{detector:t,loader:n}])=>{if(n)try{ue(i)}catch{try{let{diagram:l,id:a}=await n();W(a,l,t)}catch(l){throw A.error(`Failed to load external diagram with key ${i}. Removing from detectors.`),delete Ue[i],l}}}))).filter(i=>i.status==="rejected");if(r.length>0){A.error(`Failed to load ${r.length} external diagrams`);for(let i of r)A.error(i);throw new Error(`Failed to load ${r.length} external diagrams`)}},"loadRegisteredDiagrams");var we="comm",be="rule",Ce="decl";var Fi="@import";var Oi="@keyframes";var ki="@layer";var We=Math.abs,pe=String.fromCharCode;function Se(e){return e.trim()}o(Se,"trim");function me(e,r,i){return e.replace(r,i)}o(me,"replace");function Ii(e,r,i){return e.indexOf(r,i)}o(Ii,"indexof");function Q(e,r){return e.charCodeAt(r)|0}o(Q,"charat");function G(e,r,i){return e.slice(r,i)}o(G,"substr");function F(e){return e.length}o(F,"strlen");function Mi(e){return e.length}o(Mi,"sizeof");function re(e,r){return r.push(e),e}o(re,"append");var Le=1,ie=1,Ri=0,k=0,w=0,te="";function _e(e,r,i,t,n,l,a,c){return{value:e,root:r,parent:i,type:t,props:n,children:l,line:Le,column:ie,length:a,return:"",siblings:c}}o(_e,"node");function Ni(){return w}o(Ni,"char");function Pi(){return w=k>0?Q(te,--k):0,ie--,w===10&&(ie=1,Le--),w}o(Pi,"prev");function I(){return w=k<Ri?Q(te,k++):0,ie++,w===10&&(ie=1,Le++),w}o(I,"next");function Y(){return Q(te,k)}o(Y,"peek");function de(){return k}o(de,"caret");function Te(e,r){return G(te,e,r)}o(Te,"slice");function ne(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}o(ne,"token");function ji(e){return Le=ie=1,Ri=F(te=e),k=0,[]}o(ji,"alloc");function Hi(e){return te="",e}o(Hi,"dealloc");function Fe(e){return Se(Te(k-1,Xe(e===91?e+2:e===40?e+1:e)))}o(Fe,"delimit");function Yi(e){for(;(w=Y())&&w<33;)I();return ne(e)>2||ne(w)>3?"":" "}o(Yi,"whitespace");function Bi(e,r){for(;--r&&I()&&!(w<48||w>102||w>57&&w<65||w>70&&w<97););return Te(e,de()+(r<6&&Y()==32&&I()==32))}o(Bi,"escaping");function Xe(e){for(;I();)switch(w){case e:return k;case 34:case 39:e!==34&&e!==39&&Xe(w);break;case 40:e===41&&Xe(e);break;case 92:I();break}return k}o(Xe,"delimiter");function Ui(e,r){for(;I()&&e+w!==57;)if(e+w===84&&Y()===47)break;return"/*"+Te(r,k-1)+"*"+pe(e===47?e:I())}o(Ui,"commenter");function Gi(e){for(;!ne(Y());)I();return Te(e,k)}o(Gi,"identifier");function qi(e){return Hi(Oe("",null,null,null,[""],e=ji(e),0,[0],e))}o(qi,"compile");function Oe(e,r,i,t,n,l,a,c,s){for(var u=0,p=0,f=a,m=0,d=0,y=0,h=1,D=1,E=1,x=0,M="",j=n,N=l,O=t,v=M;D;)switch(y=x,x=I()){case 40:if(y!=108&&Q(v,f-1)==58){Ii(v+=me(Fe(x),"&","&\f"),"&\f",We(u?c[u-1]:0))!=-1&&(E=-1);break}case 34:case 39:case 91:v+=Fe(x);break;case 9:case 10:case 13:case 32:v+=Yi(y);break;case 92:v+=Bi(de()-1,7);continue;case 47:switch(Y()){case 42:case 47:re(Co(Ui(I(),de()),r,i,s),s),(ne(y||1)==5||ne(Y()||1)==5)&&F(v)&&G(v,-1,void 0)!==" "&&(v+=" ");break;default:v+="/"}break;case 123*h:c[u++]=F(v)*E;case 125*h:case 59:case 0:switch(x){case 0:case 125:D=0;case 59+p:E==-1&&(v=me(v,/\f/g,"")),d>0&&(F(v)-f||h===0&&y===47)&&re(d>32?Vi(v+";",t,i,f-1,s):Vi(me(v," ","")+";",t,i,f-2,s),s);break;case 59:v+=";";default:if(re(O=$i(v,r,i,u,p,n,c,M,j=[],N=[],f,l),l),x===123)if(p===0)Oe(v,r,O,O,j,l,f,c,N);else switch(m===99&&Q(v,3)===110?100:m){case 100:case 108:case 109:case 115:Oe(e,O,O,t&&re($i(e,O,O,0,0,n,c,M,n,j=[],f,N),N),n,N,f,c,t?j:N);break;default:Oe(v,O,O,O,[""],N,0,c,N)}}u=p=d=0,h=E=1,M=v="",f=a;break;case 58:f=1+F(v),d=y;default:if(h<1){if(x==123)--h;else if(x==125&&h++==0&&Pi()==125)continue}switch(v+=pe(x),x*h){case 38:E=p>0?1:(v+="\f",-1);break;case 44:c[u++]=(F(v)-1)*E,E=1;break;case 64:Y()===45&&(v+=Fe(I())),m=Y(),p=f=F(M=v+=Gi(de())),x++;break;case 45:y===45&&F(v)==2&&(h=0)}}return l}o(Oe,"parse");function $i(e,r,i,t,n,l,a,c,s,u,p,f){for(var m=n-1,d=n===0?l:[""],y=Mi(d),h=0,D=0,E=0;h<t;++h)for(var x=0,M=G(e,m+1,m=We(D=a[h])),j=e;x<y;++x)(j=Se(D>0?d[x]+" "+M:me(M,/&\f/g,d[x])))&&(s[E++]=j);return _e(e,r,i,n===0?be:c,s,u,p,f)}o($i,"ruleset");function Co(e,r,i,t){return _e(e,r,i,we,pe(Ni()),G(e,2,-2),0,t)}o(Co,"comment");function Vi(e,r,i,t,n){return _e(e,r,i,Ce,G(e,0,t),G(e,t+1,-1),t,n)}o(Vi,"declaration");function ke(e,r){for(var i="",t=0;t<e.length;t++)i+=r(e[t],t,e,r)||"";return i}o(ke,"serialize");function zi(e,r,i,t){switch(e.type){case ki:if(e.children.length)break;case Fi:case Ce:return e.return=e.return||e.value;case we:return"";case Oi:return e.return=e.value+"{"+ke(e.children,t)+"}";case be:if(!F(e.value=e.props.join(",")))return""}return F(i=ke(e.children,t))?e.return=e.value+"{"+i+"}":""}o(zi,"stringify");var Kn=ot(at(),1);var So="graphics-document document";function Ki(e,r){e.attr("role",So),r!==""&&e.attr("aria-roledescription",r)}o(Ki,"setA11yDiagramInfo");function Wi(e,r,i,t){if(e.insert!==void 0){if(i){let n=`chart-desc-${t}`;e.attr("aria-describedby",n),e.insert("desc",":first-child").attr("id",n).text(i)}if(r){let n=`chart-title-${t}`;e.attr("aria-labelledby",n),e.insert("title",":first-child").attr("id",n).text(r)}}}o(Wi,"addSVGa11yTitleDescription");var oe=class e{constructor(r,i,t,n,l){this.type=r;this.text=i;this.db=t;this.parser=n;this.renderer=l}static{o(this,"Diagram")}static async fromText(r,i={}){let t=K(),n=ve(r,t);r=_r(r)+`
`;try{ue(n)}catch{let u=hr(n);if(!u)throw new gr(`Diagram ${n} not found.`);let{id:p,diagram:f}=await u();W(p,f)}let{db:l,parser:a,renderer:c,init:s}=ue(n);return a.parser&&(a.parser.yy=l),l.clear?.(),s?.(t),i.title&&l.setDiagramTitle?.(i.title),await a.parse(r),new e(n,r,l,a,c)}async render(r,i){await this.renderer.draw(this.text,r,i,this)}getParser(){return this.parser}getType(){return this.type}};var Xi=[];var Qi=o(()=>{Xi.forEach(e=>{e()}),Xi=[]},"attachFunctions");var Zi=o(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function gn(e){return typeof e>"u"||e===null}o(gn,"isNothing");function _o(e){return typeof e=="object"&&e!==null}o(_o,"isObject");function To(e){return Array.isArray(e)?e:gn(e)?[]:[e]}o(To,"toArray");function Fo(e,r){var i,t,n,l;if(r)for(l=Object.keys(r),i=0,t=l.length;i<t;i+=1)n=l[i],e[n]=r[n];return e}o(Fo,"extend");function Oo(e,r){var i="",t;for(t=0;t<r;t+=1)i+=e;return i}o(Oo,"repeat");function ko(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}o(ko,"isNegativeZero");var Io=gn,Mo=_o,Ro=To,No=Oo,Po=ko,jo=Fo,C={isNothing:Io,isObject:Mo,toArray:Ro,repeat:No,isNegativeZero:Po,extend:jo};function hn(e,r){var i="",t=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(i+='in "'+e.mark.name+'" '),i+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!r&&e.mark.snippet&&(i+=`
`+e.mark.snippet),t+" "+i):t}o(hn,"formatError");function he(e,r){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=r,this.message=hn(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}o(he,"YAMLException$1");he.prototype=Object.create(Error.prototype);he.prototype.constructor=he;he.prototype.toString=o(function(r){return this.name+": "+hn(this,r)},"toString");var _=he;function Qe(e,r,i,t,n){var l="",a="",c=Math.floor(n/2)-1;return t-r>c&&(l=" ... ",r=t-c+l.length),i-t>c&&(a=" ...",i=t+c-a.length),{str:l+e.slice(r,i).replace(/\t/g,"\u2192")+a,pos:t-r+l.length}}o(Qe,"getLine");function Ze(e,r){return C.repeat(" ",r-e.length)+e}o(Ze,"padStart");function Ho(e,r){if(r=Object.create(r||null),!e.buffer)return null;r.maxLength||(r.maxLength=79),typeof r.indent!="number"&&(r.indent=1),typeof r.linesBefore!="number"&&(r.linesBefore=3),typeof r.linesAfter!="number"&&(r.linesAfter=2);for(var i=/\r?\n|\r|\0/g,t=[0],n=[],l,a=-1;l=i.exec(e.buffer);)n.push(l.index),t.push(l.index+l[0].length),e.position<=l.index&&a<0&&(a=t.length-2);a<0&&(a=t.length-1);var c="",s,u,p=Math.min(e.line+r.linesAfter,n.length).toString().length,f=r.maxLength-(r.indent+p+3);for(s=1;s<=r.linesBefore&&!(a-s<0);s++)u=Qe(e.buffer,t[a-s],n[a-s],e.position-(t[a]-t[a-s]),f),c=C.repeat(" ",r.indent)+Ze((e.line-s+1).toString(),p)+" | "+u.str+`
`+c;for(u=Qe(e.buffer,t[a],n[a],e.position,f),c+=C.repeat(" ",r.indent)+Ze((e.line+1).toString(),p)+" | "+u.str+`
`,c+=C.repeat("-",r.indent+p+3+u.pos)+`^
`,s=1;s<=r.linesAfter&&!(a+s>=n.length);s++)u=Qe(e.buffer,t[a+s],n[a+s],e.position-(t[a]-t[a+s]),f),c+=C.repeat(" ",r.indent)+Ze((e.line+s+1).toString(),p)+" | "+u.str+`
`;return c.replace(/\n$/,"")}o(Ho,"makeSnippet");var Yo=Ho,Bo=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Uo=["scalar","sequence","mapping"];function Go(e){var r={};return e!==null&&Object.keys(e).forEach(function(i){e[i].forEach(function(t){r[String(t)]=i})}),r}o(Go,"compileStyleAliases");function $o(e,r){if(r=r||{},Object.keys(r).forEach(function(i){if(Bo.indexOf(i)===-1)throw new _('Unknown option "'+i+'" is met in definition of "'+e+'" YAML type.')}),this.options=r,this.tag=e,this.kind=r.kind||null,this.resolve=r.resolve||function(){return!0},this.construct=r.construct||function(i){return i},this.instanceOf=r.instanceOf||null,this.predicate=r.predicate||null,this.represent=r.represent||null,this.representName=r.representName||null,this.defaultStyle=r.defaultStyle||null,this.multi=r.multi||!1,this.styleAliases=Go(r.styleAliases||null),Uo.indexOf(this.kind)===-1)throw new _('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}o($o,"Type$1");var S=$o;function Ji(e,r){var i=[];return e[r].forEach(function(t){var n=i.length;i.forEach(function(l,a){l.tag===t.tag&&l.kind===t.kind&&l.multi===t.multi&&(n=a)}),i[n]=t}),i}o(Ji,"compileList");function Vo(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},r,i;function t(n){n.multi?(e.multi[n.kind].push(n),e.multi.fallback.push(n)):e[n.kind][n.tag]=e.fallback[n.tag]=n}for(o(t,"collectType"),r=0,i=arguments.length;r<i;r+=1)arguments[r].forEach(t);return e}o(Vo,"compileMap");function er(e){return this.extend(e)}o(er,"Schema$1");er.prototype.extend=o(function(r){var i=[],t=[];if(r instanceof S)t.push(r);else if(Array.isArray(r))t=t.concat(r);else if(r&&(Array.isArray(r.implicit)||Array.isArray(r.explicit)))r.implicit&&(i=i.concat(r.implicit)),r.explicit&&(t=t.concat(r.explicit));else throw new _("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");i.forEach(function(l){if(!(l instanceof S))throw new _("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(l.loadKind&&l.loadKind!=="scalar")throw new _("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(l.multi)throw new _("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),t.forEach(function(l){if(!(l instanceof S))throw new _("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var n=Object.create(er.prototype);return n.implicit=(this.implicit||[]).concat(i),n.explicit=(this.explicit||[]).concat(t),n.compiledImplicit=Ji(n,"implicit"),n.compiledExplicit=Ji(n,"explicit"),n.compiledTypeMap=Vo(n.compiledImplicit,n.compiledExplicit),n},"extend");var qo=er,zo=new S("tag:yaml.org,2002:str",{kind:"scalar",construct:o(function(e){return e!==null?e:""},"construct")}),Ko=new S("tag:yaml.org,2002:seq",{kind:"sequence",construct:o(function(e){return e!==null?e:[]},"construct")}),Wo=new S("tag:yaml.org,2002:map",{kind:"mapping",construct:o(function(e){return e!==null?e:{}},"construct")}),Xo=new qo({explicit:[zo,Ko,Wo]});function Qo(e){if(e===null)return!0;var r=e.length;return r===1&&e==="~"||r===4&&(e==="null"||e==="Null"||e==="NULL")}o(Qo,"resolveYamlNull");function Zo(){return null}o(Zo,"constructYamlNull");function Jo(e){return e===null}o(Jo,"isNull");var ea=new S("tag:yaml.org,2002:null",{kind:"scalar",resolve:Qo,construct:Zo,predicate:Jo,represent:{canonical:o(function(){return"~"},"canonical"),lowercase:o(function(){return"null"},"lowercase"),uppercase:o(function(){return"NULL"},"uppercase"),camelcase:o(function(){return"Null"},"camelcase"),empty:o(function(){return""},"empty")},defaultStyle:"lowercase"});function ra(e){if(e===null)return!1;var r=e.length;return r===4&&(e==="true"||e==="True"||e==="TRUE")||r===5&&(e==="false"||e==="False"||e==="FALSE")}o(ra,"resolveYamlBoolean");function ia(e){return e==="true"||e==="True"||e==="TRUE"}o(ia,"constructYamlBoolean");function na(e){return Object.prototype.toString.call(e)==="[object Boolean]"}o(na,"isBoolean");var ta=new S("tag:yaml.org,2002:bool",{kind:"scalar",resolve:ra,construct:ia,predicate:na,represent:{lowercase:o(function(e){return e?"true":"false"},"lowercase"),uppercase:o(function(e){return e?"TRUE":"FALSE"},"uppercase"),camelcase:o(function(e){return e?"True":"False"},"camelcase")},defaultStyle:"lowercase"});function oa(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}o(oa,"isHexCode");function aa(e){return 48<=e&&e<=55}o(aa,"isOctCode");function la(e){return 48<=e&&e<=57}o(la,"isDecCode");function ca(e){if(e===null)return!1;var r=e.length,i=0,t=!1,n;if(!r)return!1;if(n=e[i],(n==="-"||n==="+")&&(n=e[++i]),n==="0"){if(i+1===r)return!0;if(n=e[++i],n==="b"){for(i++;i<r;i++)if(n=e[i],n!=="_"){if(n!=="0"&&n!=="1")return!1;t=!0}return t&&n!=="_"}if(n==="x"){for(i++;i<r;i++)if(n=e[i],n!=="_"){if(!oa(e.charCodeAt(i)))return!1;t=!0}return t&&n!=="_"}if(n==="o"){for(i++;i<r;i++)if(n=e[i],n!=="_"){if(!aa(e.charCodeAt(i)))return!1;t=!0}return t&&n!=="_"}}if(n==="_")return!1;for(;i<r;i++)if(n=e[i],n!=="_"){if(!la(e.charCodeAt(i)))return!1;t=!0}return!(!t||n==="_")}o(ca,"resolveYamlInteger");function sa(e){var r=e,i=1,t;if(r.indexOf("_")!==-1&&(r=r.replace(/_/g,"")),t=r[0],(t==="-"||t==="+")&&(t==="-"&&(i=-1),r=r.slice(1),t=r[0]),r==="0")return 0;if(t==="0"){if(r[1]==="b")return i*parseInt(r.slice(2),2);if(r[1]==="x")return i*parseInt(r.slice(2),16);if(r[1]==="o")return i*parseInt(r.slice(2),8)}return i*parseInt(r,10)}o(sa,"constructYamlInteger");function fa(e){return Object.prototype.toString.call(e)==="[object Number]"&&e%1===0&&!C.isNegativeZero(e)}o(fa,"isInteger");var ua=new S("tag:yaml.org,2002:int",{kind:"scalar",resolve:ca,construct:sa,predicate:fa,represent:{binary:o(function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},"binary"),octal:o(function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},"octal"),decimal:o(function(e){return e.toString(10)},"decimal"),hexadecimal:o(function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),pa=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function ma(e){return!(e===null||!pa.test(e)||e[e.length-1]==="_")}o(ma,"resolveYamlFloat");function da(e){var r,i;return r=e.replace(/_/g,"").toLowerCase(),i=r[0]==="-"?-1:1,"+-".indexOf(r[0])>=0&&(r=r.slice(1)),r===".inf"?i===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:r===".nan"?NaN:i*parseFloat(r,10)}o(da,"constructYamlFloat");var ga=/^[-+]?[0-9]+e/;function ha(e,r){var i;if(isNaN(e))switch(r){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(r){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(r){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(C.isNegativeZero(e))return"-0.0";return i=e.toString(10),ga.test(i)?i.replace("e",".e"):i}o(ha,"representYamlFloat");function xa(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||C.isNegativeZero(e))}o(xa,"isFloat");var ya=new S("tag:yaml.org,2002:float",{kind:"scalar",resolve:ma,construct:da,predicate:xa,represent:ha,defaultStyle:"lowercase"}),xn=Xo.extend({implicit:[ea,ta,ua,ya]}),Da=xn,yn=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Dn=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function va(e){return e===null?!1:yn.exec(e)!==null||Dn.exec(e)!==null}o(va,"resolveYamlTimestamp");function Aa(e){var r,i,t,n,l,a,c,s=0,u=null,p,f,m;if(r=yn.exec(e),r===null&&(r=Dn.exec(e)),r===null)throw new Error("Date resolve error");if(i=+r[1],t=+r[2]-1,n=+r[3],!r[4])return new Date(Date.UTC(i,t,n));if(l=+r[4],a=+r[5],c=+r[6],r[7]){for(s=r[7].slice(0,3);s.length<3;)s+="0";s=+s}return r[9]&&(p=+r[10],f=+(r[11]||0),u=(p*60+f)*6e4,r[9]==="-"&&(u=-u)),m=new Date(Date.UTC(i,t,n,l,a,c,s)),u&&m.setTime(m.getTime()-u),m}o(Aa,"constructYamlTimestamp");function Ea(e){return e.toISOString()}o(Ea,"representYamlTimestamp");var wa=new S("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:va,construct:Aa,instanceOf:Date,represent:Ea});function ba(e){return e==="<<"||e===null}o(ba,"resolveYamlMerge");var Ca=new S("tag:yaml.org,2002:merge",{kind:"scalar",resolve:ba}),or=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
\r`;function Sa(e){if(e===null)return!1;var r,i,t=0,n=e.length,l=or;for(i=0;i<n;i++)if(r=l.indexOf(e.charAt(i)),!(r>64)){if(r<0)return!1;t+=6}return t%8===0}o(Sa,"resolveYamlBinary");function La(e){var r,i,t=e.replace(/[\r\n=]/g,""),n=t.length,l=or,a=0,c=[];for(r=0;r<n;r++)r%4===0&&r&&(c.push(a>>16&255),c.push(a>>8&255),c.push(a&255)),a=a<<6|l.indexOf(t.charAt(r));return i=n%4*6,i===0?(c.push(a>>16&255),c.push(a>>8&255),c.push(a&255)):i===18?(c.push(a>>10&255),c.push(a>>2&255)):i===12&&c.push(a>>4&255),new Uint8Array(c)}o(La,"constructYamlBinary");function _a(e){var r="",i=0,t,n,l=e.length,a=or;for(t=0;t<l;t++)t%3===0&&t&&(r+=a[i>>18&63],r+=a[i>>12&63],r+=a[i>>6&63],r+=a[i&63]),i=(i<<8)+e[t];return n=l%3,n===0?(r+=a[i>>18&63],r+=a[i>>12&63],r+=a[i>>6&63],r+=a[i&63]):n===2?(r+=a[i>>10&63],r+=a[i>>4&63],r+=a[i<<2&63],r+=a[64]):n===1&&(r+=a[i>>2&63],r+=a[i<<4&63],r+=a[64],r+=a[64]),r}o(_a,"representYamlBinary");function Ta(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}o(Ta,"isBinary");var Fa=new S("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Sa,construct:La,predicate:Ta,represent:_a}),Oa=Object.prototype.hasOwnProperty,ka=Object.prototype.toString;function Ia(e){if(e===null)return!0;var r=[],i,t,n,l,a,c=e;for(i=0,t=c.length;i<t;i+=1){if(n=c[i],a=!1,ka.call(n)!=="[object Object]")return!1;for(l in n)if(Oa.call(n,l))if(!a)a=!0;else return!1;if(!a)return!1;if(r.indexOf(l)===-1)r.push(l);else return!1}return!0}o(Ia,"resolveYamlOmap");function Ma(e){return e!==null?e:[]}o(Ma,"constructYamlOmap");var Ra=new S("tag:yaml.org,2002:omap",{kind:"sequence",resolve:Ia,construct:Ma}),Na=Object.prototype.toString;function Pa(e){if(e===null)return!0;var r,i,t,n,l,a=e;for(l=new Array(a.length),r=0,i=a.length;r<i;r+=1){if(t=a[r],Na.call(t)!=="[object Object]"||(n=Object.keys(t),n.length!==1))return!1;l[r]=[n[0],t[n[0]]]}return!0}o(Pa,"resolveYamlPairs");function ja(e){if(e===null)return[];var r,i,t,n,l,a=e;for(l=new Array(a.length),r=0,i=a.length;r<i;r+=1)t=a[r],n=Object.keys(t),l[r]=[n[0],t[n[0]]];return l}o(ja,"constructYamlPairs");var Ha=new S("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:Pa,construct:ja}),Ya=Object.prototype.hasOwnProperty;function Ba(e){if(e===null)return!0;var r,i=e;for(r in i)if(Ya.call(i,r)&&i[r]!==null)return!1;return!0}o(Ba,"resolveYamlSet");function Ua(e){return e!==null?e:{}}o(Ua,"constructYamlSet");var Ga=new S("tag:yaml.org,2002:set",{kind:"mapping",resolve:Ba,construct:Ua}),vn=Da.extend({implicit:[wa,Ca],explicit:[Fa,Ra,Ha,Ga]}),V=Object.prototype.hasOwnProperty,Ie=1,An=2,En=3,Me=4,Je=1,$a=2,en=3,Va=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,qa=/[\x85\u2028\u2029]/,za=/[,\[\]\{\}]/,wn=/^(?:!|!!|![a-z\-]+!)$/i,bn=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function rn(e){return Object.prototype.toString.call(e)}o(rn,"_class");function P(e){return e===10||e===13}o(P,"is_EOL");function J(e){return e===9||e===32}o(J,"is_WHITE_SPACE");function T(e){return e===9||e===32||e===10||e===13}o(T,"is_WS_OR_EOL");function le(e){return e===44||e===91||e===93||e===123||e===125}o(le,"is_FLOW_INDICATOR");function Ka(e){var r;return 48<=e&&e<=57?e-48:(r=e|32,97<=r&&r<=102?r-97+10:-1)}o(Ka,"fromHexCode");function Wa(e){return e===120?2:e===117?4:e===85?8:0}o(Wa,"escapedHexLen");function Xa(e){return 48<=e&&e<=57?e-48:-1}o(Xa,"fromDecimalCode");function nn(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?`
`:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"\x85":e===95?"\xA0":e===76?"\u2028":e===80?"\u2029":""}o(nn,"simpleEscapeSequence");function Qa(e){return e<=65535?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}o(Qa,"charFromCodepoint");var Cn=new Array(256),Sn=new Array(256);for(Z=0;Z<256;Z++)Cn[Z]=nn(Z)?1:0,Sn[Z]=nn(Z);var Z;function Za(e,r){this.input=e,this.filename=r.filename||null,this.schema=r.schema||vn,this.onWarning=r.onWarning||null,this.legacy=r.legacy||!1,this.json=r.json||!1,this.listener=r.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}o(Za,"State$1");function Ln(e,r){var i={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return i.snippet=Yo(i),new _(r,i)}o(Ln,"generateError");function g(e,r){throw Ln(e,r)}o(g,"throwError");function Re(e,r){e.onWarning&&e.onWarning.call(null,Ln(e,r))}o(Re,"throwWarning");var tn={YAML:o(function(r,i,t){var n,l,a;r.version!==null&&g(r,"duplication of %YAML directive"),t.length!==1&&g(r,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(t[0]),n===null&&g(r,"ill-formed argument of the YAML directive"),l=parseInt(n[1],10),a=parseInt(n[2],10),l!==1&&g(r,"unacceptable YAML version of the document"),r.version=t[0],r.checkLineBreaks=a<2,a!==1&&a!==2&&Re(r,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:o(function(r,i,t){var n,l;t.length!==2&&g(r,"TAG directive accepts exactly two arguments"),n=t[0],l=t[1],wn.test(n)||g(r,"ill-formed tag handle (first argument) of the TAG directive"),V.call(r.tagMap,n)&&g(r,'there is a previously declared suffix for "'+n+'" tag handle'),bn.test(l)||g(r,"ill-formed tag prefix (second argument) of the TAG directive");try{l=decodeURIComponent(l)}catch{g(r,"tag prefix is malformed: "+l)}r.tagMap[n]=l},"handleTagDirective")};function $(e,r,i,t){var n,l,a,c;if(r<i){if(c=e.input.slice(r,i),t)for(n=0,l=c.length;n<l;n+=1)a=c.charCodeAt(n),a===9||32<=a&&a<=1114111||g(e,"expected valid JSON character");else Va.test(c)&&g(e,"the stream contains non-printable characters");e.result+=c}}o($,"captureSegment");function on(e,r,i,t){var n,l,a,c;for(C.isObject(i)||g(e,"cannot merge mappings; the provided source object is unacceptable"),n=Object.keys(i),a=0,c=n.length;a<c;a+=1)l=n[a],V.call(r,l)||(r[l]=i[l],t[l]=!0)}o(on,"mergeMappings");function ce(e,r,i,t,n,l,a,c,s){var u,p;if(Array.isArray(n))for(n=Array.prototype.slice.call(n),u=0,p=n.length;u<p;u+=1)Array.isArray(n[u])&&g(e,"nested arrays are not supported inside keys"),typeof n=="object"&&rn(n[u])==="[object Object]"&&(n[u]="[object Object]");if(typeof n=="object"&&rn(n)==="[object Object]"&&(n="[object Object]"),n=String(n),r===null&&(r={}),t==="tag:yaml.org,2002:merge")if(Array.isArray(l))for(u=0,p=l.length;u<p;u+=1)on(e,r,l[u],i);else on(e,r,l,i);else!e.json&&!V.call(i,n)&&V.call(r,n)&&(e.line=a||e.line,e.lineStart=c||e.lineStart,e.position=s||e.position,g(e,"duplicated mapping key")),n==="__proto__"?Object.defineProperty(r,n,{configurable:!0,enumerable:!0,writable:!0,value:l}):r[n]=l,delete i[n];return r}o(ce,"storeMappingPair");function ar(e){var r;r=e.input.charCodeAt(e.position),r===10?e.position++:r===13?(e.position++,e.input.charCodeAt(e.position)===10&&e.position++):g(e,"a line break is expected"),e.line+=1,e.lineStart=e.position,e.firstTabInLine=-1}o(ar,"readLineBreak");function b(e,r,i){for(var t=0,n=e.input.charCodeAt(e.position);n!==0;){for(;J(n);)n===9&&e.firstTabInLine===-1&&(e.firstTabInLine=e.position),n=e.input.charCodeAt(++e.position);if(r&&n===35)do n=e.input.charCodeAt(++e.position);while(n!==10&&n!==13&&n!==0);if(P(n))for(ar(e),n=e.input.charCodeAt(e.position),t++,e.lineIndent=0;n===32;)e.lineIndent++,n=e.input.charCodeAt(++e.position);else break}return i!==-1&&t!==0&&e.lineIndent<i&&Re(e,"deficient indentation"),t}o(b,"skipSeparationSpace");function je(e){var r=e.position,i;return i=e.input.charCodeAt(r),!!((i===45||i===46)&&i===e.input.charCodeAt(r+1)&&i===e.input.charCodeAt(r+2)&&(r+=3,i=e.input.charCodeAt(r),i===0||T(i)))}o(je,"testDocumentSeparator");function lr(e,r){r===1?e.result+=" ":r>1&&(e.result+=C.repeat(`
`,r-1))}o(lr,"writeFoldedLines");function Ja(e,r,i){var t,n,l,a,c,s,u,p,f=e.kind,m=e.result,d;if(d=e.input.charCodeAt(e.position),T(d)||le(d)||d===35||d===38||d===42||d===33||d===124||d===62||d===39||d===34||d===37||d===64||d===96||(d===63||d===45)&&(n=e.input.charCodeAt(e.position+1),T(n)||i&&le(n)))return!1;for(e.kind="scalar",e.result="",l=a=e.position,c=!1;d!==0;){if(d===58){if(n=e.input.charCodeAt(e.position+1),T(n)||i&&le(n))break}else if(d===35){if(t=e.input.charCodeAt(e.position-1),T(t))break}else{if(e.position===e.lineStart&&je(e)||i&&le(d))break;if(P(d))if(s=e.line,u=e.lineStart,p=e.lineIndent,b(e,!1,-1),e.lineIndent>=r){c=!0,d=e.input.charCodeAt(e.position);continue}else{e.position=a,e.line=s,e.lineStart=u,e.lineIndent=p;break}}c&&($(e,l,a,!1),lr(e,e.line-s),l=a=e.position,c=!1),J(d)||(a=e.position+1),d=e.input.charCodeAt(++e.position)}return $(e,l,a,!1),e.result?!0:(e.kind=f,e.result=m,!1)}o(Ja,"readPlainScalar");function el(e,r){var i,t,n;if(i=e.input.charCodeAt(e.position),i!==39)return!1;for(e.kind="scalar",e.result="",e.position++,t=n=e.position;(i=e.input.charCodeAt(e.position))!==0;)if(i===39)if($(e,t,e.position,!0),i=e.input.charCodeAt(++e.position),i===39)t=e.position,e.position++,n=e.position;else return!0;else P(i)?($(e,t,n,!0),lr(e,b(e,!1,r)),t=n=e.position):e.position===e.lineStart&&je(e)?g(e,"unexpected end of the document within a single quoted scalar"):(e.position++,n=e.position);g(e,"unexpected end of the stream within a single quoted scalar")}o(el,"readSingleQuotedScalar");function rl(e,r){var i,t,n,l,a,c;if(c=e.input.charCodeAt(e.position),c!==34)return!1;for(e.kind="scalar",e.result="",e.position++,i=t=e.position;(c=e.input.charCodeAt(e.position))!==0;){if(c===34)return $(e,i,e.position,!0),e.position++,!0;if(c===92){if($(e,i,e.position,!0),c=e.input.charCodeAt(++e.position),P(c))b(e,!1,r);else if(c<256&&Cn[c])e.result+=Sn[c],e.position++;else if((a=Wa(c))>0){for(n=a,l=0;n>0;n--)c=e.input.charCodeAt(++e.position),(a=Ka(c))>=0?l=(l<<4)+a:g(e,"expected hexadecimal character");e.result+=Qa(l),e.position++}else g(e,"unknown escape sequence");i=t=e.position}else P(c)?($(e,i,t,!0),lr(e,b(e,!1,r)),i=t=e.position):e.position===e.lineStart&&je(e)?g(e,"unexpected end of the document within a double quoted scalar"):(e.position++,t=e.position)}g(e,"unexpected end of the stream within a double quoted scalar")}o(rl,"readDoubleQuotedScalar");function il(e,r){var i=!0,t,n,l,a=e.tag,c,s=e.anchor,u,p,f,m,d,y=Object.create(null),h,D,E,x;if(x=e.input.charCodeAt(e.position),x===91)p=93,d=!1,c=[];else if(x===123)p=125,d=!0,c={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=c),x=e.input.charCodeAt(++e.position);x!==0;){if(b(e,!0,r),x=e.input.charCodeAt(e.position),x===p)return e.position++,e.tag=a,e.anchor=s,e.kind=d?"mapping":"sequence",e.result=c,!0;i?x===44&&g(e,"expected the node content, but found ','"):g(e,"missed comma between flow collection entries"),D=h=E=null,f=m=!1,x===63&&(u=e.input.charCodeAt(e.position+1),T(u)&&(f=m=!0,e.position++,b(e,!0,r))),t=e.line,n=e.lineStart,l=e.position,se(e,r,Ie,!1,!0),D=e.tag,h=e.result,b(e,!0,r),x=e.input.charCodeAt(e.position),(m||e.line===t)&&x===58&&(f=!0,x=e.input.charCodeAt(++e.position),b(e,!0,r),se(e,r,Ie,!1,!0),E=e.result),d?ce(e,c,y,D,h,E,t,n,l):f?c.push(ce(e,null,y,D,h,E,t,n,l)):c.push(h),b(e,!0,r),x=e.input.charCodeAt(e.position),x===44?(i=!0,x=e.input.charCodeAt(++e.position)):i=!1}g(e,"unexpected end of the stream within a flow collection")}o(il,"readFlowCollection");function nl(e,r){var i,t,n=Je,l=!1,a=!1,c=r,s=0,u=!1,p,f;if(f=e.input.charCodeAt(e.position),f===124)t=!1;else if(f===62)t=!0;else return!1;for(e.kind="scalar",e.result="";f!==0;)if(f=e.input.charCodeAt(++e.position),f===43||f===45)Je===n?n=f===43?en:$a:g(e,"repeat of a chomping mode identifier");else if((p=Xa(f))>=0)p===0?g(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):a?g(e,"repeat of an indentation width identifier"):(c=r+p-1,a=!0);else break;if(J(f)){do f=e.input.charCodeAt(++e.position);while(J(f));if(f===35)do f=e.input.charCodeAt(++e.position);while(!P(f)&&f!==0)}for(;f!==0;){for(ar(e),e.lineIndent=0,f=e.input.charCodeAt(e.position);(!a||e.lineIndent<c)&&f===32;)e.lineIndent++,f=e.input.charCodeAt(++e.position);if(!a&&e.lineIndent>c&&(c=e.lineIndent),P(f)){s++;continue}if(e.lineIndent<c){n===en?e.result+=C.repeat(`
`,l?1+s:s):n===Je&&l&&(e.result+=`
`);break}for(t?J(f)?(u=!0,e.result+=C.repeat(`
`,l?1+s:s)):u?(u=!1,e.result+=C.repeat(`
`,s+1)):s===0?l&&(e.result+=" "):e.result+=C.repeat(`
`,s):e.result+=C.repeat(`
`,l?1+s:s),l=!0,a=!0,s=0,i=e.position;!P(f)&&f!==0;)f=e.input.charCodeAt(++e.position);$(e,i,e.position,!1)}return!0}o(nl,"readBlockScalar");function an(e,r){var i,t=e.tag,n=e.anchor,l=[],a,c=!1,s;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=l),s=e.input.charCodeAt(e.position);s!==0&&(e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,g(e,"tab characters must not be used in indentation")),!(s!==45||(a=e.input.charCodeAt(e.position+1),!T(a))));){if(c=!0,e.position++,b(e,!0,-1)&&e.lineIndent<=r){l.push(null),s=e.input.charCodeAt(e.position);continue}if(i=e.line,se(e,r,En,!1,!0),l.push(e.result),b(e,!0,-1),s=e.input.charCodeAt(e.position),(e.line===i||e.lineIndent>r)&&s!==0)g(e,"bad indentation of a sequence entry");else if(e.lineIndent<r)break}return c?(e.tag=t,e.anchor=n,e.kind="sequence",e.result=l,!0):!1}o(an,"readBlockSequence");function tl(e,r,i){var t,n,l,a,c,s,u=e.tag,p=e.anchor,f={},m=Object.create(null),d=null,y=null,h=null,D=!1,E=!1,x;if(e.firstTabInLine!==-1)return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=f),x=e.input.charCodeAt(e.position);x!==0;){if(!D&&e.firstTabInLine!==-1&&(e.position=e.firstTabInLine,g(e,"tab characters must not be used in indentation")),t=e.input.charCodeAt(e.position+1),l=e.line,(x===63||x===58)&&T(t))x===63?(D&&(ce(e,f,m,d,y,null,a,c,s),d=y=h=null),E=!0,D=!0,n=!0):D?(D=!1,n=!0):g(e,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),e.position+=1,x=t;else{if(a=e.line,c=e.lineStart,s=e.position,!se(e,i,An,!1,!0))break;if(e.line===l){for(x=e.input.charCodeAt(e.position);J(x);)x=e.input.charCodeAt(++e.position);if(x===58)x=e.input.charCodeAt(++e.position),T(x)||g(e,"a whitespace character is expected after the key-value separator within a block mapping"),D&&(ce(e,f,m,d,y,null,a,c,s),d=y=h=null),E=!0,D=!1,n=!1,d=e.tag,y=e.result;else if(E)g(e,"can not read an implicit mapping pair; a colon is missed");else return e.tag=u,e.anchor=p,!0}else if(E)g(e,"can not read a block mapping entry; a multiline key may not be an implicit key");else return e.tag=u,e.anchor=p,!0}if((e.line===l||e.lineIndent>r)&&(D&&(a=e.line,c=e.lineStart,s=e.position),se(e,r,Me,!0,n)&&(D?y=e.result:h=e.result),D||(ce(e,f,m,d,y,h,a,c,s),d=y=h=null),b(e,!0,-1),x=e.input.charCodeAt(e.position)),(e.line===l||e.lineIndent>r)&&x!==0)g(e,"bad indentation of a mapping entry");else if(e.lineIndent<r)break}return D&&ce(e,f,m,d,y,null,a,c,s),E&&(e.tag=u,e.anchor=p,e.kind="mapping",e.result=f),E}o(tl,"readBlockMapping");function ol(e){var r,i=!1,t=!1,n,l,a;if(a=e.input.charCodeAt(e.position),a!==33)return!1;if(e.tag!==null&&g(e,"duplication of a tag property"),a=e.input.charCodeAt(++e.position),a===60?(i=!0,a=e.input.charCodeAt(++e.position)):a===33?(t=!0,n="!!",a=e.input.charCodeAt(++e.position)):n="!",r=e.position,i){do a=e.input.charCodeAt(++e.position);while(a!==0&&a!==62);e.position<e.length?(l=e.input.slice(r,e.position),a=e.input.charCodeAt(++e.position)):g(e,"unexpected end of the stream within a verbatim tag")}else{for(;a!==0&&!T(a);)a===33&&(t?g(e,"tag suffix cannot contain exclamation marks"):(n=e.input.slice(r-1,e.position+1),wn.test(n)||g(e,"named tag handle cannot contain such characters"),t=!0,r=e.position+1)),a=e.input.charCodeAt(++e.position);l=e.input.slice(r,e.position),za.test(l)&&g(e,"tag suffix cannot contain flow indicator characters")}l&&!bn.test(l)&&g(e,"tag name cannot contain such characters: "+l);try{l=decodeURIComponent(l)}catch{g(e,"tag name is malformed: "+l)}return i?e.tag=l:V.call(e.tagMap,n)?e.tag=e.tagMap[n]+l:n==="!"?e.tag="!"+l:n==="!!"?e.tag="tag:yaml.org,2002:"+l:g(e,'undeclared tag handle "'+n+'"'),!0}o(ol,"readTagProperty");function al(e){var r,i;if(i=e.input.charCodeAt(e.position),i!==38)return!1;for(e.anchor!==null&&g(e,"duplication of an anchor property"),i=e.input.charCodeAt(++e.position),r=e.position;i!==0&&!T(i)&&!le(i);)i=e.input.charCodeAt(++e.position);return e.position===r&&g(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(r,e.position),!0}o(al,"readAnchorProperty");function ll(e){var r,i,t;if(t=e.input.charCodeAt(e.position),t!==42)return!1;for(t=e.input.charCodeAt(++e.position),r=e.position;t!==0&&!T(t)&&!le(t);)t=e.input.charCodeAt(++e.position);return e.position===r&&g(e,"name of an alias node must contain at least one character"),i=e.input.slice(r,e.position),V.call(e.anchorMap,i)||g(e,'unidentified alias "'+i+'"'),e.result=e.anchorMap[i],b(e,!0,-1),!0}o(ll,"readAlias");function se(e,r,i,t,n){var l,a,c,s=1,u=!1,p=!1,f,m,d,y,h,D;if(e.listener!==null&&e.listener("open",e),e.tag=null,e.anchor=null,e.kind=null,e.result=null,l=a=c=Me===i||En===i,t&&b(e,!0,-1)&&(u=!0,e.lineIndent>r?s=1:e.lineIndent===r?s=0:e.lineIndent<r&&(s=-1)),s===1)for(;ol(e)||al(e);)b(e,!0,-1)?(u=!0,c=l,e.lineIndent>r?s=1:e.lineIndent===r?s=0:e.lineIndent<r&&(s=-1)):c=!1;if(c&&(c=u||n),(s===1||Me===i)&&(Ie===i||An===i?h=r:h=r+1,D=e.position-e.lineStart,s===1?c&&(an(e,D)||tl(e,D,h))||il(e,h)?p=!0:(a&&nl(e,h)||el(e,h)||rl(e,h)?p=!0:ll(e)?(p=!0,(e.tag!==null||e.anchor!==null)&&g(e,"alias node should not have any properties")):Ja(e,h,Ie===i)&&(p=!0,e.tag===null&&(e.tag="?")),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):s===0&&(p=c&&an(e,D))),e.tag===null)e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);else if(e.tag==="?"){for(e.result!==null&&e.kind!=="scalar"&&g(e,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+e.kind+'"'),f=0,m=e.implicitTypes.length;f<m;f+=1)if(y=e.implicitTypes[f],y.resolve(e.result)){e.result=y.construct(e.result),e.tag=y.tag,e.anchor!==null&&(e.anchorMap[e.anchor]=e.result);break}}else if(e.tag!=="!"){if(V.call(e.typeMap[e.kind||"fallback"],e.tag))y=e.typeMap[e.kind||"fallback"][e.tag];else for(y=null,d=e.typeMap.multi[e.kind||"fallback"],f=0,m=d.length;f<m;f+=1)if(e.tag.slice(0,d[f].tag.length)===d[f].tag){y=d[f];break}y||g(e,"unknown tag !<"+e.tag+">"),e.result!==null&&y.kind!==e.kind&&g(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+y.kind+'", not "'+e.kind+'"'),y.resolve(e.result,e.tag)?(e.result=y.construct(e.result,e.tag),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):g(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||p}o(se,"composeNode");function cl(e){var r=e.position,i,t,n,l=!1,a;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(a=e.input.charCodeAt(e.position))!==0&&(b(e,!0,-1),a=e.input.charCodeAt(e.position),!(e.lineIndent>0||a!==37));){for(l=!0,a=e.input.charCodeAt(++e.position),i=e.position;a!==0&&!T(a);)a=e.input.charCodeAt(++e.position);for(t=e.input.slice(i,e.position),n=[],t.length<1&&g(e,"directive name must not be less than one character in length");a!==0;){for(;J(a);)a=e.input.charCodeAt(++e.position);if(a===35){do a=e.input.charCodeAt(++e.position);while(a!==0&&!P(a));break}if(P(a))break;for(i=e.position;a!==0&&!T(a);)a=e.input.charCodeAt(++e.position);n.push(e.input.slice(i,e.position))}a!==0&&ar(e),V.call(tn,t)?tn[t](e,t,n):Re(e,'unknown document directive "'+t+'"')}if(b(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,b(e,!0,-1)):l&&g(e,"directives end mark is expected"),se(e,e.lineIndent-1,Me,!1,!0),b(e,!0,-1),e.checkLineBreaks&&qa.test(e.input.slice(r,e.position))&&Re(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&je(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,b(e,!0,-1));return}if(e.position<e.length-1)g(e,"end of the stream or a document separator is expected");else return}o(cl,"readDocument");function _n(e,r){e=String(e),r=r||{},e.length!==0&&(e.charCodeAt(e.length-1)!==10&&e.charCodeAt(e.length-1)!==13&&(e+=`
`),e.charCodeAt(0)===65279&&(e=e.slice(1)));var i=new Za(e,r),t=e.indexOf("\0");for(t!==-1&&(i.position=t,g(i,"null byte is not allowed in input")),i.input+="\0";i.input.charCodeAt(i.position)===32;)i.lineIndent+=1,i.position+=1;for(;i.position<i.length-1;)cl(i);return i.documents}o(_n,"loadDocuments");function sl(e,r,i){r!==null&&typeof r=="object"&&typeof i>"u"&&(i=r,r=null);var t=_n(e,i);if(typeof r!="function")return t;for(var n=0,l=t.length;n<l;n+=1)r(t[n])}o(sl,"loadAll$1");function fl(e,r){var i=_n(e,r);if(i.length!==0){if(i.length===1)return i[0];throw new _("expected a single document in the stream, but found more")}}o(fl,"load$1");var ul=sl,pl=fl,Tn={loadAll:ul,load:pl},Fn=Object.prototype.toString,On=Object.prototype.hasOwnProperty,cr=65279,ml=9,xe=10,dl=13,gl=32,hl=33,xl=34,rr=35,yl=37,Dl=38,vl=39,Al=42,kn=44,El=45,Ne=58,wl=61,bl=62,Cl=63,Sl=64,In=91,Mn=93,Ll=96,Rn=123,_l=124,Nn=125,L={};L[0]="\\0";L[7]="\\a";L[8]="\\b";L[9]="\\t";L[10]="\\n";L[11]="\\v";L[12]="\\f";L[13]="\\r";L[27]="\\e";L[34]='\\"';L[92]="\\\\";L[133]="\\N";L[160]="\\_";L[8232]="\\L";L[8233]="\\P";var Tl=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],Fl=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function Ol(e,r){var i,t,n,l,a,c,s;if(r===null)return{};for(i={},t=Object.keys(r),n=0,l=t.length;n<l;n+=1)a=t[n],c=String(r[a]),a.slice(0,2)==="!!"&&(a="tag:yaml.org,2002:"+a.slice(2)),s=e.compiledTypeMap.fallback[a],s&&On.call(s.styleAliases,c)&&(c=s.styleAliases[c]),i[a]=c;return i}o(Ol,"compileStyleMap");function kl(e){var r,i,t;if(r=e.toString(16).toUpperCase(),e<=255)i="x",t=2;else if(e<=65535)i="u",t=4;else if(e<=4294967295)i="U",t=8;else throw new _("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+i+C.repeat("0",t-r.length)+r}o(kl,"encodeHex");var Il=1,ye=2;function Ml(e){this.schema=e.schema||vn,this.indent=Math.max(1,e.indent||2),this.noArrayIndent=e.noArrayIndent||!1,this.skipInvalid=e.skipInvalid||!1,this.flowLevel=C.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=Ol(this.schema,e.styles||null),this.sortKeys=e.sortKeys||!1,this.lineWidth=e.lineWidth||80,this.noRefs=e.noRefs||!1,this.noCompatMode=e.noCompatMode||!1,this.condenseFlow=e.condenseFlow||!1,this.quotingType=e.quotingType==='"'?ye:Il,this.forceQuotes=e.forceQuotes||!1,this.replacer=typeof e.replacer=="function"?e.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}o(Ml,"State");function ln(e,r){for(var i=C.repeat(" ",r),t=0,n=-1,l="",a,c=e.length;t<c;)n=e.indexOf(`
`,t),n===-1?(a=e.slice(t),t=c):(a=e.slice(t,n+1),t=n+1),a.length&&a!==`
`&&(l+=i),l+=a;return l}o(ln,"indentString");function ir(e,r){return`
`+C.repeat(" ",e.indent*r)}o(ir,"generateNextLine");function Rl(e,r){var i,t,n;for(i=0,t=e.implicitTypes.length;i<t;i+=1)if(n=e.implicitTypes[i],n.resolve(r))return!0;return!1}o(Rl,"testImplicitResolving");function Pe(e){return e===gl||e===ml}o(Pe,"isWhitespace");function De(e){return 32<=e&&e<=126||161<=e&&e<=55295&&e!==8232&&e!==8233||57344<=e&&e<=65533&&e!==cr||65536<=e&&e<=1114111}o(De,"isPrintable");function cn(e){return De(e)&&e!==cr&&e!==dl&&e!==xe}o(cn,"isNsCharOrWhitespace");function sn(e,r,i){var t=cn(e),n=t&&!Pe(e);return(i?t:t&&e!==kn&&e!==In&&e!==Mn&&e!==Rn&&e!==Nn)&&e!==rr&&!(r===Ne&&!n)||cn(r)&&!Pe(r)&&e===rr||r===Ne&&n}o(sn,"isPlainSafe");function Nl(e){return De(e)&&e!==cr&&!Pe(e)&&e!==El&&e!==Cl&&e!==Ne&&e!==kn&&e!==In&&e!==Mn&&e!==Rn&&e!==Nn&&e!==rr&&e!==Dl&&e!==Al&&e!==hl&&e!==_l&&e!==wl&&e!==bl&&e!==vl&&e!==xl&&e!==yl&&e!==Sl&&e!==Ll}o(Nl,"isPlainSafeFirst");function Pl(e){return!Pe(e)&&e!==Ne}o(Pl,"isPlainSafeLast");function ge(e,r){var i=e.charCodeAt(r),t;return i>=55296&&i<=56319&&r+1<e.length&&(t=e.charCodeAt(r+1),t>=56320&&t<=57343)?(i-55296)*1024+t-56320+65536:i}o(ge,"codePointAt");function Pn(e){var r=/^\n* /;return r.test(e)}o(Pn,"needIndentIndicator");var jn=1,nr=2,Hn=3,Yn=4,ae=5;function jl(e,r,i,t,n,l,a,c){var s,u=0,p=null,f=!1,m=!1,d=t!==-1,y=-1,h=Nl(ge(e,0))&&Pl(ge(e,e.length-1));if(r||a)for(s=0;s<e.length;u>=65536?s+=2:s++){if(u=ge(e,s),!De(u))return ae;h=h&&sn(u,p,c),p=u}else{for(s=0;s<e.length;u>=65536?s+=2:s++){if(u=ge(e,s),u===xe)f=!0,d&&(m=m||s-y-1>t&&e[y+1]!==" ",y=s);else if(!De(u))return ae;h=h&&sn(u,p,c),p=u}m=m||d&&s-y-1>t&&e[y+1]!==" "}return!f&&!m?h&&!a&&!n(e)?jn:l===ye?ae:nr:i>9&&Pn(e)?ae:a?l===ye?ae:nr:m?Yn:Hn}o(jl,"chooseScalarStyle");function Hl(e,r,i,t,n){e.dump=function(){if(r.length===0)return e.quotingType===ye?'""':"''";if(!e.noCompatMode&&(Tl.indexOf(r)!==-1||Fl.test(r)))return e.quotingType===ye?'"'+r+'"':"'"+r+"'";var l=e.indent*Math.max(1,i),a=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-l),c=t||e.flowLevel>-1&&i>=e.flowLevel;function s(u){return Rl(e,u)}switch(o(s,"testAmbiguity"),jl(r,c,e.indent,a,s,e.quotingType,e.forceQuotes&&!t,n)){case jn:return r;case nr:return"'"+r.replace(/'/g,"''")+"'";case Hn:return"|"+fn(r,e.indent)+un(ln(r,l));case Yn:return">"+fn(r,e.indent)+un(ln(Yl(r,a),l));case ae:return'"'+Bl(r)+'"';default:throw new _("impossible error: invalid scalar style")}}()}o(Hl,"writeScalar");function fn(e,r){var i=Pn(e)?String(r):"",t=e[e.length-1]===`
`,n=t&&(e[e.length-2]===`
`||e===`
`),l=n?"+":t?"":"-";return i+l+`
`}o(fn,"blockHeader");function un(e){return e[e.length-1]===`
`?e.slice(0,-1):e}o(un,"dropEndingNewline");function Yl(e,r){for(var i=/(\n+)([^\n]*)/g,t=function(){var u=e.indexOf(`
`);return u=u!==-1?u:e.length,i.lastIndex=u,pn(e.slice(0,u),r)}(),n=e[0]===`
`||e[0]===" ",l,a;a=i.exec(e);){var c=a[1],s=a[2];l=s[0]===" ",t+=c+(!n&&!l&&s!==""?`
`:"")+pn(s,r),n=l}return t}o(Yl,"foldString");function pn(e,r){if(e===""||e[0]===" ")return e;for(var i=/ [^ ]/g,t,n=0,l,a=0,c=0,s="";t=i.exec(e);)c=t.index,c-n>r&&(l=a>n?a:c,s+=`
`+e.slice(n,l),n=l+1),a=c;return s+=`
`,e.length-n>r&&a>n?s+=e.slice(n,a)+`
`+e.slice(a+1):s+=e.slice(n),s.slice(1)}o(pn,"foldLine");function Bl(e){for(var r="",i=0,t,n=0;n<e.length;i>=65536?n+=2:n++)i=ge(e,n),t=L[i],!t&&De(i)?(r+=e[n],i>=65536&&(r+=e[n+1])):r+=t||kl(i);return r}o(Bl,"escapeString");function Ul(e,r,i){var t="",n=e.tag,l,a,c;for(l=0,a=i.length;l<a;l+=1)c=i[l],e.replacer&&(c=e.replacer.call(i,String(l),c)),(B(e,r,c,!1,!1)||typeof c>"u"&&B(e,r,null,!1,!1))&&(t!==""&&(t+=","+(e.condenseFlow?"":" ")),t+=e.dump);e.tag=n,e.dump="["+t+"]"}o(Ul,"writeFlowSequence");function mn(e,r,i,t){var n="",l=e.tag,a,c,s;for(a=0,c=i.length;a<c;a+=1)s=i[a],e.replacer&&(s=e.replacer.call(i,String(a),s)),(B(e,r+1,s,!0,!0,!1,!0)||typeof s>"u"&&B(e,r+1,null,!0,!0,!1,!0))&&((!t||n!=="")&&(n+=ir(e,r)),e.dump&&xe===e.dump.charCodeAt(0)?n+="-":n+="- ",n+=e.dump);e.tag=l,e.dump=n||"[]"}o(mn,"writeBlockSequence");function Gl(e,r,i){var t="",n=e.tag,l=Object.keys(i),a,c,s,u,p;for(a=0,c=l.length;a<c;a+=1)p="",t!==""&&(p+=", "),e.condenseFlow&&(p+='"'),s=l[a],u=i[s],e.replacer&&(u=e.replacer.call(i,s,u)),B(e,r,s,!1,!1)&&(e.dump.length>1024&&(p+="? "),p+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),B(e,r,u,!1,!1)&&(p+=e.dump,t+=p));e.tag=n,e.dump="{"+t+"}"}o(Gl,"writeFlowMapping");function $l(e,r,i,t){var n="",l=e.tag,a=Object.keys(i),c,s,u,p,f,m;if(e.sortKeys===!0)a.sort();else if(typeof e.sortKeys=="function")a.sort(e.sortKeys);else if(e.sortKeys)throw new _("sortKeys must be a boolean or a function");for(c=0,s=a.length;c<s;c+=1)m="",(!t||n!=="")&&(m+=ir(e,r)),u=a[c],p=i[u],e.replacer&&(p=e.replacer.call(i,u,p)),B(e,r+1,u,!0,!0,!0)&&(f=e.tag!==null&&e.tag!=="?"||e.dump&&e.dump.length>1024,f&&(e.dump&&xe===e.dump.charCodeAt(0)?m+="?":m+="? "),m+=e.dump,f&&(m+=ir(e,r)),B(e,r+1,p,!0,f)&&(e.dump&&xe===e.dump.charCodeAt(0)?m+=":":m+=": ",m+=e.dump,n+=m));e.tag=l,e.dump=n||"{}"}o($l,"writeBlockMapping");function dn(e,r,i){var t,n,l,a,c,s;for(n=i?e.explicitTypes:e.implicitTypes,l=0,a=n.length;l<a;l+=1)if(c=n[l],(c.instanceOf||c.predicate)&&(!c.instanceOf||typeof r=="object"&&r instanceof c.instanceOf)&&(!c.predicate||c.predicate(r))){if(i?c.multi&&c.representName?e.tag=c.representName(r):e.tag=c.tag:e.tag="?",c.represent){if(s=e.styleMap[c.tag]||c.defaultStyle,Fn.call(c.represent)==="[object Function]")t=c.represent(r,s);else if(On.call(c.represent,s))t=c.represent[s](r,s);else throw new _("!<"+c.tag+'> tag resolver accepts not "'+s+'" style');e.dump=t}return!0}return!1}o(dn,"detectType");function B(e,r,i,t,n,l,a){e.tag=null,e.dump=i,dn(e,i,!1)||dn(e,i,!0);var c=Fn.call(e.dump),s=t,u;t&&(t=e.flowLevel<0||e.flowLevel>r);var p=c==="[object Object]"||c==="[object Array]",f,m;if(p&&(f=e.duplicates.indexOf(i),m=f!==-1),(e.tag!==null&&e.tag!=="?"||m||e.indent!==2&&r>0)&&(n=!1),m&&e.usedDuplicates[f])e.dump="*ref_"+f;else{if(p&&m&&!e.usedDuplicates[f]&&(e.usedDuplicates[f]=!0),c==="[object Object]")t&&Object.keys(e.dump).length!==0?($l(e,r,e.dump,n),m&&(e.dump="&ref_"+f+e.dump)):(Gl(e,r,e.dump),m&&(e.dump="&ref_"+f+" "+e.dump));else if(c==="[object Array]")t&&e.dump.length!==0?(e.noArrayIndent&&!a&&r>0?mn(e,r-1,e.dump,n):mn(e,r,e.dump,n),m&&(e.dump="&ref_"+f+e.dump)):(Ul(e,r,e.dump),m&&(e.dump="&ref_"+f+" "+e.dump));else if(c==="[object String]")e.tag!=="?"&&Hl(e,e.dump,r,l,s);else{if(c==="[object Undefined]")return!1;if(e.skipInvalid)return!1;throw new _("unacceptable kind of an object to dump "+c)}e.tag!==null&&e.tag!=="?"&&(u=encodeURI(e.tag[0]==="!"?e.tag.slice(1):e.tag).replace(/!/g,"%21"),e.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",e.dump=u+" "+e.dump)}return!0}o(B,"writeNode");function Vl(e,r){var i=[],t=[],n,l;for(tr(e,i,t),n=0,l=t.length;n<l;n+=1)r.duplicates.push(i[t[n]]);r.usedDuplicates=new Array(l)}o(Vl,"getDuplicateReferences");function tr(e,r,i){var t,n,l;if(e!==null&&typeof e=="object")if(n=r.indexOf(e),n!==-1)i.indexOf(n)===-1&&i.push(n);else if(r.push(e),Array.isArray(e))for(n=0,l=e.length;n<l;n+=1)tr(e[n],r,i);else for(t=Object.keys(e),n=0,l=t.length;n<l;n+=1)tr(e[t[n]],r,i)}o(tr,"inspectNode");function ql(e,r){r=r||{};var i=new Ml(r);i.noRefs||Vl(e,i);var t=e;return i.replacer&&(t=i.replacer.call({"":t},"",t)),B(i,0,t,!0,!0)?i.dump+`
`:""}o(ql,"dump$1");var zl=ql,Kl={dump:zl};function sr(e,r){return function(){throw new Error("Function yaml."+e+" is removed in js-yaml 4. Use yaml."+r+" instead, which is now safe by default.")}}o(sr,"renamed");var Bn=xn;var Un=Tn.load,Yf=Tn.loadAll,Bf=Kl.dump;var Uf=sr("safeLoad","load"),Gf=sr("safeLoadAll","loadAll"),$f=sr("safeDump","dump");function Gn(e){let r=e.match(dr);if(!r)return{text:e,metadata:{}};let i=Un(r[1],{schema:Bn})??{};i=typeof i=="object"&&!Array.isArray(i)?i:{};let t={};return i.displayMode&&(t.displayMode=i.displayMode.toString()),i.title&&(t.title=i.title.toString()),i.config&&(t.config=i.config),{text:e.slice(r[0].length),metadata:t}}o(Gn,"extractFrontMatter");var Xl=o(e=>e.replace(/\r\n?/g,`
`).replace(/<(\w+)([^>]*)>/g,(r,i,t)=>"<"+i+t.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),Ql=o(e=>{let{text:r,metadata:i}=Gn(e),{displayMode:t,title:n,config:l={}}=i;return t&&(l.gantt||(l.gantt={}),l.gantt.displayMode=t),{title:n,config:l,text:r}},"processFrontmatter"),Zl=o(e=>{let r=X.detectInit(e)??{},i=X.detectDirective(e,"wrap");return Array.isArray(i)?r.wrap=i.some(({type:t})=>t==="wrap"):i?.type==="wrap"&&(r.wrap=!0),{text:Sr(e),directive:r}},"processDirectives");function fr(e){let r=Xl(e),i=Ql(r),t=Zl(i.text),n=Lr(i.config,t.directive);return e=Zi(t.text),{code:e,title:i.title,config:n}}o(fr,"preprocessDiagram");function $n(e){let r=new TextEncoder().encode(e),i=Array.from(r,t=>String.fromCodePoint(t)).join("");return btoa(i)}o($n,"toBase64");var Jl=5e4,ec="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",rc="sandbox",ic="loose",nc="http://www.w3.org/2000/svg",tc="http://www.w3.org/1999/xlink",oc="http://www.w3.org/1999/xhtml",ac="100%",lc="100%",cc="border:0;margin:0;",sc="margin:0",fc="allow-top-navigation-by-user-activation allow-popups",uc='The "iframe" tag is not supported by your browser.',pc=["foreignobject"],mc=["dominant-baseline"];function Wn(e){let r=fr(e);return fe(),Er(r.config??{}),r}o(Wn,"processAndSetConfigs");async function dc(e,r){ee();try{let{code:i,config:t}=Wn(e);return{diagramType:(await Xn(i)).type,config:t}}catch(i){if(r?.suppressErrors)return!1;throw i}}o(dc,"parse");var Vn=o((e,r,i=[])=>`
.${e} ${r} { ${i.join(" !important; ")} !important; }`,"cssImportantStyles"),gc=o((e,r=new Map)=>{let i="";if(e.themeCSS!==void 0&&(i+=`
${e.themeCSS}`),e.fontFamily!==void 0&&(i+=`
:root { --mermaid-font-family: ${e.fontFamily}}`),e.altFontFamily!==void 0&&(i+=`
:root { --mermaid-alt-font-family: ${e.altFontFamily}}`),r instanceof Map){let a=e.htmlLabels??e.flowchart?.htmlLabels?["> *","span"]:["rect","polygon","ellipse","circle","path"];r.forEach(c=>{qe(c.styles)||a.forEach(s=>{i+=Vn(c.id,s,c.styles)}),qe(c.textStyles)||(i+=Vn(c.id,"tspan",(c?.textStyles||[]).map(s=>s.replace("color","fill"))))})}return i},"createCssStyles"),hc=o((e,r,i,t)=>{let n=gc(e,i),l=Cr(r,n,e.themeVariables);return ke(qi(`${t}{${l}}`),zi)},"createUserStyles"),xc=o((e="",r,i)=>{let t=e;return!i&&!r&&(t=t.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),t=Tr(t),t=t.replace(/<br>/g,"<br/>"),t},"cleanUpSvgCode"),yc=o((e="",r)=>{let i=r?.viewBox?.baseVal?.height?r.viewBox.baseVal.height+"px":lc,t=$n(`<body style="${sc}">${e}</body>`);return`<iframe style="width:${ac};height:${i};${cc}" src="data:text/html;charset=UTF-8;base64,${t}" sandbox="${fc}">
${uc}
</iframe>`},"putIntoIFrame"),qn=o((e,r,i,t,n)=>{let l=e.append("div");l.attr("id",i),t&&l.attr("style",t);let a=l.append("svg").attr("id",r).attr("width","100%").attr("xmlns",nc);return n&&a.attr("xmlns:xlink",n),a.append("g"),e},"appendDivSvgG");function zn(e,r){return e.append("iframe").attr("id",r).attr("style","width: 100%; height: 100%;").attr("sandbox","")}o(zn,"sandboxedIframe");var Dc=o((e,r,i,t)=>{e.getElementById(r)?.remove(),e.getElementById(i)?.remove(),e.getElementById(t)?.remove()},"removeExistingElements"),vc=o(async function(e,r,i){ee();let t=Wn(r);r=t.code;let n=K();A.debug(n),r.length>(n?.maxTextSize??Jl)&&(r=ec);let l="#"+e,a="i"+e,c="#"+a,s="d"+e,u="#"+s,p=o(()=>{let Ye=H(m?c:u).node();Ye&&"remove"in Ye&&Ye.remove()},"removeTempElements"),f=H("body"),m=n.securityLevel===rc,d=n.securityLevel===ic,y=n.fontFamily;if(i!==void 0){if(i&&(i.innerHTML=""),m){let R=zn(H(i),a);f=H(R.nodes()[0].contentDocument.body),f.node().style.margin=0}else f=H(i);qn(f,e,s,`font-family: ${y}`,tc)}else{if(Dc(document,e,s,a),m){let R=zn(H("body"),a);f=H(R.nodes()[0].contentDocument.body),f.node().style.margin=0}else f=H("body");qn(f,e,s)}let h,D;try{h=await oe.fromText(r,{title:t.title})}catch(R){if(n.suppressErrorRendering)throw p(),R;h=await oe.fromText("error"),D=R}let E=f.select(u).node(),x=h.type,M=E.firstChild,j=M.firstChild,N=h.renderer.getClasses?.(r,h),O=hc(n,x,N,l),v=document.createElement("style");v.innerHTML=O,M.insertBefore(v,j);try{await h.renderer.draw(r,e,ze,h)}catch(R){throw n.suppressErrorRendering?p():pi.draw(r,e,ze),R}let it=f.select(`${u} svg`),nt=h.db.getAccTitle?.(),tt=h.db.getAccDescription?.();Ec(x,it,nt,tt),f.select(`[id="${e}"]`).selectAll("foreignobject > *").attr("xmlns",oc);let z=f.select(u).node().innerHTML;if(A.debug("config.arrowMarkerAbsolute",n.arrowMarkerAbsolute),z=xc(z,m,wr(n.arrowMarkerAbsolute)),m){let R=f.select(u+" svg").node();z=yc(z,R)}else d||(z=Kn.default.sanitize(z,{ADD_TAGS:pc,ADD_ATTR:mc}));if(Qi(),D)throw D;return p(),{diagramType:x,svg:z,bindFunctions:h.db.bindFunctions}},"render");function Ac(e={}){let r=xr({},e);r?.fontFamily&&!r.themeVariables?.fontFamily&&(r.themeVariables||(r.themeVariables={}),r.themeVariables.fontFamily=r.fontFamily),Dr(r),r?.theme&&r.theme in Ee?r.themeVariables=Ee[r.theme].getThemeVariables(r.themeVariables):r&&(r.themeVariables=Ee.default.getThemeVariables(r.themeVariables));let i=typeof r=="object"?yr(r):$e();Be(i.logLevel),ee()}o(Ac,"initialize");var Xn=o((e,r={})=>{let{code:i}=fr(e);return oe.fromText(i,r)},"getDiagramFromText");function Ec(e,r,i,t){Ki(r,e),Wi(r,i,t,r.attr("id"))}o(Ec,"addA11yInfo");var q=Object.freeze({render:vc,parse:dc,getDiagramFromText:Xn,initialize:Ac,getConfig:K,setConfig:Ar,getSiteConfig:$e,updateSiteConfig:vr,reset:o(()=>{fe()},"reset"),globalReset:o(()=>{fe(Ge)},"globalReset"),defaultConfig:Ge});Be(K().logLevel);fe(K());var wc=o((e,r,i)=>{A.warn(e),Ve(e)?(i&&i(e.str,e.hash),r.push({...e,message:e.str,error:e})):(i&&i(e),e instanceof Error&&r.push({str:e.message,message:e.message,hash:e.name,error:e}))},"handleError"),Qn=o(async function(e={querySelector:".mermaid"}){try{await bc(e)}catch(r){if(Ve(r)&&A.error(r.str),U.parseError&&U.parseError(r),!e.suppressErrors)throw A.error("Use the suppressErrors option to suppress these errors"),r}},"run"),bc=o(async function({postRenderCallback:e,querySelector:r,nodes:i}={querySelector:".mermaid"}){let t=q.getConfig();A.debug(`${e?"":"No "}Callback function found`);let n;if(i)n=i;else if(r)n=document.querySelectorAll(r);else throw new Error("Nodes and querySelector are both undefined");A.debug(`Found ${n.length} diagrams`),t?.startOnLoad!==void 0&&(A.debug("Start On Load: "+t?.startOnLoad),q.updateSiteConfig({startOnLoad:t?.startOnLoad}));let l=new X.InitIDGenerator(t.deterministicIds,t.deterministicIDSeed),a,c=[];for(let s of Array.from(n)){A.info("Rendering diagram: "+s.id);if(s.getAttribute("data-processed"))continue;s.setAttribute("data-processed","true");let u=`mermaid-${l.next()}`;a=s.innerHTML,a=mr(X.entityDecode(a)).trim().replace(/<br\s*\/?>/gi,"<br/>");let p=X.detectInit(a);p&&A.debug("Detected early reinit: ",p);try{let{svg:f,bindFunctions:m}=await rt(u,a,s);s.innerHTML=f,e&&await e(u),m&&m(s)}catch(f){wc(f,c,U.parseError)}}if(c.length>0)throw c[0]},"runThrowsErrors"),Zn=o(function(e){q.initialize(e)},"initialize"),Cc=o(async function(e,r,i){A.warn("mermaid.init is deprecated. Please use run instead."),e&&Zn(e);let t={postRenderCallback:i,querySelector:".mermaid"};typeof r=="string"?t.querySelector=r:r&&(r instanceof HTMLElement?t.nodes=[r]:t.nodes=r),await Qn(t)},"init"),Sc=o(async(e,{lazyLoad:r=!0}={})=>{ee(),Ae(...e),r===!1&&await Ti()},"registerExternalDiagrams"),Jn=o(function(){if(U.startOnLoad){let{startOnLoad:e}=q.getConfig();e&&U.run().catch(r=>A.error("Mermaid failed to initialize",r))}},"contentLoaded");if(typeof document<"u"){window.addEventListener("load",Jn,!1)}var Lc=o(function(e){U.parseError=e},"setParseErrorHandler"),He=[],ur=!1,et=o(async()=>{if(!ur){for(ur=!0;He.length>0;){let e=He.shift();if(e)try{await e()}catch(r){A.error("Error executing queue",r)}}ur=!1}},"executeQueue"),_c=o(async(e,r)=>new Promise((i,t)=>{let n=o(()=>new Promise((l,a)=>{q.parse(e,r).then(c=>{l(c),i(c)},c=>{A.error("Error parsing",c),U.parseError?.(c),a(c),t(c)})}),"performCall");He.push(n),et().catch(t)}),"parse"),rt=o((e,r,i)=>new Promise((t,n)=>{let l=o(()=>new Promise((a,c)=>{q.render(e,r,i).then(s=>{a(s),t(s)},s=>{A.error("Error parsing",s),U.parseError?.(s),c(s),n(s)})}),"performCall");He.push(l),et().catch(n)}),"render"),U={startOnLoad:!0,mermaidAPI:q,parse:_c,render:rt,init:Cc,run:Qn,registerExternalDiagrams:Sc,registerLayoutLoaders:Fr,initialize:Zn,parseError:void 0,contentLoaded:Jn,setParseErrorHandler:Lc,detectType:ve,registerIconPacks:pr},Fu=U;export{Fu as default};
/*! Check if previously processed */
/*!
* Wait for document loaded before starting the execution
*/
/*! Bundled license information:
js-yaml/dist/js-yaml.mjs:
(*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT *)
*/
\ No newline at end of file
......@@ -6,25 +6,27 @@
<p>
<a href="https://www.instagram.com/louisville_igem/" target="_blank">
<img src="https://static.igem.wiki/teams/5114/logos/instagram.webp" alt="Instagram" width="75" height="75">
<img src="https://static.igem.wiki/teams/5114/logos/instagram.webp" alt="Instagram" width="75" height="75">
</a>
<a href="https://www.tiktok.com/@louisville.igem" target="_blank">
<img src="https://static.igem.wiki/teams/5114/logos/tiktok.png" alt="Tik-Tok" width="75" height="75" style="margin-left: 15px;">
<img src="https://static.igem.wiki/teams/5114/logos/tiktok.png" alt="Tik-Tok" width="75" height="75"
style="margin-left: 15px;">
</a>
<a href="https://www.gofundme.com/f/funding-our-local-igem-team" target="_blank">
<img src="https://static.igem.wiki/teams/5114/logos/gofundme-removebg-preview.png" alt="GoFundMe" width="150" height="75" style="margin-left: 15px;">
<img src="https://static.igem.wiki/teams/5114/logos/gofundme-removebg-preview.png" alt="GoFundMe"
width="150" height="75" style="margin-left: 15px;">
</a>
</p>
</div>
<div class="col-lg-3 col-xs-12">
<h4 class="mt-lg-0 mt-sm-3">Schools (click)</h4>
<ul class="m-2 p-2">
<li><a href="https://www.dupontmanual.com/" target="_blank">Dupont Manual</a></li>
<li><a href="https://louisvillecollegiate.org/" target="_blank">Louisville Collegiate</a></li>
<li><a href="https://www.wku.edu/academy/" target="_blank">Gatton Academy</a></li>
</ul>
<ul class="m-2 p-2">
<li><a href="https://www.dupontmanual.com/" target="_blank">Dupont Manual</a></li>
<li><a href="https://louisvillecollegiate.org/" target="_blank">Louisville Collegiate</a></li>
<li><a href="https://www.wku.edu/academy/" target="_blank">Gatton Academy</a></li>
</ul>
</div>
<div class="col-lg-3 col-xs-12">
<h4 class="mt-lg-0 mt-sm-4 mb-3">Contact Us!</h4>
......@@ -36,9 +38,12 @@
<!-- The following MUST be on every page: license information and link to the repository on gitlab.igem.org -->
<div class="row mt-4">
<div class="col">
<p class="mb-0"><small>© 2024 - Content on this site is licensed under a <a class="subfoot" href="https://creativecommons.org/licenses/by/4.0/" target="_blank" rel="license">Creative Commons Attribution 4.0 International license</a>.</small></p>
<p><small>The repository used to create this website is available at <a href="https://gitlab.igem.org/2024/gcm-ky" target="_blank">gitlab.igem.org/2024/gcm-ky</a>.</small></p>
<p class="mb-0"><small>© 2024 - Content on this site is licensed under a <a class="subfoot"
href="https://creativecommons.org/licenses/by/4.0/" target="_blank" rel="license">Creative Commons
Attribution 4.0 International license</a>.</small></p>
<p><small>The repository used to create this website is available at <a
href="https://gitlab.igem.org/2024/gcm-ky" target="_blank">gitlab.igem.org/2024/gcm-ky</a>.</small></p>
</div>
</div>
</div>
</footer>
</footer>
\ No newline at end of file
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://static.igem.wiki/common/icons/favicons/igem-2022.svg"/>
<link rel="license" href="https://creativecommons.org/licenses/by/4.0/"/>
<!-- Bootstrap CSS -->
<link href="{{ url_for('static', filename = 'bootstrap.min.css') }}" rel="stylesheet">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="https://static.igem.wiki/common/icons/favicons/igem-2022.svg" />
<link rel="license" href="https://creativecommons.org/licenses/by/4.0/" />
<!-- Custom CSS -->
<link href="{{ url_for('static', filename = 'style.css') }}" rel="stylesheet">
<!-- Bootstrap CSS -->
<link href="{{ url_for('static', filename = 'bootstrap.min.css') }}" rel="stylesheet">
<script defer src="{{ url_for('static', filename = 'app.js') }}"></script>
<script type="module" src="{{ url_for('static', filename = 'model-viewer.min.js') }}"></script>
<script type="module" src="{{ url_for('static', filename = 'mermaid.js') }}"></script>
<!-- Custom CSS -->
<link href="{{ url_for('static', filename = 'style.css') }}" rel="stylesheet">
<title>{% block title %}{% endblock %} | GCM-KY - iGEM 2024</title>
<script defer src="{{ url_for('static', filename = 'app.js') }}"></script>
<script type="module" src="{{ url_for('static', filename = 'model-viewer.min.js') }}"></script>
<title>{% block title %}{% endblock %} | GCM-KY - iGEM 2024</title>
</head>
<body>
<!-- Navigation -->
{% include 'menu.html' %}
......@@ -31,8 +32,11 @@
<div class="container h-150" style=" max-width: fit-content; margin: 0; margin-right: auto; margin-left: 15%;">
<div class="row h-150 align-items-center">
<div class="col-lg-12">
<h1 class="display-4 text-black mt-5 mb-2" style="font-weight: bolder; font-family:Impact, Haettenschweiler, 'Arial Narrow Bold';">{{ self.title() }}</h1>
<p class="lead mb-15 text-black-10" style="color: black; font-weight: bold; font-family: sans-serif;">{% block lead %}{% endblock %}</p>
<h1 class="display-4 text-black mt-5 mb-2"
style="font-weight: bolder; font-family:Impact, Haettenschweiler, 'Arial Narrow Bold';">{{ self.title() }}
</h1>
<p class="lead mb-15 text-black-10" style="color: black; font-weight: bold; font-family: sans-serif;">{% block
lead %}{% endblock %}</p>
</div>
</div>
</div>
......@@ -50,4 +54,5 @@
<!-- Bootstrap Bundle with Popper -->
<script src="{{ url_for('static', filename = 'bootstrap.bundle.min.js') }}"></script>
</body>
</html>
</html>
\ No newline at end of file
......@@ -5,7 +5,8 @@
<a class="navbar-brand" href="#">GCM-KY</a>
<!---- SMALL SCREEN MENU ICON ---->
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
......@@ -19,7 +20,8 @@
<!---- TEAM ---->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="{{ url_for('pages', page='team') }}" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<a class="nav-link dropdown-toggle" href="{{ url_for('pages', page='team') }}" id="navbarDropdown"
role="button" data-bs-toggle="dropdown" aria-expanded="false">
Team
</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdown">
......@@ -30,7 +32,8 @@
<!---- PROJECT ---->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown"
aria-expanded="false">
Project
</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdown">
......@@ -41,7 +44,6 @@
<li><a class="dropdown-item" href="{{ url_for('pages', page='drylab') }}">Dry-Lab Eperiments</a></li>
<li><a class="dropdown-item" href="{{ url_for('pages', page='notebook') }}">Notebook</a></li>
<li><a class="dropdown-item" href="{{ url_for('pages', page='results') }}">Results</a></li>
<li><a class="dropdown-item" href="{{ url_for('pages', page='design') }}">Design</a></li>
<li><a class="dropdown-item" href="{{ url_for('pages', page='timeline') }}">Timeline</a></li>
</ul>
</li>
......@@ -60,25 +62,7 @@
<a class="nav-link" href="{{ url_for('pages', page='human-practices') }}">Human Practices</a>
</li>
<!-- -- AWARDS --
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
Awards
</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdown">
<li><a class="dropdown-item" href="{{ url_for('pages', page='education') }}">Education</a></li>
<li><a class="dropdown-item" href="{{ url_for('pages', page='entrepreneurship') }}">Entrepreneurship</a></li>
<li><a class="dropdown-item" href="{{ url_for('pages', page='hardware') }}">Hardware</a></li>
<li><a class="dropdown-item" href="{{ url_for('pages', page='inclusivity') }}">Inclusivity</a></li>
<li><a class="dropdown-item" href="{{ url_for('pages', page='measurement') }}">Measurement</a></li>
<li><a class="dropdown-item" href="{{ url_for('pages', page='model') }}">Model</a></li>
<li><a class="dropdown-item" href="{{ url_for('pages', page='plant') }}">Plant</a></li>
<li><a class="dropdown-item" href="{{ url_for('pages', page='software') }}">Software</a></li>
<li><a class="dropdown-item" href="{{ url_for('pages', page='sustainable') }}">Sustainable</a></li>
</ul>
</li> -->
</ul>
</div>
</div>
</nav>
</nav>
\ No newline at end of file
{% extends "layout.html" %}
{% block title %}CONTRIBUTION{% endblock %}
{% block lead %}OUR POTENTIAL CONTRIBUTION TO THE FUTURE{% endblock %}
{% block page_content %}
<head>
</head>
<body>
<div class="row mt-4">
......@@ -16,26 +18,13 @@
<h5>Overview</h5>
<ul class="nav flex-column"> <!--YOU CAN ADD MORE OVERVIEW LINKS HERE, SIMPLY DUPLICATE AN UNORDERED LIST-->
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID">EDIT OVERVIEW TEXT</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID-1">EDIT SUBHEADING 1</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#cool">EDIT SUB SUBHEADING 1</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cool2">EDIT SUB SUB HEADING 2</a>
</li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID-2">EDIT SUBHEADING 2</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#Vcell">Vcell Contributions</a>
</li>
</ul>
<a class="nav-link" href="#parts">Parts Contribution</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#md">MD Contribution</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#Vcell">Vcell Contribution</a>
</li>
</ul>
</div>
......@@ -43,298 +32,92 @@
<div class="col-lg-9">
<div id="EDIT-ID" class="mt-4">
<h2>EDIT HEADER</h2>
<p>EDIT TEXT</p>
<div id="parts" class="mt-4">
<h2>Parts</h2>
<hr>
<div id="EDIT-ID-1">
<h3>EDIT SUBHEADING</h3>
<p>EDIT TEXT</p>
</div>
<div id="parts">
<h4>EDIT SUB SUBHEADING</h4>
<p>EDIT TEXT</p>
</div>
<div id="parts">
<h4>Parts</h4>
<table>
<tr>
<th>Part link</th>
<th>Description</th>
</tr>
<tr>
<td>https://parts.igem.org/Part:BBa_K5114823</td>
<td>Device encoding superfolder GFP under prmA. After transforming into E. coli and not observing fluorescence, it is our hypothesis that the prmA promoter does not work in E. coli, likely due to lack of transcriptional machinery specific to Rhodococcus jostii.</td>
</tr>
<tr>
<td>https://parts.igem.org/Part:BBa_K5114227</td>
<td>Coding sequence for human liver fatty acid binding protein conjugated with circularly permuted GFP (hlFAB-GFP or FAB-GFP).</td>
</tr>
<tr>
<td>https://parts.igem.org/Part:BBa_K5114228</td>
<td>Expression Device for hlFAB-GFP</td>
</tr>
<tr>
<td>TBD</td>
<td>Coding sequence for a synthetic, estradiol-induced transcription factor that binds to the LexA operator DNA region. </td>
</tr>
<tr>
<td>TBD</td>
<td>Expression device for the synthetic transcription factor</td>
</tr>
<tr>
<td>TBD</td>
<td>GFP with RBS and Terminator under control of synthetic promoter bound by the synthetic transcription factor</td>
</tr>
</table>
</div>
<div id="MD">
<h3>Molecular Dynamics</h5>
<p>Using Amber, ChimeraX, and AutoDock Vina, we engineered and tested various mutations on hlFAB to enhance its lower detection limit. To streamline the calculation of the dissociation constant (Kd) using MMPBSA, we developed an automated pipeline. This pipeline outputs an Excel-compatible data file and a PDB file from the final simulation step, allowing for easy visualization of charge contributions. It integrates all critical steps of molecular dynamics simulation, including LEaP for system parameterization, a minimization step using steepest descent, a heating phase to bring the system to 300K, a density equilibration step to stabilize the system and allows for RMSD tracking, followed by equilibration, and finally, a 10-nanosecond production run, from which data for MMPBSA analysis is extracted. The pipeline also includes MMPBSA calculations, and a custom Python script that formats the raw output data into a user-friendly format. It is available in our team's software repository along with all prerequisite files. This pipeline is free to use and can assist teams in determining the effectiveness of ligand-receptor interactions. Additionally, it is fully customizable, making it adaptable for use with other ligands beyond PFOA.
<br>
Instructions to download and use the pipeline can be found on our wiki and our software tools repository:
https://gitlab.igem.org/2024/software-tools/gcm-ky
</p>
</div>
<table>
<tr>
<th>Part link</th>
<th>Description</th>
</tr>
<tr>
<td>https://parts.igem.org/Part:BBa_K5114823</td>
<td>Device encoding superfolder GFP under prmA. After transforming into E. coli and not observing
fluorescence, it is our hypothesis that the prmA promoter does not work in E. coli, likely due to lack of
transcriptional machinery specific to Rhodococcus jostii.</td>
</tr>
<tr>
<td>https://parts.igem.org/Part:BBa_K5114227</td>
<td>Coding sequence for human liver fatty acid binding protein conjugated with circularly permuted GFP
(hlFAB-GFP or FAB-GFP).</td>
</tr>
<tr>
<td>https://parts.igem.org/Part:BBa_K5114228</td>
<td>Expression Device for hlFAB-GFP</td>
</tr>
<tr>
<td>TBD</td>
<td>Coding sequence for a synthetic, estradiol-induced transcription factor that binds to the LexA operator
DNA region. </td>
</tr>
<tr>
<td>TBD</td>
<td>Expression device for the synthetic transcription factor</td>
</tr>
<tr>
<td>TBD</td>
<td>GFP with RBS and Terminator under control of synthetic promoter bound by the synthetic transcription
factor</td>
</tr>
</table>
</div>
<div id="MD" class="mt-4">
<h2>Molecular Dynamics</h2>
<hr>
<p>Using Amber, ChimeraX, and AutoDock Vina, we engineered and tested various mutations on hlFAB to enhance its
lower detection limit. To streamline the calculation of the dissociation constant (Kd) using MMPBSA, we
developed an automated pipeline. This pipeline outputs an Excel-compatible data file and a PDB file from the
final simulation step, allowing for easy visualization of charge contributions. It integrates all critical
steps of molecular dynamics simulation, including LEaP for system parameterization, a minimization step using
steepest descent, a heating phase to bring the system to 300K, a density equilibration step to stabilize the
system and allows for RMSD tracking, followed by equilibration, and finally, a 10-nanosecond production run,
from which data for MMPBSA analysis is extracted. The pipeline also includes MMPBSA calculations, and a custom
Python script that formats the raw output data into a user-friendly format. It is available in our team's
software repository along with all prerequisite files. This pipeline is free to use and can assist teams in
determining the effectiveness of ligand-receptor interactions. Additionally, it is fully customizable, making
it adaptable for use with other ligands beyond PFOA.</p>
<p><strong>Instructions to download and use the pipeline can be found on our wiki and our software tools
repository:</strong></p>
<a href="https://gitlab.igem.org/2024/software-tools/gcm-ky"
target="_blank">https://gitlab.igem.org/2024/software-tools/gcm-ky</a>
</div>
<div id="Vcell" class="mt-4">
<h2>Vcell Contribution</h2>
<hr>
<p>We have created a VCell BioModel that simulates our entire gene circuit. This model includes all components
for the pRMA_GFP, FAB_GFP, and the Synt_Tran factor construct, all extremely valuable systems in synthetic
biology that do not yet have a VCell model. With a few modifications, our model can be used to model different
types of genetic circuits involving the LuxR-LuxI gene regulatory system.</p>
<img src="https://static.igem.wiki/teams/5114/images-arjun/hefiefbiruebf.png" alt="Vcell_Contributions_Image">
<p>The models are hosted on VCell servers and are shared publicly in the “Uncurated” folder. They are completely
free to use and modify for anyone with VCell.</p>
<p>Our most up-to-date models can be found in a table on the experiments page. These models are free for anyone
to tinker with and use.
<div id="Vcell">
<hr>
<h3>Vcell Contribution</h3>
<p>We have created a VCell BioModel that simulates our entire gene circuit. This model includes all components for the pRMA_GFP, FAB_GFP, and the Synt_Tran factor construct, all extremely valuable systems in synthetic biology that do not yet have a VCell model. With a few modifications, our model can be used to model different types of genetic circuits involving the LuxR-LuxI gene regulatory system.</p>
<img src="https://static.igem.wiki/teams/5114/images-arjun/hefiefbiruebf.png" alt="Vcell_Contributions_Image">
<p>The models are hosted on VCell servers and are shared publicly in the “Uncurated” folder. They are completely free to use and modify for anyone with VCell.</p>
<p>Our most up-to-date models can be found in a table on the experiments page. These models are free for anyone to tinker with and use.
Additionally, with the help of the VCell support team, we debugged VCell’s ability to export and import simulation data. This allows future users to pick up where they left off on previous simulations.
A document that outlines how to do so is attached below:
</p>
<div id="Tutorial_to_access_vcell_models">
<style>
body {
font-family: Arial;
margin: 0;
}
* {
box-sizing: border-box;
}
img {
vertical-align: middle;
}
/* Position the image container (needed to position the left and right arrows) */
.container {
position: relative;
}
/* Hide the images by default */
.mySlides {
display: none;
}
/* Add a pointer when hovering over the thumbnail images */
.cursor {
cursor: pointer;
}
/* Next & previous buttons */
.prev,
.next {
cursor: pointer;
position: absolute;
top: 40%;
width: auto;
padding: 16px;
margin-top: -50px;
color: rgb(0, 0, 0);
font-weight: bold;
font-size: 20px;
border-radius: 0 3px 3px 0;
user-select: none;
-webkit-user-select: none;
}
/* Position the "next button" to the right */
.next {
right: 0;
border-radius: 3px 0 0 3px;
}
/* On hover, add a black background color with a little bit see-through */
.prev:hover,
.next:hover {
background-color: rgba(0, 0, 0, 0.8);
}
/* Number text (1/3 etc) */
.numbertext {
color: #000000;
font-size: 20px;
padding: 8px 12px;
position: absolute;
top: 0;
}
/* Container for image text */
.caption-container {
text-align: center;
background-color: #222;
padding: 2px 16px;
color: white;
}
.row:after {
content: "";
display: table;
clear: both;
}
/* Six columns side by side */
.column {
float: left;
width: 16.66%;
}
/* Add a transparency effect for thumnbail images */
.demo {
opacity: 0.6;
}
.active,
.demo:hover {
opacity: 1;
}
</style>
<body>
<h2 style="text-align:center">How to Access Our Vcell Models</h2>
<div class="container">
<div class="mySlides">
<div class="numbertext">1 / 9</div>
<img src="https://static.igem.wiki/teams/5114/images-arjun/2/screenshot-2024-09-29-114425.png" style="width:50%">
</div>
<div class="mySlides">
<div class="numbertext">2 / 9</div>
<img src="https://static.igem.wiki/teams/5114/images-arjun/2/screenshot-2024-09-29-114725.png" style="width:50%">
</div>
<div class="mySlides">
<div class="numbertext">3 / 9</div>
<img src="https://static.igem.wiki/teams/5114/images-arjun/hefiefbiruebf.png" style="width:50%">
</div>
<div class="mySlides">
<div class="numbertext">4 / 9</div>
<img src="https://static.igem.wiki/teams/5114/images-arjun/2/screenshot-2024-09-29-115146.png" style="width:50%">
</div>
<div class="mySlides">
<div class="numbertext">5 / 9</div>
<img src="https://static.igem.wiki/teams/5114/images-arjun/2/screenshot-2024-09-29-115341.png" style="width:50%">
</div>
<div class="mySlides">
<div class="numbertext">6 / 9</div>
<img src="https://static.igem.wiki/teams/5114/images-arjun/2/screenshot-2024-09-29-115555.png" style="width:50%">
</div>
<div class="mySlides">
<div class="numbertext">7 / 9</div>
<img src="https://static.igem.wiki/teams/5114/images-arjun/2/screenshot-2024-09-29-115736.png" style="width:50%">
</div>
<div class="mySlides">
<div class="numbertext">8 / 9</div>
<img src="https://static.igem.wiki/teams/5114/images-arjun/2/screenshot-2024-09-29-115856.png" style="width:50%">
</div>
<div class="mySlides">
<div class="numbertext">9 / 9</div>
<img src="https://static.igem.wiki/teams/5114/images-arjun/2/screenshot-2024-09-29-120005.png" style="width:50%">
</div>
<a class="prev" onclick="plusSlides(-1)"></a>
<a class="next" onclick="plusSlides(1)"></a>
<div class="caption-container">
<p id="caption"></p>
</div>
<div class="row">
<div class="column">
<img class="demo cursor" src="https://static.igem.wiki/teams/5114/images-arjun/2/screenshot-2024-09-29-114425.png" style="width:50%" onclick="currentSlide(1)" alt="Go to vcell.org and download the latest version of Vcell that is compatible with your device">
</div>
<div class="column">
<img class="demo cursor" src="https://static.igem.wiki/teams/5114/images-arjun/2/screenshot-2024-09-29-114725.png" style="width:50%" onclick="currentSlide(2)" alt="Once you download Vcell and signed in go to the bottom left hand box and click the plus sign, and input the username of the creator of the biomodel you wish to see">
</div>
<div class="column">
<img class="demo cursor" src="https://static.igem.wiki/teams/5114/images-arjun/hefiefbiruebf.png" style="width:50%" onclick="currentSlide(3)" alt="After putting in the username click on the Uncurated folder near the bottom on the box">
</div>
<div class="column">
<img class="demo cursor" src="https://static.igem.wiki/teams/5114/images-arjun/2/screenshot-2024-09-29-115146.png" style="width:50%" onclick="currentSlide(4)" alt="Click on the folder with the same username as the one you searched for & then click the biomodel you wish to see">
</div>
<div class="column">
<img class="demo cursor" src="https://static.igem.wiki/teams/5114/images-arjun/2/screenshot-2024-09-29-115341.png" style="width:50%" onclick="currentSlide(5)" alt="You can now look at the reaction diagram and simulation results but if you wish to have a copy of this biomodel you need to click on file(top left) and then click save as">
</div>
<div class="column">
<img class="demo cursor" src="https://static.igem.wiki/teams/5114/images-arjun/2/screenshot-2024-09-29-115555.png" style="width:50%" onclick="currentSlide(6)" alt="A window will then pop up and simply input the name you wish to call the biomodel in the text bar near the bottom and then click save">
</div>
<div class="column">
<img class="demo cursor" src="https://static.igem.wiki/teams/5114/images-arjun/2/screenshot-2024-09-29-115736.png" style="width:50%" onclick="currentSlide(7)" alt="If you wish to see simulation data click on application(shown in image) and then click on simulation. ">
</div>
<div class="column">
<img class="demo cursor" src="https://static.igem.wiki/teams/5114/images-arjun/2/screenshot-2024-09-29-115856.png" style="width:50%" onclick="currentSlide(8)" alt="To access to data you need to click on the simulation you wish to see the data for and the click the graph icon on the top right">
</div>
<div class="column">
<img class="demo cursor" src="https://static.igem.wiki/teams/5114/images-arjun/2/screenshot-2024-09-29-120005.png" style="width:50%" onclick="currentSlide(9)" alt="Finally if you wish to see the data in a table format click on the table icon near the bottom right(shown in image)">
</div>
</div>
</div>
<script>
let slideIndex = 1;
showSlides(slideIndex);
function plusSlides(n) {
showSlides(slideIndex += n);
}
function currentSlide(n) {
showSlides(slideIndex = n);
}
function showSlides(n) {
let i;
let slides = document.getElementsByClassName("mySlides");
let dots = document.getElementsByClassName("demo");
let captionText = document.getElementById("caption");
if (n > slides.length) {slideIndex = 1}
if (n < 1) {slideIndex = slides.length}
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
for (i = 0; i < dots.length; i++) {
dots[i].className = dots[i].className.replace(" active", "");
}
slides[slideIndex-1].style.display = "block";
dots[slideIndex-1].className += " active";
captionText.innerHTML = dots[slideIndex-1].alt;
}
</script>
<p> </p>
<p> </p>
<p>Our most up-to-date models can be found in a table on the experiments page. These models are free for anyone to tinker with and use.</p>
</div>
<hr>
</div>
Additionally, with the help of the VCell support team, we debugged VCell’s ability to export and import
simulation data. This allows future users to pick up where they left off on previous simulations.
A document that outlines how to do so is attached below:
</p>
<hr>
<p>Our most up-to-date models can be found in a table on the experiments page. These models are free for anyone
to tinker with and use.</p>
</div>
</div>
</div>
</body>
{% endblock %}
{% endblock %}
\ No newline at end of file
......@@ -4,9 +4,11 @@
{% block lead %}OUR PROJECT DESCRIPTION AND THE DEPTHS OF PFAS{% endblock %}
{% block page_content %}
<head>
</head>
<body>
<div class="row mt-4">
<!-- Overview Section -->
......@@ -17,6 +19,23 @@
<li class="nav-item">
<a class="nav-link" href="#pfas-problem">Our Approach to PFAS</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#design">Parts Design</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#modelling">Modelling</a>
<ul class="nav flex-column">
<li class="nav-item">
<a class="nav-link" href="#vcell">Vcell</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#md">Molecular Dynamics</a>
</li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="#human">Human Practices</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#references">References</a>
</li>
......@@ -28,68 +47,187 @@
<div id="pfas-problem" class="mt-4">
<h2>Our Approach to PFAS</h2>
<hr>
<!-- <p>Our team will tackle the growing problem of PFAS (poly and per-fluoroalkyl substances) contamination/pollution. PFAS, due to its chemical inertness, are extremely hard to decompose and have been named “forever chemicals”. These substances have become more and more widespread to the point where 97% of Americans have detectable amounts of them in their blood (NHANES 2015). The health risk of PFAS is not fully understood but has been implicated in liver diseases, cancers, increased cholesterol levels, and other complications. Our team attempts to help combat this problem by engineering bacteria to produce an observable signal when they encounter PFAS. PFAS are usually detected with liquid or gas chromatography and mass spectrometry, which is time-consuming, expensive, and inaccessible to the public. PFAS-sensitive bacteria have the potential for extremely high-throughput testing for PFAS. We hope to be able to make such a system based on a genetic circuit transformed into E. coli. We will attempt three different approaches to determining an optimal circuit for PFAS detection. The first uses a previously discovered promoter, prmA, that has been documented to upregulate gene expression in the presence of PFAS. We will test the limit of detection of this promoter to quantitatively measure its efficacy. Second, we will use a gene circuit containing a FAB:GFP conjugated molecule; in the presence of PFAS, this molecule has been shown to change confirmation to allow for the GFP to fluoresce. Finally, we will use a synthetic transcription factor that responds to estradiol in yeast; because PFOA has been shown to be a strong estrogen receptor agonist, we hope that we can recreate the synthetic transcription factor into E. coli. In addition, to better characterize the possible impacts of PFAS, our team is using computer simulations and wet lab testing (via protein assays) to determine different proteins that can bind to PFAS, along with the possibility of computer-aided protein mutations to improve binding.</p>
-->
<p>PFAS are a large and diverse family of synthetic chemicals manufactured for industrial and consumer products beginning in the 1950s. These chemicals all have at least one fully fluorinated carbon bond that gives them a great resistance to breakdown in the environment. Originally developed for their water- and grease-resistant properties, PFAS are found in products that range from nonstick cookware to food wrappings, water-repellent fabrics, and firefighting foams. As they are found in these products, they are serious health and environmental concerns since they might be toxic and persist in the environment. They also tend to bioaccumulate over time without degradation. Of the many PFAS compounds, some like PFOA (Perfluorooctanoic Acid) and PFOS (Perfluorooctane Sulfonate) have been linked to serious health problems such as cancer, liver damage, and developmental problems for children.
While both PFOA and PFOS have been largely phased out of commercial use in the United States, they continue to persist in the environment. Newer alternatives, such as GenX, have been developed but also carry risks; studies have linked them to liver and kidney damage. Other PFAS chemicals include the use of PFBS and PFHxS, though most of those remain under scrutiny over health effects. The problem is that its overwhelming application in industries contaminated drinking water, soil, and even the atmosphere. This calls for regulatory authorities like the EPA to set a regulation aimed at reducing the environmental and health risks caused by these chemicals. However, due to the very low thresholds for toxicity, detection of PFAS is extremely expensive and inaccessible to most.
<p>PFAS are a large and diverse family of synthetic chemicals manufactured for industrial and consumer products
beginning in the 1950s. These chemicals all have at least one fully fluorinated carbon bond that gives them a
great resistance to breakdown in the environment. Originally developed for their water- and grease-resistant
properties, PFAS are found in products that range from nonstick cookware to food wrappings, water-repellent
fabrics, and firefighting foams. As they are found in these products, they are serious health and
environmental concerns since they might be toxic and persist in the environment. They also tend to
bioaccumulate over time without degradation. Of the many PFAS compounds, some like PFOA (Perfluorooctanoic
Acid) and PFOS (Perfluorooctane Sulfonate) have been linked to serious health problems such as cancer, liver
damage, and developmental problems for children.
While both PFOA and PFOS have been largely phased out of commercial use in the United States, they continue to
persist in the environment. Newer alternatives, such as GenX, have been developed but also carry risks;
studies have linked them to liver and kidney damage. Other PFAS chemicals include the use of PFBS and PFHxS,
though most of those remain under scrutiny over health effects. The problem is that its overwhelming
application in industries contaminated drinking water, soil, and even the atmosphere. This calls for
regulatory authorities like the EPA to set a regulation aimed at reducing the environmental and health risks
caused by these chemicals. However, due to the very low thresholds for toxicity, detection of PFAS is
extremely expensive and inaccessible to most.
</p>
<br>
<p>In this project, we aim to create a more accessible method to detect PFAS. The current standard is liquid chromatography/mass spectroscopy, whicih requires extremely expensive machines that are usually exclusive to large research institutions. Since PFAS often endangers rural and agricultural areas that are far from such machines, it is important for PFAS testing methods to be more accessible.</p>
<p>In this project, we aim to create a more accessible method to detect PFAS. The current standard is liquid
chromatography/mass spectroscopy, whicih requires extremely expensive machines that are usually exclusive to
large research institutions. Since PFAS often endangers rural and agricultural areas that are far from such
machines, it is important for PFAS testing methods to be more accessible.</p>
<p>We combined wet lab approaches with dry lab modeling to tackle the problem of PFAS detection.</p>
</div>
<div id="Part design">
<div id="design">
<h2>Part design</h2>
<hr>
<p>
To approach the issue of PFAS, we ultimately created 3 approaches.
Last year, our team utilized a gene circuit that relied on the inducible promoter, prmA, from Rhodococcus jostii and a positive feedback loop to try and detect PFAS. However, we weren’t able to get significant results. This year, our team decided to move one step back and test the efficacy of the prmA promoter in Eschecheria coli. To test this, our first construct simply contained a superfolder GFP gene under the influence of the prmA promoter; if the promoter was effective, the E. coli would fluoresce when exposed to a high enough concentration of PFAS.
To approach the issue of PFAS, we ultimately created 3 approaches. Last year, our team utilized a gene circuit
that relied on the inducible promoter, prmA, from Rhodococcus jostii and a positive feedback loop to try and
detect PFAS. However, we weren’t able to get significant results. This year, our team decided to move one step
back and test the efficacy of the prmA promoter in Eschecheria coli. To test this, our first construct simply
contained a superfolder GFP gene under the influence of the prmA promoter; if the promoter was effective, the
E. coli would fluoresce when exposed to a high enough concentration of PFAS.
</p>
<img src="https://static.igem.wiki/teams/5114/contributions-and-design-images/construct-1-illustration.png" alt="construct 1 illustration" width="80%">
<img src="https://static.igem.wiki/teams/5114/contributions-and-design-images/construct-1-illustration.png"
alt="construct 1 illustration" width="80%">
<p>
Our second construct utilized a FAB-GFP conjugate molecule created by Dr. Berger from the University of Virginia. This molecule was originally developed to react to fatty acids; when fatty acids was present, the molecule would change confirmation to activate the GFP portion of the conjugate. We had previously seen, through reverse screening of databases, that PFAS had a likely chance of binding to fatty acid receptors in the cell. Thus, we decided to try the FAB-GFP conjugate molecule with PFAS to see if a response would occur. In this construct, we had the FAB-GFP gene under a constitutive promoter, which allowed for the constant creation of the conjugated molecule; in the presence of different PFOA concentrations, the FAB-GFP would theoretically change confirmation and fluoresce.
Our second construct utilized a FAB-GFP conjugate molecule created by Dr. Berger from the University of
Virginia. This molecule was originally developed to react to fatty acids; when fatty acids was present, the
molecule would change confirmation to activate the GFP portion of the conjugate. We had previously seen,
through reverse screening of databases, that PFAS had a likely chance of binding to fatty acid receptors in
the cell. Thus, we decided to try the FAB-GFP conjugate molecule with PFAS to see if a response would occur.
In this construct, we had the FAB-GFP gene under a constitutive promoter, which allowed for the constant
creation of the conjugated molecule; in the presence of different PFOA concentrations, the FAB-GFP would
theoretically change confirmation and fluoresce.
</p>
<img src="https://static.igem.wiki/teams/5114/fabgfp-device-registry-files/construct-2-illustration.png" alt="construct-2-illustration" width="80%">
<img src="https://static.igem.wiki/teams/5114/fabgfp-device-registry-files/construct-2-illustration.png"
alt="construct-2-illustration" width="80%">
<p>
Our final construct utilized a synthetic transcription factor to trigger a hybrid gene. Dr. Dossani and his colleagues created this transcription factor in Saccharomyces cerevisiae, using a protein called LexA combined with a viral activator domain VP16. This transcription factor was meant to be activated by estradiol, which would then allow the transcription factor to enter the nucleus of S. cerevisiae and attach to a hybrid promoter; this hybrid promoter was created by finding new operator regions for existing promoters that would allow for the synthetic transcription factor to bind. Once again, in our reverse screening research, we found that it was highly likely that PFAS interacted with estradiol receptors. Thus, we wanted to test whether the synthetic transcription factor would respond to PFOA as well. This construct required two plasmids because of its length; one of the plasmids housed the synthetic transcription factor, which was put downstream of a constitutive promoter. The second plasmid contained the hybrid promoter and a superfolder GFP gene under its influence. We wanted to test whether the transcription factor would work in E. coli rather than the original host and to what extent it would detect PFOA.
Our final construct utilized a synthetic transcription factor to trigger a hybrid gene. Dr. Dossani and his
colleagues created this transcription factor in Saccharomyces cerevisiae, using a protein called LexA combined
with a viral activator domain VP16. This transcription factor was meant to be activated by estradiol, which
would then allow the transcription factor to enter the nucleus of S. cerevisiae and attach to a hybrid
promoter; this hybrid promoter was created by finding new operator regions for existing promoters that would
allow for the synthetic transcription factor to bind. Once again, in our reverse screening research, we found
that it was highly likely that PFAS interacted with estradiol receptors. Thus, we wanted to test whether the
synthetic transcription factor would respond to PFOA as well. This construct required two plasmids because of
its length; one of the plasmids housed the synthetic transcription factor, which was put downstream of a
constitutive promoter. The second plasmid contained the hybrid promoter and a superfolder GFP gene under its
influence. We wanted to test whether the transcription factor would work in E. coli rather than the original
host and to what extent it would detect PFOA.
</p>
<img src="https://static.igem.wiki/teams/5114/contributions-and-design-images/igem-2024-25-part-design-c3-c4.jpg" alt="construct 3 illustration" width="80%">
<p>To test our constructs, we would transform them into E. coli and incubate them in varying levels of PFOA (perfluorooctanoic acid) in 96-well plates. Fluorescence readings were taken of each well at 90 minute time intervals and recorded. More information can be seen on the Experiments and Results page.
<img
src="https://static.igem.wiki/teams/5114/contributions-and-design-images/igem-2024-25-part-design-c3-c4.jpg"
alt="construct 3 illustration" width="80%">
<p>
To test our constructs, we would transform them into E. coli and incubate them in varying levels of PFOA
(perfluorooctanoic acid) in 96-well plates. Fluorescence readings were taken of each well at 90 minute time
intervals and recorded. More information can be seen on the Experiments and Results page.
</p>
</div>
<div id="modeling">
<h2>Modeling</h2>
<p>To better understand how our constructs would work, we employed two types of modeling: stochastic kinetic modeling with Virtual Cell (VCell) and Molecualr Dyanmics</p>
<h3>Kinetic Modeling</h3>
<p>We used VCell to model how our genetic circuits behaved over time. The simulations could tell us how each circuit behaves when in contact with different amounts of PFAS over time.</p>
<p>Virtual Cell, or VCell, is a software platform used to model cellular systems. We are using VCell to model the four primary constructs(names listed in experiments) we researched this year to detect PFAS, as well as other pathways. VCell is a valuable platform because it allows us to run simulations on the constructs we built. Additionally, VCell is user-friendly and easy to learn, as most functions are self-explanatory.
VCell allows us to simulate reaction rates either stochastically or deterministically. Deterministic simulations are based on partial differential equations. Stochastic simulations are based on the Gibson-Bruck solver, which essentially probabilistically samples individual reactions to occur and the expected time between reactions. Stochastic simulations are more accurate at the single-cellular level because they take into account singular molecules.
</p>
<img src="https://static.igem.wiki/teams/5114/contributions-and-design-images/vcelllogocrop-1.webp" alt="vcell logo">
<h3>Molecular Dynamics</h3>
<p>Molecular dynamics simulates the energetics of proteins in solution and of ligands interacting with proteins. This allows us to find where a ligand binds to a protein and the relative contributions of different amino acids to the strength of binding, which could allow us to determine which protein residues could be mutated to increase binding affinities.</p>
<hr>
<div id="vcell">
<h3>Kinetic Modeling</h3>
<p>To better understand how our constructs would work, we employed two types of modeling: stochastic kinetic
modeling with Virtual Cell (VCell) and Molecualr Dyanmics</p>
<p>We used VCell to model how our genetic circuits behaved over time. The simulations could tell us how each
circuit behaves when in contact with different amounts of PFAS over time.</p>
<p>Virtual Cell, or VCell, is a software platform used to model cellular systems. We are using VCell to model
the four primary constructs(names listed in experiments) we researched this year to detect PFAS, as well as
other pathways. VCell is a valuable platform because it allows us to run simulations on the constructs we
built. Additionally, VCell is user-friendly and easy to learn, as most functions are self-explanatory.
VCell allows us to simulate reaction rates either stochastically or deterministically. Deterministic
simulations are based on partial differential equations. Stochastic simulations are based on the
Gibson-Bruck solver, which essentially probabilistically samples individual reactions to occur and the
expected time between reactions. Stochastic simulations are more accurate at the single-cellular level
because they take into account singular molecules.
</p>
<img src="https://static.igem.wiki/teams/5114/contributions-and-design-images/vcelllogocrop-1.webp"
alt="vcell logo">
</div>
<div id="md">
<h3>Molecular Dynamics</h3>
<p><strong>Molecular Dynamics (MD)</strong> is a computer simulation method used to study the physical
movements of atoms and molecules over time. In an MD simulation, the atoms in a system (like a protein or a
drug molecule) are treated as if they are moving according to the laws of physics. The atoms vibrate,
rotate, and translate as if in a natural environment, allowing researchers to watch how the molecules behave
in response to different forces. MD simulations help predict how a protein folds, how two molecules
interact, or how a system reacts under specific conditions. This technique is valuable for studying how
molecules behave over time, making it possible to observe interactions that would take seconds, minutes, or
even days in real life.</p>
<p><strong>Docking</strong> is another computational technique, but it's more focused on figuring out how two
molecules fit together, like puzzle pieces. In biology, docking is often used to predict how a small
molecule (like a drug) will interact with a larger molecule (like a protein). Imagine finding the best way a
key fits into a lock—docking helps predict the best orientation and position for the molecules to bind. This
technique is critical in drug discovery, as it helps scientists identify how well a drug binds to its
target, which can influence the drug's effectiveness.</p>
<p><strong>Molecular Mechanics Poisson-Boltzmann Surface Area (MMPBSA)</strong> is a method used to calculate
the binding energy between two molecules. After running a Molecular Dynamics simulation to see how the
molecules move and interact, MMPBSA helps researchers estimate how tightly these molecules bind together.
The lower the energy, the more stable the interaction, which usually suggests that the molecules have a
strong bond. This method is important because it combines the dynamic information from MD simulations with
energy calculations, providing insights into how changes (like mutations in a protein) might affect binding
strength. In simple terms, it’s a way to measure how well two molecules stick together, which is crucial for
understanding processes like drug efficacy or protein interactions.</p>
<p>In order to carry out these processes, we used AutDock Vina and Amber</p>
<ul>
<li>Eberhardt, J., Santos-Martins, D., Tillack, A.F., Forli, S. (2021). AutoDock Vina 1.2.0: New Docking
Methods, Expanded Force Field, and Python Bindings. Journal of Chemical Information and Modeling.</li>
<li>Trott, O., & Olson, A. J. (2010). AutoDock Vina: improving the speed and accuracy of docking with a new
scoring function, efficient optimization, and multithreading. Journal of computational chemistry, 31(2),
455-461.</li>
<li>D.A. Case, H.M. Aktulga, K. Belfon, I.Y. Ben-Shalom, J.T. Berryman, S.R. Brozell, D.S. Cerutti, T.E.
Cheatham, III, G.A. Cisneros, V.W.D. Cruzeiro, T.A. Darden, N. Forouzesh, M. Ghazimirsaeed, G. Giambaşu,
T. Giese, M.K. Gilson, H. Gohlke, A.W. Goetz, J. Harris, Z. Huang, S. Izadi, S.A. Izmailov, K.
Kasavajhala, M.C. Kaymak, A. Kovalenko, T. Kurtzman, T.S. Lee, P. Li, Z. Li, C. Lin, J. Liu, T. Luchko, R.
Luo, M. Machado, M. Manathunga, K.M. Merz, Y. Miao, O. Mikhailovskii, G. Monard, H. Nguyen, K.A. O'Hearn,
A. Onufriev, F. Pan, S. Pantano, A. Rahnamoun, D.R. Roe, A. Roitberg, C. Sagui, S. Schott-Verdugo, A.
Shajan, J. Shen, C.L. Simmerling, N.R. Skrynnikov, J. Smith, J. Swails, R.C. Walker, J. Wang, J. Wang, X.
Wu, Y. Wu, Y. Xiong, Y. Xue, D.M. York, C. Zhao, Q. Zhu, and P.A. Kollman (2024), Amber 2024, University
of California, San Francisco.</li>
<li>D.A. Case, H.M. Aktulga, K. Belfon, D.S. Cerutti, G.A. Cisneros, V.W.D. Cruz eiro, N. Forouzesh, T.J.
Giese, A.W. Götz, H. Gohlke, S. Izadi, K. Kasavajhala, M.C. Kaymak, E. King, T. Kurtzman, T.-S. Lee, P.
Li, J. Liu, T. Luchko, R. Luo, M. Manathunga, M.R. Machado, H.M. Nguyen, K.A. O’Hearn, A.V. Onufriev, F.
Pan, S. Pantano, R. Qi, A. Rahnamoun, A. Risheh, S. Schott-Verdugo, A. Shajan, J. Swails, J. Wang, H. Wei,
X. Wu, Y. Wu, S. Zhang, S. Zhao, Q. Zhu, T.E. Cheatham III, D.R. Roe, A. Roitberg, C. Simmerling, D.M.
York, M.C. Nagan*, and K.M. Merz Jr.* AmberTools. J. Chem. Inf. Model. 63, 6183-6191 (2023).</li>
</ul>
</div>
</div>
<div>
<div id="human">
<h2>Human Practices</h2>
<p>To ensure that our project would have a positive impact, we reached out to stakeholders in various areas affected by PFAS. We interviewed a KY state representative, water quality professionals, and contacted other students within KY that had first hand experience with PFAS. Through our contacts, we learned that our project idea would be useful to the world and we made modifications to our project plan to best fit what is needed.</p>
<hr>
<p>To ensure that our project would have a positive impact, we reached out to stakeholders in various areas
affected by PFAS. We interviewed a KY state representative, water quality professionals, and contacted other
students within KY that had first hand experience with PFAS. Through our contacts, we learned that our project
idea would be useful to the world and we made modifications to our project plan to best fit what is needed.
</p>
</div>
<div id="references" class="mt-4">
<h2>References</h2>
<hr>
<ul>
<li><a href="https://academic.oup.com/milmed/article/186/Supplement_1/801/6119513<" target="_blank"></a>https://academic.oup.com/milmed/article/186/Supplement_1/801/6119513</li>
<li><a href="https://pubmed.ncbi.nlm.nih.gov/33499536/" target="_blank"></a>https://pubmed.ncbi.nlm.nih.gov/33499536/</li>
<li><a href="https://pubs.acs.org/doi/abs/10.1021/acs.est.8b02912" target="_blank"></a>https://pubs.acs.org/doi/abs/10.1021/acs.est.8b02912</li>
<li><a href="https://2020.igem.org/Team:Stockholm" target="_blank"></a>https://2020.igem.org/Team:Stockholm</li>
<li><a href="https://academic.oup.com/milmed/article/186/Supplement_1/801/6119513<"
target="_blank"></a>https://academic.oup.com/milmed/article/186/Supplement_1/801/6119513</li>
<li><a href="https://pubmed.ncbi.nlm.nih.gov/33499536/"
target="_blank"></a>https://pubmed.ncbi.nlm.nih.gov/33499536/</li>
<li><a href="https://pubs.acs.org/doi/abs/10.1021/acs.est.8b02912"
target="_blank"></a>https://pubs.acs.org/doi/abs/10.1021/acs.est.8b02912</li>
<li><a href="https://2020.igem.org/Team:Stockholm" target="_blank"></a>https://2020.igem.org/Team:Stockholm
</li>
<li><a href="https://2019.igem.org/Team:USAFA" target="_blank"></a>https://2019.igem.org/Team:USAFA</li>
<li><a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5873372/" target="_blank"></a>https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5873372/</li>
<li><a href="https://www.nature.com/articles/s41598-023-41953-1" target="_blank"></a>https://www.nature.com/articles/s41598-023-41953-1</li>
<li><a href="https://www.frontiersin.org/articles/10.3389/fmicb.2015.00393/full" target="_blank"></a>https://www.frontiersin.org/articles/10.3389/fmicb.2015.00393/full</li>
<li><a href="https://pubs.acs.org/doi/pdf/10.1021/es5060034" target="_blank"></a>https://pubs.acs.org/doi/pdf/10.1021/es5060034</li>
<li><a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5873372/"
target="_blank"></a>https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5873372/</li>
<li><a href="https://www.nature.com/articles/s41598-023-41953-1"
target="_blank"></a>https://www.nature.com/articles/s41598-023-41953-1</li>
<li><a href="https://www.frontiersin.org/articles/10.3389/fmicb.2015.00393/full"
target="_blank"></a>https://www.frontiersin.org/articles/10.3389/fmicb.2015.00393/full</li>
<li><a href="https://pubs.acs.org/doi/pdf/10.1021/es5060034"
target="_blank"></a>https://pubs.acs.org/doi/pdf/10.1021/es5060034</li>
</ul>
</div>
</div>
</div>
</body>
{% endblock %}
{% endblock %}
\ No newline at end of file
{% extends "layout.html" %}
{% block title %}DESIGN{% endblock %}
{% block lead %}AN IN-DEPTH REVIEW OF OUR GENE INSERT DESIGN{% endblock %}
{% block page_content %}
<!-- <h2>What should this page contain?</h2>
<hr>
<ul>
<li>Include pictures of your teammates, don't forget instructors and advisors!</li>
<li>You can add a small biography or a few words from each team member, to tell us what you like, and what motivated you to participate in iGEM.</li>
<li>Take team pictures! Show us your school, your lab and little bit of your city.</li>
<li>Remember that image galleries can help you showcase many pictures while saving space.</li>
</ul>
<div class="bd-callout bd-callout-info"><strong>Important:</strong> Your wiki pages will be archived at the end of the iGEM season and this content will remain online. Please keep this in mind as you post photos and personal information on this page.</div>
</div>
<div class="col-4">
<h2>Inspirations</h2>
<hr>
<ul>
<li><a href="https://2019.igem.org/Team:CU/Team">2019 CU</a></li>
<li><a href="https://2019.igem.org/Team:UANL/Team">2019 UANL</a></li>
<li><a href="https://2019.igem.org/Team:William_and_Mary/Team">2019 William and Mary</a></li>
<li><a href="https://2020.igem.org/Team:BOKU-Vienna/Team">2020 BOKU Vienna </a></li>
<li><a href="https://2020.igem.org/Team:CAU_China/Team_Member">2020 CAU China</a></li>
<li><a href="https://2020.igem.org/Team:Lethbridge/Members">2020 Lethbridge</a></li>
</ul>
</div>
</div> !-->
<head>
</head>
<body>
<div class="row mt-4">
<!-- Overview Section -->
<div class="col-lg-3 mb-4">
<div id="overview" class="sticky-top">
<h5>Overview</h5>
<ul class="nav flex-column"> <!--YOU CAN ADD MORE OVERVIEW LINKS HERE, SIMPLY DUPLICATE AN UNORDERED LIST-->
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID-2">EDIT SUBHEADING 2</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID-1">EDIT SUBHEADING 1</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#cool">EDIT SUB SUBHEADING 1</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cool2">EDIT SUB SUB HEADING 2</a>
</li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="#Vcell_Design">Vcell Design</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="col-lg-9">
<hr>
<div id="EDIT-ID-1">
<h3>EDIT SUBHEADING</h3>
<p>EDIT TEXT</p>
</div>
<div id="cool">
<h4>EDIT SUB SUBHEADING</h4>
<p>EDIT TEXT</p>
</div>
<div id="cool2">
<h4>EDIT SUB SUBHEADING</h4>
<p>EDIT TEXT</p>
</div>
<div id="EDIT-ID-2">
<h3>EDIT SUBHEADING</h3>
<p>EDIT TEXT</p>
</div>
<div id="Vcell_Design" class="mt-4">
<h2>How VCell Works</h2>
<p>Virtual Cell, or VCell, is a software platform <span class="highlight">used to model cellular systems</span>. We are using VCell to model the four primary constructs (names listed in experiments) we researched this year to detect PFAS, <span class="highlight">as well as</span> other pathways. VCell is a valuable platform because it allows us to <span class="highlight">run simulations on the constructs</span> we built. Additionally, VCell is user-friendly and easy to learn, as most functions are self-explanatory.</p>
<img src="https://static.igem.wiki/teams/5114/contributions-and-design-images/vcelllogocrop-1.webp" alt="VCell Logo">
<h2>Why Use VCell</h2>
<p>This year we used VCell to run simulation on our 4 constructs, as well as test other signal strentgehning pathways.We also ran numerous experiments using Vcell and explored new properties that were released into Vcell in its newest update.Vcell is a very simple software to understand and performs complex simulations in a simplistic manner for its users.Additionally Vcell allows us to run deterministic and stochastic simulations.A deterministic simulation is performed using math so determine its answer, however one setback is that the answer is always the same.However stochastic simulations give varying results after every run.</p>
<img src="https://static.igem.wiki/teams/5114/contributions-and-design-images/image-1.webp" alt="Example Biomodel on VCell pRMA_GFP Construct">
</div>
</div>
</div>
</body>
{% endblock %}
{% extends "layout.html" %}
{% block title %}Dry-Lab Methods{% endblock %}
{% block lead %}OUR METHODS OF ARTIFICAL SIMULATION OF MOLECULES AND THEIR INTERACTIONS{% endblock %}
{% block page_content %}
<head>
</head>
<body>
......@@ -24,7 +24,8 @@
<a class="nav-link" href="#fixing-last-years-simulation">Fixing Previous Simulations</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#docking-of-human-liver-fatty-acid-binding-protein-fab-with-pfoa">hlFAB Docking</a>
<a class="nav-link" href="#docking-of-human-liver-fatty-acid-binding-protein-fab-with-pfoa">hlFAB
Docking</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#preparation-of-docking">Preparation of Docking</a>
......@@ -38,7 +39,8 @@
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="#confirmation-of-the-docking-of-fab-gfp-to-pfoa">Confirmation of the docking</a>
<a class="nav-link" href="#confirmation-of-the-docking-of-fab-gfp-to-pfoa">Confirmation of the
docking</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#preparing-the-simulation">Preparing the Simulation</a>
......@@ -56,63 +58,63 @@
</li>
<li class="nav-item"></li>
<a class="nav-link" href="#documentation-for-md-mmpbsa-pipeline">Documentation for MD MMPBSA Pipeline</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#pipeline-overview">Pipeline Overview</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#explanation-of-input-files">Explanation of Input Files</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#mutagenesis-using-chimerax-with-rotamers">Mutagenesis Using ChimeraX</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#conclusion-1">Conclusion</a>
</li>
</ul>
</li>
<a class="nav-link" href="#documentation-for-md-mmpbsa-pipeline">Documentation for MD MMPBSA Pipeline</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#pipeline-overview">Pipeline Overview</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#explanation-of-input-files">Explanation of Input Files</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#mutagenesis-using-chimerax-with-rotamers">Mutagenesis Using ChimeraX</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#conclusion-1">Conclusion</a>
</li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="#umbrella-sampling">Umbrella Sampling</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#dependencies">Dependencies</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#conda-setup">Conda Setup</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#permissions-wham">Add Permissions for Wham Subprocess</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#umbrella-sampling">Umbrella Sampling</a>
<a class="nav-link" href="#program">Program Flow</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#troubleshooting">Troubleshooting</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#theory">Theory</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#dependencies">Dependencies</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#conda-setup">Conda Setup</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#permissions-wham">Add Permissions for Wham Subprocess</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#program">Program Flow</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#troubleshooting">Troubleshooting</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#theory">Theory</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#definitions">Definitions</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#equations">Equations</a>
</li>
</ul>
<a class="nav-link" href="#definitions">Definitions</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#parameters">Selecting Parameters</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#credits">Credits</a>
<a class="nav-link" href="#equations">Equations</a>
</li>
</ul>
</li>
</ul>
<li class="nav-item">
<a class="nav-link" href="#parameters">Selecting Parameters</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#credits">Credits</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="col-lg-9">
......@@ -120,12 +122,16 @@
<div id="molecular-dynamics-documentation" class="mt-4">
<h1>Molecular dynamics documentation</h1>
<p><strong>Created by Vishwaa Kannan</strong></p>
<p><strong>Any files used or created by Amber or its related tools will be in the software repository for GCM-KY. Please retrieve any input/output files you require from there.</strong></p>
<p><a href="https://gitlab.igem.org/2024/software-tools/gcm-ky"><strong>https://gitlab.igem.org/2024/software-tools/gcm-ky</strong></a></p>
<p><strong>Any files used or created by Amber or its related tools will be in the software repository for
GCM-KY. Please retrieve any input/output files you require from there.</strong></p>
<p><a
href="https://gitlab.igem.org/2024/software-tools/gcm-ky"><strong>https://gitlab.igem.org/2024/software-tools/gcm-ky</strong></a>
</p>
<hr>
<h2 id="fixing-last-years-simulation">Fixing last year's simulations</h2>
<p>The error with the previous year’s simulation was how I set Matplotlib to parse the data files. This was the previous code: </p>
<pre>
<p>The error with the previous year’s simulation was how I set Matplotlib to parse the data files. This was the
previous code: </p>
<pre>
step = data[:,0]
potential_energy = data[:,1]
temperature = data[:,2]
......@@ -133,8 +139,8 @@
kinetic_energy = data[:,4]
total_energy = data[:,5]
</pre>
<p>The order was corrected to parse the data. This is the corrected code: </p>
<pre>
<p>The order was corrected to parse the data. This is the corrected code: </p>
<pre>
step = data[:,0]
potential_energy = data[:,1]
temperature = data[:,4]
......@@ -142,76 +148,87 @@
kinetic_energy = data[:,2]
total_energy = data[:,3]
</pre>
<p>The graph part was re-run to obtain the correct graphs for pfoa luxr:</p>
<img src="https://static.igem.wiki/teams/5114/vishwaa/firstone.png" alt="one">
<img src="https://static.igem.wiki/teams/5114/vishwaa/secondone.png" alt="two">
<img src="https://static.igem.wiki/teams/5114/vishwaa/thirdone.png" alt="three">
</div>
<div id="docking-of-human-liver-fatty-acid-binding-protein-fab-with-pfoa">
<h2>Docking of Human Liver Fatty Acid Binding Protein (FAB) with PFOA</h2>
<p>The purpose of docking FAB and PFOA is to confirm that FAB works. We tested FAB in the lab and did not observe any noticeable fluorescence. So, we have docked these two into a complex, which we used for further calculations down the road.</p>
<div id="preparation-of-docking">
<h3>Preparation of docking</h3>
<p>We used AutoDock Vina on Windows, installed via their MSI installer. </p>
<p><a href="https://vina.scripps.edu/downloads/">https://vina.scripps.edu/downloads/</a></p>
<p style="margin-top: 3%;">We used Alpha Fold 3 to fold the FAB sequence into a Protein Data Bank (PDB). Below is the URL and sequence we used.</p>
<p><a href="https://alphafoldserver.com/">https://alphafoldserver.com/</a></p>
<p style="margin-left: 5%;">
MSFSGKYQLQSQENFEAFMKAIGLPEELIQKGKDIKGVSE
<br>IVQNGKHFKFTITAGSGSGSHNVYIMADKQKNGIKVNFKI
<br>RHNIEDGSVQLADHYQQNTPIGDGPVLLPDNHYLSTQSAL
<br>SKDPNEKRDHMVLLEFVTAAGITHGMDELYKGGTGGSMRK
<br>GEELFTGVVPILVELDGDVNGHKFSVSGEGEGDATYGKLT
<br>LKFICTTGKLPVPWPTLVTTFGYGVQCFARYPDHMKQHDF
<br>FKSAMPEGYVQERTIFFKDDGNYKTRAEVKFEGDTLVNRI
<br>ELKGIDFKEDGNILGHKLEYNYNGGKVIQNEFTVGEECEL
<br>ETMTGEKVKTVVQLEGDNKLVTTFKNIKSVTELNGDIITN
<br>TMTLGDIVFKRISKRI
</p>
<p>We also retrieved the Structured Data File (SDF) for PFOA from PubChem by downloading the 3D conformer here: </p>
<p><a href="https://pubchem.ncbi.nlm.nih.gov/compound/9554\#section=2D-Structure">https://pubchem.ncbi.nlm.nih.gov/compound/9554\#section=2D-Structure</a></p>
<p>In a molecule viewer application, we used Chimera X (which can be installed via their app). We opened the FAB PDB, added hydrogens, and saved the output file as a PDB. </p>
<pre><code>
<p>The graph part was re-run to obtain the correct graphs for pfoa luxr:</p>
<img src="https://static.igem.wiki/teams/5114/vishwaa/firstone.png" alt="one">
<img src="https://static.igem.wiki/teams/5114/vishwaa/secondone.png" alt="two">
<img src="https://static.igem.wiki/teams/5114/vishwaa/thirdone.png" alt="three">
</div>
<div id="docking-of-human-liver-fatty-acid-binding-protein-fab-with-pfoa">
<h2>Docking of Human Liver Fatty Acid Binding Protein (FAB) with PFOA</h2>
<p>The purpose of docking FAB and PFOA is to confirm that FAB works. We tested FAB in the lab and did not
observe any noticeable fluorescence. So, we have docked these two into a complex, which we used for further
calculations down the road.</p>
<div id="preparation-of-docking">
<h3>Preparation of docking</h3>
<p>We used AutoDock Vina on Windows, installed via their MSI installer. </p>
<p><a href="https://vina.scripps.edu/downloads/">https://vina.scripps.edu/downloads/</a></p>
<p style="margin-top: 3%;">We used Alpha Fold 3 to fold the FAB sequence into a Protein Data Bank (PDB). Below
is the URL and sequence we used.</p>
<p><a href="https://alphafoldserver.com/">https://alphafoldserver.com/</a></p>
<p style="margin-left: 5%;">
MSFSGKYQLQSQENFEAFMKAIGLPEELIQKGKDIKGVSE
<br>IVQNGKHFKFTITAGSGSGSHNVYIMADKQKNGIKVNFKI
<br>RHNIEDGSVQLADHYQQNTPIGDGPVLLPDNHYLSTQSAL
<br>SKDPNEKRDHMVLLEFVTAAGITHGMDELYKGGTGGSMRK
<br>GEELFTGVVPILVELDGDVNGHKFSVSGEGEGDATYGKLT
<br>LKFICTTGKLPVPWPTLVTTFGYGVQCFARYPDHMKQHDF
<br>FKSAMPEGYVQERTIFFKDDGNYKTRAEVKFEGDTLVNRI
<br>ELKGIDFKEDGNILGHKLEYNYNGGKVIQNEFTVGEECEL
<br>ETMTGEKVKTVVQLEGDNKLVTTFKNIKSVTELNGDIITN
<br>TMTLGDIVFKRISKRI
</p>
<p>We also retrieved the Structured Data File (SDF) for PFOA from PubChem by downloading the 3D conformer
here: </p>
<p><a
href="https://pubchem.ncbi.nlm.nih.gov/compound/9554\#section=2D-Structure">https://pubchem.ncbi.nlm.nih.gov/compound/9554\#section=2D-Structure</a>
</p>
<p>In a molecule viewer application, we used Chimera X (which can be installed via their app). We opened the
FAB PDB, added hydrogens, and saved the output file as a PDB. </p>
<pre><code>
Tools &gt; Structure Editing &gt; Add Hydrogens &gt; Also consider H-bonds (slower) &gt; Ok
</code></pre>
<p>Then, in a new window, we opened the SDF for PFOA, deleted the hydrogen, and saved the output file as a PDB. This is essential, as PFOA is naturally deprotonated. </p>
<pre><code>
<p>Then, in a new window, we opened the SDF for PFOA, deleted the hydrogen, and saved the output file as a
PDB. This is essential, as PFOA is naturally deprotonated. </p>
<pre><code>
Select &gt; Chemistry &gt; Element &gt; H
Actions &gt; Atoms/Bonds &gt; Delete
</code></pre>
</div>
<div id="creating-autodock-vina-files">
<h3>Creating AutoDock Vina Files</h3>
<p>We then need to save our PDB files as AutoDock Vina files (PDBQT); this step is relatively simple. </p>
<p>To start AutoDock Vina, type “AutoDock Tools” in the search bar and run the application. After a short period, the GUI will load. Load the receptor PDB into AutoDock Vina by dragging it into the application. Then follow these commands to edit and save the receptor (FAB) file: </p>
<pre><code>
</div>
<div id="creating-autodock-vina-files">
<h3>Creating AutoDock Vina Files</h3>
<p>We then need to save our PDB files as AutoDock Vina files (PDBQT); this step is relatively simple. </p>
<p>To start AutoDock Vina, type “AutoDock Tools” in the search bar and run the application. After a short
period, the GUI will load. Load the receptor PDB into AutoDock Vina by dragging it into the application.
Then follow these commands to edit and save the receptor (FAB) file: </p>
<pre><code>
Edit &gt; Hydrogens &gt; Add &gt; Polar only &gt; noBondOrder &gt; yes
Edit &gt; Charges &gt; Add Kollman Charges &gt; Ok
Grid &gt; Macromolecule &gt; Choose &gt; FAB &gt; Select Molecule &gt; Ok &gt; Save file<
</code></pre>
<p>Next, we will prepare the ligand with these commands:</p>
<pre><code>
<p>Next, we will prepare the ligand with these commands:</p>
<pre><code>
Right-click FAB &gt; Delete
Drag Ligand PDB file into AutoDock Vina
Ligand &gt; Input &gt; Choose &gt; PFOA
Ligand &gt; Output &gt; save &gt; Ok
</code></pre>
<p>Next, delete PFOA from AutoDock Vina via:</p>
<pre><code>
<p>Next, delete PFOA from AutoDock Vina via:</p>
<pre><code>
Right-click PFOA &gt; Delete
</code></pre>
</div>
<div id="performing-the-docking">
<h3>Performing the docking</h3>
<p>We must select the domain to which AutoDock Vina will attempt to dock PFOA. </p>
<p>Drag the .pdbqt file for the FAB and PFOA into a new AutoDock Vina Window. It is essential not to overwrite charges; click “ok” and keep the charges when importing.</p>
<pre><code>
</div>
<div id="performing-the-docking">
<h3>Performing the docking</h3>
<p>We must select the domain to which AutoDock Vina will attempt to dock PFOA. </p>
<p>Drag the .pdbqt file for the FAB and PFOA into a new AutoDock Vina Window. It is essential not to overwrite
charges; click “ok” and keep the charges when importing.</p>
<pre><code>
Grid &gt; Macromolecule &gt; choose &gt; FAB
Ligand &gt; Input &gt; Choose &gt; PFOA
Grid &gt; Gridbox
......@@ -222,10 +239,11 @@
Y-center: -11.488
Z-center: 16.008
</code></pre>
<p>This should show a red, blue, and green box that occupies the binding pocket for FAB</p>
<img style="margin-top: 5%; margin-bottom: 5%; margin-left: 5%;" src="https://static.igem.wiki/teams/5114/vishwaa/fourthone.png" alt="">
<p>Next, we will complete the docking procedure, open the command prompt, and type the following commands:</p>
<pre><code>
<p>This should show a red, blue, and green box that occupies the binding pocket for FAB</p>
<img style="margin-top: 5%; margin-bottom: 5%; margin-left: 5%;"
src="https://static.igem.wiki/teams/5114/vishwaa/fourthone.png" alt="">
<p>Next, we will complete the docking procedure, open the command prompt, and type the following commands:</p>
<pre><code>
cd path/to/files/
touch config.txt
nano config.txt
......@@ -243,39 +261,55 @@
Y
{enter}
</code></pre>
<p>Docking is an exhaustive study, so AutoDock Vina will try however many positions you tell it to and pick the best 10. The energy range represents the difference in binding affinity (Kcal/mol) between the best and the worst poses.</p>
<p>Finally, we can run AutoDock Vina. Find the path to Vina in your file manager and enter the following command into Command Prompt.</p>
<pre><code>
<p>Docking is an exhaustive study, so AutoDock Vina will try however many positions you tell it to and pick
the best 10. The energy range represents the difference in binding affinity (Kcal/mol) between the best and
the worst poses.</p>
<p>Finally, we can run AutoDock Vina. Find the path to Vina in your file manager and enter the following
command into Command Prompt.</p>
<pre><code>
“c:path/to/vina” –receptor protein.pdbqt –ligand ligand.pdbqt –config config.txt –log log.txt –out output.pdbqt
</code></pre>
<p>To extract the best pose, open the output.pdbqt file in Chimera X and select the first model at the bottom right of the window. Then click save, saving only the selected model. You should now have an output. PDB file with your complex.</p>
</div>
<p>To extract the best pose, open the output.pdbqt file in Chimera X and select the first model at the bottom
right of the window. Then click save, saving only the selected model. You should now have an output. PDB
file with your complex.</p>
</div>
<div id="confirmation-of-the-docking-of-fab-gfp-to-pfoa">
<h2>Confirmation of the docking of Fab-Gfp to PFOA</h2>
<p><strong>Input / Output files are located in the Software Tools Repository</strong><br><a href="https://gitlab.igem.org/2024/software-tools/gcm-ky"><strong>https://gitlab.igem.org/2024/software-tools/gcm-ky</strong></a></p>
<p>Now that we have an approximate dock of PFOA and FAB, we need to simulate it to ensure the bind is stable. To do this, we used Amber. Amber can be installed by following their guide on the website and their PDF document here: </p>
<p><a href="https://ambermd.org/doc12/Amber24.pdf">https://ambermd.org/doc12/Amber24.pdf</a></p>
<p>Since we are just determining if the bind is stable, we simulated the complex in an implicit solvent system, as this system is less accurate but very efficient with resources.</p>
<div id="preparing-the-simulation">
<h3>Preparing the Simulation</h3>
<h4 id="generating-force-fields-with-antechamber">Generating Force Fields with Antechamber</h4>
<p>Since we are working with the PFOA ligand (perfluorooctanoic acid), we must generate its charges and force field parameters. PFOA is deprotonated and thus should have a net charge of -1. Using the following antechamber commands, we will create a .mol2 file for PFOA and assign AM1-BCC charges suitable for small organic molecules in AMBER simulations. parmchk2 is then used to generate missing force field parameters.</p>
<pre><code>
</div>
<div id="confirmation-of-the-docking-of-fab-gfp-to-pfoa">
<h2>Confirmation of the docking of Fab-Gfp to PFOA</h2>
<p><strong>Input / Output files are located in the Software Tools Repository</strong><br><a
href="https://gitlab.igem.org/2024/software-tools/gcm-ky"><strong>https://gitlab.igem.org/2024/software-tools/gcm-ky</strong></a>
</p>
<p>Now that we have an approximate dock of PFOA and FAB, we need to simulate it to ensure the bind is stable. To
do this, we used Amber. Amber can be installed by following their guide on the website and their PDF document
here: </p>
<p><a href="https://ambermd.org/doc12/Amber24.pdf">https://ambermd.org/doc12/Amber24.pdf</a></p>
<p>Since we are just determining if the bind is stable, we simulated the complex in an implicit solvent system,
as this system is less accurate but very efficient with resources.</p>
<div id="preparing-the-simulation">
<h3>Preparing the Simulation</h3>
<h4 id="generating-force-fields-with-antechamber">Generating Force Fields with Antechamber</h4>
<p>Since we are working with the PFOA ligand (perfluorooctanoic acid), we must generate its charges and force
field parameters. PFOA is deprotonated and thus should have a net charge of -1. Using the following
antechamber commands, we will create a .mol2 file for PFOA and assign AM1-BCC charges suitable for small
organic molecules in AMBER simulations. parmchk2 is then used to generate missing force field parameters.
</p>
<pre><code>
antechamber -i pfoa.pdb -fi pdb -o pfoa.mol2 -fo mol2 -c bcc -nc -1 -s 2
parmchk2 -i pfoa.mol2 -f mol2 -o pfoa.frcmod
</code></pre>
<p>This creates two important files:</p>
<ol>
<li>pfoa.mol2: contains the ligand structure with BCC charges. </li>
<p>This creates two important files:</p>
<ol>
<li>pfoa.mol2: contains the ligand structure with BCC charges. </li>
<li>pfoa.frcmod: additional force field parameters not covered by the standard GAFF.</li>
</ol>
<h4 id="generating-topology-and-coordinate-files-with-leap">Generating Topology and Coordinate Files with LEaP</h4>
<p>To generate the necessary topology (prmtop) and coordinate (rst7) files, we will use LEaP, specifying the appropriate force fields and water model.</p>
<p>LEaP Input (leap_s.in)</p>
<pre><code>
</ol>
<h4 id="generating-topology-and-coordinate-files-with-leap">Generating Topology and Coordinate Files with LEaP
</h4>
<p>To generate the necessary topology (prmtop) and coordinate (rst7) files, we will use LEaP, specifying the
appropriate force fields and water model.</p>
<p>LEaP Input (leap_s.in)</p>
<pre><code>
source leaprc.protein.ff19SB
source leaprc.gaff2
source leaprc.water.opc
......@@ -286,19 +320,21 @@
saveamberparm UNL pfoa.prmtop pfoa.rst7
quit
</code></pre>
<p>Force fields:</p>
<p style="text-indent: 5%;">ff19SB: For the protein.</p>
<p style="text-indent: 5%;">gaff2: General force field for organic molecules, like PFOA.</p>
<p style="text-indent: 5%;">water.opc: For the water model used in implicit solvation.</p>
<p>This script prepares the prmtop and rst7 files for PFOA, which we’ll later combine with the protein for docking.</p>
<p>To run the script, use the following command: </p>
<pre><code>
<p>Force fields:</p>
<p style="text-indent: 5%;">ff19SB: For the protein.</p>
<p style="text-indent: 5%;">gaff2: General force field for organic molecules, like PFOA.</p>
<p style="text-indent: 5%;">water.opc: For the water model used in implicit solvation.</p>
<p>This script prepares the prmtop and rst7 files for PFOA, which we’ll later combine with the protein for
docking.</p>
<p>To run the script, use the following command: </p>
<pre><code>
tleap -s -f tleap_s.in
</code></pre>
<h4 id="creating-the-complex">Creating the Complex</h4>
<p>Now that we have the ligand’s force field parameters, we’ll combine it with the protein to form the PFOA-FAB complex.</p>
<p>LEaP Input (tleap_f.in)</p>
<pre><code>
<h4 id="creating-the-complex">Creating the Complex</h4>
<p>Now that we have the ligand’s force field parameters, we’ll combine it with the protein to form the
PFOA-FAB complex.</p>
<p>LEaP Input (tleap_f.in)</p>
<pre><code>
source leaprc.protein.ff19SB
source leaprc.gaff2
source leaprc.water.opc
......@@ -320,38 +356,45 @@
savepdb complex pfoa_dock.pdb
quit
</code></pre>
<p>This script loads the ligand (pfoa.mol2) and the protein (justFABnoHYDRO.pdb), combines them into a single complex, and generates the topology and coordinate files needed for molecular dynamics (pfoa_dock.prmtop and pfoa_dock.rst7). </p>
<p>Use this command to run the script: </p>
<pre><code>
<p>This script loads the ligand (pfoa.mol2) and the protein (justFABnoHYDRO.pdb), combines them into a single
complex, and generates the topology and coordinate files needed for molecular dynamics (pfoa_dock.prmtop and
pfoa_dock.rst7). </p>
<p>Use this command to run the script: </p>
<pre><code>
tleap -s -f tleap_f.in
</code></pre>
</div>
</div>
<div id="running-the-simulation">
<h3>Running the Simulation</h3>
<h4 id="minimization-minin">Minimization (min.in)</h4>
<p>The first step in the MD simulation process is minimization. We’ll perform an initial minimization to relieve any steric clashes or bad contacts between atoms in the system. Here, we use the igb=1 parameter to specify that we’re running a simulation of an implicit solvent environment.</p>
<p>Minimization Input (min.in)</p>
<pre><code>
<div id="running-the-simulation">
<h3>Running the Simulation</h3>
<h4 id="minimization-minin">Minimization (min.in)</h4>
<p>The first step in the MD simulation process is minimization. We’ll perform an initial minimization to
relieve any steric clashes or bad contacts between atoms in the system. Here, we use the igb=1 parameter to
specify that we’re running a simulation of an implicit solvent environment.</p>
<p>Minimization Input (min.in)</p>
<pre><code>
&amp;cntrl
imin=1, maxcyc=200, ncyc=50,
cut=16, ntb=0, igb=1,
&amp;end
</code></pre>
<p style="text-indent: 5%;">maxcyc=200: The maximum number of minimization cycles.</p>
<p style="text-indent: 5%;">ncyc=50: The switch point for using steepest descent and conjugate gradient methods.</p>
<p style="text-indent: 5%;">igb=1: Generalized Born implicit solvent model.</p>
<p style="text-indent: 5%;">cut=16: Non-bonded cutoff distance (16 Å).</p>
<p>To run this simulation, use this command: </p>
<pre><code>
<p style="text-indent: 5%;">maxcyc=200: The maximum number of minimization cycles.</p>
<p style="text-indent: 5%;">ncyc=50: The switch point for using steepest descent and conjugate gradient
methods.</p>
<p style="text-indent: 5%;">igb=1: Generalized Born implicit solvent model.</p>
<p style="text-indent: 5%;">cut=16: Non-bonded cutoff distance (16 Å).</p>
<p>To run this simulation, use this command: </p>
<pre><code>
pmemd.cuda -O -i min.in -o min.out -p protein_solvated.prmtop -c protein_solvated.inpcrd -r min.rst -ref protein_solvated.inpcrd
</code></pre>
<h4 id="production-prodin">Production (prod.in)</h4>
<p>After minimization, we will perform the production molecular dynamics (MD) run. This is just a longer equilibration. In this step, we will keep the system at 300 K and allow it to equilibrate. We will use a timestep of 2 fs, Langevin dynamics (ntt=3), and the igb=1 implicit solvation model.</p>
<p>Production Input (prod.in)</p>
<p>Production MD run
<pre><code>
<h4 id="production-prodin">Production (prod.in)</h4>
<p>After minimization, we will perform the production molecular dynamics (MD) run. This is just a longer
equilibration. In this step, we will keep the system at 300 K and allow it to equilibrate. We will use a
timestep of 2 fs, Langevin dynamics (ntt=3), and the igb=1 implicit solvation model.</p>
<p>Production Input (prod.in)</p>
<p>Production MD run
<pre><code>
&amp;cntrl
imin=0, irest=0,
nstlim=50000, dt=0.002, ntc=2, ntf=2,
......@@ -361,117 +404,133 @@
tempi=0.0, temp0=300.0,
&amp;end
</code></pre>
<p style="text-indent: 5%;">nstlim=50000: Number of steps (corresponds to 100 ps for a 2 fs timestep).</p>
<p style="text-indent: 5%;">ntpr=500, ntwx=500: Write output and trajectory files every 500 steps.</p>
<p style="text-indent: 5%;">igb=1: Implicit solvent (Generalized Born model).</p>
<p style="text-indent: 5%;">ntt=3, gamma_ln=1.0: Langevin thermostat with a collision frequency of 1.0 ps⁻¹./p>
<p style="text-indent: 5%;">temp0=300.0: Target temperature (300 K).</p>
<p style="text-indent: 5%;">cut=16: Non-bonded cutoff distance (16 Å).</p>
<p>To run this step, use the following pmemd.cuda command:</p>
<pre><code>
<p style="text-indent: 5%;">nstlim=50000: Number of steps (corresponds to 100 ps for a 2 fs timestep).</p>
<p style="text-indent: 5%;">ntpr=500, ntwx=500: Write output and trajectory files every 500 steps.</p>
<p style="text-indent: 5%;">igb=1: Implicit solvent (Generalized Born model).</p>
<p style="text-indent: 5%;">ntt=3, gamma_ln=1.0: Langevin thermostat with a collision frequency of 1.0
ps⁻¹./p>
<p style="text-indent: 5%;">temp0=300.0: Target temperature (300 K).</p>
<p style="text-indent: 5%;">cut=16: Non-bonded cutoff distance (16 Å).</p>
<p>To run this step, use the following pmemd.cuda command:</p>
<pre><code>
-O -i prod.in -o prod.out -p pfoa_dock.prmtop -c pfoa_dock.rst7 -r prod.rst -x prod.nc
</code></pre>
<p>This will generate the MD trajectory (prod.nc) and output the final restart file (prod.rst).</p>
</div>
<p>This will generate the MD trajectory (prod.nc) and output the final restart file (prod.rst).</p>
</div>
<div id="extracting-structures">
<h3>Extracting Structures</h3>
<p>After running the MD simulation, we can use the following input files to extract the final structures of the protein, ligand, and the entire complex.</p>
<p>Extract Full Complex (extract.in)</p>
<pre><code>
<div id="extracting-structures">
<h3>Extracting Structures</h3>
<p>After running the MD simulation, we can use the following input files to extract the final structures of
the protein, ligand, and the entire complex.</p>
<p>Extract Full Complex (extract.in)</p>
<pre><code>
parm pfoa_dock.prmtop
trajin prod.nc
trajout final_structure.pdb pdb onlyframes 100
run
</code></pre>
<p>The following command extracts the entire complex at the 100th frame from the trajectory file.</p>
<pre><code>
<p>The following command extracts the entire complex at the 100th frame from the trajectory file.</p>
<pre><code>
cpptraj -i extract.in
</code></pre>
<p>Extract Ligand (extractLig.in)</p>
<pre><code>
<p>Extract Ligand (extractLig.in)</p>
<pre><code>
parm pfoa_dock.prmtop
trajin prod.nc
strip !:UNL
trajout final_ligand.pdb pdb onlyframes 100
run
</code></pre>
<p>This command strips out everything except the ligand (UNL) and writes it to final_ligand.pdb.</p>
<pre><code>
<p>This command strips out everything except the ligand (UNL) and writes it to final_ligand.pdb.</p>
<pre><code>
cpptraj -i extractLig.in
</code></pre>
<p>Extract Protein (extractProt.in)</p>
<pre><code>
<p>Extract Protein (extractProt.in)</p>
<pre><code>
parm pfoa_dock.prmtop
trajin prod.nc
strip :UNL
trajout final_protein.pdb pdb onlyframes 100
run
</code></pre>
<p>This strips out ligand and writes the protein-only structure to final_protein.pdb.</p>
<pre><code>
<p>This strips out ligand and writes the protein-only structure to final_protein.pdb.</p>
<pre><code>
cpptraj -i extractProt.in
</code></pre>
<h4 id="examination-of-structures">Examination of structures</h4>
<p>The resulting PDBs from the extraction were viewed visually in ChimeraX, and it was confirmed that PFOA was still in the binding pocket.</p>
</div>
<div id="conclusion101010">
<h3>Conclusion</h3>
<p>It is important to note that this simulation was performed to confirm that the docking of PFOA to FAB was correct. However, not all proper procedures were followed, such as separating the production and equilibration, using implicit instead of explicit simulations, and shortened simulation times.</p>
</div>
<h4 id="examination-of-structures">Examination of structures</h4>
<p>The resulting PDBs from the extraction were viewed visually in ChimeraX, and it was confirmed that PFOA was
still in the binding pocket.</p>
</div>
<div id="conclusion101010">
<h3>Conclusion</h3>
<p>It is important to note that this simulation was performed to confirm that the docking of PFOA to FAB was
correct. However, not all proper procedures were followed, such as separating the production and
equilibration, using implicit instead of explicit simulations, and shortened simulation times.</p>
</div>
</div>
<div id="documentation-for-md-mmpbsa-pipeline">
<h2>Documentation for MD MMPBSA Pipeline</h2>
<p><strong>Input / Output files are in the Software Tools Repository (including the pipeline!).</strong><br><a href="https://gitlab.igem.org/2024/software-tools/gcm-ky"><strong>https://gitlab.igem.org/2024/software-tools/gcm-ky</strong></a></p>
<p>This document explains how to set up, run, and understand the MMPBSA pipeline, which simulates and analyzes the interactions between proteins and ligands, such as the FAB-PFOA complex, using the Molecular Mechanics Poisson-Boltzmann Surface Area method. It also covers performing mutagenesis with ChimeraX using rotamers and how to source and run the pipeline.</p>
<div id="pipeline-overview">
<h3>Pipeline Overview</h3>
<p>The script Simulation.sh automates a full molecular dynamics (MD) simulation pipeline, which uses an MPBSA analysis to calculate the binding affinity and give you a per-residue breakdown of the charge composition. The result from this pipeline can be pasted into an Excel sheet, and a pie graph will show which residues play the most significant role in the binding. This pipeline assumes you have already done the previous steps and obtained a pfoa.mol2 and a pfoa.frcmod.</p>
<h4 id="prerequisites">Prerequisites</h4>
<p>Before running the pipeline, ensure the following are installed:</p>
<ol>
<li>AmberTools/AMBER (with CUDA support for pmemd.cuda).</li>
<li>MPI (for MMPBSA parallelization).</li>
<li>Python 3 (for data analysis scripts).</li>
<li>ChimeraX (for mutagenesis).</li>
</ol>
<h4 id="making-the-script-executable">Making the Script Executable</h4>
<p>To run the pipeline, follow these steps:</p>
<p>Make the Simulation.sh executable:</p>
<pre><code>
<div id="documentation-for-md-mmpbsa-pipeline">
<h2>Documentation for MD MMPBSA Pipeline</h2>
<p><strong>Input / Output files are in the Software Tools Repository (including the pipeline!).</strong><br><a
href="https://gitlab.igem.org/2024/software-tools/gcm-ky"><strong>https://gitlab.igem.org/2024/software-tools/gcm-ky</strong></a>
</p>
<p>This document explains how to set up, run, and understand the MMPBSA pipeline, which simulates and analyzes
the interactions between proteins and ligands, such as the FAB-PFOA complex, using the Molecular Mechanics
Poisson-Boltzmann Surface Area method. It also covers performing mutagenesis with ChimeraX using rotamers and
how to source and run the pipeline.</p>
<div id="pipeline-overview">
<h3>Pipeline Overview</h3>
<p>The script Simulation.sh automates a full molecular dynamics (MD) simulation pipeline, which uses an MPBSA
analysis to calculate the binding affinity and give you a per-residue breakdown of the charge composition.
The result from this pipeline can be pasted into an Excel sheet, and a pie graph will show which residues
play the most significant role in the binding. This pipeline assumes you have already done the previous
steps and obtained a pfoa.mol2 and a pfoa.frcmod.</p>
<h4 id="prerequisites">Prerequisites</h4>
<p>Before running the pipeline, ensure the following are installed:</p>
<ol>
<li>AmberTools/AMBER (with CUDA support for pmemd.cuda).</li>
<li>MPI (for MMPBSA parallelization).</li>
<li>Python 3 (for data analysis scripts).</li>
<li>ChimeraX (for mutagenesis).</li>
</ol>
<h4 id="making-the-script-executable">Making the Script Executable</h4>
<p>To run the pipeline, follow these steps:</p>
<p>Make the Simulation.sh executable:</p>
<pre><code>
chmod +x Simulation.sh
</code></pre>
<p>Run the script with the required arguments:</p>
<pre><code>
<p>Run the script with the required arguments:</p>
<pre><code>
-r receptor.pdb: Path to the receptor PDB file.
-l ligand.pdb: Path to the ligand PDB file.
-c complex.pdb: Path to the complex PDB file (protein-ligand complex).
-n output_directory: Directory where output files will be stored.
-j num_cores: Number of cores to use for MMPBSA calculations.
</code></pre>
<h4 id="example-usage">Example Usage:</h4>
<pre><code>
<h4 id="example-usage">Example Usage:</h4>
<pre><code>
./Simulation.sh -r protein.pdb -l ligand.pdb -c complex.pdb -n fab_pfoa_simulation -j 8
</code></pre>
<p>This creates an output directory, prepares input files, runs the MD simulation, and performs binding energy analysis.</p>
</div>
<p>This creates an output directory, prepares input files, runs the MD simulation, and performs binding energy
analysis.</p>
</div>
<div id="explanation-of-input-files">
<h3>Explanation of Input Files</h3>
<p>The pipeline uses several key .in files for different stages of the simulation. These files control the
simulation parameters, so understanding what each parameter does is critical.</p>
<div id="explanation-of-input-files">
<h3>Explanation of Input Files</h3>
<p>The pipeline uses several key .in files for different stages of the simulation. These files control the simulation parameters, so understanding what each parameter does is critical.</p>
<p>min.in (Minimization)</p>
<pre><code>
<p>min.in (Minimization)</p>
<pre><code>
&amp;cntrl
imin=1, maxcyc=1000, ncyc=500,
cut=10.0, ntb=1,
......@@ -480,19 +539,20 @@
ntr=1, restraintmask=&#39;:1-376&#39;, restraint_wt=2.0
</code></pre>
<p style="text-indent: 5%;">imin=1: Runs minimization (0 would run MD).</p>
<p style="text-indent: 5%;">maxcyc=1000: Maximum number of minimization cycles.</p>
<p style="text-indent: 5%;">ncyc=500: The first 500 cycles are steepest descent; the remaining are conjugate gradient.</p>
<p style="text-indent: 5%;">cut=10.0: Cutoff distance for nonbonded interactions (10 Å).</p>
<p style="text-indent: 5%;">ntb=1: Constant volume periodic boundary conditions (no pressure coupling).</p>
<p style="text-indent: 5%;">ntc=2, ntf=2: Bonds involving hydrogen atoms are constrained with SHAKE.</p>
<p style="text-indent: 5%;">npr=100: Print the output every 100 steps.</p>
<p style="text-indent: 5%;">ntr=1: Apply harmonic restraints.</p>
<p style="text-indent: 5%;">restraintmask=&#39;:1-376&#39;: Apply restraints to residues 1 to 376.</p>
<p style="text-indent: 5%;">restraint_wt=2.0: Restraint weight of 2 kcal/mol/Ų.</p>
<p>heat.in (Heating)</p>
<pre><code>
<p style="text-indent: 5%;">imin=1: Runs minimization (0 would run MD).</p>
<p style="text-indent: 5%;">maxcyc=1000: Maximum number of minimization cycles.</p>
<p style="text-indent: 5%;">ncyc=500: The first 500 cycles are steepest descent; the remaining are conjugate
gradient.</p>
<p style="text-indent: 5%;">cut=10.0: Cutoff distance for nonbonded interactions (10 Å).</p>
<p style="text-indent: 5%;">ntb=1: Constant volume periodic boundary conditions (no pressure coupling).</p>
<p style="text-indent: 5%;">ntc=2, ntf=2: Bonds involving hydrogen atoms are constrained with SHAKE.</p>
<p style="text-indent: 5%;">npr=100: Print the output every 100 steps.</p>
<p style="text-indent: 5%;">ntr=1: Apply harmonic restraints.</p>
<p style="text-indent: 5%;">restraintmask=&#39;:1-376&#39;: Apply restraints to residues 1 to 376.</p>
<p style="text-indent: 5%;">restraint_wt=2.0: Restraint weight of 2 kcal/mol/Ų.</p>
<p>heat.in (Heating)</p>
<pre><code>
&amp;cntrl
imin=0, irest=0, ntx=1,
nstlim=25000, dt=0.002,
......@@ -510,17 +570,18 @@
&amp;wt TYPE=&#39;END&#39;
/
</code></pre>
<p style="text-indent: 5%;">imin=0: No minimization; we are running MD.</p>
<p style="text-indent: 5%;">irest=0, ntx=1: No restart; start from initial coordinates.</p>
<p style="text-indent: 5%;">nstlim=25000, dt=0.002: 25,000 steps with a 2 fs timestep.</p>
<p style="text-indent: 5%;">ntt=3, gamma_ln=2.0: Langevin thermostat with a collision frequency of 2 ps⁻¹.</p>
<p style="text-indent: 5%;">temp0=300.0: Target temperature is 300 K.</p>
<p style="text-indent: 5%;">ntr=1, restraintmask=&#39;:1-376&#39;: Restraints on residues 1 to 376.</p>
<p style="text-indent: 5%;">Temperature ramping: Temperature is ramped from 0.1 K to 300 K over 25,000 steps.</p>
<p>density.in (Density Equilibration)</p>
<pre><code>
<p style="text-indent: 5%;">imin=0: No minimization; we are running MD.</p>
<p style="text-indent: 5%;">irest=0, ntx=1: No restart; start from initial coordinates.</p>
<p style="text-indent: 5%;">nstlim=25000, dt=0.002: 25,000 steps with a 2 fs timestep.</p>
<p style="text-indent: 5%;">ntt=3, gamma_ln=2.0: Langevin thermostat with a collision frequency of 2 ps⁻¹.</p>
<p style="text-indent: 5%;">temp0=300.0: Target temperature is 300 K.</p>
<p style="text-indent: 5%;">ntr=1, restraintmask=&#39;:1-376&#39;: Restraints on residues 1 to 376.</p>
<p style="text-indent: 5%;">Temperature ramping: Temperature is ramped from 0.1 K to 300 K over 25,000 steps.
</p>
<p>density.in (Density Equilibration)</p>
<pre><code>
&amp;cntrl
imin=0, irest=1, ntx=5,
nstlim=25000, dt=0.002,
......@@ -531,13 +592,13 @@
temp0=300.0, ig=-1,ntr=1, restraintmask=&#39;:1-376&#39;, restraint_wt=2.0,
/
</code></pre>
<p style="text-indent: 5%;">ntb=2: Constant pressure periodic boundary conditions.</p>
<p style="text-indent: 5%;">ntp=1: Isotropic pressure scaling.</p>
<p style="text-indent: 5%;">taup=1.0: Pressure relaxation time of 1 ps.</p>
<p style="text-indent: 5%;">Other conditions similar to Heating.</p>
<p>equil.in (Equilibration)</p>
<pre><code>
<p style="text-indent: 5%;">ntb=2: Constant pressure periodic boundary conditions.</p>
<p style="text-indent: 5%;">ntp=1: Isotropic pressure scaling.</p>
<p style="text-indent: 5%;">taup=1.0: Pressure relaxation time of 1 ps.</p>
<p style="text-indent: 5%;">Other conditions similar to Heating.</p>
<p>equil.in (Equilibration)</p>
<pre><code>
&amp;cntrl
imin=0, irest=1, ntx=5,
nstlim=250000, dt=0.002,
......@@ -548,10 +609,10 @@
temp0=300.0, ig=-1,
/
</code></pre>
<p style="text-indent: 5%;">This is a longer equilibration step, with 250,000 steps (500 ps).</p>
<p style="text-indent: 5%;">This is a longer equilibration step, with 250,000 steps (500 ps).</p>
<p>prod.in (Production)</p>
<pre><code>
<p>prod.in (Production)</p>
<pre><code>
&amp;cntrl
imin=0, irest=1, ntx=5,
nstlim=10000000, dt=0.002,
......@@ -562,11 +623,12 @@
temp0=300.0, ig=-1,
/
</code></pre>
<p style="text-indent: 5%;">nstlim=10000000, dt=0.002: Production run with 10 million steps, totaling 20 ns of MD simulation.</p>
<p style="text-indent: 5%;">nstlim=10000000, dt=0.002: Production run with 10 million steps, totaling 20 ns of
MD simulation.</p>
<p>mmpbsa.in (MMPBSA Calculation)</p>
<pre><code>
<p>mmpbsa.in (MMPBSA Calculation)</p>
<pre><code>
&amp;general
startframe=601, endframe=2000, keep_files=2,
/
......@@ -577,259 +639,295 @@
idecomp=1,
/
</code></pre>
<p style="text-indent: 5%;">startframe=601, endframe=2000: Start MMPBSA calculations from frame 601 to 2000.</p>
<p style="text-indent: 5%;">istrng=0.100: Ionic strength is 0.1 M.</p>
<p style="text-indent: 5%;">idecomp=1: Perform per-residue decomposition analysis.</p>
</div>
<div id="mutagenesis-using-chimerax-with-rotamers">
<h3>Mutagenesis Using ChimeraX with Rotamers</h3>
<p>Mutating residues in ChimeraX can be done as follows:</p>
<p>Open ChimeraX and load the structure:</p>
<pre><code>
<p style="text-indent: 5%;">startframe=601, endframe=2000: Start MMPBSA calculations from frame 601 to 2000.
</p>
<p style="text-indent: 5%;">istrng=0.100: Ionic strength is 0.1 M.</p>
<p style="text-indent: 5%;">idecomp=1: Perform per-residue decomposition analysis.</p>
</div>
<div id="mutagenesis-using-chimerax-with-rotamers">
<h3>Mutagenesis Using ChimeraX with Rotamers</h3>
<p>Mutating residues in ChimeraX can be done as follows:</p>
<p>Open ChimeraX and load the structure:</p>
<pre><code>
open structure.pdb
</code></pre>
<p>Select the residue to mutate: In ChimeraX, click on the residue you want to mutate or use a selection command:</p>
<pre><code>
<p>Select the residue to mutate: In ChimeraX, click on the residue you want to mutate or use a selection
command:</p>
<pre><code>
select :&lt;residue_number&gt;
</code></pre>
<p>Perform the mutation using rotamers:</p>
<pre><code>
<p>Perform the mutation using rotamers:</p>
<pre><code>
swapaa &lt;new_residue&gt; :&lt;residue_number&gt; rotamer
</code></pre>
<p>For example, to mutate residue 45 to Alanine:</p>
<pre><code>
<p>For example, to mutate residue 45 to Alanine:</p>
<pre><code>
swapaa ala :45 rotamer
</code></pre>
<p>Save the mutated structure:</p>
<pre><code>
<p>Save the mutated structure:</p>
<pre><code>
save mutated_structure.pdb
</code></pre>
<p>After mutating, the new structure can be run through the same pipeline using the Simulation.sh script.</p>
</div>
<div>
<h3 id="conclusion-1">Conclusion</h3>
<p>Multiple simulations can be run on this with a few minor changes, with the main change required being the restraint mask. For example, I have used this pipeline to simulate FAB-GFP and PFOA, mutations of FAB-GFP and PFOA: ILE 308 → ARG, SER 349 → THR, and even for Palmitic Acid (the natural ligand to FAB) and FAB-GFP. However, this step required me to run palmitic acid through antechamber to get a forcefield for it. After each pipeline use, I pasted the resulting data into Excel and made a pie graph. This helps me see which residues contribute most to the ligand binding to the protein.</p>
</div>
<p>After mutating, the new structure can be run through the same pipeline using the Simulation.sh script.</p>
</div>
<div>
<h3 id="conclusion-1">Conclusion</h3>
<p>Multiple simulations can be run on this with a few minor changes, with the main change required being the
restraint mask. For example, I have used this pipeline to simulate FAB-GFP and PFOA, mutations of FAB-GFP
and PFOA: ILE 308 → ARG, SER 349 → THR, and even for Palmitic Acid (the natural ligand to FAB) and FAB-GFP.
However, this step required me to run palmitic acid through antechamber to get a forcefield for it. After
each pipeline use, I pasted the resulting data into Excel and made a pie graph. This helps me see which
residues contribute most to the ligand binding to the protein.</p>
</div>
</div>
<div id="umbrella-sampling" class="mt-4">
<h1>Umbrella Sampling</h1>
<p><strong>Created by Edward Kim</strong></p>
<p><strong>Any files used or created by OpenMM or its related tools will be in the software repository for GCM-KY. Please retrieve any input/output files you require from there.</strong></p>
<p><a href="https://gitlab.igem.org/2024/software-tools/gcm-ky"><strong>https://gitlab.igem.org/2024/software-tools/gcm-ky</strong></a></p>
<hr>
<div id="dependencies" class="mt-4">
<h2>Dependencies</h2>
<p>You need to install the Conda dependencies this script uses.</p>
<ul>
<li>Conda</li>
<li>Pip</li>
<li>OpenMM</li>
</ul>
</div>
<div id="umbrella-sampling" class="mt-4">
<h1>Umbrella Sampling</h1>
<p><strong>Created by Edward Kim</strong></p>
<p><strong>Any files used or created by OpenMM or its related tools will be in the software repository for
GCM-KY. Please retrieve any input/output files you require from there.</strong></p>
<p><a
href="https://gitlab.igem.org/2024/software-tools/gcm-ky"><strong>https://gitlab.igem.org/2024/software-tools/gcm-ky</strong></a>
</p>
<hr>
<div id="dependencies" class="mt-4">
<h2>Dependencies</h2>
<p>You need to install the Conda dependencies this script uses.</p>
<ul>
<li>Conda</li>
<li>Pip</li>
<li>OpenMM</li>
</ul>
</div>
<div id="conda-setup" class="mt-4">
<h3>Conda Setup</h3>
<p>To set up the Conda environment, type the following command. Replace <code>PATHTOPACAKGELISTTXT</code> with the path to the environment.yml file:</p>
<pre><code>conda env create -f PATHTOPACAKGELISTTXT</code></pre>
<p>To activate the environment:</p>
<pre><code>conda activate testenv</code></pre>
</div>
<div id="conda-setup" class="mt-4">
<h3>Conda Setup</h3>
<p>To set up the Conda environment, type the following command. Replace <code>PATHTOPACAKGELISTTXT</code> with
the path to the environment.yml file:</p>
<pre><code>conda env create -f PATHTOPACAKGELISTTXT</code></pre>
<p>To activate the environment:</p>
<pre><code>conda activate testenv</code></pre>
</div>
<div id="permissions-wham" class="mt-4">
<h3>Add Permissions for Wham Subprocess</h3>
<h4>MacOS</h4>
<p>To add executable permissions, run the following commands:</p>
<pre>
<div id="permissions-wham" class="mt-4">
<h3>Add Permissions for Wham Subprocess</h3>
<h4>MacOS</h4>
<p>To add executable permissions, run the following commands:</p>
<pre>
<code>cd path_to_scoresolver
cd wham
chmod +x wham
</code>
</pre>
<p>To verify:</p>
<pre><code>ls -l wham</code></pre>
<p>If you see an error:</p>
<pre><code>chmod: wham: No such file or directory</code></pre>
<p>Compile <code>wham.c</code> using:</p>
<pre><code>make</code></pre>
</div>
<p>To verify:</p>
<pre><code>ls -l wham</code></pre>
<p>If you see an error:</p>
<pre><code>chmod: wham: No such file or directory</code></pre>
<p>Compile <code>wham.c</code> using:</p>
<pre><code>make</code></pre>
</div>
<div id="program" class="mt-4">
<h2>Program Flow</h2>
<img src ="https://static.igem.wiki/teams/5114/umbrellasampling/mermaid-diagram-2024-09-28-193939.png" class="usm"></img>
</div>
<div id="program" class="mt-4">
<h2>Program Flow</h2>
<img src="https://static.igem.wiki/teams/5114/umbrellasampling/mermaid-diagram-2024-09-28-193939.png"
class="usm"></img>
</div>
<div id="troubleshooting" class="mt-4">
<h2>Troubleshooting</h2>
<p>If the histograms have poor overlap, you will need to use more windows and/or reduce the spring constant.</p>
<p>The windows do not need to be linearly spaced, and they can have different spring constants.</p>
</div>
<div id="troubleshooting" class="mt-4">
<h2>Troubleshooting</h2>
<p>If the histograms have poor overlap, you will need to use more windows and/or reduce the spring constant.
</p>
<p>The windows do not need to be linearly spaced, and they can have different spring constants.</p>
</div>
<div id="theory" class="mt-4">
<h2>Theory</h2>
<div id="definitions">
<h3>Definitions</h3>
<p>Important terms used:</p>
<img src ="https://static.igem.wiki/teams/5114/umbrellasampling/definitions.png"></img>
</div>
<div id="theory" class="mt-4">
<h2>Theory</h2>
<div id="definitions">
<h3>Definitions</h3>
<p>Important terms used:</p>
<img src="https://static.igem.wiki/teams/5114/umbrellasampling/definitions.png"></img>
</div>
<div id="equations">
<h3>Equations</h3>
<img src ="https://static.igem.wiki/teams/5114/umbrellasampling/equations1-6.png"></img>
<div id="equations">
<h3>Equations</h3>
<img src="https://static.igem.wiki/teams/5114/umbrellasampling/equations1-6.png"></img>
</div>
<div id="Adding Biasing">
<h3>Adding Biasing</h3>
<div class="LaTeX">
<img src="https://static.igem.wiki/teams/5114/umbrellasampling/equations7.png"></img>
</div>
<div id="Adding Biasing">
<h3>Adding Biasing</h3>
<div class = "LaTeX">
<img src ="https://static.igem.wiki/teams/5114/umbrellasampling/equations7.png"></img>
</div>
<p>
It acts a spring force with strength $k $ that restrains the system
simulation to state <span
class="math inline"><em>ξ</em><sub><em>i</em></sub></span>, the center
of window <span class="math inline"><em>i</em></span>. For example, if
the system at <span class="math inline"><em>ξ</em></span> is a bout to
get away from <span
class="math inline"><em>ξ</em><sub><em>i</em></sub></span>, a bias force
will force the system to get back to the window, resisting normal
eneergy landscape activity. If the strength of <span
class="math inline"><em>k</em></span> is weak, the system may be able to
explore a little more; contrastly, if <span
class="math inline"><em>k</em></span> too strong, it may not explore
enough of each window, so a balance is required. There are multiple
windows <span class="math inline"><em>i</em> = 1, 2, 3…<em>n</em></span>
that each sample sufficient amounts of the free energy landscape. This
is the main premise of umbrella sampling that separates from other MD
simulations.
<br>
<strong>NOTE: each quantity discussed previously must have biased version
indicated by an apostrophe superscript <span
class="math inline">bias</span>. After computing/simulating the system
<p>
It acts a spring force with strength $k $ that restrains the system
simulation to state <span class="math inline"><em>ξ</em><sub><em>i</em></sub></span>, the center
of window <span class="math inline"><em>i</em></span>. For example, if
the system at <span class="math inline"><em>ξ</em></span> is a bout to
get away from <span class="math inline"><em>ξ</em><sub><em>i</em></sub></span>, a bias force
will force the system to get back to the window, resisting normal
eneergy landscape activity. If the strength of <span class="math inline"><em>k</em></span> is weak, the
system may be able to
explore a little more; contrastly, if <span class="math inline"><em>k</em></span> too strong, it may not
explore
enough of each window, so a balance is required. There are multiple
windows <span class="math inline"><em>i</em> = 1, 2, 3…<em>n</em></span>
that each sample sufficient amounts of the free energy landscape. This
is the main premise of umbrella sampling that separates from other MD
simulations.
<br>
<strong>NOTE: each quantity discussed previously must have biased version
indicated by an apostrophe superscript <span class="math inline">bias</span>. After computing/simulating
the system
with biasing potentials, we subtract the biased results by the biasing
potential and retrive the true energy curve. </strong>
</p>
<img src ="https://static.igem.wiki/teams/5114/umbrellasampling/equations8-10.png"></img>
</div>
<div id="Calcualting Binding Energy">
<h3>Calculating Binding Constant of a Ligand-Receptor System from the Free Energy Curve</h3>
<img src ="https://static.igem.wiki/teams/5114/umbrellasampling/bindingcoeff.png"></img>
<img src ="https://static.igem.wiki/teams/5114/umbrellasampling/bindingcoeff1-3.png"></img>
</div>
</p>
<img src="https://static.igem.wiki/teams/5114/umbrellasampling/equations8-10.png"></img>
</div>
<div id="Calcualting Binding Energy">
<h3>Calculating Binding Constant of a Ligand-Receptor System from the Free Energy Curve</h3>
<img src="https://static.igem.wiki/teams/5114/umbrellasampling/bindingcoeff.png"></img>
<img src="https://static.igem.wiki/teams/5114/umbrellasampling/bindingcoeff1-3.png"></img>
</div>
</div>
<div id="parameters" class="mt-4">
<h2>Selecting Parameters</h2>
<img src ="https://static.igem.wiki/teams/5114/umbrellasampling/params.png"></img>
<p>However, the pivot indexes can be a little tricky to determine. But,
<div id="parameters" class="mt-4">
<h2>Selecting Parameters</h2>
<img src="https://static.igem.wiki/teams/5114/umbrellasampling/params.png"></img>
<p>However, the pivot indexes can be a little tricky to determine. But,
the best way to start off is by identifying your objective and looking
at the starting PDB to get a glipmse at what you’re working with.</p>
<p>
<p><strong>Generally Pick the strongest parts of the Complex</strong></p>
<span class="hljs-number"><strong>1.</strong></span> <span class="hljs-keyword">For</span> proteins: C-alpha atoms are picked because they<span class="hljs-comment">'re usually the backbone atoms that represent the structure very well, so stretching that wont break the system entirely (they are strong enough to stretch).</span> <br>
<span class="hljs-number"><strong>2.</strong></span> <span class="hljs-keyword">For</span> nucleic acids: Phosphate atoms <span class="hljs-keyword">or</span> specific base atoms (because again, they<span class="hljs-comment">'re the strongest backbones).</span> <br>
<span class="hljs-number"><strong>3.</strong></span> <span class="hljs-keyword">For</span> small molecules <span class="hljs-keyword">or</span> ligands: <span class="hljs-keyword">Select</span> atoms that are involved <span class="hljs-keyword">in</span> <span class="hljs-keyword">key</span> interactions <span class="hljs-keyword">or</span> are structurally significant.
If you are trying to get the binding affinity of a docked complex (which is what I am trying to do in this case,) I would select the center of mass of the ligand, and the key atom in a resiude in the binding pocket of the receptor. <br> <br>
<p>
As stored in the <pre><code>./gh_scoresolver/tests/pdb/ahl_dock_luxr_1.pdb</code></pre> PDB file, we have a ligand protein ahl docked into a receptor protein luxr.
</p>
</p>
<p>
<p><strong>Generally Pick the strongest parts of the Complex</strong></p>
<span class="hljs-number"><strong>1.</strong></span> <span class="hljs-keyword">For</span> proteins: C-alpha
atoms are picked because they<span class="hljs-comment">'re usually the backbone atoms that represent the
structure very well, so stretching that wont break the system entirely (they are strong enough to
stretch).</span> <br>
<span class="hljs-number"><strong>2.</strong></span> <span class="hljs-keyword">For</span> nucleic acids:
Phosphate atoms <span class="hljs-keyword">or</span> specific base atoms (because again, they<span
class="hljs-comment">'re the strongest backbones).</span> <br>
<span class="hljs-number"><strong>3.</strong></span> <span class="hljs-keyword">For</span> small molecules
<span class="hljs-keyword">or</span> ligands: <span class="hljs-keyword">Select</span> atoms that are involved
<span class="hljs-keyword">in</span> <span class="hljs-keyword">key</span> interactions <span
class="hljs-keyword">or</span> are structurally significant.
If you are trying to get the binding affinity of a docked complex (which is what I am trying to do in this
case,) I would select the center of mass of the ligand, and the key atom in a resiude in the binding pocket of
the receptor. <br> <br>
<p>
As stored in the
<pre><code>./gh_scoresolver/tests/pdb/ahl_dock_luxr_1.pdb</code></pre> PDB file, we have a ligand protein ahl
docked into a receptor protein luxr.
</p>
</p>
</div>
<div id="results" class="mt-4">
<h2>Results</h2>
<p>
This program was tested with the PDB that had protonated PFOA in FAB-GFP. This PDB was made by manually
adding a hydrogen atom to PFOA through ChimeraX and edited into the FAB-GFP again.
To prevent NaN coordinates, the simulation's energy was minimzied by moving the protiens and PFOA around.
The conformal differences of: <br>
<span class="hljs-number"><strong>UNL 1</strong></span> Refers to the protonated PFOA, and the
conformational changes of the protein fab-gfp in window 0 that follow from the minimized energy process (via
openMM) is in red. The added hydrogen according to ChimeraX is in solid green.<br>
<span class="hljs-number"><strong>UNL 377</strong></span> Refers to the deprotonated PFOA, and the
conformational changes of the protein fab-gfp that follow from the minimized energy process (via
antechamber) is in green with reduced opacity.
<br><br>
<img src="https://static.igem.wiki/teams/5114/umbrellasampling/t4-t0-fabgfp-test/overallcomp.png"
class="usm"></img>
<img src="https://static.igem.wiki/teams/5114/umbrellasampling/t4-t0-fabgfp-test/ligandcomp2.png"
class="usm"></img>
<br><br>
</p>
<p>
The setup of the test includes the following paraemters:
<div class="horizontal-scroll">
<table class="valuetable">
<thead>
<tr>
<th>Li</th>
<th>Lf</th>
<th>index1</th>
<th>index2</th>
<th>num_win</th>
<th>fc_pull</th>
<th>v_pulling</th>
<th>total_steps</th>
<th>increment_steps</th>
<th>wTotal</th>
<th>wDelta</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.0 nm</td>
<td>3.2 nm</td>
<td>14 (Hydrogen UNL 1)</td>
<td>5439 (Hydrogen SER 349)</td>
<td>100</td>
<td>1000.0 kj/mol/nm^2</td>
<td>0.02 nm/pc</td>
<td>30,000</td>
<td>10</td>
<td>100,000</td>
<td>10</td>
</tr>
</tbody>
</table>
</div>
<div id="results" class="mt-4">
<h2>Results</h2>
<p>
This program was tested with the PDB that had protonated PFOA in FAB-GFP. This PDB was made by manually adding a hydrogen atom to PFOA through ChimeraX and edited into the FAB-GFP again.
To prevent NaN coordinates, the simulation's energy was minimzied by moving the protiens and PFOA around. The conformal differences of: <br>
<span class="hljs-number"><strong>UNL 1</strong></span> Refers to the protonated PFOA, and the conformational changes of the protein fab-gfp in window 0 that follow from the minimized energy process (via openMM) is in red. The added hydrogen according to ChimeraX is in solid green.<br>
<span class="hljs-number"><strong>UNL 377</strong></span> Refers to the deprotonated PFOA, and the conformational changes of the protein fab-gfp that follow from the minimized energy process (via antechamber) is in green with reduced opacity.
<br><br>
<img src ="https://static.igem.wiki/teams/5114/umbrellasampling/t4-t0-fabgfp-test/overallcomp.png" class="usm"></img>
<img src ="https://static.igem.wiki/teams/5114/umbrellasampling/t4-t0-fabgfp-test/ligandcomp2.png" class="usm"></img>
<br><br>
</p>
<p>
The setup of the test includes the following paraemters:
<div class="horizontal-scroll">
<table class="valuetable">
<thead>
<tr>
<th>Li</th>
<th>Lf</th>
<th>index1</th>
<th>index2</th>
<th>num_win</th>
<th>fc_pull</th>
<th>v_pulling</th>
<th>total_steps</th>
<th>increment_steps</th>
<th>wTotal</th>
<th>wDelta</th>
</tr>
</thead>
<tbody>
<tr>
<td>3.0 nm</td>
<td>3.2 nm</td>
<td>14 (Hydrogen UNL 1)</td>
<td>5439 (Hydrogen SER 349)</td>
<td>100</td>
<td>1000.0 kj/mol/nm^2</td>
<td>0.02 nm/pc</td>
<td>30,000</td>
<td>10</td>
<td>100,000</td>
<td>10</td>
</tr>
</tbody>
</table>
</div>
<br><br>
The window 0 pdb file looks as follows with the two atoms that were pulled indicated:
<br><br>
<img src ="https://static.igem.wiki/teams/5114/umbrellasampling/t4-t0-fabgfp-test/image6.png" class="usm"></img>
<br><br>
</p>
<p>
The results of the PMF graph and histogram graph are as shown below.
<br><br>
<img src ="https://static.igem.wiki/teams/5114/umbrellasampling/t4-t0-fabgfp-test/pmf.png" class="usm"></img>
<img src ="https://static.igem.wiki/teams/5114/umbrellasampling/t4-t0-fabgfp-test/histogram.png" class="usm"></img>
<br><br>
The Kd and delta G calculated from the PMF graph is:
<div class="horizontal-scroll">
<table class="value-table">
<thead>
<tr>
<th>Dissociation Constant</th>
<th>ΔG°</th>
</tr>
</thead>
<tbody>
<tr>
<td>2.26 M</td>
<td>0.48224 kcal/mol</td>
</tr>
</tbody>
</table>
</div>
</p>
<br><br>
The window 0 pdb file looks as follows with the two atoms that were pulled indicated:
<br><br>
<img src="https://static.igem.wiki/teams/5114/umbrellasampling/t4-t0-fabgfp-test/image6.png"
class="usm"></img>
<br><br>
</p>
<p>
The results of the PMF graph and histogram graph are as shown below.
<br><br>
<img src="https://static.igem.wiki/teams/5114/umbrellasampling/t4-t0-fabgfp-test/pmf.png" class="usm"></img>
<img src="https://static.igem.wiki/teams/5114/umbrellasampling/t4-t0-fabgfp-test/histogram.png"
class="usm"></img>
<br><br>
The Kd and delta G calculated from the PMF graph is:
<div class="horizontal-scroll">
<table class="value-table">
<thead>
<tr>
<th>Dissociation Constant</th>
<th>ΔG°</th>
</tr>
</thead>
<tbody>
<tr>
<td>2.26 M</td>
<td>0.48224 kcal/mol</td>
</tr>
</tbody>
</table>
</div>
</p>
</div>
<div id="credits" class="mt-4">
<h2>Credits</h2>
<p>Sources used:</p>
<ul>
<li><a href="https://openmm.github.io/openmm-cookbook/latest/notebooks/tutorials/umbrella_sampling.html">OpenMM Cookbook</a></li>
<li><a href="https://www.sciencedirect.com/topics/biochemistry-genetics-and-molecular-biology/umba">ScienceDirect</a></li>
<li><a href="https://en.wikipedia.org/wiki/Umbrella_sampling">Wikipedia: Umbrella Sampling</a></li>
</ul>
</div>
<div id="credits" class="mt-4">
<h2>Credits</h2>
<p>Sources used:</p>
<ul>
<li><a
href="https://openmm.github.io/openmm-cookbook/latest/notebooks/tutorials/umbrella_sampling.html">OpenMM
Cookbook</a></li>
<li><a
href="https://www.sciencedirect.com/topics/biochemistry-genetics-and-molecular-biology/umba">ScienceDirect</a>
</li>
<li><a href="https://en.wikipedia.org/wiki/Umbrella_sampling">Wikipedia: Umbrella Sampling</a></li>
</ul>
</div>
</div>
</div>
......
{% extends "layout.html" %}
{% block title %}Education{% endblock %}
{% block lead %}Innovative educational tools and outreach activities have the ability to establish a two-way dialogue with new communities by discussing public values and the science behind synthetic biology.{% endblock %}
{% block page_content %}
<!--
<div class="row mt-4">
<div class="col">
<div class="bd-callout bd-callout-info">
<h4>Best Education</h4>
<p>How have you developed new opportunities to include more people in shaping synthetic biology? Innovative educational tools and outreach activities have the ability to establish a two-way dialogue with new communities by discussing public values and the science behind synthetic biology. Document your approach and what was learned by everyone involved to compete for this award.</p>
<p>To compete for the Best Education prize, select the prize on the <a href="https://competition.igem.org/deliverables/judging-form">judging form</a> and describe your work on this page.</p>
<hr>
<p>Please see the <a href="https://competition.igem.org/judging/awards">2024 Awards Page</a> for more information.</p>
</div>
</div>
</div>
<div class="row mt-4">
<div class="col">
<h2>Inspirations</h2>
<hr>
<ul>
<li><a href="https://2020.igem.org/Team:CCA_San_Diego/Education">2020 CCA San Diego</a></li>
<li><a href="https://2020.igem.org/Team:Lambert_GA/Education">2020 Lambert GA</a></li>
<li><a href="https://2020.igem.org/Team:Stanford/Education">2020 Stanford</a></li>
<li><a href="https://2020.igem.org/Team:Waseda/Education">2020 Waseda</a></li>
<li><a href="https://2020.igem.org/Team:Fudan/Education">2020 Fudan</a></li>
<li><a href="https://2020.igem.org/Team:Toulouse_INSA-UPS/Education">2020 Toulouse INSA UPS</a></li>
</ul>
</div>
</div>
-->
<head>
</head>
<body>
<div class="row mt-4">
<!-- Overview Section -->
<div class="col-lg-3 mb-4">
<div id="overview" class="sticky-top">
<h5>Overview</h5>
<ul class="nav flex-column"> <!--YOU CAN ADD MORE OVERVIEW LINKS HERE, SIMPLY DUPLICATE AN UNORDERED LIST-->
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID">EDIT OVERVIEW TEXT</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID-1">EDIT SUBHEADING 1</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#cool">EDIT SUB SUBHEADING 1</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cool2">EDIT SUB SUB HEADING 2</a>
</li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID-2">EDIT SUBHEADING 2</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="col-lg-9">
<div id="EDIT-ID" class="mt-4">
<h2>EDIT HEADER</h2>
<p>EDIT TEXT</p>
<hr>
<div id="EDIT-ID-1">
<h3>EDIT SUBHEADING</h3>
<p>EDIT TEXT</p>
</div>
<div id="cool">
<h4>EDIT SUB SUBHEADING</h4>
<p>EDIT TEXT</p>
</div>
<div id="cool2">
<h4>EDIT SUB SUBHEADING</h4>
<p>EDIT TEXT</p>
</div>
<div id="EDIT-ID-2">
<h3>EDIT SUBHEADING</h5>
<p>EDIT TEXT</p>
</div>
</div>
</div>
</div>
</body>
{% endblock %}
{% extends "layout.html" %}
{% block title %}ENGINEERING{% endblock %}
{% block lead %}OUR SUCCESS AND CHALLENGES WITH THE ENGINEERING CYCLE{% endblock %}
......@@ -17,9 +17,11 @@
</div>
</div>
-->
<head>
</head>
<body>
<div class="row mt-4">
......@@ -30,6 +32,8 @@
<ul class="nav flex-column"> <!--YOU CAN ADD MORE OVERVIEW LINKS HERE, SIMPLY DUPLICATE AN UNORDERED LIST-->
<li class="nav-item">
<a href="#Part-engineering">Part Engineering</a>
</li>
<li>
<a class="nav-link" href="#Vcell-Documentation">Vcell Engineering</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
......@@ -53,12 +57,14 @@
<a class="nav-link" href="#Cycle-3">Cycle 3</a>
</li>
</ul>
</li>
<li>
<a href="#AI">AI initiatives</a>
</li>
</ul>
<ul class="nav flex-column">
<li>
</li>
</ul>
</div>
......@@ -67,76 +73,143 @@
<div class="col-lg-9">
<div id="Part-engineering">
<h3>Design</h3>
<p><u>Goal:</u> Our project’s goal was to effectively detect PFAS (specifically, PFOA) by utilizing e. coli for detection.</p>
<p><u>Goal:</u> Our project’s goal was to effectively detect PFAS (specifically, PFOA) by utilizing e. coli for
detection.</p>
<p>With this, we design 3 main pathways:
</p>
<ol>
<li>prmA Promoter construct: We tested the pRMA last year with Rhodococcus jostii, however we weren’t able to get significant results. We retested this promoter this year with e. coli, placing it upstream of a superfolder GFP gene to see if e. coli would fluoresce when exposed to PFOA.</li>
<li>FAB-GFP Conjugate construct: Using the FAB-GFP conjugate molecule created by Dr. Bryan Berger, initially meant to react to fatty acids, we designed a system that would theoretically detect PFAS binding, initiating GFP fluorescence. We hypothesized that PFAS would bind similarly to fatty acids due to receptor similarities.
<li>prmA Promoter construct: We tested the pRMA last year with Rhodococcus jostii, however we weren’t able to
get significant results. We retested this promoter this year with e. coli, placing it upstream of a
superfolder GFP gene to see if e. coli would fluoresce when exposed to PFOA.</li>
<li>FAB-GFP Conjugate construct: Using the FAB-GFP conjugate molecule created by Dr. Bryan Berger, initially
meant to react to fatty acids, we designed a system that would theoretically detect PFAS binding, initiating
GFP fluorescence. We hypothesized that PFAS would bind similarly to fatty acids due to receptor
similarities.
</li>
<li>Synthetic Transcription Factor construct: Based on work done by Dr. Dossani in yeast, we designed a system of two plasmids: one containing a synthetic transcription factor that would respond to estradiol and another containing a hybrid promoter linked to GFP. Since there was already some research indicating that PFAS could interact with estradiol receptors, we wanted to see whether this system would function in e. coli as a method of PFAS detection.
<li>Synthetic Transcription Factor construct: Based on work done by Dr. Dossani in yeast, we designed a system
of two plasmids: one containing a synthetic transcription factor that would respond to estradiol and another
containing a hybrid promoter linked to GFP. Since there was already some research indicating that PFAS could
interact with estradiol receptors, we wanted to see whether this system would function in e. coli as a
method of PFAS detection.
</li>
</ol>
<h3>Build</h3>
<p>All part sequences are deposited into the registry and are publicly available. All genes were printed from Genscript and subcloned into pUC57-Kan or pUC57</p>
<p>All part sequences are deposited into the registry and are publicly available. All genes were printed from
Genscript and subcloned into pUC57-Kan or pUC57</p>
<ol>
<li>pRMA Promoter construct: The pRMA promoter construct was transformed into e. coli and plated on ampicillin-selective agar plates. After heat shock transformation, successful colonies were identified via colony screening, followed by plasmid extraction using a miniprep. Nanodrop analysis indicated DNA concentrations ranging from 200-300 ng/µL, confirming successful plasmid isolation for further testing in PFAS detection experiments.
<li>pRMA Promoter construct: The pRMA promoter construct was transformed into e. coli and plated on
ampicillin-selective agar plates. After heat shock transformation, successful colonies were identified via
colony screening, followed by plasmid extraction using a miniprep. Nanodrop analysis indicated DNA
concentrations ranging from 200-300 ng/µL, confirming successful plasmid isolation for further testing in
PFAS detection experiments.
</li>
<li>FAB-GFP Conjugate construct: The FAB-GFP conjugate plasmid was transformed into e. coli and plated on kanamycin-selective agar. White colonies were selected through blue-white screening, indicating successful transformation. Plasmid DNA was extracted using miniprep, with concentrations ranging from 170-350 ng/µL. A restriction digest using Eco31i enzyme confirmed the integrity of the construct, preparing it for PFAS-binding efficacy tests.
<li>FAB-GFP Conjugate construct: The FAB-GFP conjugate plasmid was transformed into e. coli and plated on
kanamycin-selective agar. White colonies were selected through blue-white screening, indicating successful
transformation. Plasmid DNA was extracted using miniprep, with concentrations ranging from 170-350 ng/µL. A
restriction digest using Eco31i enzyme confirmed the integrity of the construct, preparing it for
PFAS-binding efficacy tests.
</li>
<li>Synthetic Transcription Factor construct 1 (Kanamycin): The synthetic transcription factor (STF) construct was transformed into e. coli and screened via blue-white colony screening. White colonies resistant to both antibiotics were selected, and plasmid DNA concentrations ranged from 160-250 ng/µL after miniprep. A restriction digest confirmed the proper assembly of the STF construct, facilitating its use in estradiol receptor interaction experiments for PFAS detection.
<li>Synthetic Transcription Factor construct 1 (Kanamycin): The synthetic transcription factor (STF) construct
was transformed into e. coli and screened via blue-white colony screening. White colonies resistant to both
antibiotics were selected, and plasmid DNA concentrations ranged from 160-250 ng/µL after miniprep. A
restriction digest confirmed the proper assembly of the STF construct, facilitating its use in estradiol
receptor interaction experiments for PFAS detection.
</li>
<li>Synthetic Transcription Factor construct 2 (Ampicillin): The STF construct with ampicillin resistance was transformed into e. coli. Following colony screening, white colonies were cultured, and plasmid DNA was extracted using miniprep. Nanodrop analysis confirmed DNA concentrations, and a restriction digest verified the structural integrity of the construct, readying it for testing in PFAS detection through synthetic transcription factor mechanisms.
<li>Synthetic Transcription Factor construct 2 (Ampicillin): The STF construct with ampicillin resistance was
transformed into e. coli. Following colony screening, white colonies were cultured, and plasmid DNA was
extracted using miniprep. Nanodrop analysis confirmed DNA concentrations, and a restriction digest verified
the structural integrity of the construct, readying it for testing in PFAS detection through synthetic
transcription factor mechanisms.
</li>
</ol>
<h3>Test</h3>
<ol>
<li>pRMA Promoter construct:After successfully transforming the e. coli with the pRMA promoter construct, we tested its ability to induce GFP expression in response to PFAS exposure. A 96-well plate was prepared with E. coli cultures containing the pRMA promoter construct and exposed to varying concentrations of PFOA. Fluorescence readings were taken every 90 minutes using a plate reader over a 12-hour period.
<li>pRMA Promoter construct:After successfully transforming the e. coli with the pRMA promoter construct, we
tested its ability to induce GFP expression in response to PFAS exposure. A 96-well plate was prepared with
E. coli cultures containing the pRMA promoter construct and exposed to varying concentrations of PFOA.
Fluorescence readings were taken every 90 minutes using a plate reader over a 12-hour period.
</li>
<li>FAB-GFP Conjugate construct: To test the efficacy of the FAB-GFP construct in detecting PFAS, e. coli cultures containing the construct were exposed to increasing concentrations of PFOA in a 96-well plate format. Fluorescence was measured at 90-minute intervals for a 12-hour period.
<li>FAB-GFP Conjugate construct: To test the efficacy of the FAB-GFP construct in detecting PFAS, e. coli
cultures containing the construct were exposed to increasing concentrations of PFOA in a 96-well plate
format. Fluorescence was measured at 90-minute intervals for a 12-hour period.
</li>
<li>Synthetic Transcription Factor construct 1 (Kanamycin): The synthetic transcription factor (STF) construct with kanamycin resistance was tested for its response to estradiol receptor activation in the presence of PFAS. Cultures of e. coli containing the STF construct were grown in 96-well plates and exposed to various concentrations of PFOA (0 to 1000 ppm). Fluorescence measurements were recorded every 90 minutes using a plate reader.
<li>Synthetic Transcription Factor construct 1 (Kanamycin): The synthetic transcription factor (STF) construct
with kanamycin resistance was tested for its response to estradiol receptor activation in the presence of
PFAS. Cultures of e. coli containing the STF construct were grown in 96-well plates and exposed to various
concentrations of PFOA (0 to 1000 ppm). Fluorescence measurements were recorded every 90 minutes using a
plate reader.
</li>
<li>Synthetic Transcription Factor construct 2 (Ampicillin): The synthetic transcription factor (STF) construct with ampicillin resistance was tested for its response to estradiol receptor activation in the presence of PFAS. Cultures of e. coli containing the STF construct were grown in 96-well plates and exposed to various concentrations of PFOA (0 to 1000 ppm). Fluorescence measurements were recorded every 90 minutes using a plate reader.
<li>Synthetic Transcription Factor construct 2 (Ampicillin): The synthetic transcription factor (STF)
construct with ampicillin resistance was tested for its response to estradiol receptor activation in the
presence of PFAS. Cultures of e. coli containing the STF construct were grown in 96-well plates and exposed
to various concentrations of PFOA (0 to 1000 ppm). Fluorescence measurements were recorded every 90 minutes
using a plate reader.
</li>
</ol>
<p>After testing, there was no significant difference in fluorescence as the amount of PFOA added increased. This applies to every construct we tested (pRMA, FAB-GFP, STF 1/2). For a detailed look at results, please refer to our results page.
<p>After testing, there was no significant difference in fluorescence as the amount of PFOA added increased.
This applies to every construct we tested (pRMA, FAB-GFP, STF 1/2). For a detailed look at results, please
refer to our results page.
</p>
<h3>Learn</h3>
<p>Since there was no significant difference in fluorescence as the amount of PFOA added increased, more testing is needed. Additionally, we needed to validate that the proteins were correctly expressed.
</p>
<p>Since there was no significant difference in fluorescence as the amount of PFOA added increased, more testing
is needed. Additionally, we needed to validate that the proteins were correctly expressed.
</p>
</div>
<div id="Vcell-Documentation" class="mt-4">
<h2>VCell Engineering</h2>
<h3>Overall Purpose</h3>
<p>A Virtual Cell (VCell) is a useful tool to simulate the reactions of complex reaction pathways to compute the predicted concentrations of each species at any given point in time. It is capable of deterministically simulating reactions with differential equations and mass-action kinetics or stochastically by probabilistically simulating individual chemical reactions based on collisions. Our aim with Vcell this year was to computationally predict which gene construct would be the most effective in producing GFP in the presence of PFAS. We only simulated a single cell for time and simplicity, however, future works could expand on our work by simulating multiple cells and testing new pathways for PFAS detection.</p>
<p>A Virtual Cell (VCell) is a useful tool to simulate the reactions of complex reaction pathways to compute the
predicted concentrations of each species at any given point in time. It is capable of deterministically
simulating reactions with differential equations and mass-action kinetics or stochastically by
probabilistically simulating individual chemical reactions based on collisions. Our aim with Vcell this year
was to computationally predict which gene construct would be the most effective in producing GFP in the
presence of PFAS. We only simulated a single cell for time and simplicity, however, future works could expand
on our work by simulating multiple cells and testing new pathways for PFAS detection.</p>
<p> </p>
<hr>
<div id="Cycle-1">
<h2>Cycle 1</h2>
<p>In Cycle 1, we first had to build the structure for the future cycles. First, we had to research the constructs we had to design to find out how to start constructing them. We decided to first look at the pRMA_GFP construct and end with the pLex_GFP construct. We first started with the design of the constructs. Each construct had the same geometry.</p>
<p> </p>
<p>Geometry:</p>
<p style="text-indent: 5%;"> Cell Size: 3.5 uM^3</p>
<p style="text-indent: 5%;"> Environment: 1000 uM^3</p>
<p> Cell size was bassed on <a href="https://bionumbers.hms.harvard.edu/bionumber.aspx?s=n&v=3&id=100003 ">Harvard Bionumbers</a></p>
<p>Environment size was determined by taking the reciprocal of the approximate max density of E. coli in batch culture, about 10^9 cells per milliliter of water (Tuttle et al., 2021), which is about 1000um^3.</p>
<p>Once a construct was designed we would input rate constants, and run stochastic simulations with the construct. In the simulations, we would use varying amounts of PFAS and see how much GFP was produced.</p>
<p> </p>
<p>Simulation Parameters: </p>
<p style="text-indent: 5%;"> Time: 10,000 seconds</p>
<p style="text-indent: 5%;"> PFAS uM : 0.01, 0.1, 0, 1, 5, 10, 50</p>
<p style="text-indent: 5%;"> Solver: Gibson</p>
<p> </p>
<p>Most rate constants were estimated and few were taken from the literature review. This is a problem we would like to address in future studies, ase construct would produce more SF_GFP. There is a direct relationship between PFAS concentrations and SF_GFP production. This construct helped us prepare for future models as they followed a similar structure. However, since most of the rates were estimated, we can not say for certain how accurate this model is. In future studies, we will look for more rate constants to have a higher accuracy in the output of this model.</p>
<h2>Cycle 1</h2>
<p>In Cycle 1, we first had to build the structure for the future cycles. First, we had to research the
constructs we had to design to find out how to start constructing them. We decided to first look at the
pRMA_GFP construct and end with the pLex_GFP construct. We first started with the design of the constructs.
Each construct had the same geometry.</p>
<p> </p>
<p>Geometry:</p>
<p style="text-indent: 5%;"> Cell Size: 3.5 uM^3</p>
<p style="text-indent: 5%;"> Environment: 1000 uM^3</p>
<p> Cell size was bassed on <a
href="https://bionumbers.hms.harvard.edu/bionumber.aspx?s=n&v=3&id=100003 ">Harvard Bionumbers</a></p>
<p>Environment size was determined by taking the reciprocal of the approximate max density of E. coli in batch
culture, about 10^9 cells per milliliter of water (Tuttle et al., 2021), which is about 1000um^3.</p>
<p>Once a construct was designed we would input rate constants, and run stochastic simulations with the
construct. In the simulations, we would use varying amounts of PFAS and see how much GFP was produced.</p>
<p> </p>
<p>Simulation Parameters: </p>
<p style="text-indent: 5%;"> Time: 10,000 seconds</p>
<p style="text-indent: 5%;"> PFAS uM : 0.01, 0.1, 0, 1, 5, 10, 50</p>
<p style="text-indent: 5%;"> Solver: Gibson</p>
<p> </p>
<p>Most rate constants were estimated and few were taken from the literature review. This is a problem we
would like to address in future studies, ase construct would produce more SF_GFP. There is a direct
relationship between PFAS concentrations and SF_GFP production. This construct helped us prepare for future
models as they followed a similar structure. However, since most of the rates were estimated, we can not say
for certain how accurate this model is. In future studies, we will look for more rate constants to have a
higher accuracy in the output of this model.</p>
</div>
<div id="prma-GFP">
<h2>Construct 1: prma_GFP</h2>
<p> </p>
<h3>Design</h3>
<p>We designed the reaction network building off last year reaction network PFAS Detector V2. We changed the reaction diagram so that when the pRMA_operon and the PFAS bonded and produced the complex the complex would produce the GFP. However, the GFP we used in our reaction diagram was a variant of GFP called SF_GFP(Super-folder GFP). Some reactions were taken from literature or pulled from the PFAS DetectorV2 Biomodel but others were estimated. This construct was the first one of the 4 constructs we diagramed and simulated on Vcell and this construct came as a learning guide for the creation of the future constructs.</p>
<p>We designed the reaction network building off last year reaction network PFAS Detector V2. We changed the
reaction diagram so that when the pRMA_operon and the PFAS bonded and produced the complex the complex would
produce the GFP. However, the GFP we used in our reaction diagram was a variant of GFP called
SF_GFP(Super-folder GFP). Some reactions were taken from literature or pulled from the PFAS DetectorV2
Biomodel but others were estimated. This construct was the first one of the 4 constructs we diagramed and
simulated on Vcell and this construct came as a learning guide for the creation of the future constructs.
</p>
<p> </p>
<p>Cell volume was chosen as 3.5 uM^3 while the Environment volume was set to 1000 uM^3 and time was measured in seconds.</p>
<p>Cell volume was chosen as 3.5 uM^3 while the Environment volume was set to 1000 uM^3 and time was measured
in seconds.</p>
<p> </p>
<p>Model name: pRMA_GFP construct 1 v1.3</p>
<p>Owner: Pillow123</p>
......@@ -144,134 +217,206 @@
<p> </p>
<h3>Build</h3>
<p>pRMA_GFP Construct #1:</p>
<img src="https://static.igem.wiki/teams/5114/images-arjun/screenshot-2024-09-15-105032.png" alt="pRMA_GFP Biomodel Image">
<img src="https://static.igem.wiki/teams/5114/images-arjun/screenshot-2024-09-15-105032.png"
alt="pRMA_GFP Biomodel Image">
<p> </p>
<p> </p>
<h3>Test & Results</h3>
<p>We ran the model with a variety of different starting conditions with stochastic solvers. We were able to visualize SuperFolder GFP or SF_GFP production in response to varying levels of PFAS.</p>
<img src="https://static.igem.wiki/teams/5114/images-arjun/screenshot-2024-09-15-105104.png" alt="pRMA_GFP graph">
<p>The graph was made using the Google Sheets platform by extracting the data tables from VCell and pasting them onto sheets. We were then able to create a graph with multiple independent variables.</p>
<p>We ran the model with a variety of different starting conditions with stochastic solvers. We were able to
visualize SuperFolder GFP or SF_GFP production in response to varying levels of PFAS.</p>
<img src="https://static.igem.wiki/teams/5114/images-arjun/screenshot-2024-09-15-105104.png"
alt="pRMA_GFP graph">
<p>The graph was made using the Google Sheets platform by extracting the data tables from VCell and pasting
them onto sheets. We were then able to create a graph with multiple independent variables.</p>
<p> </p>
<h10>Conclusion and Learnings</h10>
<p> </p>
<p>We can see from the data that having more micromolars of PFAS into the system the construct would produce more SF_GFP. There is a direct relationship between PFAS concentrations and SF_GFP production. This construct helped us prepare for future models as they followed a similar structure. However, since most of the rates were estimated, we can not say for certain how accurate this model is. In future studies, we will look for more rate constants to have a higher accuracy in the output of this model.</p>
</div>
<div id="fab-GFP">
<h2>Construct 2: FAB_GFP</h2>
<p> </p>
<h3>Design</h3>
<p>We designed the reaction network building on a paper we found on this topic. The FAB_GFP gene would be constantly produced by the pConst promoter and would bind with the PFAS to produce the complex. Similar to the construct before most rate constants were estimated however the binding affinity between the PFAS and the FAB_GFP protein was calculated and other rate constants were pulled from literature studies. This was the 2nd of the 4 constructs we had and it provided a base design for future constructs that we designed.</p>
<p> </p>
<p>Cell volume was chosen as 3.5 uM^3 while the Environment volume was set to 1000 uM^3 and time was measured in seconds.</p>
<p> </p>
<p>Model name: FAB_GFP_Construct v1.1</p>
<p>Owner: Pillow123</p>
<p> </p>
<p> </p>
<h3>Build</h3>
<p>pRMA_GFP Construct #1:</p>
<img src="https://static.igem.wiki/teams/5114/images-arjun/screenshot-2024-09-15-105125.png" alt="FAB_GFP biomodel">
<p> </p>
<p> </p>
<h3>Test & Results</h3>
<p>The results for the PFAS_FAB_GFP were different than the pRMA_GFP construct but the style of the simulations was the same. All the same, constants were used (1000 seconds and the same solver). There were different rate constants overall showing differences in numbers but both of them provided convincing results.</p>
<img src="https://static.igem.wiki/teams/5114/images-arjun/screenshot-2024-09-15-105140.png" alt="FAB_GFP data graph">
<p>The graph was also made using Google Sheets. The data was imported from Vcell as an HDF5 file and then put onto Google Sheets, where the graph was made. The graph used several ranges allowing for us to have several lines. The legend on the side helps improve the comprehensiveness of the graph and readability. Additionally with variety of colors can increase the readability of the graph as lines are now distinguished from one another.</p>
<p> </p>
<p> </p>
<h3>Conclusion and Learnings</h3>
<p>We can see a direct relationship between the amount of micromolars of PFAS and the amount of PFAS_FAB_GFP being produced. The higher the micromolar count the higher count of PFAS_FAB_GFP. This is similar to the pRMA_GFP graph which shows a common relationship . This model helped become a model for future constructs and helped provide rate constants for future graphs.</p>
</div>
<div id="synt-tran">
<h2>Construct 3: Synthetic Transcription Factor</h2>
<p>We can see from the data that having more micromolars of PFAS into the system the construct would produce
more SF_GFP. There is a direct relationship between PFAS concentrations and SF_GFP production. This
construct helped us prepare for future models as they followed a similar structure. However, since most of
the rates were estimated, we can not say for certain how accurate this model is. In future studies, we will
look for more rate constants to have a higher accuracy in the output of this model.</p>
</div>
<div id="fab-GFP">
<h2>Construct 2: FAB_GFP</h2>
<p> </p>
<h3>Design</h3>
<p>We designed the reaction network building on a paper we found on this topic. The FAB_GFP gene would be
constantly produced by the pConst promoter and would bind with the PFAS to produce the complex. Similar to
the construct before most rate constants were estimated however the binding affinity between the PFAS and
the FAB_GFP protein was calculated and other rate constants were pulled from literature studies. This was
the 2nd of the 4 constructs we had and it provided a base design for future constructs that we designed.</p>
<p> </p>
<p>Cell volume was chosen as 3.5 uM^3 while the Environment volume was set to 1000 uM^3 and time was measured
in seconds.</p>
<p> </p>
<p>Model name: FAB_GFP_Construct v1.1</p>
<p>Owner: Pillow123</p>
<p> </p>
<p> </p>
<h3>Build</h3>
<p>pRMA_GFP Construct #1:</p>
<img src="https://static.igem.wiki/teams/5114/images-arjun/screenshot-2024-09-15-105125.png"
alt="FAB_GFP biomodel">
<p> </p>
<p> </p>
<h3>Test & Results</h3>
<p>The results for the PFAS_FAB_GFP were different than the pRMA_GFP construct but the style of the
simulations was the same. All the same, constants were used (1000 seconds and the same solver). There were
different rate constants overall showing differences in numbers but both of them provided convincing
results.</p>
<img src="https://static.igem.wiki/teams/5114/images-arjun/screenshot-2024-09-15-105140.png"
alt="FAB_GFP data graph">
<p>The graph was also made using Google Sheets. The data was imported from Vcell as an HDF5 file and then put
onto Google Sheets, where the graph was made. The graph used several ranges allowing for us to have several
lines. The legend on the side helps improve the comprehensiveness of the graph and readability. Additionally
with variety of colors can increase the readability of the graph as lines are now distinguished from one
another.</p>
<p> </p>
<p> </p>
<h3>Conclusion and Learnings</h3>
<p>We can see a direct relationship between the amount of micromolars of PFAS and the amount of PFAS_FAB_GFP
being produced. The higher the micromolar count the higher count of PFAS_FAB_GFP. This is similar to the
pRMA_GFP graph which shows a common relationship . This model helped become a model for future constructs
and helped provide rate constants for future graphs.</p>
</div>
<div id="synt-tran">
<h2>Construct 3: Synthetic Transcription Factor</h2>
<p> </p>
<h3>Design</h3>
<p>This construct had a similar design to the FAB_GFP construct however the main difference is that when PFAS
and the Synt Transcription Factor were binded they produced GFP. This model was where the FAB_GFP model
helped a lot. Rate constants were estimated and similar to those of the FAB_GFP model but the binding
affinity of PFAS and Synt_Tran factor was calculated. This was the 3rd of the 4 constructs with the last
being pLex_GFP</p>
<p> </p>
<p>Cell volume was chosen as 3.5 uM^3 while the Environment volume was set to 1000 uM^3 and time was measured
in seconds.</p>
<p> </p>
<p>Model name: Synthetic_Transcription_factorv1.1</p>
<p>Owner: Pillow123</p>
<p> </p>
<p> </p>
<h3>Build</h3>
<p>SyntTranscriptionFactor_GFP Construct #3:</p>
<img src="https://static.igem.wiki/teams/5114/images-arjun/screenshot-2024-09-15-105200.png"
alt="Synt_Tran biomodel">
<p> </p>
<p> </p>
<h3>Test & Results</h3>
<p>We ran stochastic simulations on the reaction diagram with varying micromolars of PFAS and ran to see its
effect on the GFP protein. Different rate constants were used which caused variance in the amount of GFP
produced between the constructs.</p>
<img src="https://static.igem.wiki/teams/5114/images-arjun/screenshot-2024-09-15-105213.png"
alt="Synt_Tran data graph">
<p>Unlike the other graphs, we can see in all the uM values of PFAS that there were near 0 for the first 100
seconds. Then they all separated around 1250 seconds.</p>
<p> </p>
<p> </p>
<h3>Conclusion and Learnings</h3>
<p>We can see like all other graphs that this one had a direct relationship. The more PFAS in the system the
more GFP was produced. There was no promoter leak so PFAS 0uM stayed at 0uM which makes logical sense. A
future study on this construct would be to see if making it a dual construct (constructs 3 & 4) would
optimize the detection of PFAS.</p>
</div>
<div id="pLex_GFP">
<h2>Construct 4: pLex_GFP</h2>
<p> </p>
<h2>Design</h2>
<p>We designed the reaction network building off of last year’s reaction network PFAS Detector V2 similar to
the pRMA_GFP construct. We simply replaced the pRMA_operon with the pLex_operon and changed the GFP variant.
In this construct, unlike the 1st construct, the GFP variant will simply be GFP, unlike the SF_GFP variant
used in the pRMA_GFP construct. Also like the pRMA_operon the pLex_operon has a leak which we estimated
using scientific studies.The pLex_operon would bind with the PFAS to create the complex which would then
produce the GFP_mRNA.</p>
<p> </p>
<p>Cell volume was chosen as 3.5 uM^3 while the Environment volume was set to 1000 uM^3 and time was measured
in seconds.</p>
<p> </p>
<p>Model name: pLex_GFP Construct</p>
<p>Owner: Pillow123</p>
<p> </p>
<p> </p>
<h3>Build</h3>
<p>pLex_GFP Construct #4:</p>
<img src="https://static.igem.wiki/teams/5114/images-arjun/screenshot-2024-09-15-105225.png"
alt="pLex_GFP biomodel">
<h3>Test & Results</h3>
<p>We ran stochastic simulations on the reaction diagram with varying micromolars of PFAS and ran to see its
effect on the GFP protein. Different rate constants were used which caused variance in the amount of GFP
produced between the constructs.</p>
<img src="https://static.igem.wiki/teams/5114/images-arjun/screenshot-2024-09-15-105241.png"
alt="pLex_GFP data graph">
<p>We can see that each PFAS uM value has a varying amount at the 2000-second mark but all start to curve from
there too. The 2000-second mark represents their “max”.</p>
<p> </p>
<p> </p>
<h3>Conclusion and Learnings</h3>
<p>With this last construct, we can analyze all the graphs and come to a conclusion on which pathway was the
most successful in detecting PFAS. However, additionally, cycles may be necessary as the rate constants were
heavily estimated and few were based on scientific research. However, looking at the graph we can see that
the 0.01uM graph produced the least while the 50 uM produced the most showing a direct relationship between
the uM of PFAS and the GFP count. Additionally, due to a promoter leak, the 0uM produced more than the 0.1uM
and 0.01uM. This was also the only graph that produced a true stochastic curve, while the others produced
exponential graphs.</p>
<div id="construct_2" class="mt-4">
<h2>VCell Modeling Cycle 2</h2>
<h2>Construct 3: SyntTranscriptionFactor_GFP</h2>
<p> </p>
<h3>Design</h3>
<p>This construct had a similar design to the FAB_GFP construct however the main difference is that when PFAS and the Synt Transcription Factor were binded they produced GFP. This model was where the FAB_GFP model helped a lot. Rate constants were estimated and similar to those of the FAB_GFP model but the binding affinity of PFAS and Synt_Tran factor was calculated. This was the 3rd of the 4 constructs with the last being pLex_GFP</p>
<p>Further research shows that a combination of constructs 3 & 4 enhances the production of GFP in the
presence of PFAS. Due to an error in the creation of constructs 3 and 4 which were supposed to work
together to produce the GFP we had to recreate construct 3 which is a combination of the 2 constructs.
When PFAS is introduced into the system and binds with the Synthetic Transcription factor it allows it to
bind to the pLex promoter which induces transcription. Using this information a new model was developed
using previous rate constants from the models and new simulations were run.
</p>
<p> </p>
<p>Cell volume was chosen as 3.5 uM^3 while the Environment volume was set to 1000 uM^3 and time was measured in seconds.</p>
<p>Cell volume was chosen as 3.5 uM^3 while the Environment volume was set to 1000 uM^3 and time was
measured in seconds.</p>
<p> </p>
<p>Model name: Synthetic_Transcription_factorv1.1</p>
<p>Owner: Pillow123</p>
<p>Model name: Construct 3_Cycle 2</p>
<p>Owner: Aryanshah16</p>
<p> </p>
<p> </p>
<h3>Build</h3>
<p>SyntTranscriptionFactor_GFP Construct #3:</p>
<img src="https://static.igem.wiki/teams/5114/images-arjun/screenshot-2024-09-15-105200.png" alt="Synt_Tran biomodel" >
<p>SyntTranscriptionFactor Construct:</p>
<img src="https://static.igem.wiki/teams/5114/aryan/kvekvk.png" alt="SyntTranscriptionFactor_GFP">
<p>The previous construct 3 and 4 were combined into one Biomodel.</p>
<p> </p>
<p> </p>
<h3>Test & Results</h3>
<p>We ran stochastic simulations on the reaction diagram with varying micromolars of PFAS and ran to see its effect on the GFP protein. Different rate constants were used which caused variance in the amount of GFP produced between the constructs.</p>
<img src="https://static.igem.wiki/teams/5114/images-arjun/screenshot-2024-09-15-105213.png" alt="Synt_Tran data graph">
<p>Unlike the other graphs, we can see in all the uM values of PFAS that there were near 0 for the first 100 seconds. Then they all separated around 1250 seconds.</p>
<p> </p>
<p>We ran stochastic simulations on the reaction diagram with varying micromolars of PFAS and ran to see its
effect on the GFP protein production. Different rate constants were used which caused variance in the
amount of GFP produced between the constructs.</p>
<img src="https://static.igem.wiki/teams/5114/aryan/vjvejievrji.png" alt="GFP_Graph">
<p>The graph was made using the Google Sheets platform by extracting the data tables from VCell and pasting
them onto sheets. We were then able to create a graph with multiple independent variables.</p>
<p> </p>
<h3>Conclusion and Learnings</h3>
<p>We can see like all other graphs that this one had a direct relationship. The more PFAS in the system the more GFP was produced. There was no promoter leak so PFAS 0uM stayed at 0uM which makes logical sense. A future study on this construct would be to see if making it a dual construct (constructs 3 & 4) would optimize the detection of PFAS.</p>
</div>
<div id="pLex_GFP">
<h2>Construct 4: pLex_GFP</h2>
<p> </p>
<h2>Design</h2>
<p>We designed the reaction network building off of last year’s reaction network PFAS Detector V2 similar to the pRMA_GFP construct. We simply replaced the pRMA_operon with the pLex_operon and changed the GFP variant. In this construct, unlike the 1st construct, the GFP variant will simply be GFP, unlike the SF_GFP variant used in the pRMA_GFP construct. Also like the pRMA_operon the pLex_operon has a leak which we estimated using scientific studies.The pLex_operon would bind with the PFAS to create the complex which would then produce the GFP_mRNA.</p>
<p> </p>
<p>Cell volume was chosen as 3.5 uM^3 while the Environment volume was set to 1000 uM^3 and time was measured in seconds.</p>
<p> </p>
<p>Model name: pLex_GFP Construct</p>
<p>Owner: Pillow123</p>
<p> </p>
<p> </p>
<h3>Build</h3>
<p>pLex_GFP Construct #4:</p>
<img src="https://static.igem.wiki/teams/5114/images-arjun/screenshot-2024-09-15-105225.png" alt="pLex_GFP biomodel">
<h3>Test & Results</h3>
<p>We ran stochastic simulations on the reaction diagram with varying micromolars of PFAS and ran to see its effect on the GFP protein. Different rate constants were used which caused variance in the amount of GFP produced between the constructs.</p>
<img src="https://static.igem.wiki/teams/5114/images-arjun/screenshot-2024-09-15-105241.png" alt="pLex_GFP data graph">
<p>We can see that each PFAS uM value has a varying amount at the 2000-second mark but all start to curve from there too. The 2000-second mark represents their “max”.</p>
<p> </p>
<p> </p>
<h3>Conclusion and Learnings</h3>
<p>With this last construct, we can analyze all the graphs and come to a conclusion on which pathway was the most successful in detecting PFAS. However, additionally, cycles may be necessary as the rate constants were heavily estimated and few were based on scientific research. However, looking at the graph we can see that the 0.01uM graph produced the least while the 50 uM produced the most showing a direct relationship between the uM of PFAS and the GFP count. Additionally, due to a promoter leak, the 0uM produced more than the 0.1uM and 0.01uM. This was also the only graph that produced a true stochastic curve, while the others produced exponential graphs.</p>
<div id="construct_2" class="mt-4">
<h2>VCell Modeling Cycle 2</h2>
<h2>Construct 3: SyntTranscriptionFactor_GFP</h2>
<p> </p>
<h3>Design</h3>
<p>Further research shows that a combination of constructs 3 & 4 enhances the production of GFP in the presence of PFAS. Due to an error in the creation of constructs 3 and 4 which were supposed to work together to produce the GFP we had to recreate construct 3 which is a combination of the 2 constructs. When PFAS is introduced into the system and binds with the Synthetic Transcription factor it allows it to bind to the pLex promoter which induces transcription. Using this information a new model was developed using previous rate constants from the models and new simulations were run.
</p>
<p> </p>
<p>Cell volume was chosen as 3.5 uM^3 while the Environment volume was set to 1000 uM^3 and time was measured in seconds.</p>
<p> </p>
<p>Model name: Construct 3_Cycle 2</p>
<p>Owner: Aryanshah16</p>
<p> </p>
<p> </p>
<h3>Build</h3>
<p>SyntTranscriptionFactor Construct:</p>
<img src="https://static.igem.wiki/teams/5114/aryan/kvekvk.png" alt="SyntTranscriptionFactor_GFP">
<p>The previous construct 3 and 4 were combined into one Biomodel.</p>
<p> </p>
<p> </p>
<h3>Test & Results</h3>
<p>We ran stochastic simulations on the reaction diagram with varying micromolars of PFAS and ran to see its effect on the GFP protein production. Different rate constants were used which caused variance in the amount of GFP produced between the constructs.</p>
<img src="https://static.igem.wiki/teams/5114/aryan/vjvejievrji.png" alt="GFP_Graph">
<p>The graph was made using the Google Sheets platform by extracting the data tables from VCell and pasting them onto sheets. We were then able to create a graph with multiple independent variables.</p>
<p> </p>
<h3>Conclusion and Learnings</h3>
<p> </p>
<p>Going through the rate constant, where PFOA binds to the synthetic transcription factor, it directly correlates with the amount of GFP produced. Multiplying the rate constant by ½ would result in a 50% decrease in GFP production, etc. GFP was produced at similar amounts based on each volume of PFAS.</p>
</div>
<p>Going through the rate constant, where PFOA binds to the synthetic transcription factor, it directly
correlates with the amount of GFP produced. Multiplying the rate constant by ½ would result in a 50%
decrease in GFP production, etc. GFP was produced at similar amounts based on each volume of PFAS.</p>
</div>
</div>
<div id="Cycle-2">
<h2>VCell Modeling Cycle 2</h2>
<h2>Construct 3: SyntTranscriptionFactor_GFP</h2>
<h2>Construct 3: SyntTranscriptionFactor_GFP</h2>
<p> </p>
<h3>Design</h3>
<p>Further research shows that a combination of constructs 3 & 4 enhances the production of GFP in the presence of PFAS. Due to an error in the creation of constructs 3 and 4 which were supposed to work together to produce the GFP we had to recreate construct 3 which is a combination of the 2 constructs. When PFAS is introduced into the system and binds with the Synthetic Transcription factor it allows it to bind to the pLex promoter which induces transcription. Using this information a new model was developed using previous rate constants from the models and new simulations were run.
<p>Further research shows that a combination of constructs 3 & 4 enhances the production of GFP in the
presence of PFAS. Due to an error in the creation of constructs 3 and 4 which were supposed to work together
to produce the GFP we had to recreate construct 3 which is a combination of the 2 constructs. When PFAS is
introduced into the system and binds with the Synthetic Transcription factor it allows it to bind to the
pLex promoter which induces transcription. Using this information a new model was developed using previous
rate constants from the models and new simulations were run.
</p>
<p> </p>
<p>Cell volume was chosen as 3.5 uM^3 while the Environment volume was set to 1000 uM^3 and time was measured in seconds.</p>
<p>Cell volume was chosen as 3.5 uM^3 while the Environment volume was set to 1000 uM^3 and time was measured
in seconds.</p>
<p> </p>
<p>Model name: Construct 3_Cycle 2</p>
<p>Owner: Aryanshah16</p>
......@@ -284,71 +429,108 @@
<p> </p>
<p> </p>
<h3>Test & Results</h3>
<p>We ran stochastic simulations on the reaction diagram with varying micromolars of PFAS and ran to see its effect on the GFP protein production. Different rate constants were used which caused variance in the amount of GFP produced between the constructs.</p>
<p>We ran stochastic simulations on the reaction diagram with varying micromolars of PFAS and ran to see its
effect on the GFP protein production. Different rate constants were used which caused variance in the amount
of GFP produced between the constructs.</p>
<img src="https://static.igem.wiki/teams/5114/aryan/vjvejievrji.png" alt="GFP_Graph">
<p>The graph was made using the Google Sheets platform by extracting the data tables from VCell and pasting them onto sheets. We were then able to create a graph with multiple independent variables.</p>
<p>The graph was made using the Google Sheets platform by extracting the data tables from VCell and pasting
them onto sheets. We were then able to create a graph with multiple independent variables.</p>
<p> </p>
<h3>Conclusion and Learnings</h3>
<h3>Conclusion and Learnings</h3>
<p> </p>
<p>Going through the rate constant, where PFOA binds to the synthetic transcription factor, it directly correlates with the amount of GFP produced. Multiplying the rate constant by ½ would result in a 50% decrease in GFP production, etc. GFP was produced at similar amounts based on each volume of PFAS.</p>
<p>Going through the rate constant, where PFOA binds to the synthetic transcription factor, it directly
correlates with the amount of GFP produced. Multiplying the rate constant by ½ would result in a 50%
decrease in GFP production, etc. GFP was produced at similar amounts based on each volume of PFAS.</p>
</div>
<div id="Cycle-3">
<h2>Cycle 3</h2>
<h3>Design</h3>
<p>In the previous iterations, there were rate constants that were fully estimated without sources. In this cycle, a new source was added to each rate constant that did not have one previously. All sources can be found within our publicly available VCell Biomodels.
PFAS testing ranges were recomputed. Regulations are on the parts per trillion (ppt) level, so we used 1 ppt as our minimum concentration. Assuming 1 ppt=1 ng/ml and the molar weight of PFOA, a common model PFAS, is 414 g/mol, that means 1ppt is approximately 2E-6 uM of PFOA.
Additionally, we realized stationary phase E. coli are smaller than 3.5 um^3 (Azam et al., 1999) and are closer to 1 um^3.
Since real life application of our biosensor would likely use cells that are already at steady state equilibrium, we ran simulations where protein and mRNA is at steady state equilibrium before PFAS is introduced. Steady state concentrations were determined using deterministic models that ran until concentrations ceased fluctuations.
For the synthetic transcription factor Biomodel, a new degradation pathway for synthetic transcription factor molecules bound to PFOA to be degraded was introduced. For the FAB-GFP model, PFAS is made to be regenerated when the PFAS.FAB-GFP protein is degraded.
<p>In the previous iterations, there were rate constants that were fully estimated without sources. In this
cycle, a new source was added to each rate constant that did not have one previously. All sources can be
found within our publicly available VCell Biomodels.
PFAS testing ranges were recomputed. Regulations are on the parts per trillion (ppt) level, so we used 1 ppt
as our minimum concentration. Assuming 1 ppt=1 ng/ml and the molar weight of PFOA, a common model PFAS, is
414 g/mol, that means 1ppt is approximately 2E-6 uM of PFOA.
Additionally, we realized stationary phase E. coli are smaller than 3.5 um^3 (Azam et al., 1999) and are
closer to 1 um^3.
Since real life application of our biosensor would likely use cells that are already at steady state
equilibrium, we ran simulations where protein and mRNA is at steady state equilibrium before PFAS is
introduced. Steady state concentrations were determined using deterministic models that ran until
concentrations ceased fluctuations.
For the synthetic transcription factor Biomodel, a new degradation pathway for synthetic transcription
factor molecules bound to PFOA to be degraded was introduced. For the FAB-GFP model, PFAS is made to be
regenerated when the PFAS.FAB-GFP protein is degraded.
</p>
<h3>Build</h3>
<p>Model name: Construct3_Cycle3_dgl
Model owner: dglVcell
</p>
<img src="https://static.igem.wiki/teams/5114/vcelleng/stf-pathway.png" alt="stf pathway" width="70%" height="70%">
<img src="https://static.igem.wiki/teams/5114/vcelleng/stf-pathway.png" alt="stf pathway" width="70%"
height="70%">
<p>Model name: FAB_GFP_Construct_v1.1_Douglas
Model owner: dglVcell
</p>
<img src="https://static.igem.wiki/teams/5114/vcelleng/fab-pathway.png" alt="fab pathway" width="70%" height="70%">
<img src="https://static.igem.wiki/teams/5114/vcelleng/fab-pathway.png" alt="fab pathway" width="70%"
height="70%">
<h3>Test</h3>
<p>Simulations were run for 100 minutes (6000 seconds). Every plot shown is stochastic using the Gibson solver.</p>
<img src="https://static.igem.wiki/teams/5114/vcelleng/vcellplots.jpg" alt="vcell plots" width="80%" height="80%">
<p>Simulations were run for 100 minutes (6000 seconds). Every plot shown is stochastic using the Gibson
solver.</p>
<img src="https://static.igem.wiki/teams/5114/vcelleng/vcellplots.jpg" alt="vcell plots" width="80%"
height="80%">
<h3>Learn</h3>
<p>The improved models showed very intriguing results.
<p>The improved models showed very intriguing results.
A PFAS-inducible transcription factor with a relatively strong binding affinity appears to produce the greatest amount of signal in response to a very small amount of PFAS. Even when there is only about a single PFAS molecule per cell (at 10^-6 uM), the synthetic transcription factor system can produce a large amount of GFP (about 5000 molecules per cell).
The FAB-GFP system appears to be limited by the amount of PFAS that can bind to the GFP. At extremely low concentrations of PFAS, like those set as the minimal safety limits, there may be only one bound FAB-GFP producing fluorescence in a cell.
For both constructs, it appears that the cell actually depletes the amount of PFAS that is available externally due to strong binding affinities. It is important to note that while the binding affinity of FAB-GFP has been experimentally characterized by the original creators, the binding affinity of the synthetic transcription factor was set to be the empirical binding affinity of human estrogen receptor alpha to PFOA, which may not accurately reflect the actual binding affinity of PFOA or other PFAS to the entire synthetic transcription factor.
</p>
A PFAS-inducible transcription factor with a relatively strong binding affinity appears to produce the
greatest amount of signal in response to a very small amount of PFAS. Even when there is only about a single
PFAS molecule per cell (at 10^-6 uM), the synthetic transcription factor system can produce a large amount
of GFP (about 5000 molecules per cell).
The FAB-GFP system appears to be limited by the amount of PFAS that can bind to the GFP. At extremely low
concentrations of PFAS, like those set as the minimal safety limits, there may be only one bound FAB-GFP
producing fluorescence in a cell.
For both constructs, it appears that the cell actually depletes the amount of PFAS that is available
externally due to strong binding affinities. It is important to note that while the binding affinity of
FAB-GFP has been experimentally characterized by the original creators, the binding affinity of the
synthetic transcription factor was set to be the empirical binding affinity of human estrogen receptor alpha
to PFOA, which may not accurately reflect the actual binding affinity of PFOA or other PFAS to the entire
synthetic transcription factor.
</p>
</div>
</div>
<div id="AI">
<h2>AI Initiatives</h2>
<p>At an earlier stage in the project, we attempted to use AI to design proteins that could be used to bind to PFAS, acting as a biosensor. While we were not able to incorporate a fully functional model into the final project, we have documented our efforts and progress so that the work could be expanded on.</p>
<object data="https://static.igem.wiki/teams/5114/vcelleng/igem-documentation-on-ai-initiatives-1.pdf" type="application/PDF" width="90%" height="600px"></object>
<p>At an earlier stage in the project, we attempted to use AI to design proteins that could be used to bind to
PFAS, acting as a biosensor. While we were not able to incorporate a fully functional model into the final
project, we have documented our efforts and progress so that the work could be expanded on.</p>
<object data="https://static.igem.wiki/teams/5114/vcelleng/igem-documentation-on-ai-initiatives-1.pdf"
type="application/PDF" width="90%" height="600px"></object>
</div>
<div id="References">
<h2>References</h2>
<ul>
<li>Blinov, M. L., J. C. Schaff, D. Vasilescu, Moraru, II, J. E. Bloom, and L. M. Loew. 2017.
Compartmental and Spatial Rule-Based Modeling with Virtual Cell. Biophysical journal
113:1365-1372. PMC5627391
</li>
<li>Cai, L., Friedman, N., & Xie, X. S. (2006). Stochastic protein expression in individual cells at the single molecule level. Nature, 440(7082), 358–362. https://doi.org/10.1038/nature04599
</li>
<li>Cowan, A. E., Moraru, II, J. C. Schaff, B. M. Slepchenko, and L. M. Loew. 2012. Spatial modeling of cell signaling networks. Methods Cell Biol 110:195-221. PMC3288182
</li>
<li>Schaff, J., C. C. Fink, B. Slepchenko, J. H. Carson, and L. M. Loew. 1997. A general computational framework for modeling cellular structure and function. Biophysical journal 73:1135-1146. PMC1181013
</li>
<li>Ali Azam T, Iwata A, Nishimura A, Ueda S, Ishihama A. Growth phase-dependent variation in protein composition of the Escherichia coli nucleoid. J Bacteriol. 1999 Oct;181(20):6361-70. doi: 10.1128/JB.181.20.6361-6370.1999. PMID: 10515926; PMCID: PMC103771.</li>
<li>Tuttle, A. R., Trahan, N. D., & Son, M. S. (2021). Growth and maintenance of escherichia coli laboratory strains. Current Protocols, 1(1). https://doi.org/10.1002/cpz1.20 </li>
</ul>
</div>
<div id="References">
<h2>References</h2>
<ul>
<li>Blinov, M. L., J. C. Schaff, D. Vasilescu, Moraru, II, J. E. Bloom, and L. M. Loew. 2017.
Compartmental and Spatial Rule-Based Modeling with Virtual Cell. Biophysical journal
113:1365-1372. PMC5627391
</li>
<li>Cai, L., Friedman, N., & Xie, X. S. (2006). Stochastic protein expression in individual cells at the
single molecule level. Nature, 440(7082), 358–362. https://doi.org/10.1038/nature04599
</li>
<li>Cowan, A. E., Moraru, II, J. C. Schaff, B. M. Slepchenko, and L. M. Loew. 2012. Spatial modeling of cell
signaling networks. Methods Cell Biol 110:195-221. PMC3288182
</li>
<li>Schaff, J., C. C. Fink, B. Slepchenko, J. H. Carson, and L. M. Loew. 1997. A general computational
framework for modeling cellular structure and function. Biophysical journal 73:1135-1146. PMC1181013
</li>
<li>Ali Azam T, Iwata A, Nishimura A, Ueda S, Ishihama A. Growth phase-dependent variation in protein
composition of the Escherichia coli nucleoid. J Bacteriol. 1999 Oct;181(20):6361-70. doi:
10.1128/JB.181.20.6361-6370.1999. PMID: 10515926; PMCID: PMC103771.</li>
<li>Tuttle, A. R., Trahan, N. D., & Son, M. S. (2021). Growth and maintenance of escherichia coli laboratory
strains. Current Protocols, 1(1). https://doi.org/10.1002/cpz1.20 </li>
</ul>
</div>
</div>
</div>
</body>
{% endblock %}
{% endblock %}
\ No newline at end of file
{% extends "layout.html" %}
{% block title %}Entrepreneurship{% endblock %}
{% block lead %}The entrepreneurship prize recognizes exceptional effort to build a business case and commercialize an iGEM project.{% endblock %}
{% block page_content %}
<!--
<div class="row mt-4">
<div class="col">
<div class="bd-callout bd-callout-info">
<h4>Best Supporting Entrepreneurship</h4>
<p>The Best Supporting Entrepreneurship award recognizes exceptional effort to build a business case and commercialize an iGEM project. This award is open to all teams to show that entrepreneurship is something all teams can aspire to do with their project. This award can go to an new project, or to a previous project that a team aimed to commercialize. Have you filed a provisional patent on your project/device/process? Have you raised money to build and ship products? Have you pitched your idea to investors and received money? As always in iGEM, the aim is to impress the judges!</p>
<p>To compete for the Best Supporting Entrepreneurship prize, select the prize on the <a href="https://competition.igem.org/deliverables/judging-form">judging form</a> and describe your work on this page.</p>
<hr>
<p>Please see the <a href="https://competition.igem.org/judging/awards">2024 Awards Page</a> for more information.</p>
</div>
</div>
</div>
<div class="row mt-4">
<div class="col-lg-8">
<h2>Patents and intellectual property</h2>
<hr>
<p>If your team is seriously considering commercializing and looking into building a company after the competition, you may want to look at how you are going to protect your work and secure investment. Investors will usually require some form of intellectual protection, so you may want to investigate how to apply for a patent or provisional patent in your country and region before disclosing your project at iGEM. Remember that you can only be evaluated in iGEM based on what you share on your wiki and at the Jamboree, so any work you don't present can't count towards your project.</p>
<p>This is an area where we are different as we care about sharing, openness and contributing to the community and investors don't always agree with these values. It is up to you and your team to decide what to do. Remember that most universities have a commercialization department and that you can talk to them before coming to a decision.</p>
</div>
<div class="col-lg-4">
<h2>Inspirations</h2>
<hr>
<ul>
<li><a href="https://2019.igem.org/Team:UCopenhagen/Entrepreneurship">2019 UCopenhagen</a></li>
<li><a href="https://2019.igem.org/Team:Thessaly/Entrepreneurship">2019 Thessaly</a></li>
<li><a href="https://2019.igem.org/Team:NCKU_Tainan/Entrepreneurship">2019 NCKU Tainan</a></li>
<li><a href="https://2020.igem.org/Team:TAS_Taipei/Entrepreneurship">2020 TAS Taipei</a></li>
<li><a href="https://2020.igem.org/Team:KCL_UK/Entrepreneurship">2020 KCL UK</a></li>
<li><a href="https://2020.igem.org/Team:Calgary/Entrepreneurship">2020 Calgary</a></li>
</ul>
</div>
</div>
-->
<head>
</head>
<body>
<div class="row mt-4">
<!-- Overview Section -->
<div class="col-lg-3 mb-4">
<div id="overview" class="sticky-top">
<h5>Overview</h5>
<ul class="nav flex-column"> <!--YOU CAN ADD MORE OVERVIEW LINKS HERE, SIMPLY DUPLICATE AN UNORDERED LIST-->
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID">EDIT OVERVIEW TEXT</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID-1">EDIT SUBHEADING 1</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#cool">EDIT SUB SUBHEADING 1</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cool2">EDIT SUB SUB HEADING 2</a>
</li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID-2">EDIT SUBHEADING 2</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="col-lg-9">
<div id="EDIT-ID" class="mt-4">
<h2>EDIT HEADER</h2>
<p>EDIT TEXT</p>
<hr>
<div id="EDIT-ID-1">
<h3>EDIT SUBHEADING</h3>
<p>EDIT TEXT</p>
</div>
<div id="cool">
<h4>EDIT SUB SUBHEADING</h4>
<p>EDIT TEXT</p>
</div>
<div id="cool2">
<h4>EDIT SUB SUBHEADING</h4>
<p>EDIT TEXT</p>
</div>
<div id="EDIT-ID-2">
<h3>EDIT SUBHEADING</h3>
<p>EDIT TEXT</p>
</div>
</div>
</div>
</div>
</body>
{% endblock %}
{% extends "layout.html" %}
{% block title %}EXPIREMENTS{% endblock %}
{% block lead %}OUR METHODOLOGY AND OTHER PROCEDURES FOLLOWED{% endblock %}
......@@ -26,9 +26,11 @@
</div>
</div>
-->
<head>
</head>
<body>
<div class="row mt-4">
......@@ -82,7 +84,7 @@
</div>
<div id="Schedule" class="mt-4">
<h2>7/9/2024 Lab Schedule By: Vishwaa Kannan</h2>
<h2>7/9/2024 Lab Schedule By: Vishwaa Kannan</h2>
<table>
<tr>
<th>Day</th>
......@@ -115,104 +117,137 @@
</table>
<hr>
</div>
<div id="Single" class="mt-4">
<h2>6-17-2024 <strong>Single Transformation</strong> by Daniel Jiang</h2>
<h2>6-17-2024 <strong>Single Transformation</strong> by Daniel Jiang</h2>
<hr>
<p><strong>Bacteria Strain:</strong> </p>
<ol>
<li><p><strong>E. Coli DH5α™ Competent Cells</strong></p></li>
<li>
<p><strong>E. Coli DH5α™ Competent Cells</strong></p>
</li>
</ol>
<p><strong>Protocol:</strong></p>
<ol>
<li><p>Thaw bacteria on ice ~ <strong>20-30 mins</strong> </p>
</li>
<li><p><strong>Gently</strong> mix cells</p>
</li>
<li><p>Aliquot <strong>50 μl</strong> of e.coli in microcentrifuge tube <strong>*** label carefully</strong></p>
</li>
<li><p>Add 1.5 μl of H20 into a different microcentrifuge tube</p>
</li>
<li><p><strong>Pipette</strong> 0.5 μl of DNA (4ng/4ul) into H2O tube dilution</p>
<p>Mix.</p>
</li>
<li><p><strong>Pipette</strong> the 2.0ul diluted DNA into the 50ul ecoli tube</p>
</li>
<li><p>Incubate the e-coli/DNA mixture on ice <strong>~20-30 mins.</strong> </p>
</li>
<li><p><strong>Heat shock</strong> each e-coli/DNA tube by placing bottom 50% - 66% of the tube in water bath <strong>30 sec @ 42°C</strong> </p>
</li>
<li><p><strong>Place</strong> e-coli/DNA tubes on ice <strong>~2 min.</strong> </p>
</li>
<li><p><strong>Add</strong> 250-1,000 μl <strong>Antibiotic-ABSENT</strong> LB or SOC media to bacteria tubes and grow in shaking incubator (<strong>document which media was used)</strong></p>
<p><strong>60 min @ 37°C 225 rpm</strong></p>
</li>
<li><p>Pipette 10 and 20 μl e-coli/DNA mixture onto a 10 cm LB <strong>selective</strong> agar plate.</p>
<p><strong>Protocol:</strong></p>
<ol>
<li><strong>**Blue White Screening + selective agar in one plate</strong></li>
</ol>
</li>
<li><p>Gently spread bacteria throughout agar plate</p>
</li>
<li><p>Incubate plates <strong>@ 37°C O/N</strong></p>
</li>
<li>
<p>Thaw bacteria on ice ~ <strong>20-30 mins</strong> </p>
</li>
<li>
<p><strong>Gently</strong> mix cells</p>
</li>
<li>
<p>Aliquot <strong>50 μl</strong> of e.coli in microcentrifuge tube <strong>*** label carefully</strong></p>
</li>
<li>
<p>Add 1.5 μl of H20 into a different microcentrifuge tube</p>
</li>
<li>
<p><strong>Pipette</strong> 0.5 μl of DNA (4ng/4ul) into H2O tube dilution</p>
<p>Mix.</p>
</li>
<li>
<p><strong>Pipette</strong> the 2.0ul diluted DNA into the 50ul ecoli tube</p>
</li>
<li>
<p>Incubate the e-coli/DNA mixture on ice <strong>~20-30 mins.</strong> </p>
</li>
<li>
<p><strong>Heat shock</strong> each e-coli/DNA tube by placing bottom 50% - 66% of the tube in water bath
<strong>30 sec @ 42°C</strong> </p>
</li>
<li>
<p><strong>Place</strong> e-coli/DNA tubes on ice <strong>~2 min.</strong> </p>
</li>
<li>
<p><strong>Add</strong> 250-1,000 μl <strong>Antibiotic-ABSENT</strong> LB or SOC media to bacteria tubes
and grow in shaking incubator (<strong>document which media was used)</strong></p>
<p><strong>60 min @ 37°C 225 rpm</strong></p>
</li>
<li>
<p>Pipette 10 and 20 μl e-coli/DNA mixture onto a 10 cm LB <strong>selective</strong> agar plate.</p>
<ol>
<li><strong>**Blue White Screening + selective agar in one plate</strong></li>
</ol>
</li>
<li>
<p>Gently spread bacteria throughout agar plate</p>
</li>
<li>
<p>Incubate plates <strong>@ 37°C O/N</strong></p>
</li>
</ol>
<p><strong>Properly dispose and clean up</strong></p>
<hr>
</div>
<div id="Double" class="mt-4">
<h2>6-17-2024 <strong>Double Transformation</strong> by Vishwaa Kannan</h2>
<h2>6-17-2024 <strong>Double Transformation</strong> by Vishwaa Kannan</h2>
<p><strong>Note</strong></p>
<ul>
<li>
<p><strong>3</strong> instances in parallel for this protocol</p>
</li>
<li>
<p>Concentration of the DNA Plasmids <strong>5 ng/ul</strong></p>
</li>
<li><p><strong>Both</strong> construct 1 and 2</li>
</ul>
<ul>
<li>
<p><strong>3</strong> instances in parallel for this protocol</p>
</li>
<li>
<p>Concentration of the DNA Plasmids <strong>5 ng/ul</strong></p>
</li>
<li>
<p><strong>Both</strong> construct 1 and 2
</li>
</ul>
<p><strong>Bacteria Strain:</strong> </p>
<ol>
<li><p><strong>E. Coli DH5α™ Competent Cells</strong></p></li>
</ol>
<ol>
<li>
<p><strong>E. Coli DH5α™ Competent Cells</strong></p>
</li>
</ol>
<p><strong>Protocol:</strong></p>
<ol>
<li><p>Thaw bacteria on ice ~ <strong>5 minutes</strong> </p>
</li>
<li><p>Aliquot 50 μl of e.coli in microcentrifuge tube <strong>*** label carefully</strong> </p>
</li>
<li><p>Add 1 μl of H20 into a different microcentrifuge tube </p>
</li>
<li><p>Pipette 0.5 μl DNA 1 (4mg/4ul) into H2O tube dilution + 0.5 ul DNA 2 (4mg/4ul) </p>
</li>
<li><p>Pipette the 2.0ul diluted DNA into the 50ul ecoli tube </p>
</li>
<li><p>Incubate the e-coli/DNA mixture on ice <strong>~20-30 mins.</strong> </p>
</li>
<li><p>Heat shock each e-coli/DNA tube by placing bottom 50% - 66% of the tube in water bath </p>
<ol>
<li>
<p>Thaw bacteria on ice ~ <strong>5 minutes</strong> </p>
</li>
<li>
<p>Aliquot 50 μl of e.coli in microcentrifuge tube <strong>*** label carefully</strong> </p>
</li>
<li>
<p>Add 1 μl of H20 into a different microcentrifuge tube </p>
</li>
<li>
<p>Pipette 0.5 μl DNA 1 (4mg/4ul) into H2O tube dilution + 0.5 ul DNA 2 (4mg/4ul) </p>
</li>
<li>
<p>Pipette the 2.0ul diluted DNA into the 50ul ecoli tube </p>
</li>
<li>
<p>Incubate the e-coli/DNA mixture on ice <strong>~20-30 mins.</strong> </p>
</li>
<li>
<p>Heat shock each e-coli/DNA tube by placing bottom 50% - 66% of the tube in water bath </p>
<p> <strong>30 sec @ 42°C</strong> </p>
</li>
<li><p>Place e-coli/DNA tubes on ice <strong>~2 min.</strong> </p>
</li>
<li><p>Add 250-1,000 μl Antibiotic-ABSENT LB or SOC media to bacteria tubes and grow in shaking incubator</p>
<p><strong>60 min @ 37°C 225 rpm*** Document what media you end up using</strong></p>
</li>
<li><p>Pipette 10 and 20 μl e-coli/DNA mixture onto a 10 cm LB SELECTIVE agar plate.</p>
</li>
<li>
<p>Place e-coli/DNA tubes on ice <strong>~2 min.</strong> </p>
</li>
<li>
<p>Add 250-1,000 μl Antibiotic-ABSENT LB or SOC media to bacteria tubes and grow in shaking incubator</p>
<p><strong>60 min @ 37°C 225 rpm*** Document what media you end up using</strong></p>
</li>
<li>
<p>Pipette 10 and 20 μl e-coli/DNA mixture onto a 10 cm LB SELECTIVE agar plate.</p>
<p><strong>****Blue White Screening + selective agar in one plate</strong></p>
</li>
<li><p>Gently spread bacteria throughout agar plate </p>
</li>
<li><p>Incubate plates @ 37°C O/N</p>
</li>
</ol>
<p><strong>Properly dispose and clean up</strong></p>
</li>
<li>
<p>Gently spread bacteria throughout agar plate </p>
</li>
<li>
<p>Incubate plates @ 37°C O/N</p>
</li>
</ol>
<p><strong>Properly dispose and clean up</strong></p>
<hr>
</div>
<div id="Blue-White" class="mt-4">
<h2>7-9-2024 <strong>Blue White Screening Protocol</strong> by Vishwaa Kannan</h2>
<h2>7-9-2024 <strong>Blue White Screening Protocol</strong> by Vishwaa Kannan</h2>
<p><strong>Bacteria Strain:</strong> </p>
<ol>
<li>
......@@ -257,7 +292,7 @@
</code></pre>
</li>
<li>
<p>Add ~6.5 µl of 20 mg/ml X-Gal solution per 1 ml of media on the surface of the selective agar plate </p>
<p>Add ~6.5 µl of 20 mg/ml X-Gal solution per 1 ml of media on the surface of the selective agar plate </p>
<ul>
<li>
<p>100 µl per plate</p>
......@@ -265,7 +300,7 @@
</ul>
</li>
<li>
<p>Add ~2.5 µl of 20 mg/ml X-Gal solution per 1 ml of media on the surface of the selective agar plate </p>
<p>Add ~2.5 µl of 20 mg/ml X-Gal solution per 1 ml of media on the surface of the selective agar plate </p>
<ul>
<li>
<p>40 µl per plate</p>
......@@ -273,7 +308,7 @@
</ul>
</li>
<li>
<p>Smear with spreader on top of the selective agar plate </p>
<p>Smear with spreader on top of the selective agar plate </p>
</li>
<li>
<p>Air dry plate in fume hood</p>
......@@ -284,14 +319,14 @@
</div>
<div id="Selection" class="mt-4">
<h2>7-9-2024 <strong>Selection protocol</strong> by Vishwaa Kannan</h2>
<h2>7-9-2024 <strong>Selection protocol</strong> by Vishwaa Kannan</h2>
<p><strong>Bacteria Strain:</strong> </p>
<ol>
<li>
<p><strong>E. Coli DH5α™ Competent Cells / DNA +</strong></p>
</li>
</ol>
<p><strong>Materials:</strong></p>
<ol>
<li>
......@@ -313,11 +348,12 @@
<li>
<p>Prepare 5 ml in each 15 ml tube</p>
<ol>
<li>
<p><strong>Make 5 tubes per transformation</strong></p>
</li>
<li>
<p><strong>Make 2 tubes per negative control</strong></p></li>
<li>
<p><strong>Make 5 tubes per transformation</strong></p>
</li>
<li>
<p><strong>Make 2 tubes per negative control</strong></p>
</li>
</ol>
</li>
<li>
......@@ -332,7 +368,7 @@
</div>
<div id="Miniprep" class="mt-4">
<h2>7-9-2024 <strong>Mini-prep Protocol</strong> by Vishwaa Kannan</h2>
<h2>7-9-2024 <strong>Mini-prep Protocol</strong> by Vishwaa Kannan</h2>
<p><strong>Bacteria Strain:</strong></p>
<ol>
<li>
......@@ -348,142 +384,158 @@
<p><strong>Protocol:</strong></p>
<ol>
<li>
<p>Add the provided RNase A solution to the Resuspension Solution and mix, can be used for 6 months when stored at 4°C </p>
</li>
<li>
<p>Add ethanol (96-100%) to the Wash Solution prior to first use, total volume of <strong>55 ml</strong> </p>
<ol>
<li>
<p>20 ml wash solution</p>
</li>
<li>
<p>35 ml Ethanol</p>
</li>
</ol>
</li>
<li>
<p>If salt precipitation occurs on Lysis Solution and the Neutralization Solution </p>
<ol>
<li>
<p>Redissolve any precipitate by warming the solution at 37°C</p>
</li>
<li>
<p>Cool to 25°C before use **<strong>Don’t shake too vigorously</strong></p>
</li>
</ol>
</li>
<li>
<p>Centrifuge selected colony (which was in media overnight) at <strong>8000 rpm</strong> (6800 × g) in a microcentrifuge for 2 min at room temperature</p>
<ol>
<li>
<p>Decant the supernatant and remove all remaining medium</p>
</li>
</ol>
</li>
<li>
<p>Resuspend the pelleted cells in 250 µL of the Resuspension Solution</p>
<ol>
<li>
<p>Transfer the cell suspension to a microcentrifuge tube</p>
</li>
<li>
<p>Bacteria should be resuspended completely by vortexing or pipetting up and down until no cell clumps remain</p>
</li>
</ol>
</li>
<li>
<p>Add 250 µL of the Lysis Solution</p>
<ol>
<li>
<p>Mix thoroughly by inverting the tube 4-6 times until the solution becomes viscous and slightly clear</p>
</li>
</ol>
</li>
<li>
<p>Add 350 µL of the Neutralization Solution</p>
<ol>
<li>
<p>Mix immediately and thoroughly by inverting the tube 4-6 times</p>
</li>
<li>
<p>Note: It is important to mix thoroughly and gently after the addition of the Neutralization Solution to avoid localized precipitation of bacterial cell debris. The neutralized bacterial lysate should become cloudy.</p>
</li>
</ol>
</li>
<li>
<p>Centrifuge for 5 min <strong>@&gt;12000 × g, 10 000-14 000 rpm (table-top centrifuge should suffice)</strong> to pellet cell debris and chromosomal DNA</p>
</li>
<li>
<p>Transfer the supernatant to the supplied GeneJET spin column by decanting or pipetting <strong>Avoid disturbing or transferring the white precipitate</strong></p>
</li>
<li>
<p>Centrifuge for 1 min <strong>@&gt;12000 × g, 10 000-14 000 rpm (table-top centrifuge should suffice)</strong></p>
<ol>
<li>
<p>discard the flow-through</p>
</li>
<li>
<p>place the column back into the same collection tube</p>
</li>
</ol>
</li>
<li>
<p>Add 500 µL of the Wash Solution to the GeneJET spin column</p>
<ol>
<li>
<p>Centrifuge for 30-60 seconds <strong>@&gt;12000 × g, 10 000-14 000 rpm (table-top centrifuge should suffice)</strong></p>
</li>
<li>
<p>discard the flow-through</p>
</li>
<li>
<p>Place the column back into the same collection tube</p>
</li>
<li>
<p><strong>**REPEAT (STEP 11)</strong></p>
</li>
</ol>
</li>
<li>
<p>Discard the flow-through</p>
<ol>
<li>
<p>centrifuge for an additional 1 min <strong>@&gt;12000 × g, 10 000-14 000 rpm (table-top centrifuge should suffice)</strong> to remove residual Wash Solution</p>
</li>
<li>
<p>**<strong>ESSENTIAL to remove ethanol</strong></p>
</li>
</ol>
</li>
<li>
<p>Transfer the GeneJET spin column into a fresh 1.5 mL microcentrifuge tube</p>
<ol>
<li>
<p>Add 50 µL of the Elution Buffer to the center of GeneJET spin column membrane to elute the plasmid DNA</p>
<ol>
<li>
<p>**<strong>Take care not to contact the membrane with the pipette tip</strong></p>
</li>
</ol>
</li>
<li>
<p>Incubate for 2 min at room temperature and centrifuge for 2 min <strong>@&gt;12000 × g, 10 000-14 000 rpm</strong></p>
</li>
<li>
<p>Note. An additional elution step (optional) with Elution Buffer or water will recover residual DNA from the membrane and increase the overall yield by 10-20%. For elution of plasmids or cosmids &gt;20 kb, prewarm Elution Buffer to 70°C before applying to silica membrane.</p>
</li>
<p>Add the provided RNase A solution to the Resuspension Solution and mix, can be used for 6 months when
stored at 4°C </p>
</li>
<li>
<p>Add ethanol (96-100%) to the Wash Solution prior to first use, total volume of <strong>55 ml</strong>
</p>
<ol>
<li>
<p>20 ml wash solution</p>
</li>
<li>
<p>35 ml Ethanol</p>
</li>
</ol>
</li>
<li>
<p>Discard the column and store the purified plasmid DNA at <strong>-20°C</strong></p>
</li>
</li>
<li>
<p>If salt precipitation occurs on Lysis Solution and the Neutralization Solution </p>
<ol>
<li>
<p>Redissolve any precipitate by warming the solution at 37°C</p>
</li>
<li>
<p>Cool to 25°C before use **<strong>Don’t shake too vigorously</strong></p>
</li>
</ol>
</li>
<li>
<p>Centrifuge selected colony (which was in media overnight) at <strong>8000 rpm</strong> (6800 × g) in a
microcentrifuge for 2 min at room temperature</p>
<ol>
<li>
<p>Decant the supernatant and remove all remaining medium</p>
</li>
</ol>
</li>
<li>
<p>Resuspend the pelleted cells in 250 µL of the Resuspension Solution</p>
<ol>
<li>
<p>Transfer the cell suspension to a microcentrifuge tube</p>
</li>
<li>
<p>Bacteria should be resuspended completely by vortexing or pipetting up and down until no cell clumps
remain</p>
</li>
</ol>
</li>
<li>
<p>Add 250 µL of the Lysis Solution</p>
<ol>
<li>
<p>Mix thoroughly by inverting the tube 4-6 times until the solution becomes viscous and slightly clear
</p>
</li>
</ol>
</li>
<li>
<p>Add 350 µL of the Neutralization Solution</p>
<ol>
<li>
<p>Mix immediately and thoroughly by inverting the tube 4-6 times</p>
</li>
<li>
<p>Note: It is important to mix thoroughly and gently after the addition of the Neutralization Solution
to avoid localized precipitation of bacterial cell debris. The neutralized bacterial lysate should
become cloudy.</p>
</li>
</ol>
</li>
<li>
<p>Centrifuge for 5 min <strong>@&gt;12000 × g, 10 000-14 000 rpm (table-top centrifuge should
suffice)</strong> to pellet cell debris and chromosomal DNA</p>
</li>
<li>
<p>Transfer the supernatant to the supplied GeneJET spin column by decanting or pipetting <strong>Avoid
disturbing or transferring the white precipitate</strong></p>
</li>
<li>
<p>Centrifuge for 1 min <strong>@&gt;12000 × g, 10 000-14 000 rpm (table-top centrifuge should
suffice)</strong></p>
<ol>
<li>
<p>discard the flow-through</p>
</li>
<li>
<p>place the column back into the same collection tube</p>
</li>
</ol>
</li>
<li>
<p>Add 500 µL of the Wash Solution to the GeneJET spin column</p>
<ol>
<li>
<p>Centrifuge for 30-60 seconds <strong>@&gt;12000 × g, 10 000-14 000 rpm (table-top centrifuge should
suffice)</strong></p>
</li>
<li>
<p>discard the flow-through</p>
</li>
<li>
<p>Place the column back into the same collection tube</p>
</li>
<li>
<p><strong>**REPEAT (STEP 11)</strong></p>
</li>
</ol>
</li>
<li>
<p>Discard the flow-through</p>
<ol>
<li>
<p>centrifuge for an additional 1 min <strong>@&gt;12000 × g, 10 000-14 000 rpm (table-top centrifuge
should suffice)</strong> to remove residual Wash Solution</p>
</li>
<li>
<p>**<strong>ESSENTIAL to remove ethanol</strong></p>
</li>
</ol>
</li>
<li>
<p>Transfer the GeneJET spin column into a fresh 1.5 mL microcentrifuge tube</p>
<ol>
<li>
<p>Add 50 µL of the Elution Buffer to the center of GeneJET spin column membrane to elute the plasmid
DNA</p>
<ol>
<li>
<p>**<strong>Take care not to contact the membrane with the pipette tip</strong></p>
</li>
</ol>
</li>
<li>
<p>Incubate for 2 min at room temperature and centrifuge for 2 min <strong>@&gt;12000 × g, 10 000-14 000
rpm</strong></p>
</li>
<li>
<p>Note. An additional elution step (optional) with Elution Buffer or water will recover residual DNA
from the membrane and increase the overall yield by 10-20%. For elution of plasmids or cosmids &gt;20
kb, prewarm Elution Buffer to 70°C before applying to silica membrane.</p>
</li>
</ol>
</li>
<li>
<p>Discard the column and store the purified plasmid DNA at <strong>-20°C</strong></p>
</li>
</ol>
<p><strong>Properly dispose and clean up</strong></p>
<hr>
</div>
<div id="Storage" class="mt-4">
<h2>7-9-2024 <strong>Storage Protocol</strong> by Vishwaa Kannan</h2>
<h2>7-9-2024 <strong>Storage Protocol</strong> by Vishwaa Kannan</h2>
<p><strong>Bacteria Strain:</strong> </p>
<ol>
<li>
......@@ -493,18 +545,19 @@
<p><strong>Protocol:</strong></p>
<ol>
<li>
<p>Add 400 μL of the overnight culture to 400 μL of 50% glycerol in a 1 mL screw-top tube/cryovial and gently mix</p>
<ol>
<li>
<p>Make the 50% glycerol solution by diluting 100% glycerol in dH20</p>
</li>
<li>
<p><em>Snap top tubes are not recommended as they can open unexpectedly at -80°C</em></p>
</li>
</ol>
<p>Add 400 μL of the overnight culture to 400 μL of 50% glycerol in a 1 mL screw-top tube/cryovial and
gently mix</p>
<ol>
<li>
<p>Make the 50% glycerol solution by diluting 100% glycerol in dH20</p>
</li>
<li>
<p><em>Snap top tubes are not recommended as they can open unexpectedly at -80°C</em></p>
</li>
</ol>
</li>
<li>
<p>Freeze the glycerol stock tube at -80°C</p>
<p>Freeze the glycerol stock tube at -80°C</p>
<ol>
<li>
<p>Subsequent freeze and thaw cycles reduce shelf life</p>
......@@ -516,9 +569,11 @@
</div>
<div id="Exposure" class="mt-4">
<h2>6-17-2024 <strong>PFAS Exposure</strong> by Daniel Jiang</h2>
<p><strong>IMPORTANT: Visit this google sheet for complete exposure protocol and PFAS plate set up: </strong></p>
<a href="https://docs.google.com/spreadsheets/d/1B4hUZd8jT0iZLK4qdNwc6RJfuZfvXbdZWtUS1HCPTlw/edit?usp=sharing" target="_blank">Google Sheets</a>
<h2>6-17-2024 <strong>PFAS Exposure</strong> by Daniel Jiang</h2>
<p><strong>IMPORTANT: Visit this google sheet for complete exposure protocol and PFAS plate set up: </strong>
</p>
<a href="https://docs.google.com/spreadsheets/d/1B4hUZd8jT0iZLK4qdNwc6RJfuZfvXbdZWtUS1HCPTlw/edit?usp=sharing"
target="_blank">Google Sheets</a>
<p><strong>Bacteria Strain:</strong> </p>
<ol>
<li>
......@@ -558,10 +613,10 @@
</table>
</li>
<li>
<p>Collect all E.Coli/DNA+ cells in liquid broth 5ml</p>
<p>Collect all E.Coli/DNA+ cells in liquid broth 5ml</p>
</li>
<li>
<p>Centrifuge e.coli/DNA+ vials 5 min @ 1000rpm</p>
<p>Centrifuge e.coli/DNA+ vials 5 min @ 1000rpm</p>
</li>
<li>
<p>Suction out all liquid broth</p>
......@@ -575,7 +630,7 @@
<p><strong>***</strong> Try not to spill</p>
</li>
<li>
<p>Incubate vial 30min @ 37°C</p>
<p>Incubate vial 30min @ 37°C</p>
</li>
</ol>
<p><strong>Properly dispose and clean up</strong></p>
......@@ -585,4 +640,4 @@
</div>
</body>
{% endblock %}
{% endblock %}
\ No newline at end of file
{% extends "layout.html" %}
{% block title %}Hardware{% endblock %}
{% block lead %}Hardware in iGEM should make synthetic biology based on standard parts easier, faster, better, or more accessible to our community.{% endblock %}
{% block page_content %}
<!--
<div class="row mt-4">
<div class="col">
<div class="bd-callout bd-callout-info">
<h4>Best Hardware</h4>
<p>This is a prize for the team that has developed a piece of hardware for synthetic biology. Hardware in iGEM should make synthetic biology based on standard parts easier, faster, better or more accessible to our community. Did your team make a sensor to help teams characterize parts? Did you make a robot that can help teams perform experiments or do cloning more easily? Tell us what your team did for this award!</p>
<p>To compete for the Best Hardware prize, select the prize on the <a href="https://competition.igem.org/deliverables/judging-form">judging form</a> and describe your work on this page.</p>
<hr>
<p>Please see the <a href="https://competition.igem.org/judging/awards">2024 Awards Page</a> for more information.</p>
</div>
</div>
</div>
<div class="row mt-4">
<div class="col-lg-8">
<h2>Overview</h2>
<hr>
<p>In addition to encouraging teams to work with DNA parts and build biological devices in the lab, iGEM also encourages other types of technical solutions for synthetic biology. This can include physical devices (hardware) related to robotic assembly, microfluidics, low-cost measurement devices, to name a few examples. There are many exciting opportunities for hardware innovation in synthetic biology.</p>
</div>
<div class="col-lg-4">
<h2>Inspirations</h2>
<hr>
<ul>
<li><a href="http://2018.igem.org/Team:Valencia_UPV/Hardware">2018 Valencia UPV</a></li>
<li><a href="http://2018.igem.org/Team:Unesp_Brazil/Hardware">2018 Unesp Brazil</a></li>
<li><a href="https://2019.igem.org/Team:BIT/Hardware">2019 BIT</a></li>
<li><a href="https://2019.igem.org/Team:Bielefeld-CeBiTec/Hardware">2019 Bielefeld CeBiTec</a></li>
<li><a href="https://2019.igem.org/Team:Nanjing-China/Hardware">2019 Nanjing China</a></li>
<li><a href="https://2020.igem.org/Team:Vilnius-Lithuania/Hardware">2020 Vilnius Lithuania</a></li>
<li><a href="https://2020.igem.org/Team:Aachen/Hardware">2020 Aachen</a></li>
<li><a href="https://2020.igem.org/Team:ZJUT_China_B/Hardware">2020 ZJUT China B</a></li>
</ul>
</div>
</div>
-->
<head>
</head>
<body>
<div class="row mt-4">
<!-- Overview Section -->
<div class="col-lg-3 mb-4">
<div id="overview" class="sticky-top">
<h5>Overview</h5>
<ul class="nav flex-column"> <!--YOU CAN ADD MORE OVERVIEW LINKS HERE, SIMPLY DUPLICATE AN UNORDERED LIST-->
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID">EDIT OVERVIEW TEXT</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID-1">EDIT SUBHEADING 1</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#cool">EDIT SUB SUBHEADING 1</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cool2">EDIT SUB SUB HEADING 2</a>
</li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID-2">EDIT SUBHEADING 2</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="col-lg-9">
<div id="EDIT-ID" class="mt-4">
<h2>EDIT HEADER</h2>
<p>EDIT TEXT</p>
<hr>
<div id="EDIT-ID-1">
<h3>EDIT SUBHEADING</h3>
<p>EDIT TEXT</p>
</div>
<div id="cool">
<h4>EDIT SUB SUBHEADING</h4>
<p>EDIT TEXT</p>
</div>
<div id="cool2">
<h4>EDIT SUB SUBHEADING</h4>
<p>EDIT TEXT</p>
</div>
<div id="EDIT-ID-2">
<h3>EDIT SUBHEADING</h3>
<p>EDIT TEXT</p>
</div>
</div>
</div>
</div>
</body>
{% endblock %}
......@@ -57,102 +57,124 @@
</div>
</div>
-->
<head>
</head>
<body style="color:whitesmoke;">
<section id="about-pfas" class="content-section">
<section id="about-pfas" class="content-section">
<div>
<h2 style="margin-top: 0% !important;">PFAS, a brief description</h2>
<p style="text-indent: 5%;">PFAS are a large and diverse family of synthetic chemicals manufactured for industrial and consumer products beginning in the 1950s. These chemicals all have at least one fully fluorinated carbon bond that gives them a great resistance to breakdown in the environment. Originally developed for their water- and grease-resistant properties, PFAS are found in products that range from nonstick cookware to food wrappings, water-repellent facribs, and firefighting foams. As they are found in these products, they are serious health and environmental concerns since they might be toxic and persist in the environment. They also tend to bioaccumulate over time without degradation. Of the many PFAS compounds, some like PFOA (Perfluorooctanoic Acid) and PFOS (Perfluorooctane Sulfonate) have been linked to serious health problems such as cancer, liver damage, and developmental problems for children.</p>
<p style="text-indent: 5%;">While both PFOA and PFOS have been largely phased out of commercial use in the United States, they continue to persist in the environment. Newer alternatives, such as GenX, have been developed but also carry risks; studies have linked them to liver and kidney damage. Other PFAS chemicals include the use of PFBS and PFHxS, though most of those remain under scrutiny over health effects. The problem is that its overwhelming application in industries contaminated drinking water, soil, and even the atmosphere. This calls for regulatory authorities like the EPA to set a regulation aimed at reducing the environmental and health risks caused by these chemicals. </p>
<p style="text-indent: 5%;">PFAS are a large and diverse family of synthetic chemicals manufactured for industrial
and consumer products beginning in the 1950s. These chemicals all have at least one fully fluorinated carbon
bond that gives them a great resistance to breakdown in the environment. Originally developed for their water-
and grease-resistant properties, PFAS are found in products that range from nonstick cookware to food wrappings,
water-repellent facribs, and firefighting foams. As they are found in these products, they are serious health
and environmental concerns since they might be toxic and persist in the environment. They also tend to
bioaccumulate over time without degradation. Of the many PFAS compounds, some like PFOA (Perfluorooctanoic Acid)
and PFOS (Perfluorooctane Sulfonate) have been linked to serious health problems such as cancer, liver damage,
and developmental problems for children.</p>
<p style="text-indent: 5%;">While both PFOA and PFOS have been largely phased out of commercial use in the United
States, they continue to persist in the environment. Newer alternatives, such as GenX, have been developed but
also carry risks; studies have linked them to liver and kidney damage. Other PFAS chemicals include the use of
PFBS and PFHxS, though most of those remain under scrutiny over health effects. The problem is that its
overwhelming application in industries contaminated drinking water, soil, and even the atmosphere. This calls
for regulatory authorities like the EPA to set a regulation aimed at reducing the environmental and health risks
caused by these chemicals. </p>
</div>
</section>
<!-- About PFAS Section -->
<section id="about-pfas" class="content-section" style="color:black;">
<div class="grid-container">
<div class="grid-item">
<h2>Our team</h2>
<p>We are currently a second-year team, last year we won silver!</p>
</div>
<div class="grid-item">
<h2>The Problem with PFAS</h2>
<p>PFAS contamination has become a serious issue, leading to various health concerns such as liver disease, cancer, and more. These substances are extremely difficult to break down and are found in the blood of 97% of Americans.</p>
</div>
</div>
</section>
<!-- Team Description Section -->
<section id="team-description" class="content-section" style="color:black;">
<div class="grid-container">
<a class="grid-item" href="/gcm-ky/team">
<h2 class="no-u">Meet the Team</h2>
<p class="no-u">Our team is composed of passionate highschoolers who are willing to work hard to help the environment.</p>
</a>
<div class="grid-item">
<h2>Our Mission</h2>
<p>We aim to develop a reliable and efficient system for detecting PFAS, making testing more accessible to the public and helping combat the spread of these dangerous chemicals.</p>
</div>
</section>
<!-- About PFAS Section -->
<section id="about-pfas" class="content-section" style="color:black;">
<div class="grid-container">
<div class="grid-item">
<h2>Our team</h2>
<p>We are currently a second-year team, last year we won silver!</p>
</div>
</section>
<!-- Full-screen GIF Section -->
<section class="content-section">
<h2 style="margin-top: 0% !important;">Some of our key moments!</h2>
<hr style="background-color: white !important;">
<div class="carousel-container">
<div class="carousel">
<div class="carousel-slide">
<img src="https://static.igem.wiki/teams/5114/home-page/image-caroussel/img-0190.jpg" alt="Image 1">
</div>
<div class="carousel-slide">
<img src="https://static.igem.wiki/teams/5114/home-page/image-caroussel/img-0187.jpg" alt="Image 2">
</div>
<div class="carousel-slide">
<img src="https://static.igem.wiki/teams/5114/home-page/img-2974.png" alt="Image 3">
</div>
<div class="carousel-slide">
<img src="https://static.igem.wiki/teams/5114/home-page/20240229-210156.png" alt="Image 3">
</div>
<!-- Add more slides as needed -->
</div>
<button class="carousel-button left-button" onclick="moveCarousel(-1)">&#10094;</button>
<button class="carousel-button right-button" onclick="moveCarousel(1)">&#10095;</button>
<div class="grid-item">
<h2>The Problem with PFAS</h2>
<p>PFAS contamination has become a serious issue, leading to various health concerns such as liver disease,
cancer, and more. These substances are extremely difficult to break down and are found in the blood of 97% of
Americans.</p>
</div>
</div>
</section>
<!-- Team Description Section -->
<section id="team-description" class="content-section" style="color:black;">
<div class="grid-container">
<a class="grid-item" href="/gcm-ky/team">
<h2 class="no-u">Meet the Team</h2>
<p class="no-u">Our team is composed of passionate highschoolers who are willing to work hard to help the
environment.</p>
</a>
<div class="grid-item">
<h2>Our Mission</h2>
<p>We aim to develop a reliable and efficient system for detecting PFAS, making testing more accessible to the
public and helping combat the spread of these dangerous chemicals.</p>
</div>
</section>
<section class="content-section">
<div class="scroll-animation-section">
<div class="image-container">
<div class="image-box" id="image1">
<img src="https://static.igem.wiki/teams/5114/home-page/gatton.jpeg" alt="Image 1">
<p>Gatton</p>
</div>
<div class="image-box" id="image2">
<img src="https://static.igem.wiki/teams/5114/home-page/c-logo.webp" alt="Image 2">
<p>Collegiate</p>
</div>
<div class="image-box" id="image3">
<img src="https://static.igem.wiki/teams/5114/home-page/dmhs-copy-2-orig.jpg" alt="Image 3">
<p>Manual</p>
</div>
</div>
</section>
<!-- Full-screen GIF Section -->
<section class="content-section">
<h2 style="margin-top: 0% !important;">Some of our key moments!</h2>
<hr style="background-color: white !important;">
<div class="carousel-container">
<div class="carousel">
<div class="carousel-slide">
<img src="https://static.igem.wiki/teams/5114/home-page/image-caroussel/img-0190.jpg" alt="Image 1">
</div>
<div class="carousel-slide">
<img src="https://static.igem.wiki/teams/5114/home-page/image-caroussel/img-0187.jpg" alt="Image 2">
</div>
<div class="carousel-slide">
<img src="https://static.igem.wiki/teams/5114/home-page/img-2974.png" alt="Image 3">
</div>
<div class="carousel-slide">
<img src="https://static.igem.wiki/teams/5114/home-page/20240229-210156.png" alt="Image 3">
</div>
<!-- Add more slides as needed -->
</div>
</section>
<button class="carousel-button left-button" onclick="moveCarousel(-1)">&#10094;</button>
<button class="carousel-button right-button" onclick="moveCarousel(1)">&#10095;</button>
</div>
</section>
<section class="content-section">
<h2 style="margin-top: 1% !important;">Interactive Protein Structure of prmA</h2>
<hr style="background-color: white !important;">
<div class="model-container">
<model-viewer src="{{ url_for('static', filename = 'Final.glb') }}" alt="Protein Structure" camera-controls auto-rotate style="width: 80%; height: 600px; margin:auto;"></model-viewer>
<section class="content-section">
<div class="scroll-animation-section">
<div class="image-container">
<div class="image-box" id="image1">
<img src="https://static.igem.wiki/teams/5114/home-page/gatton.jpeg" alt="Image 1">
<p>Gatton</p>
</div>
<div class="image-box" id="image2">
<img src="https://static.igem.wiki/teams/5114/home-page/c-logo.webp" alt="Image 2">
<p>Collegiate</p>
</div>
<div class="image-box" id="image3">
<img src="https://static.igem.wiki/teams/5114/home-page/dmhs-copy-2-orig.jpg" alt="Image 3">
<p>Manual</p>
</div>
</div>
</section>
</div>
</section>
<section class="content-section">
<h2 style="margin-top: 1% !important;">Interactive Protein Structure of prmA</h2>
<hr style="background-color: white !important;">
<div class="model-container">
<model-viewer src="{{ url_for('static', filename = 'Final.glb') }}" alt="Protein Structure" camera-controls
auto-rotate style="width: 80%; height: 600px; margin:auto;"></model-viewer>
</div>
</section>
</body>
</html>
{% endblock %}
{% endblock %}
\ No newline at end of file
{% extends "layout.html" %}
{% block title %}HUMAN PRACTICES{% endblock %}
{% block lead %}OUR INTERACTIONS WITH THE COMMUNITY!{% endblock %}
......@@ -48,9 +48,11 @@
</div>
</div>
-->
<head>
</head>
<body>
<div class="row mt-4">
......@@ -62,6 +64,55 @@
<li class="nav-item">
<a class="nav-link" href="#hp">Overview</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#ihp">Integrated Human Practices</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#ban">Interview with Banrida Wahlang</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#bany">Why We Interviewed Banrida Wahlang</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#bana">About Banrida Wahlang</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#bani">How Banrida Wahlang Improved Our Project</a>
</li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="#rob">Interview with Robert Bates</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#roby">Why We Interviewed Robert Bates</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#roba">About Robert Bates</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#robi">How Robert Bates Improved Our Project</a>
</li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="#tour">Tour of The Louisville Water Company</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#toury">Why We Toured The Louisville Water Company</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#toura">About The Louisville Water Company</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#touri">How The Louisville Water Company Tour Improved Our Project</a>
</li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="#henderson">Interview with Henderson</a>
<ul class="nav flex-column ml-3">
......@@ -96,7 +147,7 @@
</li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="#berger">Interview with Dr. Bryan Berger and Madison Mann</a>
<ul class="nav flex-column ml-3">
......@@ -133,7 +184,7 @@
</ul>
</li>
<li class="nav-item"></li>
<li class="nav-item">
<a class="nav-link" href="#z">Interview with Eric Zhu</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
......@@ -157,6 +208,46 @@
</div>
<div class="col-lg-9">
<div id="ihp" class="mt-4">
<h2>Integrated Human practices</h2>
<hr>
<p style="text-indent: 5%;">Our work on Human Practices shows a strong dedication to addressing the practical
issues related to PFAS contamination and integrating different points of view. We successfully collaborated
with a wide range of stakeholders during the project, including lawmakers, scientists, and local residents.
These discussions had a direct impact on our project objectives and methods, demonstrating how their
perspectives influenced our strategy for PFAS detection and assisted us in improving our technology to better
serve the needs of those impacted by contamination.</p>
<p style="text-indent: 5%;">A positive example for others is provided by the participation of multiple
stakeholders, including Nima Kulkarni and the Henderson County Student-Led PFAS Research Team. Their proactive
involvement in environmental issues serves as a reminder of the value of community activism and involvement,
inspiring us and maybe others to take on comparable issues in our own communities. We were able to observe the
influence that grassroots initiatives can have on more extensive policy discussions by taking note of their
experiences. </p>
<p style="text-indent: 5%;">We have worked hard to record our work using video recordings and transcripts of our
interviews, which is essential for other teams to use in the future. Through this transparency, the field of
environmental health can benefit from additional research and innovation as others are able to benefit from
our methods, insights, and lessons learned. By using our documentation as a guide, others attempting to solve
related problems should be able to expand on our discoveries. </p>
<p style="text-indent: 5%;">We have carefully considered context and reasoning in our Human Practices work. We
gave a clear background for our project and underlined the significance of coordinating our technology with
current policies and community needs by talking about the legislative obstacles faced by advocates and the
worries of nearby communities. In addition to providing context for our work, this background made it clear
how urgent it is to meaningfully address PFAS contamination. </p>
<p style="text-indent: 5%;">We made sure that our grasp of the problem was comprehensive by combining the
opinions of many stakeholders. Having discussions with lawmakers, scientists, and neighborhood activists
enhanced our project and inspired us to consider novel approaches to the adoption and use of our detection
technology. Our development process was guided by the insightful contributions from all stakeholders,
resulting in a product that is more relevant and applicable to the target audience. </p>
<p style="text-indent: 5%;">Our Human Practices initiatives are consistent with a conscientious and moral
project development methodology. We are not only tackling a critical environmental issue but also empowering
those who have been impacted by PFAS contamination by placing a strong emphasis on community engagement,
public awareness, and expert collaboration. We understand that in addition to technology, effective solutions
also need the active involvement and support of the communities we hope to serve. </p>
<p style="text-indent: 5%;">In summary, we believe that the Human Practices work we've done is thoughtfully
documented, well-integrated, and represents a responsible way to tackle environmental health issues. This
project's foundation lays the groundwork for future initiatives in the ongoing battle against PFAS
contamination. </p>
</div>
<div id="hp" class="mt-4">
<h1>Human Practices</h1>
......@@ -165,217 +256,544 @@
<div class="containerHP">
<!-- Snaking Line with Horizontal Connectors -->
<div class="snaking-line">
<!-- Text block 1 -->
<div class="text-container">
<div class="text-block" id="henderson">
<h2>Interview with Henderson Co. Student-Led PFAS Research Team 05/31</h2>
<div id="HendersonWhy">
<h3>Why We Interviewed Henderson County</h3>
<p>We interviewed the Henderson County Student-Led PFAS Research Team to understand how to remediate PFAS contamination at the local level and how grassroots efforts serve in detection and raising awareness. Its work-which began when residents found toxic waste being dumped into their soil-showed just how determined individuals could follow contamination using available tools, even within resource-poor areas. Given the testing of soil and water samples, and given the close working relationship with local utilities, their experiences in community-driven initiatives furthered our aim to make PFAS detection more user-friendly and scalable. Their successes further motivated us to consider how community-based engagement and public outreach played an integral role in creating awareness and driving testing at broad scales.</p>
</div>
<div id="HendersonAbt">
<h3>About the Henderson Country Student-Led PFAS Research Team</h3>
<p>The Henderson County Student-Led PFAS Research Team are a group of high school students who attend Henderson County High School who have been researching the effects of PFAS in their community after realizing a factory was dumping all sorts of toxic waste into their soil. A couple years ago, a company was going to be built in their community and with the introduction of this company, the community would have a highly beneficial economic impact. However, the company was not allowed to be built due to the toxicity in the soil. Therefore, this group of students took testing kits (courtesy of Dr. Jamie Young from the University of Louisville) and measured PFAS concentrations in soil samples from all of their community.</p>
</div>
<div id="Hendersonlink">
<h3>Interview Notes Link:</h3>
<a href="https://static.igem.wiki/teams/5114/hp/henderson-county-meeting.pdf" target="_blank">
<button href="">Notes</button>
</a>
<p>Unfortunately, a video was not recorded of the meeting.</p>
</div>
<div id="Hendersonimp">
<h3>How Interviewing the Henderson County Team Improved Our Project</h3>
<p>This interview deepened our understanding of PFAS contamination to that of a local level. With the support of UofL, the students were able to track PFAS contamination in their community through special sampling kits and portable X-ray fluorescence machines that measured the concentration of FPAS in soil and water.
</p>
<p>The Henderson team’s initiative of testing soil and well water samples across their county was just one stark example of how local communities can take matters into their own hands when contamination jeopardizes the health of a population. This case was due to the potential Shamrock Industries site that had alarmingly high levels of PFAS, prompting them to pull out their building, thereby preventing any economic benefit for the community.
</p>
<p>The project taken upon by the Henderson team was hands-on and it really led us to consider how our own project might benefit from some direct community engagement. Their success in gathering 50+ samples and collaborating with local utility companies showed the importance of a community-driven testing effort. That made us understand that the detection solution should be easily accessible and user-friendly, particularly for rural areas such as Henderson, where resources and awareness are so limited.
</p>
<p>Moreover, the outreach effort of the Henderson team-from appearances in local news to creating YouTube videos-pointed out the need for public awareness. These inspired us in thinking of ways we could also promote our biosensor technology through various media channels, taking their approach as a model in public trust and building towards more wide testing. In learning from the team at Henderson County, a sense was developed that the detection of PFAS requires so much more than just technology; it necessitates deep community involvement and education. Their ability to raise awareness regarding PFAS in their community provided a vital reminder that knowledge of contamination is not enough; people need to have knowledge so they can take action.
</p>
</div>
</div>
<div class="line vertical left"></div>
<div class="text-container">
<div class="text-block" id="ban">
<h2>Interview with Banrida Wahlang 09/06/23</h2>
<div id="bany">
<h3>Why We Decided to Interview Dr. Banrida Wahlang:</h3>
<p>To better grasp the risks from PFAS contamination on human health, we interviewed Dr. Banrida
Whalang. With a background in molecular biology and environmental toxicology, Dr. Whalang brought in
a deeper level of understanding regarding how PFAS affects cellular function and then into long-term
health outcomes. Her knowledge contributed to a more-precise understanding of the delicacy of the
detection of these pollutants and how critical it is to address PFAS exposure from both the
environmental and public health perspectives. </p>
</div>
<div id="bana">
<h3>About Dr. Banrida Wahlang: </h3>
<p>At the University of Louisville, Dr. Whalang became known as an environmental toxicologist. She
studies how pollutants in the environment-actually PFAS-affects cellular mechanisms and the health
of humans. Her research has developed a new way of testing for these carcinogens, and that has
shaped not only the scientific methodologies but also the public health policy. </p>
</div>
<div id="bani">
<h3>How Interviewing Banrida Wahlang Improved Our Project:</h3>
<p>Interviewing Dr. Banrida Whalang helped us become even more aware of PFAS contamination and its
greater implications. She had given us scientific insights on the topic, which was very important
for us to make the work more comprehensive and evidence-based. Dr. Whalang's explanation of how PFAS
disrupts cellular processes helped to refine our technical descriptions and to ensure our project
truly conveyed the true gravity of PFAS-related health risks. Her input also helped us enhance our
detection strategies in a manner that our approach became scientifically more valid and powerful.
</p>
</div>
</div>
<!-- Horizontal Line -->
<div class="line horizontal"></div>
<!-- Text block 2 -->
<div class="text-container">
<div class="line vertical right"></div>
<div class="text-block" id="Marshall">
<h2>Interview with James Marshall 06/28</h2>
<div id="MarshallWhy">
<h3>Why We Interviewed James Marshall</h3>
<p>We decided to interview James Marshall because he has a wide experience in the field of analytical chemistry and works for Metrohm, a company operating in the design of very high-degree-of-precision measurement instruments. Among these is the detection of PFAS. His experience in the refinement of measurement methods for PFAS, along with cooperation with regulating agencies for the understanding of the challenges and technological advancements in the area, was of value. Whereas current detection technologies for PFAS are expensive and highly complex, we aimed at more feasible and accessible methods; thus, the work of Marshall will directly fall under that scope. He actually provided the knowledge instrumental in the development of our understanding regarding the gaps in the current methods of detection and how to develop cost-effective and reliable alternatives.</p>
</div>
<div id="MarshallAbt">
<h3>About James Marshall</h3>
<p>James Marshall works at a company called Metrohm which works with making measurement devices more accurate. Since his work at Metrohm works closely with PFAS substances, he has profound knowledge in analytical chemistry and the development of high-precision instruments in order to be detected and measured. The contributions of Marshall and his work with Metrohm has gone into refining technologies in certain PFAS measurement methods in the analysis of various aspects whether it be water or soil. He helps with the creation of more sensitive and reliable methods for PFAS detection, enabling scientists and environmental genices to improve their understanding regarding contamination issues and related risks, along with ways of mitigating them.</p>
<p>This work is especially crucial in affording the best possible opportunities for industries and regulatory bodies to identify contamination from PFAS as quickly as possible with the most accuracy, thereby safeguarding public health and the environment against all these dangerous toxicants.</p>
</div>
<div id="Marshalllink">
<h3>Interview Transcript Link:</h3>
<a href="https://static.igem.wiki/teams/5114/hp/transcript-for-interview-with-mr-marshall.pdf" target="_blank">
<button href="">Transcript</button>
</a>
<h3>Video of Interview:</h3>
<a href="https://drive.google.com/file/d/1u7hXrSe102A6lk4mQYkldBXwHL63gDLb/preview" target="_blank">
<button href="">Video</button>
</a>
</div>
<div id="Marshallimp">
<h3>How Interviewing James Marshall Improved Our Project</h3>
<p>During our interview with Mr Marshall, he explained Metrohm’s critical role in shaping the current FPAS detection method, including their new method with the EPA that allows for both targeted and non-targeted measurements via ion chromatography. </p>
<p>According to Marshall, the issue with current PFAS detection technologies is their affordability. Current instruments range in price from $250,000 to over a million dollars. That makes smaller firms rely on third-party labs, thus driving the cost up and delaying results. He emphasized most definitely that there should be less expensive and easy-to-access techniques for detection, since currently the lack of it limits frequent testing and may negatively impact public health. About the myths surrounding PFAS, Marshall remarked that even though PFAS is a rather new topic, scientifically, its harming effects are clear. He went on to say that improved low-cost detection methods would help industries themselves, which will make sure they fall under the limits of regulatory concern and have a much safer product.
</p>
<p>Marshall also emphasized the importance of reliability in industry-standard PFAS detectors. This inspired us to include more replicates in our testing procedure to ensure any results are not flukes.
</p>
<p>Marshall closed by showing optimism for the future in PFAS detection technologies; this should be inexpensive and more available through continued research. His insights have greatly informed our project by highlighting the urgent need for low-cost PFAS detection and the long-term benefits that could bring to industries and public health.
</p>
</div>
</div>
<div class="line vertical right"></div>
</div>
<!-- Horizontal Line -->
<div class="line horizontal"></div>
<div class="text-container">
<div class="text-block" id="rob">
<h2>Interview with Robert Bates 02/01/2023</h2>
<div id="roby">
<h3>Why We Decided to Interview Robert Bates:</h3>
<p>We decided to interview Robert Bates early into our project development for practical insights into
the challenges of water contamination and further refinement of our focus on PFAS detection. An
affiliate of the Louisville Water Company, Bates has firsthand knowledge about issues regarding
water sources, especially microplastics and PFAS. His input helped us narrow the scope of our
project to something more focused and specific to water-based PFAS detection. It was through his
guidance that we went on to narrow our research with discussions on setting a specific PPB detection
limit, an aspect later adopted as pivotal in our work. His contributions shaped our direction and
assured us of ensuring our goals matched the pragmatic need. </p>
</div>
<div id="roba">
<h3>About Robert Bates:</h3>
<p>Robert Bates is an affiliate of the Louisville Water Company who we were able to get into contact
with in the early stages of our project for further development. </p>
</div>
<div id="robi">
<h3>How Interviewing Robert Bates Improved Our Project:</h3>
<p>Our meeting with Robert Bates happened so early in our project development, and speaking with him
allowed us to mold our topic of focus to hone in on PFAS detection precisely. Since he is affiliated
with the Louisville Water Company, he did mention that one of the major problems within our water
source and filtration is the presence of microplastics and PFAS. He helped us make it more
water-based and specific enough to continue following. Later, keeping in touch with the development
of our work, at the stage when we came up to him with the idea of a PPB detection limit, he asked
where its usage would be. The discussions which went on during laying down the exact limit were
similar to ones we had on the limit itself. </p>
</div>
</div>
<!-- Horizontal Line -->
<div class="line horizontal"></div>
<!-- Text block 3 -->
<div class="text-container">
<div class="text-block" id="berger">
<h2>Interview with Dr. Bryan Berger and Madison Mann 08/23</h2>
<div id="bergerwhy">
<h3>Why We Interviewed Dr. Bryan Berger and Madison Mann</h3>
<p>We chose to interview Dr. Bryan Berger and Madison Mann as they are professionals in this field. We interviewed them primarily to give us opinions on the detection methodology of PFAS using the hlFABP-GFP construct. Given his vast background in environmental science and engineering and combining that with Madison, who has practical work experience in the development of biotechnology solutions, they were ideal people to further refine our goals and methodologies for the project. Their expertise brought invaluable insights into the critical need for specificity in protein interactions and the problems of protein expression so essential to refining our biosensor design. Discussion of pragmatic issues and pitfalls allowed for reevaluation of our experimental design and stimulated new ideas towards an improved method of detection, such as combining computational modeling with practical lab efforts. This has not only enlightened us on how to approach it but also challenged our view on the impediments at our projects in a more knowledgeable and creative manner. </p>
</div>
<div id="bergerabt">
<h3>About Dr. Bryan Berger</h3>
<p>Dr. Berger has been a professional in environmental science and engineering, with a notable focus on emerging environmental contaminants such as PFAS. He is currently affiliated with the University of Virginia, as an associate professor in chemical engineering and running his own lab focused on environmental toxicants.</p>
<p>His research involves assessing the environmental and health impacts of PFAS, and developing new technologies for their detection, analysis, and remediation. One of the key advances in the field of environmental science was led by Dr. Bryan Berger and his team as they developed the hlFABP-GFP construct that combines the human live fatty-acid binding protein with the green fluorescent protein to create a highly sensitive and specific tool for detecting and studying certain molecules. This construct proves useful for detecting and monitoring environmental contaminants like PFAS.
</p>
<h3>About Madison Mann</h3>
<p>Madison Mann is a postdoctoral fellow who received her PhD in Chemical Engineering in 2023 from the University of Virginia. She was on the team that worked with Dr. Berger to develop the hlFABP-GFP construct. Currently, she is working on further developing biotechnology solutions to detect and remove “forever chemicals". </p>
</div>
<div id="bergerlink">
<h3>Interview Transcript Link:</h3>
<a href="https://static.igem.wiki/teams/5114/hp/transcript-for-interview-dr-berger-madison.pdf" target="_blank">
<button href="">Transcript</button>
</a>
<h3>Video of Interview:</h3>
<a href="https://drive.google.com/file/d/1f55JZ22dphD4PS5XTthoKIW2OhRdRNvn/preview" target="_blank">
<button href="">Video</button>
</a>
</div>
<div id="bergerimp">
<h3>How Interviewing Dr Berger & Madison Improved Our Project</h3>
<p>Interviewing Dr. Bryan Berger and Madison Mann provided us with key insights that furthered our project's development in better detecting PFAS. Dr. Berger’s explanations of the hlFABP-GFP construct shed light on the innovative approaches necessary for sensitive detection of PFAS, which allowed us to refine our project goals and methodologies. He provided background on how important the specificity of protein interactions is, thus giving a better understanding of the optimization of the biosensor design.</p>
<p>Madison Mann walked us through the design and mechanism of the FAB-GFP protein as well as their testing procedures. </p>
<p>Our discussion of practical problems with protein expression in various bacterial systems drew out the possible pitfalls in our experiments. This again set down the importance of choosing the right type of promoter and the expression system, since both are capable of directly influencing the success of our detection strategy. </p>
<p>Madison's inputs on background fluorescence issues and the need for controls really helped point out the complicated nature of proteins' behaviors according to their milieus and fostered further re-evaluation of experimental design and analysis methods. Further, the discussions indeed inspired ideas about how to optimize our biosensor. For example, Madison's discussion about point mutations, which potentially can increase the binding affinity, is what we needed to follow this approach in optimizing our biosensor. We know that with the same delta fluorescence, higher binding affinity can give better detection limits for our biosensor. These insights shifted our focus toward theoretical optimization in tandem with our experimental work: integrating computational modeling into our practical lab efforts. </p>
<p>This interview ultimately encouraged us to view our challenges from a different perspective and allowed us to make more changes to our methodology. We hope to redo our FAB-GFP testing with a stronger, inducible promoter and also make sure our protein is identical to theirs. </p>
</div>
</div>
<div class="line vertical left"></div>
<div class="line vertical left"></div>
</div>
<!-- Horizontal Line -->
<div class="line horizontal"></div>
<div class="text-container">
<div class="text-block" id="tour">
<h2>Louisville Water Company Tour 09/29/2023</h2>
<div id="toury">
<h3>Why We Decided to Tour the Louisville Water Company:</h3>
<p>We decided to go on a Louisville Water Company tour as a means of understanding the current
efforts and challenges in PFAS treatment within our community. In that tour, we learned that
conventional water treatment systems can not remove PFAS. Although Louisville Water meets the PFAS
standards, they decided to implement an advanced treatment, called powdered activated carbon, to
further reduce the small amounts of PFAS in their water. The insight into the current water
quality analytic methods revealed a dire need for an update of PFAS testing methods. In this
interview, we have garnered information on the amount of money that is put towards PFAS treatment,
reliance on other states to help them out in testing, and even how creative they had been in using
activated charcoal treatment. The talk gave us better insight into the bounds locally and how it
would affect the wider world in terms of smaller water companies. This eventually set a core
foundation for what our project entailed. </p>
</div>
<div id="toura">
<h3>About the Louisville Water Company: </h3>
<p>The LWC tour allowed us to get more information on the current motions towards the screening and
research for PFAS and water treatment methods within our community. This tour answered many of our
questions about the different perspectives on contamination through PFAS and their impacts. We
also found that, due to the high costs of the machines needed to detect PFAS, our city currently
sent water samples out of the state for detection with LC-MS Assays. Although LWC is getting a
machine in the coming year, there are few locations around us that can actually test for PFAS
properly because the complicated methods and expensive instruments. However, the Louisville Water
Company is doing a remarkable job in removing PFAS with activated charcoal. The problem is that
smaller water companies may not be able to do this due to lack of resources and support. </p>
</div>
<div id="touri">
<h3>How Touring the Louisville Water Company Improved Our Project: </h3>
<p>​​The tour of the Louisville Water Company really enhanced our project by providing real-world
challenges and methods in PFAS removal. Being able to see their use of activated charcoal and
understand the restrictions in place for smaller water companies helped ground our project in more
practical realities. It also explained the very high costs involved with testing and mitigating
PFAS, thus reinforcing again how these need to be something that is doable and affordable. More
importantly, knowing that the analytical support for the city came from outside states really made
us think critically about how scalable our methods of detection were. It convinced us to continue
on the same project idea into the next season. </p>
</div>
</div>
<div class="line vertical right"></div>
</div>
<!-- Horizontal Line -->
<div class="line horizontal"></div>
<!-- Text block 1 -->
<div class="text-container">
<div class="text-block" id="henderson">
<h2>Interview with Henderson Co. Student-Led PFAS Research Team 05/31</h2>
<div id="HendersonWhy">
<h3>Why We Interviewed Henderson County</h3>
<p>We interviewed the Henderson County Student-Led PFAS Research Team to understand how to
remediate PFAS contamination at the local level and how grassroots efforts serve in detection
and raising awareness. Its work-which began when residents found toxic waste being dumped into
their soil-showed just how determined individuals could follow contamination using available
tools, even within resource-poor areas. Given the testing of soil and water samples, and given
the close working relationship with local utilities, their experiences in community-driven
initiatives furthered our aim to make PFAS detection more user-friendly and scalable. Their
successes further motivated us to consider how community-based engagement and public outreach
played an integral role in creating awareness and driving testing at broad scales.</p>
</div>
<div id="HendersonAbt">
<h3>About the Henderson Country Student-Led PFAS Research Team</h3>
<p>The Henderson County Student-Led PFAS Research Team are a group of high school students who
attend Henderson County High School who have been researching the effects of PFAS in their
community after realizing a factory was dumping all sorts of toxic waste into their soil. A
couple years ago, a company was going to be built in their community and with the introduction
of this company, the community would have a highly beneficial economic impact. However, the
company was not allowed to be built due to the toxicity in the soil. Therefore, this group of
students took testing kits (courtesy of Dr. Jamie Young from the University of Louisville) and
measured PFAS concentrations in soil samples from all of their community.</p>
</div>
<div id="Hendersonlink">
<h3>Interview Notes Link:</h3>
<a href="https://static.igem.wiki/teams/5114/hp/henderson-county-meeting.pdf" target="_blank">
<button href="">Notes</button>
</a>
<p>Unfortunately, a video was not recorded of the meeting.</p>
</div>
<div id="Hendersonimp">
<h3>How Interviewing the Henderson County Team Improved Our Project</h3>
<p>This interview deepened our understanding of PFAS contamination to that of a local level. With
the support of UofL, the students were able to track PFAS contamination in their community
through special sampling kits and portable X-ray fluorescence machines that measured the
concentration of FPAS in soil and water.
</p>
<p>The Henderson team’s initiative of testing soil and well water samples across their county was
just one stark example of how local communities can take matters into their own hands when
contamination jeopardizes the health of a population. This case was due to the potential
Shamrock Industries site that had alarmingly high levels of PFAS, prompting them to pull out
their building, thereby preventing any economic benefit for the community.
</p>
<p>The project taken upon by the Henderson team was hands-on and it really led us to consider how
our own project might benefit from some direct community engagement. Their success in gathering
50+ samples and collaborating with local utility companies showed the importance of a
community-driven testing effort. That made us understand that the detection solution should be
easily accessible and user-friendly, particularly for rural areas such as Henderson, where
resources and awareness are so limited.
</p>
<p>Moreover, the outreach effort of the Henderson team-from appearances in local news to creating
YouTube videos-pointed out the need for public awareness. These inspired us in thinking of ways
we could also promote our biosensor technology through various media channels, taking their
approach as a model in public trust and building towards more wide testing. In learning from the
team at Henderson County, a sense was developed that the detection of PFAS requires so much more
than just technology; it necessitates deep community involvement and education. Their ability to
raise awareness regarding PFAS in their community provided a vital reminder that knowledge of
contamination is not enough; people need to have knowledge so they can take action.
</p>
</div>
<!-- Horizontal Line -->
<div class="line horizontal"></div>
<!-- Text block 3 -->
<div class="text-container">
<div class="text-block" id="k">
<h2>Interview with Nima Kulkarni 09/10</h2>
<div id="kwhy">
<h3>Why We Interviewed Nima Kulkarni</h3>
<p>We interviewed Nima Kulkarni because she was able to provide insight into what legislative efforts were being put forth on PFAS contamination in Kentucky, specifically as it relates to our project: developing better methods for the detection of PFAS. Representative Kulkarni truly is a champion of environmental protection and has focused most on issues related to social justice and public health since her work got her elected as the first Indian-American to the Kentucky General Assembly. She spoke, during our discussion, to the challenges legislators face regarding PFAS contamination and the importance of bipartisan efforts in dealing with the issue, such as the resolution she co-sponsored to monitor levels of PFAS in water. Her comments powerfully underlined how our technology needs to be matched by current policy changes if our detection methods are to get traction and support. Furthermore, Kulkarni elaborated on the issues of public awareness and concerns from farmers about testing for PFAS, which really made us consider how to frame our technology in a way to encourage testing without any legal liability. She provided fantastic context for our project through the use of her personal stories and what is occurring in other states such as Maine to reinforce that any approach to PFAS contamination should be preventative to prevent long-term environmental and economic costs.</p>
</div>
<div id="kabt">
<h3>About Nima Kulkarni</h3>
<p>Nima Kulkarni is a dedicated attorney and politician serving as a member of the Kentucky House of Representatives for the 40th district, which includes parts of Louisville (our community). As the first Indian-American elected to the Kentucky General Assembly, Kulkarni has made significant steps in advocating for social justice, workers’ rights, and comprehensive immigration reform. </p>
<p>A strong advocate for environmental protection, Kulkarni has focused on the pressing issue of PFAS contamination, which poses serious risks to public health and the environment. Understanding the dangers that these “forever chemicals” present, she has championed legislation aimed at stricter regulation of PFAS in Kentucky’s water supplies. Kulkarni’s efforts include advocating for thorough testing, clean-up initiatives, and increased transparency from industries responsible for PFAS pollution. Her work is pivotal in safeguarding Kentucky’s communities from the long-term impacts of these hazardous substances. </p>
</div>
<div id="klink">
<h3>Interview Notes Link:</h3>
<a href="https://static.igem.wiki/teams/5114/hp/meeting-with-kulkarni.pdf" target="_blank">
<button href="">Notes</button>
</a>
<h3>Video of Interview:</h3>
<a href="https://drive.google.com/file/d/10wx22pLEcN-8OHX7FMAhOaZ8vKEQSnlo/preview" target="_blank">
<button href="">Video</button>
</a>
</div>
<div id="kimp">
<h3>How Interviewing Nima Kulkarni Improved Our Project</h3>
<p>Talking to Ms. Kulkarni allowed us to learn more about the work she was engaged in and what she mainly focused on. One of her key focuses aligned with our project goal of developing a better way to detect PFAS in Kentucky’s water supply. Throughout the discussion, Kulkarni shared a lot of the challenges regarding contamination with PFAS that legislators face when working on the issue. For instance, she mentioned a bipartisan resolution that she cosponsored in order to monitor the levels of PFAS in water.
</p>
<p>Learning about this topic from a legislative perspective has shown us the importance of our technology falling in line with efforts and policy changes within the government, therefore making it probable that our detection method could likely gain more traction.
</p>
<p>Another point that Kulkarni brought up was the place that public awareness plays in this issue. She spoke of how not a lot of people are aware about environmental toxicants (for instance, lead contamination) and how this in turn led to slower government action on regulation. Kulkarni also explained how so many farmers were very apprehensive to test for PFAS due to the liability it could cause. This made us reflect upon how our technology could be modified in a way to give farmers incentives such as potential tax benefits or liability protection, to test for PFAS without any legal challenges. The insight helped us to think creatively about positioning our technology within the agricultural community so that it could be adopted without any adverse impact on farmers' livelihoods.
</p>
<p>Kulkarni also highlighted Maine's strategy as exemplary for Kentucky. In fact, looking at how other states address PFAS will help us contextualize our technology's impact within the ongoing legislative work to better position it for policy impact. Her discussion about possible litigation specifically due to PFAS contamination, which might take place when infrastructure is inadequate to deal with an increase in health claims, furthered the pressing need for a preventative approach, indeed one which might avoid long-term environmental economic burdens.
</p>
</div>
</div>
<div class="line vertical right"></div>
</div>
<div class="line vertical left"></div>
</div>
<div class="line horizontal"></div>
<!-- Text block 3 -->
<div class="text-container">
<div class="text-block" id="z">
<h2>Interview with Eric Zhu 09/14</h2>
<div id="zwhy">
<h3>Why We Interviewed Eric Zhu</h3>
<p>We decided to interview Dr. Eric Zhu to gain expert insights into the challenges and solutions surrounding PFAS contamination within the context of water treatment and environmental engineering. As the Manager of Water Research and Development at the Louisville Water Company, Dr. Zhu had great experience with PFAS detection and mitigation initiatives and was a useful asset to learn about current strategies to keep our community's drinking water safe. By knowing these advanced technologies of treatment, such as granular activated carbon and anion exchange, he allowed us to delve into practical implications and their limitations, especially with respect to costs and residual disposal issues. Furthermore, Zhu provided insight into the difficulties of smaller utilities in affording the costly mitigation technologies, hence further increasing our need for more accessible detection solutions. His emphasis on the need for quicker, real-time detection methods further guided us to refine our project goals so that our work addresses regulatory standards in relation to operational efficiency in water treatment plants. </p>
</div>
<div id="zabt">
<h3>About Eric Zhu</h3>
<p>Eric Zhu works with the Louisville Water Company in figuring out remedies to the problems of water quality present, such as PFAS contamination. As a professional in water treatment and environmental engineering, Dr. Zhu works toward safe drinking water supplies in Louisville, aiming to keep it free of contaminations. </p>
<p>Dr. Zhu works on PFAS detection and mitigation initiatives for the Louisville Water Company, with advanced treatment technologies and associated monitoring practices in place that reduce PFAS levels in the water supply and minimize the risk to public health. His knowledge and depth in the subject matter are critical for developing effective response strategies related to the “forever chemicals” in our environment and bodies. Dr. Zhu and his colleagues contribute to the idea of continuing to strive for high-quality drinking water and ensuring that communities have safe, clean water. </p>
</div>
<div id="zlink">
<h3>Interview Notes</h3>
<a href="https://static.igem.wiki/teams/5114/hp/eric-zhu-interview-transcript.pdf" target="_blank">
<button href="">Notes</button>
</a>
<p>Requested to not be recorded.</p>
</div>
<div id="zimp">
<h3>How Interviewing Eric Zhu Improved Our Project</h3>
<p>Interviewing Eric Zhu improved our project by providing expert insight into the real-world challenges surrounding PFAS contamination and helped us to refine the direction of our project. His explanations of the best available technologies (i.e. granular activated carbon, anion exchange, and high-pressure membranes) provided a better understanding of the current strategies used to address PFAS contamination.
</p>
<p>We analyzed the practical problems that arise from using such technologies, mainly the cost involved and the problems related to residual disposal. This has allowed us to better fine-tune our project goals with real-world limitations so that the solution would remain practical and cost-effective.
</p>
<p>Zhu's perspective on the specific difficulties in each of the larger and smaller utilities also challenged us to consider how our product might serve to bridge some of the existing gaps in PFAS monitoring.
</p>
<p>He described how many smaller utilities, especially in rural settings, could ill afford the expensive mitigation technologies being developed, making more widely applicable and less expensive detection systems very desirable. This encouraged us further to focus on developing a product which could cater to communities regardless of size and budget, thereby increasing the sphere of influence of our work. Additionally, Dr. Zhu stressed the need for quicker and more responsive methods for detection, especially in waste stream monitoring and treatment adjustment. The turnaround times of 1-2 weeks from commercial labs now are inadequate for real-time adjustments. Thus, this input encouraged us to consider less sensitive but quicker development of a detection system that could provide timely data. This shift of focus enables the project to come up with a solution that would meet not just the regulatory standards but also be helpful in operational efficiency at water treatment plants. After all, Zhu's expertise ensured our project was grounded in real-world needs with the potential to deliver practical solutions to the PFAS contamination crisis.
</p>
<p>Dr. Zhu clarified that although water utilities will need PFAS sensors with parts per trillion level accuracy to be used for regulatory purposes, sensors with higher detection limits could be used to monitor waste streams from reverse osmosis filtering or potentially from industrial discharge. Thus, the utility of any sensor we develop will fully depend on its lower detection limit.
</p>
</div>
</div>
<div class="line vertical left"></div>
<!-- Horizontal Line -->
<div class="line horizontal"></div>
<!-- Text block 2 -->
<div class="text-container">
<div class="line vertical right"></div>
<div class="text-block" id="Marshall">
<h2>Interview with James Marshall 06/28</h2>
<div id="MarshallWhy">
<h3>Why We Interviewed James Marshall</h3>
<p>We decided to interview James Marshall because he has a wide experience in the field of
analytical chemistry and works for Metrohm, a company operating in the design of very
high-degree-of-precision measurement instruments. Among these is the detection of PFAS. His
experience in the refinement of measurement methods for PFAS, along with cooperation with
regulating agencies for the understanding of the challenges and technological advancements in
the area, was of value. Whereas current detection technologies for PFAS are expensive and highly
complex, we aimed at more feasible and accessible methods; thus, the work of Marshall will
directly fall under that scope. He actually provided the knowledge instrumental in the
development of our understanding regarding the gaps in the current methods of detection and how
to develop cost-effective and reliable alternatives.</p>
</div>
<div id="MarshallAbt">
<h3>About James Marshall</h3>
<p>James Marshall works at a company called Metrohm which works with making measurement devices
more accurate. Since his work at Metrohm works closely with PFAS substances, he has profound
knowledge in analytical chemistry and the development of high-precision instruments in order to
be detected and measured. The contributions of Marshall and his work with Metrohm has gone into
refining technologies in certain PFAS measurement methods in the analysis of various aspects
whether it be water or soil. He helps with the creation of more sensitive and reliable methods
for PFAS detection, enabling scientists and environmental genices to improve their understanding
regarding contamination issues and related risks, along with ways of mitigating them.</p>
<p>This work is especially crucial in affording the best possible opportunities for industries and
regulatory bodies to identify contamination from PFAS as quickly as possible with the most
accuracy, thereby safeguarding public health and the environment against all these dangerous
toxicants.</p>
</div>
<div id="Marshalllink">
<h3>Interview Transcript Link:</h3>
<a href="https://static.igem.wiki/teams/5114/hp/transcript-for-interview-with-mr-marshall.pdf"
target="_blank">
<button href="">Transcript</button>
</a>
<h3>Video of Interview:</h3>
<a href="https://drive.google.com/file/d/1u7hXrSe102A6lk4mQYkldBXwHL63gDLb/preview" target="_blank">
<button href="">Video</button>
</a>
</div>
<div id="Marshallimp">
<h3>How Interviewing James Marshall Improved Our Project</h3>
<p>During our interview with Mr Marshall, he explained Metrohm’s critical role in shaping the
current FPAS detection method, including their new method with the EPA that allows for both
targeted and non-targeted measurements via ion chromatography. </p>
<p>According to Marshall, the issue with current PFAS detection technologies is their
affordability. Current instruments range in price from $250,000 to over a million dollars. That
makes smaller firms rely on third-party labs, thus driving the cost up and delaying results. He
emphasized most definitely that there should be less expensive and easy-to-access techniques for
detection, since currently the lack of it limits frequent testing and may negatively impact
public health. About the myths surrounding PFAS, Marshall remarked that even though PFAS is a
rather new topic, scientifically, its harming effects are clear. He went on to say that improved
low-cost detection methods would help industries themselves, which will make sure they fall
under the limits of regulatory concern and have a much safer product.
</p>
<p>Marshall also emphasized the importance of reliability in industry-standard PFAS detectors.
This inspired us to include more replicates in our testing procedure to ensure any results are
not flukes.
</p>
<p>Marshall closed by showing optimism for the future in PFAS detection technologies; this should
be inexpensive and more available through continued research. His insights have greatly informed
our project by highlighting the urgent need for low-cost PFAS detection and the long-term
benefits that could bring to industries and public health.
</p>
</div>
</div>
</div>
<!-- Horizontal Line -->
<div class="line horizontal"></div>
<!-- Text block 3 -->
<div class="text-container">
<div class="text-block" id="berger">
<h2>Interview with Dr. Bryan Berger and Madison Mann 08/23</h2>
<div id="bergerwhy">
<h3>Why We Interviewed Dr. Bryan Berger and Madison Mann</h3>
<p>We chose to interview Dr. Bryan Berger and Madison Mann as they are professionals in this
field. We interviewed them primarily to give us opinions on the detection methodology of PFAS
using the hlFABP-GFP construct. Given his vast background in environmental science and
engineering and combining that with Madison, who has practical work experience in the
development of biotechnology solutions, they were ideal people to further refine our goals and
methodologies for the project. Their expertise brought invaluable insights into the critical
need for specificity in protein interactions and the problems of protein expression so essential
to refining our biosensor design. Discussion of pragmatic issues and pitfalls allowed for
reevaluation of our experimental design and stimulated new ideas towards an improved method of
detection, such as combining computational modeling with practical lab efforts. This has not
only enlightened us on how to approach it but also challenged our view on the impediments at our
projects in a more knowledgeable and creative manner. </p>
</div>
<div id="bergerabt">
<h3>About Dr. Bryan Berger</h3>
<p>Dr. Berger has been a professional in environmental science and engineering, with a notable
focus on emerging environmental contaminants such as PFAS. He is currently affiliated with the
University of Virginia, as an associate professor in chemical engineering and running his own
lab focused on environmental toxicants.</p>
<p>His research involves assessing the environmental and health impacts of PFAS, and developing
new technologies for their detection, analysis, and remediation. One of the key advances in the
field of environmental science was led by Dr. Bryan Berger and his team as they developed the
hlFABP-GFP construct that combines the human live fatty-acid binding protein with the green
fluorescent protein to create a highly sensitive and specific tool for detecting and studying
certain molecules. This construct proves useful for detecting and monitoring environmental
contaminants like PFAS.
</p>
<h3>About Madison Mann</h3>
<p>Madison Mann is a postdoctoral fellow who received her PhD in Chemical Engineering in 2023 from
the University of Virginia. She was on the team that worked with Dr. Berger to develop the
hlFABP-GFP construct. Currently, she is working on further developing biotechnology solutions to
detect and remove “forever chemicals". </p>
</div>
<div id="bergerlink">
<h3>Interview Transcript Link:</h3>
<a href="https://static.igem.wiki/teams/5114/hp/transcript-for-interview-dr-berger-madison.pdf"
target="_blank">
<button href="">Transcript</button>
</a>
<h3>Video of Interview:</h3>
<a href="https://drive.google.com/file/d/1f55JZ22dphD4PS5XTthoKIW2OhRdRNvn/preview" target="_blank">
<button href="">Video</button>
</a>
</div>
<div id="bergerimp">
<h3>How Interviewing Dr Berger & Madison Improved Our Project</h3>
<p>Interviewing Dr. Bryan Berger and Madison Mann provided us with key insights that furthered our
project's development in better detecting PFAS. Dr. Berger’s explanations of the hlFABP-GFP
construct shed light on the innovative approaches necessary for sensitive detection of PFAS,
which allowed us to refine our project goals and methodologies. He provided background on how
important the specificity of protein interactions is, thus giving a better understanding of the
optimization of the biosensor design.</p>
<p>Madison Mann walked us through the design and mechanism of the FAB-GFP protein as well as their
testing procedures. </p>
<p>Our discussion of practical problems with protein expression in various bacterial systems drew
out the possible pitfalls in our experiments. This again set down the importance of choosing the
right type of promoter and the expression system, since both are capable of directly influencing
the success of our detection strategy. </p>
<p>Madison's inputs on background fluorescence issues and the need for controls really helped
point out the complicated nature of proteins' behaviors according to their milieus and fostered
further re-evaluation of experimental design and analysis methods. Further, the discussions
indeed inspired ideas about how to optimize our biosensor. For example, Madison's discussion
about point mutations, which potentially can increase the binding affinity, is what we needed to
follow this approach in optimizing our biosensor. We know that with the same delta fluorescence,
higher binding affinity can give better detection limits for our biosensor. These insights
shifted our focus toward theoretical optimization in tandem with our experimental work:
integrating computational modeling into our practical lab efforts. </p>
<p>This interview ultimately encouraged us to view our challenges from a different perspective and
allowed us to make more changes to our methodology. We hope to redo our FAB-GFP testing with a
stronger, inducible promoter and also make sure our protein is identical to theirs. </p>
</div>
</div>
<!-- Continue adding more text and lines as needed -->
<div class="line vertical left"></div>
</div>
<!-- Horizontal Line -->
<div class="line horizontal"></div>
<!-- Text block 3 -->
<div class="text-container">
<div class="text-block" id="k">
<h2>Interview with Nima Kulkarni 09/10</h2>
<div id="kwhy">
<h3>Why We Interviewed Nima Kulkarni</h3>
<p>We interviewed Nima Kulkarni because she was able to provide insight into what legislative
efforts were being put forth on PFAS contamination in Kentucky, specifically as it relates to
our project: developing better methods for the detection of PFAS. Representative Kulkarni truly
is a champion of environmental protection and has focused most on issues related to social
justice and public health since her work got her elected as the first Indian-American to the
Kentucky General Assembly. She spoke, during our discussion, to the challenges legislators face
regarding PFAS contamination and the importance of bipartisan efforts in dealing with the issue,
such as the resolution she co-sponsored to monitor levels of PFAS in water. Her comments
powerfully underlined how our technology needs to be matched by current policy changes if our
detection methods are to get traction and support. Furthermore, Kulkarni elaborated on the
issues of public awareness and concerns from farmers about testing for PFAS, which really made
us consider how to frame our technology in a way to encourage testing without any legal
liability. She provided fantastic context for our project through the use of her personal
stories and what is occurring in other states such as Maine to reinforce that any approach to
PFAS contamination should be preventative to prevent long-term environmental and economic costs.
</p>
</div>
<div id="kabt">
<h3>About Nima Kulkarni</h3>
<p>Nima Kulkarni is a dedicated attorney and politician serving as a member of the Kentucky House
of Representatives for the 40th district, which includes parts of Louisville (our community). As
the first Indian-American elected to the Kentucky General Assembly, Kulkarni has made
significant steps in advocating for social justice, workers’ rights, and comprehensive
immigration reform. </p>
<p>A strong advocate for environmental protection, Kulkarni has focused on the pressing issue of
PFAS contamination, which poses serious risks to public health and the environment.
Understanding the dangers that these “forever chemicals” present, she has championed legislation
aimed at stricter regulation of PFAS in Kentucky’s water supplies. Kulkarni’s efforts include
advocating for thorough testing, clean-up initiatives, and increased transparency from
industries responsible for PFAS pollution. Her work is pivotal in safeguarding Kentucky’s
communities from the long-term impacts of these hazardous substances. </p>
</div>
<div id="klink">
<h3>Interview Notes Link:</h3>
<a href="https://static.igem.wiki/teams/5114/hp/meeting-with-kulkarni.pdf" target="_blank">
<button href="">Notes</button>
</a>
<h3>Video of Interview:</h3>
<a href="https://drive.google.com/file/d/10wx22pLEcN-8OHX7FMAhOaZ8vKEQSnlo/preview" target="_blank">
<button href="">Video</button>
</a>
</div>
<div id="kimp">
<h3>How Interviewing Nima Kulkarni Improved Our Project</h3>
<p>Talking to Ms. Kulkarni allowed us to learn more about the work she was engaged in and what she
mainly focused on. One of her key focuses aligned with our project goal of developing a better
way to detect PFAS in Kentucky’s water supply. Throughout the discussion, Kulkarni shared a lot
of the challenges regarding contamination with PFAS that legislators face when working on the
issue. For instance, she mentioned a bipartisan resolution that she cosponsored in order to
monitor the levels of PFAS in water.
</p>
<p>Learning about this topic from a legislative perspective has shown us the importance of our
technology falling in line with efforts and policy changes within the government, therefore
making it probable that our detection method could likely gain more traction.
</p>
<p>Another point that Kulkarni brought up was the place that public awareness plays in this issue.
She spoke of how not a lot of people are aware about environmental toxicants (for instance, lead
contamination) and how this in turn led to slower government action on regulation. Kulkarni also
explained how so many farmers were very apprehensive to test for PFAS due to the liability it
could cause. This made us reflect upon how our technology could be modified in a way to give
farmers incentives such as potential tax benefits or liability protection, to test for PFAS
without any legal challenges. The insight helped us to think creatively about positioning our
technology within the agricultural community so that it could be adopted without any adverse
impact on farmers' livelihoods.
</p>
<p>Kulkarni also highlighted Maine's strategy as exemplary for Kentucky. In fact, looking at how
other states address PFAS will help us contextualize our technology's impact within the ongoing
legislative work to better position it for policy impact. Her discussion about possible
litigation specifically due to PFAS contamination, which might take place when infrastructure is
inadequate to deal with an increase in health claims, furthered the pressing need for a
preventative approach, indeed one which might avoid long-term environmental economic burdens.
</p>
</div>
</div>
<div class="line vertical right"></div>
</div>
<div class="line horizontal"></div>
<!-- Text block 3 -->
<div class="text-container">
<div class="text-block" id="z">
<h2>Interview with Eric Zhu 09/14</h2>
<div id="zwhy">
<h3>Why We Interviewed Eric Zhu</h3>
<p>We decided to interview Dr. Eric Zhu to gain expert insights into the challenges and solutions
surrounding PFAS contamination within the context of water treatment and environmental
engineering. As the Manager of Water Research and Development at the Louisville Water Company,
Dr. Zhu had great experience with PFAS detection and mitigation initiatives and was a useful
asset to learn about current strategies to keep our community's drinking water safe. By knowing
these advanced technologies of treatment, such as granular activated carbon and anion exchange,
he allowed us to delve into practical implications and their limitations, especially with
respect to costs and residual disposal issues. Furthermore, Zhu provided insight into the
difficulties of smaller utilities in affording the costly mitigation technologies, hence further
increasing our need for more accessible detection solutions. His emphasis on the need for
quicker, real-time detection methods further guided us to refine our project goals so that our
work addresses regulatory standards in relation to operational efficiency in water treatment
plants. </p>
</div>
<div id="zabt">
<h3>About Eric Zhu</h3>
<p>Eric Zhu works with the Louisville Water Company in figuring out remedies to the problems of
water quality present, such as PFAS contamination. As a professional in water treatment and
environmental engineering, Dr. Zhu works toward safe drinking water supplies in Louisville,
aiming to keep it free of contaminations. </p>
<p>Dr. Zhu works on PFAS detection and mitigation initiatives for the Louisville Water Company,
with advanced treatment technologies and associated monitoring practices in place that reduce
PFAS levels in the water supply and minimize the risk to public health. His knowledge and depth
in the subject matter are critical for developing effective response strategies related to the
“forever chemicals” in our environment and bodies. Dr. Zhu and his colleagues contribute to the
idea of continuing to strive for high-quality drinking water and ensuring that communities have
safe, clean water. </p>
</div>
<div id="zlink">
<h3>Interview Notes</h3>
<a href="https://static.igem.wiki/teams/5114/hp/eric-zhu-interview-transcript.pdf" target="_blank">
<button href="">Notes</button>
</a>
<p>Requested to not be recorded.</p>
</div>
<div id="zimp">
<h3>How Interviewing Eric Zhu Improved Our Project</h3>
<p>Interviewing Eric Zhu improved our project by providing expert insight into the real-world
challenges surrounding PFAS contamination and helped us to refine the direction of our project.
His explanations of the best available technologies (i.e. granular activated carbon, anion
exchange, and high-pressure membranes) provided a better understanding of the current strategies
used to address PFAS contamination.
</p>
<p>We analyzed the practical problems that arise from using such technologies, mainly the cost
involved and the problems related to residual disposal. This has allowed us to better fine-tune
our project goals with real-world limitations so that the solution would remain practical and
cost-effective.
</p>
<p>Zhu's perspective on the specific difficulties in each of the larger and smaller utilities also
challenged us to consider how our product might serve to bridge some of the existing gaps in
PFAS monitoring.
</p>
<p>He described how many smaller utilities, especially in rural settings, could ill afford the
expensive mitigation technologies being developed, making more widely applicable and less
expensive detection systems very desirable. This encouraged us further to focus on developing a
product which could cater to communities regardless of size and budget, thereby increasing the
sphere of influence of our work. Additionally, Dr. Zhu stressed the need for quicker and more
responsive methods for detection, especially in waste stream monitoring and treatment
adjustment. The turnaround times of 1-2 weeks from commercial labs now are inadequate for
real-time adjustments. Thus, this input encouraged us to consider less sensitive but quicker
development of a detection system that could provide timely data. This shift of focus enables
the project to come up with a solution that would meet not just the regulatory standards but
also be helpful in operational efficiency at water treatment plants. After all, Zhu's expertise
ensured our project was grounded in real-world needs with the potential to deliver practical
solutions to the PFAS contamination crisis.
</p>
<p>Dr. Zhu clarified that although water utilities will need PFAS sensors with parts per trillion
level accuracy to be used for regulatory purposes, sensors with higher detection limits could be
used to monitor waste streams from reverse osmosis filtering or potentially from industrial
discharge. Thus, the utility of any sensor we develop will fully depend on its lower detection
limit.
</p>
</div>
</div>
<div class="line vertical left"></div>
</div>
<!-- Continue adding more text and lines as needed -->
</div>
</div>
</div>
</div>
</div>
</div>
</body>
{% endblock %}
{% endblock %}
\ No newline at end of file
{% extends "layout.html" %}
{% block title %}Diversity and Inclusion{% endblock %}
{% block lead %}Every individual, regardless of background or experience, should have an equal opportunity to engage with scientific knowledge and technological development.{% endblock %}
{% block page_content %}
<!--
<div class="row mt-4">
<div class="col">
<div class="bd-callout bd-callout-info">
<h4>Inclusivity Award</h4>
<p>The Inclusivity Award recognizes exceptional efforts to include people with diverse identities in scientific research. Who is allowed to have a voice in iGEM, synthetic biology, and science more broadly? How have you developed new opportunities to eliminate barriers and allow more people to contribute to, participate in, and/or be represented by these communities? To compete for this prize, activities do not have to be directly related to your team’s project. Document your approach, how you improved inclusivity, and what was learned.</p>
<p>To compete for the Inclusivity award, select the prize on the <a href="https://competition.igem.org/deliverables/judging-form">judging form</a> and describe your work on this page.</p>
<hr>
<p>Please see the <a href="https://competition.igem.org/judging/awards">2024 Awards Page</a> for more information.</p>
</div>
</div>
</div>
<div class="row mt-4">
<div class="col-lg-8">
<h2>Overview</h2>
<hr>
<p>We should all recognize the importance of building an open and welcoming scientific community. A more diverse community involved in creating knowledge and technology is more likely to produce a more equitable and representative system. Every individual, regardless of background or experience, should have an equal opportunity to engage with scientific knowledge and technological development. Everyone should be able to share their opinions on the societal implications of research.</p>
</div>
<div class="col-lg-4">
<h2>Inspirations</h2>
<hr>
<ul>
<li><a href="https://2020.igem.org/Team:Fudan/Inclusion">2020 Fudan</a></li>
<li><a href="https://2020.igem.org/Team:CCU_Taiwan/Inclusion">2020 CCU Taiwan</a></li>
<li><a href="https://2020.igem.org/Team:Concordia-Montreal/Inclusion">2020 Concordia Montreal</a></li>
<li><a href="https://2020.igem.org/Team:CLS_CLSG_UK/Inclusione">2020 CLS CLSG UK</a></li>
</ul>
</div>
</div>
-->
<head>
</head>
<body>
<div class="row mt-4">
<!-- Overview Section -->
<div class="col-lg-3 mb-4">
<div id="overview" class="sticky-top">
<h5>Overview</h5>
<ul class="nav flex-column"> <!--YOU CAN ADD MORE OVERVIEW LINKS HERE, SIMPLY DUPLICATE AN UNORDERED LIST-->
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID">EDIT OVERVIEW TEXT</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID-1">EDIT SUBHEADING 1</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#cool">EDIT SUB SUBHEADING 1</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cool2">EDIT SUB SUB HEADING 2</a>
</li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID-2">EDIT SUBHEADING 2</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="col-lg-9">
<div id="EDIT-ID" class="mt-4">
<h2>EDIT HEADER</h2>
<p>EDIT TEXT</p>
<hr>
<div id="EDIT-ID-1">
<h3>EDIT SUBHEADING</h3>
<p>EDIT TEXT</p>
</div>
<div id="cool">
<h4>EDIT SUB SUBHEADING</h4>
<p>EDIT TEXT</p>
</div>
<div id="cool2">
<h4>EDIT SUB SUBHEADING</h4>
<p>EDIT TEXT</p>
</div>
<div id="EDIT-ID-2">
<h3>EDIT SUBHEADING</h3>
<p>EDIT TEXT</p>
</div>
</div>
</div>
</div>
</body>
{% endblock %}
{% extends "layout.html" %}
{% block title %}Measurement{% endblock %}
{% block lead %}Synthetic Biology needs great measurement approaches for characterizing parts, and efficient new methods for characterizing many parts at once. Describe your measurement approaches on this page.{% endblock %}
{% block page_content %}
<!--
<div class="row mt-4">
<div class="col">
<div class="bd-callout bd-callout-info">
<h4>Best Measurement</h4>
<p>Measurements are critical to scientific communication and advancement. Well-reported measurements are the only way to show whether hardware is functioning correctly, whether data are reliable, and whether a result is actually important. There is a high value in identifying appropriate targets for measurement, collecting precise measurements, and reporting results clearly and with appropriate units. Document your careful measurement efforts and you could win this award!</p>
<p>To compete for the Best Measurement prize, select the prize on the <a href="https://competition.igem.org/deliverables/judging-form">judging form</a> and describe your work on this page.</p>
<hr>
<p>Please see the <a href="https://competition.igem.org/judging/awards">2024 Awards Page</a> for more information.</p>
</div>
</div>
</div>
<div class="row mt-4">
<div class="col-lg-8">
<h2>Overview</h2>
<hr>
<p> If you've done excellent work in measurement, you should consider nominating your team for this special prize. Synthetic Biology needs great measurement approaches for characterizing parts, and efficient new methods for characterizing many parts at once. If you've done something exciting in the area of Measurement, describe it here!</p>
</div>
<div class="col-lg-4">
<h2>Inspirations</h2>
<hr>
<ul>
<li><a href="http://2018.igem.org/Team:UC_Davis/Measurement">2018 UC Davis</a></li>
<li><a href="https://2019.igem.org/Team:Newcastle/Measurement">2019 Newcastle</a></li>
<li><a href="https://2019.igem.org/Team:Evry_Paris-Saclay/Measurement">2019 Evry Paris Saclay</a></li>
<li><a href="https://2019.igem.org/Team:GENAS_China/Measurement">2019 GENAS China</a></li>
<li><a href="https://2020.igem.org/Team:Calgary/Measurement">2020 Calgary</a></li>
<li><a href="https://2020.igem.org/Team:CSMU_Taiwan/Measurement">2020 CSMU Taiwan</a></li>
</ul>
</div>
</div>
-->
<head>
</head>
<body>
<div class="row mt-4">
<!-- Overview Section -->
<div class="col-lg-3 mb-4">
<div id="overview" class="sticky-top">
<h5>Overview</h5>
<ul class="nav flex-column"> <!--YOU CAN ADD MORE OVERVIEW LINKS HERE, SIMPLY DUPLICATE AN UNORDERED LIST-->
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID">EDIT OVERVIEW TEXT</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID-1">EDIT SUBHEADING 1</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#cool">EDIT SUB SUBHEADING 1</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cool2">EDIT SUB SUB HEADING 2</a>
</li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID-2">EDIT SUBHEADING 2</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="col-lg-9">
<div id="EDIT-ID" class="mt-4">
<h2>EDIT HEADER</h2>
<p>EDIT TEXT</p>
<hr>
<div id="EDIT-ID-1">
<h3>EDIT SUBHEADING</h3>
<p>EDIT TEXT</p>
</div>
<div id="cool">
<h4>EDIT SUB SUBHEADING</h4>
<p>EDIT TEXT</p>
</div>
<div id="cool2">
<h4>EDIT SUB SUBHEADING</h4>
<p>EDIT TEXT</p>
</div>
<div id="EDIT-ID-2">
<h3>EDIT SUBHEADING</h3>
<p>EDIT TEXT</p>
</div>
</div>
</div>
</div>
</body>
{% endblock %}
{% extends "layout.html" %}
{% block title %}Model{% endblock %}
{% block lead %}Explain your model's assumptions, data, parameters, and results in a way that anyone could understand.{% endblock %}
{% block lead %}Explain your model's assumptions, data, parameters, and results in a way that anyone could understand.{%
endblock %}
{% block page_content %}
<!--
......@@ -38,9 +39,11 @@
</div>
</div>
-->
<head>
</head>
<body>
<div class="row mt-4">
......@@ -48,12 +51,26 @@
<div class="col-lg-3 mb-4">
<div id="overview" class="sticky-top">
<h5>Overview</h5>
<ul class="nav flex-column"> <!--YOU CAN ADD MORE OVERVIEW LINKS HERE, SIMPLY DUPLICATE AN UNORDERED LIST-->
<ul class="nav flex-column">
<li class="nav-item">
<a href="#molecular-dynamics" class="nav-link">Molecular Dynamics</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a href="#description-and-purpose-md" class="nav-link">Description and Purpose</a>
</li>
<li class="nav-item">
<a href="#construction-md" class="nav-link">Construction</a>
</li>
<li class="nav-item">
<a href="#results-md" class="nav-link">Results</a>
</li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="#Virtual-cell">Virtual Cell</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#Description-and-purpose-vcell">Description and Purpose</a>
<a class="nav-link" href="#Description-and-purpose-vcell">Description and Purpose</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#Construction-vcell">Construction</a>
......@@ -68,154 +85,219 @@
<a class="nav-link" href="#Construct-2">Construct 2</a>
</li>
<li class="nav-item">
<a href="#Construct-3">Construct 3</a>
<a href="#Construct-3" class="nav-link">Construct 3</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="nav-item">
<a href="#Molecular-dynamics" class="nav-link">Molecular Dynamics</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a href="#Description-and-purpose-md">Description and Purpose</a>
</li>
<li class="nav-item">
<a href="#Construction-md">Construction</a>
</li>
<li class="nav-item">
<a href="#Results-md">Results</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="col-lg-9">
<div id="molecular-dynamics" class="mt-4">
<h2>Molecular Dynamics</h2>
<div id="description-and-purpose-md">
<h3>Description</h3>
<p>After using hlFAB in the lab and receiving a negative result, no GFP expression, we wanted to understand
more about what happened when FAB-GFP interacted with PFOA. To accomplish this, we would need to simulate
PFOA binding to FAB and analyze the bind to determine its effectiveness. We used AutoDock Vina, a docking
software, to speed up the process, to place PFOA in the FAB binding domain. After the docking study, the
best pose was selected, and the resulting complex was brought into Amber. From there, a quick implicit
simulation was run to confirm that PFOA did stay in the FAB binding domain, confirming a bind. After we
confirmed that PFOA was bound to FAB, we used the Molecular Mechanics Poisson-Boltzmann Surface Area method
(MMPBSA) to evaluate the strength of the bind. MMPBSA works by removing the ligand (PFOA) from the receptor
(FAB) and calculates the force required to do so; a higher force (ΔG) means a stronger bond. The MMPBSA
method is based on the free energy equation: ΔG_bind = ΔE_vdw + ΔE_elec + ΔG_solv - TΔS, where each term
represents van der Waals energy, electrostatic energy, solvation free energy, and entropy, respectively.
After running the MMPBSA, the charge contribution was analyzed with a custom Python script, allowing us to
determine what residues played the most significant roles in the bind. As an added benefit, inding the ΔG
also allows us to calculate accurate rate constants for Vcell.
Furthermore, we wanted to see how to improve the bind of PFOA and hlFAB, potentially decreasing the lower
detection limit of FAB. Using ChimeraX and Rotamers, we could accurately mutate hlFAB by swapping amino acid
residues. To optimize the MMPBSA calculation, we created a pipeline that allows us to retrieve the ΔG of any
hlFAB mutation and PFOA.
</p>
</div>
<div id="construction-md">
<h3>Construction</h3>
<p>We used AlphaFold to fold the FAB-GFP structure using the sequence found in Dr. Berger’s paper. We then
retrieved the SDF file for PFOA from its PubChem page. The charges for PFOA were generated from Antechamber,
the industry standard. In AutoDock Vina, we selected the entire FAB domain to ensure we tried all the
possibilities.
</p>
<p>We then took the resulting pose, and split it into 3 files, the receptor, the ligand, and the complex. The
files were then fed through the pipeline to get the MMPBSA results. The MMPBSA pipeline contains x stages:
Creating topology in LEaP, Minimizing the energy, Heating the structure, Equilibrating the density,
Equilibrating the structure, A production run, the MMPBSA, and finally the data curation script.
</p>
</div>
<div id="results-md">
<h3>Results</h3>
</div>
</div>
<div id="Virtual-cell" class="mt-4">
<h2>Virtual Cell Kinetic modeling</h2>
<hr>
<div id="Description-and-purpose-vcell">
<h3>Description and Purpose</h3>
<p>To get an idea of how our system would play out and determine the effect size of different perturbations on the system, we modeled our genetic constructs in the Virtual Cell software using the Gibson-Bruck stochastic solver. The stochastic solver is more accurate for nanoscale reactions than deterministic differential equations, and Virtual Cell provides a view-friendly user interface for designing reaction networks.</p>
<p>To get an idea of how our system would play out and determine the effect size of different perturbations on
the system, we modeled our genetic constructs in the Virtual Cell software using the Gibson-Bruck stochastic
solver. The stochastic solver is more accurate for nanoscale reactions than deterministic differential
equations, and Virtual Cell provides a view-friendly user interface for designing reaction networks.</p>
</div>
<div id="Construction-vcell">
<h3>Construction</h3>
<p>Whenever possible, we extracted rate constants from existing literature.
Due to inconclusive experimental results, all our rate constants were extracted from literature or estimated.
All our models are publicly available on VCell and are also saved to our team’s software gitlab. You will need to download Virtual Cell to see our models.
See our Engineering page for more details on how we constructed and refined our models, and see our Contributions page for how to access our models.
</p>
<h2>Constructs Table</h2>
<p>Whenever possible, we extracted rate constants from existing literature.
Due to inconclusive experimental results, all our rate constants were extracted from literature or
estimated.
All our models are publicly available on VCell and are also saved to our team’s software gitlab. You will
need to download Virtual Cell to see our models.
See our Engineering page for more details on how we constructed and refined our models, and see our
Contributions page for how to access our models.
</p>
<h2>Constructs Table</h2>
<table>
<tr>
<th>Construct Name</th>
<th>Biomodel Name</th>
<th>Creator of Biomodel</th>
<th>Short Description</th>
</tr>
<tr>
<td>Prma_GFP Construct</td>
<td>pRMA_GFP construct 1 v1.3</td>
<td>Pillow123</td>
<td>This construct explored the use of the pRMA promoter in response to PFAS to produce SF_GFP</td>
</tr>
<tr>
<td>FAB_GFP Construct</td>
<td>Construct 3_Cycle3_dgl</td>
<td>dglVcell</td>
<td>This construct explored the FAB protein mechanism in expressing FAB_GFP in response to PFAS</td>
</tr>
<tr>
<td>Synthetic_Transcription_Factor Construct</td>
<td>FAB_GFP_Construct_v1.1_Douglas</td>
<td>dglVcell</td>
<td>In this construct we modeled the dynamics of GFP under the control of a potentially PFAS inducible synthetic transcription factor</td>
</tr>
<tr>
<th>Construct Name</th>
<th>Biomodel Name</th>
<th>Creator of Biomodel</th>
<th>Short Description</th>
</tr>
<tr>
<td>Prma_GFP Construct</td>
<td>pRMA_GFP construct 1 v1.3</td>
<td>Pillow123</td>
<td>This construct explored the use of the pRMA promoter in response to PFAS to produce SF_GFP</td>
</tr>
<tr>
<td>FAB_GFP Construct</td>
<td>Construct 3_Cycle3_dgl</td>
<td>dglVcell</td>
<td>This construct explored the FAB protein mechanism in expressing FAB_GFP in response to PFAS</td>
</tr>
<tr>
<td>Synthetic_Transcription_Factor Construct</td>
<td>FAB_GFP_Construct_v1.1_Douglas</td>
<td>dglVcell</td>
<td>In this construct we modeled the dynamics of GFP under the control of a potentially PFAS inducible
synthetic transcription factor</td>
</tr>
</table>
</div>
<div id="Results-vcell">
<h3>Results</h3>
<h4 id="Construct-1">Construct 1: prmA-GFP</h4>
<img src="https://static.igem.wiki/teams/5114/images-arjun/screenshot-2024-09-15-105032.png" alt="pRMA_GFP Biomodel Image">
<p>This simulates GFP production when under the control of the prmA promoter, which has been shown to upregulate transcription in the presence of PFAS. This is a model of our part BBa_K5114823.
Because the mechanism of the prmA promoter is poorly understood, we approximated its response to PFAS as the DNA binding to PFAS molecules which increases its rate of transcription.
This model also takes into account the leakiness of the promoter. Experimental evidence suggests PFAS presence only increases expression of prmA controlled proteins by about 3 fold.
<img src="https://static.igem.wiki/teams/5114/images-arjun/screenshot-2024-09-15-105032.png"
alt="pRMA_GFP Biomodel Image">
<p>This simulates GFP production when under the control of the prmA promoter, which has been shown to
upregulate transcription in the presence of PFAS. This is a model of our part BBa_K5114823.
Because the mechanism of the prmA promoter is poorly understood, we approximated its response to PFAS as the
DNA binding to PFAS molecules which increases its rate of transcription.
This model also takes into account the leakiness of the promoter. Experimental evidence suggests PFAS
presence only increases expression of prmA controlled proteins by about 3 fold.
</p>
<img src="https://static.igem.wiki/teams/5114/images-arjun/screenshot-2024-09-15-105104.png" alt="pRMA_GFP graph">
<p>This graph demonstrates the dynamics of the simple genetic circuit. The presence of GFP in the absence of PFAS is due to the basal production rate of the promoter. As shown, the amount of GFP by the end of the simulation increases as the amount of PFAS added increases. There appears to be a significant increase in the amount of GFP produced compared to basal production in the presence of as little as 0.01 uM (micromolar) of PFAS. As the amount of initial PFAS increases, the increase in GFP production slows down, likely due to saturation of DNA with PFAS. Thus, the highest curves represent maximal GFP production rate.
<img src="https://static.igem.wiki/teams/5114/images-arjun/screenshot-2024-09-15-105104.png"
alt="pRMA_GFP graph">
<p>This graph demonstrates the dynamics of the simple genetic circuit. The presence of GFP in the absence of
PFAS is due to the basal production rate of the promoter. As shown, the amount of GFP by the end of the
simulation increases as the amount of PFAS added increases. There appears to be a significant increase in
the amount of GFP produced compared to basal production in the presence of as little as 0.01 uM (micromolar)
of PFAS. As the amount of initial PFAS increases, the increase in GFP production slows down, likely due to
saturation of DNA with PFAS. Thus, the highest curves represent maximal GFP production rate.
</p>
<br>
<p>
This model served as our first experience with modeling genetic circuits to detect PFAS, however we were skeptical that prmA would work in our chassis of E. coli because the transcriptional machinery that regulate the prmA promoter appears to be unique to Rhodococcus, as we found in a BLAST search. Additionally, chemicals very rarely bind directly to DNA to modulate transcriptional activity, so this model should not be taken as entirely true.
This model served as our first experience with modeling genetic circuits to detect PFAS, however we were
skeptical that prmA would work in our chassis of E. coli because the transcriptional machinery that regulate
the prmA promoter appears to be unique to Rhodococcus, as we found in a BLAST search. Additionally,
chemicals very rarely bind directly to DNA to modulate transcriptional activity, so this model should not be
taken as entirely true.
</p>
<h4 id="Construct-2">Construct 2: Conjugated human liver fatty acid binding protein and GFP (hlFAB-GFP or FAB-GFP)</h4>
<p>hlFAB-GFP is a protein made of circularly permuted GFP and human liver fatty acid binding protein, created by Mann and Berger in 2023. It acts as a PFAS sensor by fluorescence upon binding with PFAS. When no PFAS is bound, water can infiltrate the hydrophobic barrel of GFP that shields its chromophore and quench the fluorescence. When PFAS is bound to the hlFAB domain, less water can infiltrate and fluorescence is stronger. This models our part BBa_K5114228.</p>
<img src="https://static.igem.wiki/teams/5114/vcelleng/fab-pathway.png" alt="fab pathway" width="70%" height="70%">
<p>Simulations were carried out for 100 minutes (6000) seconds at various concentrations of initial PFAS. The environment was made to be 1000 um^3 in volume because that is the expected amount of water “available” to each individual cell (max density of <i>E. coli</i> is around 10^9 cells/ml). Cell volume was set to 1 um^3 based on established cell sizes of E. coli at stationary phase. Simulations were carried out at non-steady-state and steady-state (concentration of FAB_GFP and FAB_GFP_mRNA are stable) conditions, found by deterministic ODE modeling.
Regulations for PFAS are on the parts per trillion (ppt) level, so we used 1 ppt as our minimum concentration. Assuming 1 ppt=1 ng/L and the molar weight of PFOA, a common model PFAS, is 414 g/mol, that means 1 ppt is approximately 2E-6 uM of PFOA. Therefore, we simulated from 1E-6 uM initial PFAS in the environment up to 1E-2 uM, which would correlate to roughly 5 ppb.
<h4 id="Construct-2">Construct 2: Conjugated human liver fatty acid binding protein and GFP (hlFAB-GFP or
FAB-GFP)</h4>
<p>hlFAB-GFP is a protein made of circularly permuted GFP and human liver fatty acid binding protein, created
by Mann and Berger in 2023. It acts as a PFAS sensor by fluorescence upon binding with PFAS. When no PFAS is
bound, water can infiltrate the hydrophobic barrel of GFP that shields its chromophore and quench the
fluorescence. When PFAS is bound to the hlFAB domain, less water can infiltrate and fluorescence is
stronger. This models our part BBa_K5114228.</p>
<img src="https://static.igem.wiki/teams/5114/vcelleng/fab-pathway.png" alt="fab pathway" width="70%"
height="70%">
<p>Simulations were carried out for 100 minutes (6000) seconds at various concentrations of initial PFAS. The
environment was made to be 1000 um^3 in volume because that is the expected amount of water “available” to
each individual cell (max density of <i>E. coli</i> is around 10^9 cells/ml). Cell volume was set to 1 um^3
based on established cell sizes of E. coli at stationary phase. Simulations were carried out at
non-steady-state and steady-state (concentration of FAB_GFP and FAB_GFP_mRNA are stable) conditions, found
by deterministic ODE modeling.
Regulations for PFAS are on the parts per trillion (ppt) level, so we used 1 ppt as our minimum
concentration. Assuming 1 ppt=1 ng/L and the molar weight of PFOA, a common model PFAS, is 414 g/mol, that
means 1 ppt is approximately 2E-6 uM of PFOA. Therefore, we simulated from 1E-6 uM initial PFAS in the
environment up to 1E-2 uM, which would correlate to roughly 5 ppb.
</p>
<img src="https://static.igem.wiki/teams/5114/vcelleng/fabgfp-plots.jpg" alt="fabgfp plots" width="70%" height="70%">
<p>Interestingly, steady state modeling does not yield significant differences in maximal fluorescence. This is likely because the fluorescence is actually limited by the amount of PFAS available to bind to hlFAB-GFP. This can be seen in the graphs below. Since the environment is set to be 1000 times larger in volume than the cell, the final concentration of bound hlFAB-GFP is 1000 times the initial concentration of PFAS, indicating nearly every molecule of PFAS is bound to a hlFAB-GFP.
<img src="https://static.igem.wiki/teams/5114/vcelleng/fabgfp-plots.jpg" alt="fabgfp plots" width="70%"
height="70%">
<p>Interestingly, steady state modeling does not yield significant differences in maximal fluorescence. This
is likely because the fluorescence is actually limited by the amount of PFAS available to bind to hlFAB-GFP.
This can be seen in the graphs below. Since the environment is set to be 1000 times larger in volume than
the cell, the final concentration of bound hlFAB-GFP is 1000 times the initial concentration of PFAS,
indicating nearly every molecule of PFAS is bound to a hlFAB-GFP.
</p>
<img src="https://static.igem.wiki/teams/5114/vcelleng/fabgfp-pfas-depletion-at-non-steady-state.jpg" alt="pfas depletion plots", width="70%",height=70%>
<p>From 1E-6 to 1E-4, the stochastic nature of the simulation is evident: each step up on the graph represents one PFAS molecule diffusing into the cell from the environment and binding to one molecule of hlFAB-GFP.
<img src="https://static.igem.wiki/teams/5114/vcelleng/fabgfp-pfas-depletion-at-non-steady-state.jpg"
alt="pfas depletion plots" , width="70%" ,height=70%>
<p>From 1E-6 to 1E-4, the stochastic nature of the simulation is evident: each step up on the graph represents
one PFAS molecule diffusing into the cell from the environment and binding to one molecule of hlFAB-GFP.
<br>
Thus, our model indicates that biosensors that directly fluoresce upon binding to PFAS are limited by the amount of PFAS available to them, and not necessarily by the binding affinity of the protein. Future work should focus on increasing the effective fluorescence of the molecule.
Thus, our model indicates that biosensors that directly fluoresce upon binding to PFAS are limited by the
amount of PFAS available to them, and not necessarily by the binding affinity of the protein. Future work
should focus on increasing the effective fluorescence of the molecule.
</p>
<h4 id="Construct-3">Construct 3: Synthetic estradiol transcription factor</h4>
<p>A synthetic estradiol transcription factor (synTrans or STF for short) was originally created by fusing the hormone binding domain of human estrogen receptor alpha with the DNA binding domain of the Lex transcription factor and the Herpes-Simplex Virus protein VP16 to recruit ribosomes. The STF has been successfully used in yeast as a gratuitous transcription factor. Since PFAS has been shown to be an agonist for human estrogen receptor, we attempted to express it in E. coli to see if we could use the STF as a transcription factor inducible by PFAS. This is a model for our parts TBD and TBD.
<p>A synthetic estradiol transcription factor (synTrans or STF for short) was originally created by fusing the
hormone binding domain of human estrogen receptor alpha with the DNA binding domain of the Lex transcription
factor and the Herpes-Simplex Virus protein VP16 to recruit ribosomes. The STF has been successfully used in
yeast as a gratuitous transcription factor. Since PFAS has been shown to be an agonist for human estrogen
receptor, we attempted to express it in E. coli to see if we could use the STF as a transcription factor
inducible by PFAS. This is a model for our parts TBD and TBD.
</p>
<img src="https://static.igem.wiki/teams/5114/vcelleng/stf-pathway.png" alt="stf pathway" width="70%" height="70%">
<p>Cell and environment volumes were kept at 1 and 1000 um^3, respectively. Initial PFAS concentrations were also kept the same. Simulations were carried out in ideal settings that were not at steady state and had no promoter leakage (expression of GFP without the STF binding to the DNA), as well as in more realistic conditions where there was promoter leakage and the concentrations of the STF and its mRNA were constant. </p>
<img src="https://static.igem.wiki/teams/5114/vcelleng/stf-plots.jpg" alt="stf plots" width="70%" height="70%">
<p>Compared to hlFAB-GFP, this construct appears to be much more sensitive to small quantities of PFAS. Each initial PFAS concentration resulted in much more GFP produced compared to the hlFAB-GFP. The increase in GFP production as initial PFAS concentration increases does not appear to increase logarithmically as did the hlFAB-GFP construct. However, the graphs imply the amount of GFP produced has yet to reach a steady state, indicating that longer exposure times to PFAS may produce more differentiated levels of GFP.
When considering GFP production in the presence of leaking promoters, it appears that it is more difficult to distinguish concentrations below 1E-4, as the shapes of the graph are very similar. It is possible that longer incubation time will make for more differentiated graphs, although more testing is required. The differentiability of the graphs will also depend on the sensitivity of the fluorimeter used.
Steady state conditions appear to slightly increase the rate of GFP at any given time, likely because there is more free STF available to bind to PFAS as soon as PFAS diffuses into the cell.
In summary, a synthetic transcription factor inducible by PFAS will likely produce much more fluorescence than something similar to hlFAB-GFP, with the fluorescence more limited by time than by the amount of PFAS available. However, promoter leakage must be kept to a minimum to better separate very low concentrations of PFAS, or be incubated for longer periods of time.
Our modeling demonstrates that steady state conditions do not significantly affect the fluorescence time or maximal fluorescence for hlFAB-GFP, and affects the STF by simply increasing the rate at which PFAS can be bound and GFP can be produced.
<img src="https://static.igem.wiki/teams/5114/vcelleng/stf-pathway.png" alt="stf pathway" width="70%"
height="70%">
<p>Cell and environment volumes were kept at 1 and 1000 um^3, respectively. Initial PFAS concentrations were
also kept the same. Simulations were carried out in ideal settings that were not at steady state and had no
promoter leakage (expression of GFP without the STF binding to the DNA), as well as in more realistic
conditions where there was promoter leakage and the concentrations of the STF and its mRNA were constant.
</p>
</div>
<div id="cool">
<h4>EDIT SUB SUBHEADING</h4>
<p>EDIT TEXT</p>
</div>
<div id="cool2">
<h4>EDIT SUB SUBHEADING</h4>
<p>EDIT TEXT</p>
</div>
<div id="EDIT-ID-2">
<h3>EDIT SUBHEADING</h3>
<p>EDIT TEXT</p>
</div>
</div>
<div id="Molecular-dynamics">
<h2>Molecular Dynamics</h2>
<div id="Description-and-purpose-md">
<h3>Description</h3>
<p>After using hlFAB in the lab and receiving a negative result, no GFP expression, we wanted to understand more about what happened when FAB-GFP interacted with PFOA. To accomplish this, we would need to simulate PFOA binding to FAB and analyze the bind to determine its effectiveness. We used AutoDock Vina, a docking software, to speed up the process, to place PFOA in the FAB binding domain. After the docking study, the best pose was selected, and the resulting complex was brought into Amber. From there, a quick implicit simulation was run to confirm that PFOA did stay in the FAB binding domain, confirming a bind. After we confirmed that PFOA was bound to FAB, we used the Molecular Mechanics Poisson-Boltzmann Surface Area method (MMPBSA) to evaluate the strength of the bind. MMPBSA works by removing the ligand (PFOA) from the receptor (FAB) and calculates the force required to do so; a higher force (ΔG) means a stronger bond. The MMPBSA method is based on the free energy equation: ΔG_bind = ΔE_vdw + ΔE_elec + ΔG_solv - TΔS, where each term represents van der Waals energy, electrostatic energy, solvation free energy, and entropy, respectively. After running the MMPBSA, the charge contribution was analyzed with a custom Python script, allowing us to determine what residues played the most significant roles in the bind. As an added benefit, inding the ΔG also allows us to calculate accurate rate constants for Vcell.
Furthermore, we wanted to see how to improve the bind of PFOA and hlFAB, potentially decreasing the lower detection limit of FAB. Using ChimeraX and Rotamers, we could accurately mutate hlFAB by swapping amino acid residues. To optimize the MMPBSA calculation, we created a pipeline that allows us to retrieve the ΔG of any hlFAB mutation and PFOA.
</p>
</div>
<div id="Construction-md">
<h3>Construction</h3>
<p>We used AlphaFold to fold the FAB-GFP structure using the sequence found in Dr. Berger’s paper. We then retrieved the SDF file for PFOA from its PubChem page. The charges for PFOA were generated from Antechamber, the industry standard. In AutoDock Vina, we selected the entire FAB domain to ensure we tried all the possibilities.
</p>
<p>We then took the resulting pose, and split it into 3 files, the receptor, the ligand, and the complex. The files were then fed through the pipeline to get the MMPBSA results. The MMPBSA pipeline contains x stages: Creating topology in LEaP, Minimizing the energy, Heating the structure, Equilibrating the density, Equilibrating the structure, A production run, the MMPBSA, and finally the data curation script.
<img src="https://static.igem.wiki/teams/5114/vcelleng/stf-plots.jpg" alt="stf plots" width="70%"
height="70%">
<p>Compared to hlFAB-GFP, this construct appears to be much more sensitive to small quantities of PFAS. Each
initial PFAS concentration resulted in much more GFP produced compared to the hlFAB-GFP. The increase in GFP
production as initial PFAS concentration increases does not appear to increase logarithmically as did the
hlFAB-GFP construct. However, the graphs imply the amount of GFP produced has yet to reach a steady state,
indicating that longer exposure times to PFAS may produce more differentiated levels of GFP.
When considering GFP production in the presence of leaking promoters, it appears that it is more difficult
to distinguish concentrations below 1E-4, as the shapes of the graph are very similar. It is possible that
longer incubation time will make for more differentiated graphs, although more testing is required. The
differentiability of the graphs will also depend on the sensitivity of the fluorimeter used.
Steady state conditions appear to slightly increase the rate of GFP at any given time, likely because there
is more free STF available to bind to PFAS as soon as PFAS diffuses into the cell.
In summary, a synthetic transcription factor inducible by PFAS will likely produce much more fluorescence
than something similar to hlFAB-GFP, with the fluorescence more limited by time than by the amount of PFAS
available. However, promoter leakage must be kept to a minimum to better separate very low concentrations of
PFAS, or be incubated for longer periods of time.
Our modeling demonstrates that steady state conditions do not significantly affect the fluorescence time or
maximal fluorescence for hlFAB-GFP, and affects the STF by simply increasing the rate at which PFAS can be
bound and GFP can be produced.
</p>
</div>
<div id="#Results-md">
<h3>Results</h3>
</div>
</div>
</div>
</div>
</body>
{% endblock %}
{% endblock %}
\ No newline at end of file
{% extends "layout.html" %}
{% block title %}NOTEBOOK{% endblock %}
{% block lead %}OUR LAB NOTEBOOK!{% endblock %}
......@@ -31,9 +31,11 @@
</div>
</div>
-->
<head>
</head>
<body>
<div class="row mt-4">
......@@ -55,7 +57,7 @@
<a class="nav-link" href="#plate">Plate-Prep</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#single-0">Single Transformation</a>
<a class="nav-link" href="#single-0">Single Transformation</a>
<ul class="nav flex-column"> <!--YOU CAN ADD MORE OVERVIEW LINKS HERE, SIMPLY DUPLICATE AN UNORDERED LIST-->
<li class="nav-item">
<a class="nav-link" href="#single-1">Construct 2</a>
......@@ -216,19 +218,25 @@
<div id="guide" class="mt-4">
<h1>General Guidelines</h1>
<p><strong>Always</strong> clean all work areas (fume hood, bench, sinks, balance area, and other work surfaces) thoroughly before you start working, and after you complete your work in the laboratory.<br><strong>Never</strong> eat or drink in the laboratory and wash your hands before leaving the laboratory.</p>
<p><strong>Always</strong> clean all work areas (fume hood, bench, sinks, balance area, and other work surfaces)
thoroughly before you start working, and after you complete your work in the
laboratory.<br><strong>Never</strong> eat or drink in the laboratory and wash your hands before leaving the
laboratory.</p>
<p>View a PDF version of our Lab-notebook</p>
<a href="https://static.igem.wiki/teams/5114/vishwaa/lab-notebook-2.pdf" target="_blank">
<button href="">Lab Notebook</button>
</a>
<hr>
</div>
<div id="select" class="mt-4">
<h2><strong>Selective Agar Prep (6/8/2024) Performed by Sheila T.</strong></h2>
<p><strong>Always</strong> clean all work areas (fume hood, bench, sinks, balance area, and other work surfaces) thoroughly before you start working, and after you complete your work in the laboratory.<br><strong>Never</strong> eat or drink in the laboratory and wash your hands before leaving the laboratory.</p>
<p><strong>Always</strong> clean all work areas (fume hood, bench, sinks, balance area, and other work surfaces)
thoroughly before you start working, and after you complete your work in the
laboratory.<br><strong>Never</strong> eat or drink in the laboratory and wash your hands before leaving the
laboratory.</p>
<hr>
<ul>
<li>
......@@ -279,9 +287,10 @@
</ul>
</li>
<li>
<p>Poured 11 plates of Kanamycin, 10 plates of Ampicillin, &amp; 3 plates of both. Each plate contained 25 mL of agar.</p>
<p>Poured 11 plates of Kanamycin, 10 plates of Ampicillin, &amp; 3 plates of both. Each plate contained 25
mL of agar.</p>
</li>
</ul>
</ul>
</div>
<div id="screen" class="mt-4">
......@@ -310,7 +319,8 @@
<p>Pushed plunger down and collected the X-Gal in a 10 mL tube</p>
</li>
<li>
<p>Discarded needle and syringe in the sharps container and the filter in the regulated waste container</p>
<p>Discarded needle and syringe in the sharps container and the filter in the regulated waste container
</p>
</li>
</ul>
</li>
......@@ -322,7 +332,7 @@
</li>
</ul>
</li>
</ul>
</ul>
</div>
<div id="plate" class="mt-4">
......@@ -332,22 +342,32 @@
<li>
<p>For the mixed plates: (5 Plates poured and stored at 4 degrees Celsius)</p>
<ul>
<li><p>75 mL Agar</p></li>
<li><p>375 µL Kanamycin</p></li>
<li><p>750 µL Ampicillin</p></li>
<li>
<p>75 mL Agar</p>
</li>
<li>
<p>375 µL Kanamycin</p>
</li>
<li>
<p>750 µL Ampicillin</p>
</li>
</ul>
</li>
<li>
<p>For Kanamycin Only (6 plates stored at 4 Celsius)</p>
<ul>
<li><p>90 mL Agar</p></li>
<li><p>450 µL Kanamycin</p></li>
<li>
<p>90 mL Agar</p>
</li>
<li>
<p>450 µL Kanamycin</p>
</li>
</ul>
</li>
<li>
<p>All work was done in a sterile fume hood disinfected with 70% ethanol.</p>
</li>
</ul>
</ul>
</div>
<div id="single-0" class="mt-4">
......@@ -357,72 +377,73 @@
<h3><strong>Construct 2: Performed by Vishwaa K., Edward K., Leon G.</strong></h3>
<ul>
<li>
<p>Competent cells were thawed for 25 minutes on ice.</p>
<p>Competent cells were thawed for 25 minutes on ice.</p>
</li>
<li>
<p>Mixed 0.5 µL plasmid with 1.5 µL water in 1.5 mL DNA tube.</p>
<p>Mixed 0.5 µL plasmid with 1.5 µL water in 1.5 mL DNA tube.</p>
</li>
<li>
<p>Vortex the diluted plasmid DNA for 2 seconds.</p>
<ul>
<li>
<p>Note: Edward Centrifuged for too long (20 seconds).</p>
</li>
</ul>
<p>Vortex the diluted plasmid DNA for 2 seconds.</p>
<ul>
<li>
<p>Note: Edward Centrifuged for too long (20 seconds).</p>
</li>
</ul>
</li>
<li>
<p>Added 50 µL E.coli to DNA tube.</p>
<ul>
<li>
<p>Note: Leon left some of the mix of the 1.5 mL tube in the pipette tip.</p>
</li>
</ul>
<p>Added 50 µL E.coli to DNA tube.</p>
<ul>
<li>
<p>Note: Leon left some of the mix of the 1.5 mL tube in the pipette tip.</p>
</li>
</ul>
</li>
<li>
<p>Flicked the 1.5 mL DNA tube to mix the DNA and competent cells gently.</p>
<p>Flicked the 1.5 mL DNA tube to mix the DNA and competent cells gently.</p>
</li>
<li>
<p>Placed the tube on ice for 25 min.</p>
<p>Placed the tube on ice for 25 min.</p>
</li>
<li>
<p>Resealed the plasmid storage tubes and returned them to the freezer.</p>
<p>Resealed the plasmid storage tubes and returned them to the freezer.</p>
</li>
<li>
<p>Heat shocked the transformation tube at 42°C for 30 seconds.</p>
<p>Heat shocked the transformation tube at 42°C for 30 seconds.</p>
</li>
<li>
<p>Placed heat-shocked 1.5 mL DNA tube on ice for 2 minutes.</p>
<p>Placed heat-shocked 1.5 mL DNA tube on ice for 2 minutes.</p>
</li>
<li>
<p>Added 500 µL of SOC media to the transformation reaction.</p>
<p>Added 500 µL of SOC media to the transformation reaction.</p>
</li>
<li>
<p>Placed the transformation tube on a shaker at 200 RPM and 37°C for 60 min.</p>
<p>Placed the transformation tube on a shaker at 200 RPM and 37°C for 60 min.</p>
</li>
<li>
<p>Pipetted 100 µL X-Gal and 40 µL IPTG on six kanamycin plates: 3 high-concentration (100 μg/mL) plates and two low-concentration (50 μg/mL) plates.</p>
<p>Pipetted 100 µL X-Gal and 40 µL IPTG on six kanamycin plates: 3 high-concentration (100 μg/mL) plates
and two low-concentration (50 μg/mL) plates.</p>
</li>
<li>
<p>Spread the X-GAL and IPTG evenly on each plate and let the plates dry.</p>
<p>Spread the X-GAL and IPTG evenly on each plate and let the plates dry.</p>
</li>
<li>
<p>Plates were closed with lids until the bacteria were done shaking.</p>
<p>Plates were closed with lids until the bacteria were done shaking.</p>
</li>
<li>
<p>Added bacteria to plates; plates had the following µL of bacteria, respectively:</p>
<ul>
<li>
<p>High-concentration plates: 150 µL, 100 µL, 50 µL.</p>
</li>
<li>
<p>Low-concentration plates: 30 µL, 10 µL.</p>
</li>
</ul>
<p>Added bacteria to plates; plates had the following µL of bacteria, respectively:</p>
<ul>
<li>
<p>High-concentration plates: 150 µL, 100 µL, 50 µL.</p>
</li>
<li>
<p>Low-concentration plates: 30 µL, 10 µL.</p>
</li>
</ul>
</li>
<li>
<p>Incubated overnight at 37°C.</p>
<p>Incubated overnight at 37°C.</p>
</li>
</ul>
</ul>
</div>
<div id="single-2">
<h3><strong>Construct 1: Performed by Shlok J., Akhila N., James M.</strong></h3>
......@@ -452,7 +473,8 @@
<p>Incubated the E. coli/DNA mixture on ice for 25 min.</p>
</li>
<li>
<p>After the incubation, the ice bucket was taken to the water bath, and the E. coli/DNA tube was heat-shocked for 30 sec at 42°C.</p>
<p>After the incubation, the ice bucket was taken to the water bath, and the E. coli/DNA tube was
heat-shocked for 30 sec at 42°C.</p>
</li>
<li>
<p>Returned the E. coli/DNA tube to ice for 2 min.</p>
......@@ -475,7 +497,7 @@
<li>
<p>Incubate plates at 37°C overnight (putting plates upside down).</p>
</li>
</ul>
</ul>
</div>
</div>
......@@ -484,1626 +506,1748 @@
<hr>
<ul>
<li>
<p>Labeled 2, 1.5 mL tubes</p>
<p>Labeled 2, 1.5 mL tubes</p>
</li>
<li>
<p>Competent cells were thawed on ice for 25 minutes</p>
<p>Competent cells were thawed on ice for 25 minutes</p>
</li>
<li>
<p>Added 1.5 µL water into a 1.5 mL centrifuge tube</p>
<p>Added 1.5 µL water into a 1.5 mL centrifuge tube</p>
</li>
<li>
<p>Vortexed the tube containing the plasmid stock for approximately 2 seconds</p>
<p>Vortexed the tube containing the plasmid stock for approximately 2 seconds</p>
</li>
<li>
<p>Added 0.5 µL plasmid DNA to the tube with water</p>
<p>Added 0.5 µL plasmid DNA to the tube with water</p>
</li>
<li>
<p>Added 50 µL <em>E.coli</em> to the DNA tube</p>
<p>Added 50 µL <em>E.coli</em> to the DNA tube</p>
</li>
<li>
<p>Flicked the 1.5 mL tube to mix the DNA and competent cells gently</p>
<p>Flicked the 1.5 mL tube to mix the DNA and competent cells gently</p>
</li>
<li>
<p>Placed 1.5 mL tubes on ice for 25 minutes</p>
<p>Placed 1.5 mL tubes on ice for 25 minutes</p>
</li>
<li>
<p>Heat shocked each transformation 1.5 mL tube at 42°C for 30 seconds</p>
<p>Heat shocked each transformation 1.5 mL tube at 42°C for 30 seconds</p>
</li>
<li>
<p>Placed heat-shocked 1.5 mL tubes on ice for 2 min</p>
<p>Placed heat-shocked 1.5 mL tubes on ice for 2 min</p>
</li>
<li>
<p>Added 500 µL of SOC media to each transformation tube</p>
<p>Added 500 µL of SOC media to each transformation tube</p>
</li>
<li>
<p>Placed each 1.5 mL transformation tube on a shaker at 200 RPM and 37 degrees Celsius for 60 min</p>
<p>Placed each 1.5 mL transformation tube on a shaker at 200 RPM and 37 degrees Celsius for 60 min</p>
</li>
<li>
<p>Pipetted 100 µL X-Gal and 40 µL IPTG on six kanamycin plates: 3 high-concentration</p>
<ul>
<li>
<p>Note: Plates were wrongly plated, and Kanamycin and ampicillin were mixed up, resulting in abnormal results. So we repoured the plates.</p>
</li>
</ul>
<p>Pipetted 100 µL X-Gal and 40 µL IPTG on six kanamycin plates: 3 high-concentration</p>
<ul>
<li>
<p>Note: Plates were wrongly plated, and Kanamycin and ampicillin were mixed up, resulting in abnormal
results. So we repoured the plates.</p>
</li>
</ul>
</li>
<li>
<p>(100 μg/mL) plates and two low-concentration [50 μg/mL] plates.</p>
<p>(100 μg/mL) plates and two low-concentration [50 μg/mL] plates.</p>
</li>
<li>
<p>Spread the X-GAL and IPTG mix evenly on each plate</p>
<p>Spread the X-GAL and IPTG mix evenly on each plate</p>
</li>
<li>
<p>After the plates dried, they were closed with lids until the bacteria were done shaking</p>
<p>After the plates dried, they were closed with lids until the bacteria were done shaking</p>
</li>
<li>
<p>Added bacteria to plates; plates had this many µL of bacteria, respectively:</p>
<ul>
<li>
<p>High-concentration plates: 150 µL, 100 µL, 50 µL</p>
</li>
<li>
<p>Low-concentration plates: 30 µL, 10 µL</p>
</li>
</ul>
<p>Added bacteria to plates; plates had this many µL of bacteria, respectively:</p>
<ul>
<li>
<p>High-concentration plates: 150 µL, 100 µL, 50 µL</p>
</li>
<li>
<p>Low-concentration plates: 30 µL, 10 µL</p>
</li>
</ul>
</li>
<li>
<p>Incubated Overnight at 37 °C</p>
<p>Incubated Overnight at 37 °C</p>
</li>
</ul>
</ul>
</div>
<div id="redo1" class="mt-4">
<h2><strong>Repouring Construct 3 plates (due to previous failure) - Performed by Vishwaa K.</strong></h2>
<hr>
<ul>
<li>
<div id="redo1" class="mt-4">
<h2><strong>Repouring Construct 3 plates (due to previous failure) - Performed by Vishwaa K.</strong></h2>
<hr>
<ul>
<li>
<p>Three types of selective plates were used, 100 µL of Kanamycin, 100 µL of Ampicillin, 100 µL of both</p>
<ul>
<li>
<p>Negative controls showed no growth, so we had to redo</p>
</li>
<li>
<p>Negative controls showed no growth, so we had to redo</p>
</li>
</ul>
</li>
<li>
</li>
<li>
<p>Added 100 µL of X-Gal and 40 µL of IPTG on each plate</p>
</li>
<li>
</li>
<li>
<p>Spread the X-GAL and IPTG evenly on each plate</p>
</li>
<li>
</li>
<li>
<p>After the plates dried, they were closed with lids until the bacteria were done shaking</p>
</li>
<li>
</li>
<li>
<p>Added 20 µL of bacteria to plates</p>
</li>
<li>
</li>
<li>
<p>Incubated Overnight at 37°C</p>
<ul>
<li>
<p>Note: Blue color means:</p>
<ul>
<li>
<p>Empty vector (company didn’t correctly put construct in place of Lac Z)</p>
</li>
<li>
<p>Next time, we should purify and sequence (order by May 25 next year)</p>
</li>
</ul>
</li>
<li>
<p>Note: Blue color means:</p>
<ul>
<li>
<p>Empty vector (company didn’t correctly put construct in place of Lac Z)</p>
</li>
<li>
<p>Next time, we should purify and sequence (order by May 25 next year)</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</li>
</ul>
</div>
<div id="selection" class="mt-4">
<h2>Selection</h2>
<hr>
<div id="selcon2">
<h3><strong>Selection for Construct 2 - 7/11/2024 Performed by Vishwaa K.</strong></h3>
<ul>
<li>
<div id="selection" class="mt-4">
<h2>Selection</h2>
<hr>
<div id="selcon2">
<h3><strong>Selection for Construct 2 - 7/11/2024 Performed by Vishwaa K.</strong></h3>
<ul>
<li>
<p>Opened plates in the fume hood @ 8:30 AM the next day</p>
</li>
<li>
</li>
<li>
<p>Found good growth in Construct 2 plates</p>
</li>
<li>
</li>
<li>
<p>Placed in a 4°C fridge so that blue colonies can emerge</p>
<ul>
<li>
<p>Note: The plate with 10 µL of bacteria worked best</p>
</li>
<li>
<p>Note: The plate with 10 µL of bacteria worked best</p>
</li>
</ul>
</li>
<li>
</li>
<li>
<p>Circled white colonies on all plates with Sharpie on the back of the plate</p>
</li>
<li>
</li>
<li>
<p>Poured 50 mL of LB broth into a tube</p>
</li>
<li>
</li>
<li>
<p>Added 500 µL of Kanamycin to the tube & mixed by inverting</p>
</li>
<li>
</li>
<li>
<p>Aliquoted 5 mL of the solution in each of 10 cell culture tubes under the fume hood</p>
</li>
<li>
</li>
<li>
<p>Used Sterile Pipette tips to select a colony</p>
<ul>
<li>
<p>Swiped colony with the sterile end of the pipette tip</p>
</li>
<li>
<p>Placed full pipette tip inside cell culture tube</p>
</li>
<li>
<p>After inserting the pipette tip, the cell culture tubes were closed halfway to allow the cells to breathe.</p>
</li>
<li>
<p>Swiped colony with the sterile end of the pipette tip</p>
</li>
<li>
<p>Placed full pipette tip inside cell culture tube</p>
</li>
<li>
<p>After inserting the pipette tip, the cell culture tubes were closed halfway to allow the cells to
breathe.</p>
</li>
</ul>
</li>
<li>
</li>
<li>
<p>Placed the tubes in the incubator at 225 rpm, 37 °C overnight</p>
</li>
<li>
</li>
<li>
<p>Plates were sealed with parafilm and stored at 4 °C</p>
</li>
</ul>
</div>
</li>
</ul>
</div>
<div id="selcon3">
<h3><strong>Selection for Construct 3 7-12-24 - Aryan S, Gowshik R, Daniel J</strong></h3>
<p>Circled white colonies on all plates with Sharpie on the back of the plate</p>
<div id="selcon3">
<h3><strong>Selection for Construct 3 7-12-24 - Aryan S, Gowshik R, Daniel J</strong></h3>
<p>Circled white colonies on all plates with Sharpie on the back of the plate</p>
<ul>
<li><p>Poured 50mL of LB broth in a tube</p></li>
<li><p>Added 500 µL of Kanamycin to the tube & mixed by inverting</p></li>
<li><p>Aliquoted 5mL of the solution in each of 10 cell culture tubes under the fume hood</p></li>
<li>
<ul>
<li>
<p>Poured 50mL of LB broth in a tube</p>
</li>
<li>
<p>Added 500 µL of Kanamycin to the tube & mixed by inverting</p>
</li>
<li>
<p>Aliquoted 5mL of the solution in each of 10 cell culture tubes under the fume hood</p>
</li>
<li>
<p>Used Sterile Pipette tips to select a colony</p>
<ul>
<li><p>Swiped colony with the sterile end of the pipette tip</p></li>
<li><p>Placed full pipette tip inside cell culture tube</p></li>
<li><p>After inserting the pipette tip, the cell culture tubes were closed halfway to allow the cells to breathe</p></li>
<li>
<p>Swiped colony with the sterile end of the pipette tip</p>
</li>
<li>
<p>Placed full pipette tip inside cell culture tube</p>
</li>
<li>
<p>After inserting the pipette tip, the cell culture tubes were closed halfway to allow the cells to
breathe</p>
</li>
</ul>
</li>
<li><p>Placed the tubes in the incubator at 225 rpm, 37 °C overnight</p></li>
<li><p>Returned plates to 4 °C fridge after properly sealed with parafilm</p></li>
</ul>
<p>* Old negative controls thrown out</p>
<ul>
<li><p>Added 25 mL LB Broth in broth-Kanamycin solution tube</p></li>
<li>
</li>
<li>
<p>Placed the tubes in the incubator at 225 rpm, 37 °C overnight</p>
</li>
<li>
<p>Returned plates to 4 °C fridge after properly sealed with parafilm</p>
</li>
</ul>
<p>* Old negative controls thrown out</p>
<ul>
<li>
<p>Added 25 mL LB Broth in broth-Kanamycin solution tube</p>
</li>
<li>
<p>Added 250 µL Ampicillin and 250 µL Kanamycin into the tube containing 25 mL LB broth</p>
<ul>
<li><p>Mixed by inverting</p></li>
<li>
<p>Mixed by inverting</p>
</li>
</ul>
</li>
<li><p>Aliquoted 5 mL of the solution to the tubes</p></li>
</ul>
<ul>
<li><p>Circled positive colonies for the redo plates - <strong>7/12/24</strong></p></li>
</ul>
</div>
<div id="selcon1">
<h3>Construct 1</h3>
<p>Due to other members not doing their job, proper notes of what happened were not kept. But the procedures (in wetlab experiments page) contain the steps followed.</p>
</li>
<li>
<p>Aliquoted 5 mL of the solution to the tubes</p>
</li>
</ul>
<ul>
<li>
<p>Circled positive colonies for the redo plates - <strong>7/12/24</strong></p>
</li>
</ul>
</div>
<div id="selcon1">
<h3>Construct 1</h3>
<p>Due to other members not doing their job, proper notes of what happened were not kept. But the procedures
(in wetlab experiments page) contain the steps followed.</p>
</div>
</div>
</div>
<div id="mini" class="mt-4">
<h2>Miniprep</h2>
<hr>
<div id="mini2" >
<h3><strong>Miniprep of Construct 2 - Performed by Vishwaa K., Leon G., and Edward K. - 7/12/2024:</strong></h3>
<ul>
<li>
<p>Removed cell culture tubes at 9:50 AM from the incubator</p>
<ul>
<li>
<p>Note: Leon dropped our cell culture tubes, but none spilled</p>
</li>
</ul>
</li>
<li>
<p>Used a miniprep kit (opened but unused)</p>
</li>
</ul>
<ul>
<li>
<p>Aliquoted 1.5mL of each colony into a respectively labeled microcentrifuge tube</p>
<ul>
<li>
<p>Meaning they were labeled Colony 1 - Colony 5</p>
</li>
</ul>
</li>
<li>
<p>Centrifuged at 8000 rpm and room temperature for 2 mins</p>
</li>
<li>
<p>Labeled five more 1.5mL microcentrifuge tubes (Colony 1-Colony 5) for storage</p>
</li>
<li>
<p>Removed supernatant of microcentrifuge tube</p>
</li>
<li>
<p>Added 250 µL of Resuspension solution to each microcentrifuge tube</p>
</li>
<li>
<p>Flicked tubes gently until cell clumps completely dissolved</p>
</li>
<li>
<p>Added 250 µL of Lysis Solution to each tube and inverted 6 times to mix evenly</p>
</li>
<li>
<p>Added 350 µL of the Neutralization Solution and mixed by inversion until cloudy</p>
</li>
<li>
<p>Centrifuged the tubes at 12000 rpm and room temperature for 5 min</p>
</li>
<li>
<p>Took 650 µL of each microcentrifuge tube’s supernatant and placed it into their respectively labeled spin column</p>
</li>
<li>
<p>Centrifuged the spin columns at 12000 rpm and room temperature for 1 min</p>
</li>
<li>
<strong>Repeated twice</strong>
<ul>
<li>
<p>Discarded flow through of each spin column</p>
</li>
<li>
<p>Added 500 µL wash solution to each spin column</p>
</li>
<li>
<p>Centrifuged the spin columns at 12000 rpm for 1 min</p>
</li>
</ul>
</li>
<li>
<p>Discarded the flow-through of each spin column</p>
</li>
<li>
<p>Centrifuged all the spin columns at 12000 RPM for 1 min</p>
</li>
<li>
<p>Transferred the filter part of each spin column to their respectively labeled microcentrifuge tube</p>
</li>
<li>
<p>Added 50 µL of elution buffer to the center of each spin column filter</p>
</li>
<li>
<p>Incubated at room temperature for 2 minutes</p>
</li>
<li>
<p>Centrifuged at 12000 RPM for 2 min</p>
</li>
<li>
<p>Discarded filter columns and placed the microcentrifuge tubes with the flow through on ice</p>
</li>
<li>
<p>Nanodropped samples for each of the five colonies</p>
</li>
</ul>
</div>
<div id="shitter1">
<h3><strong>Construct 1: Miniprep</strong></h3>
<p>Due to other members not doing their job, proper notes of what happened were not kept. But the procedures (in wetlab experiments page) contain the steps followed.</p>
<div id="mini" class="mt-4">
<h2>Miniprep</h2>
<hr>
<div id="mini2">
<h3><strong>Miniprep of Construct 2 - Performed by Vishwaa K., Leon G., and Edward K. - 7/12/2024:</strong>
</h3>
<ul>
<li>
<p>Removed cell culture tubes at 9:50 AM from the incubator</p>
<ul>
<li>
<p>Note: Leon dropped our cell culture tubes, but none spilled</p>
</li>
</ul>
</li>
<li>
<p>Used a miniprep kit (opened but unused)</p>
</li>
</ul>
<ul>
<li>
<p>Aliquoted 1.5mL of each colony into a respectively labeled microcentrifuge tube</p>
<ul>
<li>
<p>Meaning they were labeled Colony 1 - Colony 5</p>
</li>
</ul>
</li>
<li>
<p>Centrifuged at 8000 rpm and room temperature for 2 mins</p>
</li>
<li>
<p>Labeled five more 1.5mL microcentrifuge tubes (Colony 1-Colony 5) for storage</p>
</li>
<li>
<p>Removed supernatant of microcentrifuge tube</p>
</li>
<li>
<p>Added 250 µL of Resuspension solution to each microcentrifuge tube</p>
</li>
<li>
<p>Flicked tubes gently until cell clumps completely dissolved</p>
</li>
<li>
<p>Added 250 µL of Lysis Solution to each tube and inverted 6 times to mix evenly</p>
</li>
<li>
<p>Added 350 µL of the Neutralization Solution and mixed by inversion until cloudy</p>
</li>
<li>
<p>Centrifuged the tubes at 12000 rpm and room temperature for 5 min</p>
</li>
<li>
<p>Took 650 µL of each microcentrifuge tube’s supernatant and placed it into their respectively labeled
spin column</p>
</li>
<li>
<p>Centrifuged the spin columns at 12000 rpm and room temperature for 1 min</p>
</li>
<li>
<strong>Repeated twice</strong>
<ul>
<li>
<p>Discarded flow through of each spin column</p>
</li>
<li>
<p>Added 500 µL wash solution to each spin column</p>
</li>
<li>
<p>Centrifuged the spin columns at 12000 rpm for 1 min</p>
</li>
</ul>
</li>
<li>
<p>Discarded the flow-through of each spin column</p>
</li>
<li>
<p>Centrifuged all the spin columns at 12000 RPM for 1 min</p>
</li>
<li>
<p>Transferred the filter part of each spin column to their respectively labeled microcentrifuge tube</p>
</li>
<li>
<p>Added 50 µL of elution buffer to the center of each spin column filter</p>
</li>
<li>
<p>Incubated at room temperature for 2 minutes</p>
</li>
<li>
<p>Centrifuged at 12000 RPM for 2 min</p>
</li>
<li>
<p>Discarded filter columns and placed the microcentrifuge tubes with the flow through on ice</p>
</li>
<li>
<p>Nanodropped samples for each of the five colonies</p>
</li>
</ul>
</div>
<div id="shitter1">
<h3><strong>Construct 1: Miniprep</strong></h3>
<p>Due to other members not doing their job, proper notes of what happened were not kept. But the procedures
(in wetlab experiments page) contain the steps followed.</p>
</div>
<div id="shitter2">
<h3><strong>Construct 3: Miniprep</strong></h3>
<p>Due to other members not doing their job, proper notes of what happened were not kept. But the procedures
(in wetlab experiments page) contain the steps followed.</p>
</div>
</div>
<div id="shitter2">
<h3><strong>Construct 3: Miniprep</strong></h3>
<p>Due to other members not doing their job, proper notes of what happened were not kept. But the procedures (in wetlab experiments page) contain the steps followed.</p>
</div>
</div>
<div id="digester" class="mt-4">
<h2>Digest</h2>
<hr>
<div id="digc2">
<h3><strong>Digest of Construct 2 - Performed by Vishwaa K., Leon G., and Edward K. - 7/12/2024:</strong></h3>
<ul>
<li>
<p>Pipetted a master mix of 5 µL Eco31i, 25 µL G-buffer, and 120 µL water in a 1.5 mL microcentrifuge tubes</p>
<div id="digester" class="mt-4">
<h2>Digest</h2>
<hr>
<div id="digc2">
<h3><strong>Digest of Construct 2 - Performed by Vishwaa K., Leon G., and Edward K. - 7/12/2024:</strong></h3>
<ul>
<li>
<p>Pipetted a master mix of 5 µL Eco31i, 25 µL G-buffer, and 120 µL water in a 1.5 mL microcentrifuge
tubes</p>
<ul>
<li>
<p>Gently Vortexed and Mixed</p>
</li>
<li>
<p>Gently Vortexed and Mixed</p>
</li>
</ul>
</li>
<li>
</li>
<li>
<p>Created microcentrifuge tubes with a mix of plasmid DNA and water, equaling 20 µL</p>
<ul>
<li>
<p>See after nanodrop results for exact measurements</p>
</li>
<li>
<p>See after nanodrop results for exact measurements</p>
</li>
</ul>
</li>
<li>
</li>
<li>
<p>Added 30 µL of master mix to each of the 5 microcentrifuge tubes</p>
</li>
<li>
</li>
<li>
<p>Incubated the five tubes at 37 °C for 1.5 hours</p>
</li>
<li>
<p>Moved the five microcentrifuge tubes of plasmid DNA to 4 °C for overnight storage and stored purified DNA at -20 °C</p>
</li>
</ul>
<p><strong>Repoured plates for construct 3</strong></p>
<ul>
<li>
</li>
<li>
<p>Moved the five microcentrifuge tubes of plasmid DNA to 4 °C for overnight storage and stored purified
DNA at -20 °C</p>
</li>
</ul>
<p><strong>Repoured plates for construct 3</strong></p>
<ul>
<li>
<p>Removed colonies from incubating overnight and placed at 4 °C after incubating overnight</p>
</li>
</ul>
</div>
</li>
</ul>
<div id="shitter11">
<h3><strong>Construct 1: Digest</strong></h3>
<p>Due to other members not doing their job, proper notes of what happened were not kept. But the procedures (in wetlab experiments page) contain the steps followed.</p>
</div>
<div id="shitter11">
<h3><strong>Construct 1: Digest</strong></h3>
<p>Due to other members not doing their job, proper notes of what happened were not kept. But the procedures
(in wetlab experiments page) contain the steps followed.</p>
</div>
<div id="shitter21">
<h3><strong>Construct 3: Digest</strong></h3>
<p>Due to other members not doing their job, proper notes of what happened were not kept. But the procedures
(in wetlab experiments page) contain the steps followed.</p>
</div>
</div>
<div id="shitter21">
<h3><strong>Construct 3: Digest</strong></h3>
<p>Due to other members not doing their job, proper notes of what happened were not kept. But the procedures (in wetlab experiments page) contain the steps followed.</p>
</div>
</div>
<div id="nano1" class="mt-4">
<h2>Nanodrop results</h2>
<hr>
<div id="resc2n">
<h3><strong>Construct 2: Nanodrop Results</strong></h3>
<table>
<thead>
<tr>
<th align="left"></th>
<th align="left">ng/µL</th>
<th align="left">A260/A280</th>
<th align="left">A260/A230</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>Colony 1</strong></td>
<td align="left">347.9</td>
<td>1.90</td>
<td align="left">2.23</td>
</tr>
<tr>
<td align="left"><strong>Colony 2</strong></td>
<td align="left">168.8</td>
<td align="left">1.88</td>
<td align="left">2.09</td>
</tr>
<tr>
<td align="left"><strong>Colony 3</strong></td>
<td align="left">302.7</td>
<td align="left">1.89</td>
<td align="left">1.95</td>
</tr>
<tr>
<td align="left"><strong>Colony 4</strong></td>
<td align="left">320.1</td>
<td align="left">1.90</td>
<td align="left">2.21</td>
</tr>
<tr>
<td align="left"><strong>Colony 5</strong></td>
<td align="left">327.4</td>
<td align="left">1.88</td>
<td align="left">2.00</td>
</tr>
</tbody>
</table>
</div>
<div id="nano1" class="mt-4">
<h2>Nanodrop results</h2>
<hr>
<div id="resc2n">
<h3><strong>Construct 2: Nanodrop Results</strong></h3>
<table>
<thead>
<tr>
<th align="left"></th>
<th align="left">ng/µL</th>
<th align="left">A260/A280</th>
<th align="left">A260/A230</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left"><strong>Colony 1</strong></td>
<td align="left">347.9</td>
<td>1.90</td>
<td align="left">2.23</td>
</tr>
<tr>
<td align="left"><strong>Colony 2</strong></td>
<td align="left">168.8</td>
<td align="left">1.88</td>
<td align="left">2.09</td>
</tr>
<tr>
<td align="left"><strong>Colony 3</strong></td>
<td align="left">302.7</td>
<td align="left">1.89</td>
<td align="left">1.95</td>
</tr>
<tr>
<td align="left"><strong>Colony 4</strong></td>
<td align="left">320.1</td>
<td align="left">1.90</td>
<td align="left">2.21</td>
</tr>
<tr>
<td align="left"><strong>Colony 5</strong></td>
<td align="left">327.4</td>
<td align="left">1.88</td>
<td align="left">2.00</td>
</tr>
</tbody>
</table>
</div>
<div id="resc1n">
<h3><strong>Construct 1: Nanodrop Results</strong></h3>
<p>Due to other members not doing their job, proper notes of what happened were not kept. But the procedures (in wetlab experiments page) contain the steps followed.</p>
<table>
<thead>
<tr>
<th align="left"></th>
<th align="left">ng/µL</th>
<th align="left">A260/A280</th>
<th align="left">A260/A230</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>Colony 1</strong></td>
<td align="left">78</td>
<td align="left">1.86</td>
<td align="left">1.83</td>
</tr>
<tr>
<td align="left"><strong>Colony 2</strong></td>
<td align="left">260</td>
<td align="left">1.89</td>
<td align="left">2.17</td>
</tr>
<tr>
<td align="left"><strong>Colony 3</strong></td>
<td align="left">213</td>
<td align="left">1.88</td>
<td align="left">2.15</td>
</tr>
<tr>
<td align="left"><strong>Colony 4</strong></td>
<td align="left">213</td>
<td align="left">1.88</td>
<td align="left">2.17</td>
</tr>
<tr>
<td align="left"><strong>Colony 5</strong></td>
<td align="left">296</td>
<td align="left">1.90</td>
<td align="left">2.22</td>
</tr>
</tbody>
</table>
</div>
<div id="resc1n">
<h3><strong>Construct 1: Nanodrop Results</strong></h3>
<p>Due to other members not doing their job, proper notes of what happened were not kept. But the procedures
(in wetlab experiments page) contain the steps followed.</p>
<table>
<thead>
<tr>
<th align="left"></th>
<th align="left">ng/µL</th>
<th align="left">A260/A280</th>
<th align="left">A260/A230</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left"><strong>Colony 1</strong></td>
<td align="left">78</td>
<td align="left">1.86</td>
<td align="left">1.83</td>
</tr>
<tr>
<td align="left"><strong>Colony 2</strong></td>
<td align="left">260</td>
<td align="left">1.89</td>
<td align="left">2.17</td>
</tr>
<tr>
<td align="left"><strong>Colony 3</strong></td>
<td align="left">213</td>
<td align="left">1.88</td>
<td align="left">2.15</td>
</tr>
<tr>
<td align="left"><strong>Colony 4</strong></td>
<td align="left">213</td>
<td align="left">1.88</td>
<td align="left">2.17</td>
</tr>
<tr>
<td align="left"><strong>Colony 5</strong></td>
<td align="left">296</td>
<td align="left">1.90</td>
<td align="left">2.22</td>
</tr>
</tbody>
</table>
</div>
<div id="resc3n">
<h3><strong>Construct 3: Nanodrop Results</strong></h3>
<p>Due to other members not doing their job, proper notes of what happened were not kept. But the procedures (in wetlab experiments page) contain the steps followed.</p>
<div id="resc3n">
<h3><strong>Construct 3: Nanodrop Results</strong></h3>
<p>Due to other members not doing their job, proper notes of what happened were not kept. But the procedures
(in wetlab experiments page) contain the steps followed.</p>
</div>
</div>
</div>
<div id="digestCalc" class="mt-4">
<h2>Digest Calculation</h2>
<hr>
<div id="resc2n2">
<h3><strong>Calculations for 1μg (Digest) for Construct 2</strong></h3>
<table>
<thead>
<tr>
<th align="left"></th>
<th align="left">DNA</th>
<th align="left">H2O</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>Colony 1</strong></td>
<td align="left"><strong>2.87µL</strong></td>
<td align="left"><strong>17.13</strong></td>
</tr>
<tr>
<td align="left"><strong>Colony 2</strong></td>
<td align="left"><strong>5.92µL</strong></td>
<td align="left"><strong>14.08</strong></td>
</tr>
<tr>
<td align="left"><strong>Colony 3</strong></td>
<td align="left"><strong>3.30µL</strong></td>
<td align="left"><strong>16.7</strong></td>
</tr>
<tr>
<td align="left"><strong>Colony 4</strong></td>
<td align="left"><strong>3.12µL</strong></td>
<td align="left"><strong>16.88</strong></td>
</tr>
<tr>
<td align="left"><strong>Colony 5</strong></td>
<td align="left"><strong>3.05µL</strong></td>
<td align="left"><strong>16.95</strong></td>
</tr>
</tbody></table>
<div id="shitter12">
<h3><strong>Calculate for 1μg (Digest) for Construct 1</strong></h3>
<table>
<thead>
<div id="digestCalc" class="mt-4">
<h2>Digest Calculation</h2>
<hr>
<div id="resc2n2">
<h3><strong>Calculations for 1μg (Digest) for Construct 2</strong></h3>
<table>
<thead>
<tr>
<th align="left"></th>
<th align="left">DNA</th>
<th align="left">H2O</th>
<th align="left"></th>
<th align="left">DNA</th>
<th align="left">H2O</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>Colony 1</strong></td>
<td align="left"><strong>12.821µL</strong></td>
<td align="left"><strong>7.179</strong></td>
</thead>
<tbody>
<tr>
<td align="left"><strong>Colony 1</strong></td>
<td align="left"><strong>2.87µL</strong></td>
<td align="left"><strong>17.13</strong></td>
</tr>
<tr>
<td align="left"><strong>Colony 2</strong></td>
<td align="left"><strong>3.846µL</strong></td>
<td align="left"><strong>16.154</strong></td>
<td align="left"><strong>Colony 2</strong></td>
<td align="left"><strong>5.92µL</strong></td>
<td align="left"><strong>14.08</strong></td>
</tr>
<tr>
<td align="left"><strong>Colony 3</strong></td>
<td align="left"><strong>4.695µL</strong></td>
<td align="left"><strong>15.305</strong></td>
<td align="left"><strong>Colony 3</strong></td>
<td align="left"><strong>3.30µL</strong></td>
<td align="left"><strong>16.7</strong></td>
</tr>
<tr>
<td align="left"><strong>Colony 4</strong></td>
<td align="left"><strong>4.695µL</strong></td>
<td align="left"><strong>15.305</strong></td>
<td align="left"><strong>Colony 4</strong></td>
<td align="left"><strong>3.12µL</strong></td>
<td align="left"><strong>16.88</strong></td>
</tr>
<tr>
<td align="left"><strong>Colony 5</strong></td>
<td align="left"><strong>3.378µL</strong></td>
<td align="left"><strong>16.622</strong></td>
<td align="left"><strong>Colony 5</strong></td>
<td align="left"><strong>3.05µL</strong></td>
<td align="left"><strong>16.95</strong></td>
</tr>
</tbody>
</table>
<div id="shitter12">
<h3><strong>Calculate for 1μg (Digest) for Construct 1</strong></h3>
<table>
<thead>
<tr>
<th align="left"></th>
<th align="left">DNA</th>
<th align="left">H2O</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left"><strong>Colony 1</strong></td>
<td align="left"><strong>12.821µL</strong></td>
<td align="left"><strong>7.179</strong></td>
</tr>
<tr>
<td align="left"><strong>Colony 2</strong></td>
<td align="left"><strong>3.846µL</strong></td>
<td align="left"><strong>16.154</strong></td>
</tr>
<tr>
<td align="left"><strong>Colony 3</strong></td>
<td align="left"><strong>4.695µL</strong></td>
<td align="left"><strong>15.305</strong></td>
</tr>
<tr>
<td align="left"><strong>Colony 4</strong></td>
<td align="left"><strong>4.695µL</strong></td>
<td align="left"><strong>15.305</strong></td>
</tr>
<tr>
<td align="left"><strong>Colony 5</strong></td>
<td align="left"><strong>3.378µL</strong></td>
<td align="left"><strong>16.622</strong></td>
</tr>
</tbody>
</table>
</div>
<div id="shitter22">
<h3><strong>Construct 3: Digest Calculation</strong></h3>
<p>Due to other members not doing their job, proper notes of what happened were not kept. But the procedures (in wetlab experiments page) contain the steps followed.</p>
<p>Due to other members not doing their job, proper notes of what happened were not kept. But the procedures
(in wetlab experiments page) contain the steps followed.</p>
</div>
</div>
</div>
</div>
<div id="redo321" class="mt-4">
<h2><strong>7/15/2024 Miniprep of the repoured construct 3 plates (Vishwaa K.)</strong></h2>
<hr>
<p>Performed miniprep on the TF (media culture)</p>
<ul>
</div>
<div id="redo321" class="mt-4">
<h2><strong>7/15/2024 Miniprep of the repoured construct 3 plates (Vishwaa K.)</strong></h2>
<hr>
<p>Performed miniprep on the TF (media culture)</p>
<ul>
<li>
<p>Labeled 2, 1.5mL microcentrifuge tubes (Transcription factor 1 and 2)</p>
<p>Labeled 2, 1.5mL microcentrifuge tubes (Transcription factor 1 and 2)</p>
</li>
<li>
<p>And labeled 2 more 1.5mL microcentrifuge tubes for storage (Transcription factor 1 and 2)</p>
<p>And labeled 2 more 1.5mL microcentrifuge tubes for storage (Transcription factor 1 and 2)</p>
</li>
<li>
<p>Aliquoted 1.5mL of each bacterial colony into a respectively labeled microcentrifuge tube</p>
<ul>
<li>
<p>Meaning they were labeled Colony 1 - Colony 5</p>
</li>
</ul>
<p>Aliquoted 1.5mL of each bacterial colony into a respectively labeled microcentrifuge tube</p>
<ul>
<li>
<p>Meaning they were labeled Colony 1 - Colony 5</p>
</li>
</ul>
</li>
<li>
<p>Centrifuged at 8000 rpm and room temperature for 2 mins</p>
<p>Centrifuged at 8000 rpm and room temperature for 2 mins</p>
</li>
<li>
<p>Removed supernatant of microcentrifuge tube by pouring it into the waste</p>
<p>Removed supernatant of microcentrifuge tube by pouring it into the waste</p>
</li>
<li>
<p>Added 250 µL of Resuspension solution to each microcentrifuge tube</p>
<p>Added 250 µL of Resuspension solution to each microcentrifuge tube</p>
</li>
<li>
<p>Flicked tubes gently until cell clumps completely dissolved</p>
<p>Flicked tubes gently until cell clumps completely dissolved</p>
</li>
<li>
<p>Added 250 µL of Lysis Solution to each tube and inverted 6 times to mix evenly</p>
<ul>
<li>
<p>Note: Shlok added too much Lysis solution to Colony 1 of the Transcription factor</p>
</li>
</ul>
<p>Added 250 µL of Lysis Solution to each tube and inverted 6 times to mix evenly</p>
<ul>
<li>
<p>Note: Shlok added too much Lysis solution to Colony 1 of the Transcription factor</p>
</li>
</ul>
</li>
<li>
<p>Added 350 µL of the Neutralization Solution and mixed by inversion until cloudy</p>
<p>Added 350 µL of the Neutralization Solution and mixed by inversion until cloudy</p>
</li>
<li>
<p>Centrifuged the tubes at 12000 rpm and room temperature for 5 min</p>
<p>Centrifuged the tubes at 12000 rpm and room temperature for 5 min</p>
</li>
<li>
<p>Took 650 µL of each microcentrifuge tube’s supernatant and placed it into their respectively labeled spin column</p>
<ul>
<li>
<p>In Colony 2, the precipitant had not fully settled, so we did a quick spin and then took 800 µL of the supernatant because it had a little bit of the precipitant</p>
</li>
</ul>
<p>Took 650 µL of each microcentrifuge tube’s supernatant and placed it into their respectively labeled spin
column</p>
<ul>
<li>
<p>In Colony 2, the precipitant had not fully settled, so we did a quick spin and then took 800 µL of
the supernatant because it had a little bit of the precipitant</p>
</li>
</ul>
</li>
<li>
<p>Centrifuged the spin columns at 12000 rpm and room temperature for 1 min</p>
<p>Centrifuged the spin columns at 12000 rpm and room temperature for 1 min</p>
</li>
<li>
<p><strong>Repeated twice</strong></p>
<ul>
<li>
<p>Discarded flow through of each spin column</p>
</li>
<li>
<p>Added 500µL wash solution to each spin column</p>
</li>
<li>
<p>Centrifuged the spin columns at 12000 rpm for 1 min</p>
</li>
</ul>
<p><strong>Repeated twice</strong></p>
<ul>
<li>
<p>Discarded flow through of each spin column</p>
</li>
<li>
<p>Added 500µL wash solution to each spin column</p>
</li>
<li>
<p>Centrifuged the spin columns at 12000 rpm for 1 min</p>
</li>
</ul>
</li>
<li>
<p>Discarded the flow-through of each spin column</p>
<p>Discarded the flow-through of each spin column</p>
</li>
<li>
<p>Centrifuged all the spin columns at 12000 RPM for 1 min</p>
<p>Centrifuged all the spin columns at 12000 RPM for 1 min</p>
</li>
<li>
<p>Transferred the filter part of each spin column to their respectively labeled microcentrifuge tube for storage</p>
<p>Transferred the filter part of each spin column to their respectively labeled microcentrifuge tube for
storage</p>
</li>
<li>
<p>Added 50 µL of elution buffer to the center of each spin column filter</p>
<p>Added 50 µL of elution buffer to the center of each spin column filter</p>
</li>
<li>
<p>Incubated at room temperature for 2 minutes</p>
<p>Incubated at room temperature for 2 minutes</p>
</li>
<li>
<p>Centrifuged at 12000 RPM for 2 min</p>
<p>Centrifuged at 12000 RPM for 2 min</p>
</li>
<li>
<p>Discarded filter columns and placed the microcentrifuge tubes with the flow through on ice</p>
<p>Discarded filter columns and placed the microcentrifuge tubes with the flow through on ice</p>
</li>
<li>
<p>Nanodropped purified plasmid DNA</p>
<p>Nanodropped purified plasmid DNA</p>
</li>
</ul>
</div>
</ul>
</div>
<div id="sigma1" class="mt-4">
<h2><strong>Nandrop of Construct 3 Transcription Factor</strong></h2>
<hr>
<table>
<thead>
<tr>
<th align="left">Construct 3 transcription factor:</th>
<th align="left">ng/uL</th>
<th align="left">A260/A280</th>
<th align="left">A260/A230</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>Col 1</strong></td>
<td align="left">168.3</td>
<td align="left">1.89</td>
<td align="left">2.15</td>
</tr>
<tr>
<td align="left"><strong>Col 2</strong></td>
<td align="left">141.2</td>
<td align="left">1.86</td>
<td align="left">1.82</td>
</tr>
</tbody>
</table>
<div id="sigma1" class="mt-4">
<h2><strong>Nandrop of Construct 3 Transcription Factor</strong></h2>
<hr>
<table>
<thead>
<tr>
<th align="left">Construct 3 transcription factor:</th>
<th align="left">ng/uL</th>
<th align="left">A260/A280</th>
<th align="left">A260/A230</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left"><strong>Col 1</strong></td>
<td align="left">168.3</td>
<td align="left">1.89</td>
<td align="left">2.15</td>
</tr>
<tr>
<td align="left"><strong>Col 2</strong></td>
<td align="left">141.2</td>
<td align="left">1.86</td>
<td align="left">1.82</td>
</tr>
</tbody>
</table>
<p>* used 1.5 uL for Nanodrop</p>
</div>
</div>
<div id="sigma2" class="mt-4">
<h2><strong>Digestion Calculation:</strong></h2>
<hr>
<p>1000/162.3 = 5.94 C1 + 14.00 H2O = 20 uL<br>1000/141.2 = 7.08 C2 + 12.92 H2O = 20 uL</p>
<ul>
<li>
<div id="sigma2" class="mt-4">
<h2><strong>Digestion Calculation:</strong></h2>
<hr>
<p>1000/162.3 = 5.94 C1 + 14.00 H2O = 20 uL<br>1000/141.2 = 7.08 C2 + 12.92 H2O = 20 uL</p>
<ul>
<li>
<p>Now we have 2, 20 uL tubes</p>
</li>
</ul>
<ul>
<li>
</li>
</ul>
<ul>
<li>
<p>Created digest master mix of 2 uL ECO3I, 10 uL buffer g, and 48 uL of H2O</p>
</li>
<li>
</li>
<li>
<p>Added 30 uL of master mix to each 20 uL tube</p>
</li>
<li>
</li>
<li>
<p>Incubated the 2 tubes (50 uL) at 37°C for 1 hr</p>
</li>
<li>
</li>
<li>
<p>Sealed all cell culture tubes with parafilm and stored at 4°C (4 tubes)</p>
</li>
</ul>
</div>
</li>
</ul>
</div>
<div id="geluno" class="mt-4">
<h2><strong>Gel</strong></h2>
<hr>
<ul>
<li>
<div id="geluno" class="mt-4">
<h2><strong>Gel</strong></h2>
<hr>
<ul>
<li>
<p>Preparation of 1% agarose gel</p>
</li>
<li>
</li>
<li>
<p>1 g agar and 100 mL of 1x TAE (Tris-acetate-EDTA)</p>
<ul>
<li>
<p>1x TAE created by adding 6 mL of TAE and 600 mL H2O</p>
</li>
<li>
<p>1x TAE created by adding 6 mL of TAE and 600 mL H2O</p>
</li>
</ul>
</li>
<li>
</li>
<li>
<p>Boiled 1% agar solution in the microwave for ~1 min</p>
<ul>
<li>
<p>Should be fully dissolved (clear)</p>
</li>
<li>
<p>Placed stir bar and stirred until the solution was warm to touch</p>
</li>
<li>
<p>Added 6 uL safe dye to 100 mL gel solution</p>
<ul>
<li>
<p>Used stir bar and magnetic stir plate to mix</p>
</li>
</ul>
</li>
<li>
<p>Poured gel solution into the chamber</p>
</li>
<li>
<p>Placed the combs into the gel chamber (used the thicker side of the combs) and let the gel sit to harden</p>
</li>
<li>
<p>Should be fully dissolved (clear)</p>
</li>
<li>
<p>Placed stir bar and stirred until the solution was warm to touch</p>
</li>
<li>
<p>Added 6 uL safe dye to 100 mL gel solution</p>
<ul>
<li>
<p>Used stir bar and magnetic stir plate to mix</p>
</li>
</ul>
</li>
<li>
<p>Poured gel solution into the chamber</p>
</li>
<li>
<p>Placed the combs into the gel chamber (used the thicker side of the combs) and let the gel sit to
harden</p>
</li>
</ul>
</li>
</ul>
<ul>
<li>
</li>
</ul>
<ul>
<li>
<p>Labeled 500µL tubes 10-19 (10 tubes)</p>
</li>
<li>
</li>
<li>
<p>Labeled mini preps-DNA 10-19 as well</p>
</li>
<li>
</li>
<li>
<p>Took 25 µL of miniprepped DNA and placed it into respectively labeled 500 µL tube</p>
<ul>
<li>
<p>12 didn&#39;t have the full 25 µL in the tube (construct 3, colony 3)</p>
<ul>
<li>
<p>About 23 µL only</p>
</li>
</ul>
</li>
<li>
<p>12 didn&#39;t have the full 25 µL in the tube (construct 3, colony 3)</p>
<ul>
<li>
<p>About 23 µL only</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
</li>
<li>
<p>Added 2.5 µL of Loading Dye(10x) to each 500 µL tube to bring to 1x</p>
</li>
<li>
</li>
<li>
<p>Vortexed and centrifuged mini tubes to mix</p>
</li>
<li>
</li>
<li>
<p>Pipetted all of the digestion reaction and Dye to respective wells on the agarose gel</p>
</li>
<li>
</li>
<li>
<p>Rinsed pipette tips in buffer (Loading) between pipetting</p>
<ul>
<li>
<p>Some wells were cloudy (Buffer has glycerol)</p>
</li>
<li>
<p>Some wells were cloudy (Buffer has glycerol)</p>
</li>
</ul>
</li>
<li>
</li>
<li>
<p>Run the gel at 110v for gel 1h</p>
</li>
<li>
</li>
<li>
<p>For ladder</p>
<ul>
<li>
<p>1.5 µL loading dye and 1 µL of 1 kb Invitrogen Track IT</p>
</li>
<li>
<p>1.5 µL loading dye and 1 µL of 1 kb Invitrogen Track IT</p>
</li>
</ul>
</li>
</ul>
<p><strong>Note: Discovered one well had two samples</strong></p>
<ul>
<li>
</li>
</ul>
<p><strong>Note: Discovered one well had two samples</strong></p>
<ul>
<li>
<p>Relabelled all purified plasmid DNA</p>
<ul>
<li>
<p>Vishwaa, Edward, Leon</p>
</li>
<li>
<p>Because the naming conventions used prior were confusing</p>
</li>
<li>
<p>Vishwaa, Edward, Leon</p>
</li>
<li>
<p>Because the naming conventions used prior were confusing</p>
</li>
</ul>
</li>
</ul>
</div>
</li>
</ul>
<div id="gelunol" class="mt-4">
<h2><strong>Gel layout (1-10 horizontally and 11-19 in the second row)</strong></h2>
<hr>
<table>
<thead>
<tr>
<th align="left">1</th>
<th align="left">C2(c1)</th>
<th align="left">6</th>
<th align="left">C3 (Gene)(c1)</th>
<th align="left">11</th>
<th align="left">C3 (B) (c3)</th>
<th align="left">16</th>
<th align="left">C3 (B) (c2)</th>
</tr>
</thead>
<tbody><tr>
<td align="left"><strong>2</strong></td>
<td align="left">C2(c1)</td>
<td align="left"><strong>7</strong></td>
<td align="left">C3 (Gene)(c2)</td>
<td align="left"><strong>12</strong></td>
<td align="left">C3 (B) (c4)</td>
<td align="left"><strong>17</strong></td>
<td align="left">C1 (c1)</td>
</tr>
<tr>
<td align="left"><strong>3</strong></td>
<td align="left">C2(c2)</td>
<td align="left"><strong>8</strong></td>
<td align="left">C3 (TF)(c3)</td>
<td align="left"><strong>13</strong></td>
<td align="left">C3 (B) (c3)</td>
<td align="left"><strong>18</strong></td>
<td align="left">C1 (c3)</td>
</tr>
<tr>
<td align="left"><strong>4</strong></td>
<td align="left">C2(c3)</td>
<td align="left"><strong>9</strong></td>
<td align="left">C3 (TF)(c4)</td>
<td align="left"><strong>14</strong></td>
<td align="left">C1 (c5)</td>
<td align="left"><strong>19</strong></td>
<td align="left">C1 (c4)</td>
</tr>
<tr>
<td align="left"><strong>5</strong></td>
<td align="left">C2(c4)</td>
<td align="left"><strong>10</strong></td>
<td align="left">C1 (c2)</td>
<td align="left"><strong>15</strong></td>
<td align="left">C3 (B) (c1)</td>
<td align="left"></td>
<td align="left"></td>
</tr>
</tbody>
</table>
</div>
</div>
<div id="digiredo321" class="mt-4">
<h2>19 Digests; Redoing of all digests</strong> - 7/16/2024 - Performed by Vishwaa and Kalina </h2>
<hr>
<div id="wathh">
<h3><strong>Nanodrop Results</strong></h3>
<div id="gelunol" class="mt-4">
<h2><strong>Gel layout (1-10 horizontally and 11-19 in the second row)</strong></h2>
<hr>
<table>
<thead>
<tr>
<th align="left">Con 3</th>
<th align="left">1 µL</th>
<th align="left">ng/µL</th>
<th align="left">A260/A280</th>
<th align="left">A260/A230</th>
</tr>
</thead>
<tbody><tr>
<td align="left"></td>
<td align="left">C1 (Gene)</td>
<td align="left">166.0</td>
<td align="left">1.88</td>
<td align="left">2.11</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C2 (Gene)</td>
<td align="left">147.5</td>
<td align="left">1.84</td>
<td align="left">1.93</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C1 (TF)</td>
<td align="left">205.3</td>
<td align="left">1.86</td>
<td align="left">1.72</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C2 (TF)</td>
<td align="left">415.5</td>
<td align="left">1.84</td>
<td align="left">2.18</td>
</tr>
</tbody></table>
<table style="margin-top: 5%;">
<thead>
<tr>
<th align="left">Con 3</th>
<th align="left">1 µL</th>
<th align="left">ng/µL</th>
<th align="left">A260/A280</th>
<th align="left">A260/A230</th>
</tr>
</thead>
<tbody><tr>
<td align="left"></td>
<td align="left">C1</td>
<td align="left">113.9</td>
<td align="left">1.84</td>
<td align="left">2.0</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C2</td>
<td align="left">114.8</td>
<td align="left">1.89</td>
<td align="left">2.26</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C3</td>
<td align="left">19.7</td>
<td align="left">1.74</td>
<td align="left">1.01</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C4</td>
<td align="left">241.5</td>
<td align="left">1.88</td>
<td align="left">2.23</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C5</td>
<td align="left">158.0</td>
<td align="left">1.82</td>
<td align="left">2.21</td>
</tr>
</tbody></table>
<table style="margin-top: 5%;">
<thead>
<tr>
<th align="left">Con 1</th>
<th align="left">1 µL</th>
<th align="left">ng/µL</th>
<th align="left">A260/A280</th>
<th align="left">A260/A230</th>
</tr>
<tr>
<th align="left">1</th>
<th align="left">C2(c1)</th>
<th align="left">6</th>
<th align="left">C3 (Gene)(c1)</th>
<th align="left">11</th>
<th align="left">C3 (B) (c3)</th>
<th align="left">16</th>
<th align="left">C3 (B) (c2)</th>
</tr>
</thead>
<tbody><tr>
<td align="left"></td>
<td align="left">C1</td>
<td align="left">70.1</td>
<td align="left">1.86</td>
<td align="left">2.09</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C2</td>
<td align="left">205.3</td>
<td align="left">1.88</td>
<td align="left">2.22</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C3</td>
<td align="left">234.1</td>
<td align="left">1.89</td>
<td align="left">2.22</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C4</td>
<td align="left">198.8</td>
<td align="left">1.89</td>
<td align="left">2.25</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C5</td>
<td align="left">285.2</td>
<td align="left">1.89</td>
<td align="left">2.22</td>
</tr>
<tbody>
<tr>
<td align="left"><strong>2</strong></td>
<td align="left">C2(c1)</td>
<td align="left"><strong>7</strong></td>
<td align="left">C3 (Gene)(c2)</td>
<td align="left"><strong>12</strong></td>
<td align="left">C3 (B) (c4)</td>
<td align="left"><strong>17</strong></td>
<td align="left">C1 (c1)</td>
</tr>
<tr>
<td align="left"><strong>3</strong></td>
<td align="left">C2(c2)</td>
<td align="left"><strong>8</strong></td>
<td align="left">C3 (TF)(c3)</td>
<td align="left"><strong>13</strong></td>
<td align="left">C3 (B) (c3)</td>
<td align="left"><strong>18</strong></td>
<td align="left">C1 (c3)</td>
</tr>
<tr>
<td align="left"><strong>4</strong></td>
<td align="left">C2(c3)</td>
<td align="left"><strong>9</strong></td>
<td align="left">C3 (TF)(c4)</td>
<td align="left"><strong>14</strong></td>
<td align="left">C1 (c5)</td>
<td align="left"><strong>19</strong></td>
<td align="left">C1 (c4)</td>
</tr>
<tr>
<td align="left"><strong>5</strong></td>
<td align="left">C2(c4)</td>
<td align="left"><strong>10</strong></td>
<td align="left">C1 (c2)</td>
<td align="left"><strong>15</strong></td>
<td align="left">C3 (B) (c1)</td>
<td align="left"></td>
<td align="left"></td>
</tr>
</tbody>
</table>
</div>
<div id="notsigma">
<h3><strong>Restriction Digest</strong></h3>
<ul>
<li>
<p>Labeled 18 tubes for digest</p>
<ul>
<div id="digiredo321" class="mt-4">
<h2>19 Digests; Redoing of all digests</strong> - 7/16/2024 - Performed by Vishwaa and Kalina </h2>
<hr>
<div id="wathh">
<h3><strong>Nanodrop Results</strong></h3>
<table>
<thead>
<tr>
<th align="left">Con 3</th>
<th align="left">1 µL</th>
<th align="left">ng/µL</th>
<th align="left">A260/A280</th>
<th align="left">A260/A230</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left"></td>
<td align="left">C1 (Gene)</td>
<td align="left">166.0</td>
<td align="left">1.88</td>
<td align="left">2.11</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C2 (Gene)</td>
<td align="left">147.5</td>
<td align="left">1.84</td>
<td align="left">1.93</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C1 (TF)</td>
<td align="left">205.3</td>
<td align="left">1.86</td>
<td align="left">1.72</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C2 (TF)</td>
<td align="left">415.5</td>
<td align="left">1.84</td>
<td align="left">2.18</td>
</tr>
</tbody>
</table>
<table style="margin-top: 5%;">
<thead>
<tr>
<th align="left">Con 3</th>
<th align="left">1 µL</th>
<th align="left">ng/µL</th>
<th align="left">A260/A280</th>
<th align="left">A260/A230</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left"></td>
<td align="left">C1</td>
<td align="left">113.9</td>
<td align="left">1.84</td>
<td align="left">2.0</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C2</td>
<td align="left">114.8</td>
<td align="left">1.89</td>
<td align="left">2.26</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C3</td>
<td align="left">19.7</td>
<td align="left">1.74</td>
<td align="left">1.01</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C4</td>
<td align="left">241.5</td>
<td align="left">1.88</td>
<td align="left">2.23</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C5</td>
<td align="left">158.0</td>
<td align="left">1.82</td>
<td align="left">2.21</td>
</tr>
</tbody>
</table>
<table style="margin-top: 5%;">
<thead>
<tr>
<th align="left">Con 1</th>
<th align="left">1 µL</th>
<th align="left">ng/µL</th>
<th align="left">A260/A280</th>
<th align="left">A260/A230</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left"></td>
<td align="left">C1</td>
<td align="left">70.1</td>
<td align="left">1.86</td>
<td align="left">2.09</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C2</td>
<td align="left">205.3</td>
<td align="left">1.88</td>
<td align="left">2.22</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C3</td>
<td align="left">234.1</td>
<td align="left">1.89</td>
<td align="left">2.22</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C4</td>
<td align="left">198.8</td>
<td align="left">1.89</td>
<td align="left">2.25</td>
</tr>
<tr>
<td align="left"></td>
<td align="left">C5</td>
<td align="left">285.2</td>
<td align="left">1.89</td>
<td align="left">2.22</td>
</tr>
</tbody>
</table>
</div>
<div id="notsigma">
<h3><strong>Restriction Digest</strong></h3>
<ul>
<li>
<p>Labeled 18 tubes for digest</p>
<ul>
<li>
<p>Red: Construct 1</p>
<p>Red: Construct 1</p>
</li>
<li>
<p>Green: Construct</p>
<p>Green: Construct</p>
</li>
<li>
<p>Black: TF</p>
<p>Black: TF</p>
</li>
<li>
<p>Orange: Gene</p>
<p>Orange: Gene</p>
</li>
<li>
<p>Blue: Construct 3</p>
<p>Blue: Construct 3</p>
</li>
</ul>
</li>
</ul>
<p>(All microliters of sample + dH2O)</p>
<table>
<thead>
<tr>
<th align="left"></th>
<th align="left">Construct 1</th>
<th align="left">Construct 2</th>
<th align="left">Construct 3</th>
<th align="left">TF</th>
<th align="left">Gene</th>
</tr>
</thead>
<tbody><tr>
<td align="left">C1</td>
<td align="left">13 + 7</td>
<td align="left">3 + 17</td>
<td align="left">10 + 10</td>
<td align="left">6 + 14</td>
<td align="left">5 + 15</td>
</tr>
<tr>
<td align="left">C2</td>
<td align="left">5 + 15</td>
<td align="left">6 + 14</td>
<td align="left">10 + 10</td>
<td align="left">7 + 13</td>
<td align="left">3 + 17</td>
</tr>
<tr>
<td align="left">C3</td>
<td align="left">5 + 15</td>
<td align="left">3.5 + 16.5</td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
</tr>
<tr>
<td align="left">C4</td>
<td align="left">5 + 15</td>
<td align="left">3.5 + 16.5</td>
<td align="left">5 + 15</td>
<td align="left"></td>
<td align="left"></td>
</tr>
<tr>
<td align="left">C5</td>
<td align="left">5 + 15</td>
<td align="left">3 + 17</td>
<td align="left">7 + 13</td>
<td align="left"></td>
<td align="left"></td>
</tr>
</tbody></table>
<ul>
<li>
</ul>
</li>
</ul>
<p>(All microliters of sample + dH2O)</p>
<table>
<thead>
<tr>
<th align="left"></th>
<th align="left">Construct 1</th>
<th align="left">Construct 2</th>
<th align="left">Construct 3</th>
<th align="left">TF</th>
<th align="left">Gene</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">C1</td>
<td align="left">13 + 7</td>
<td align="left">3 + 17</td>
<td align="left">10 + 10</td>
<td align="left">6 + 14</td>
<td align="left">5 + 15</td>
</tr>
<tr>
<td align="left">C2</td>
<td align="left">5 + 15</td>
<td align="left">6 + 14</td>
<td align="left">10 + 10</td>
<td align="left">7 + 13</td>
<td align="left">3 + 17</td>
</tr>
<tr>
<td align="left">C3</td>
<td align="left">5 + 15</td>
<td align="left">3.5 + 16.5</td>
<td align="left"></td>
<td align="left"></td>
<td align="left"></td>
</tr>
<tr>
<td align="left">C4</td>
<td align="left">5 + 15</td>
<td align="left">3.5 + 16.5</td>
<td align="left">5 + 15</td>
<td align="left"></td>
<td align="left"></td>
</tr>
<tr>
<td align="left">C5</td>
<td align="left">5 + 15</td>
<td align="left">3 + 17</td>
<td align="left">7 + 13</td>
<td align="left"></td>
<td align="left"></td>
</tr>
</tbody>
</table>
<ul>
<li>
<p>Made digest mix</p>
<ul>
<li>
<p>90 µL of buffer G</p>
</li>
<li>
<p>18 µL of enzyme EcoRI</p>
</li>
<li>
<p>432 µL of H2O</p>
</li>
<li>
<p>Vortexed and spun down</p>
</li>
<li>
<p>Added 30 µL of digest mix to each tube of 20 µL (plasmid DNA and water)</p>
</li>
<li>
<p>Vortexed, spun down, and incubated at 37.0 degrees Celsius for 1.5 hours</p>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div id="gel2" class="mt-4">
<h2><strong>Second Gel Electrophoresis</strong></h2>
<hr>
<ul>
<li>
<p>Agarose gel for checking the digested colonies:</p>
<ul>
<li>
<p>1 g agar + (100 mL dH2O + 2 mL TAE (50x))</p>
<p>90 µL of buffer G</p>
</li>
<li>
<p>Microwave to boil for 1 minute</p>
<p>18 µL of enzyme EcoRI</p>
</li>
<li>
<p>Cooled by using a stir bar + hot plate (no heat) until it was warm to the touch</p>
<p>432 µL of H2O</p>
</li>
<li>
<p>Added 6 mL safe red dye and stirred</p>
<p>Vortexed and spun down</p>
</li>
</ul>
</li>
<li>
<p>Poured 1% agar on the chamber</p>
</li>
<li>
<p>Created 19 mini tubes with digested DNA:</p>
<ul>
<li>
<p>Put 5 microliters 10x blue juice loading dye in each mini tube</p>
<p>Added 30 µL of digest mix to each tube of 20 µL (plasmid DNA and water)</p>
</li>
<li>
<p>Used 5 microliters for the ladder</p>
<p>Vortexed, spun down, and incubated at 37.0 degrees Celsius for 1.5 hours</p>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div id="gel2" class="mt-4">
<h2><strong>Second Gel Electrophoresis</strong></h2>
<hr>
<ul>
<li>
<p>Agarose gel for checking the digested colonies:</p>
<ul>
<li>
<p>1 g agar + (100 mL dH2O + 2 mL TAE (50x))</p>
</li>
<li>
<p>Microwave to boil for 1 minute</p>
</li>
<li>
<p>Cooled by using a stir bar + hot plate (no heat) until it was warm to the touch</p>
</li>
<li>
<p>Added 6 mL safe red dye and stirred</p>
</li>
</ul>
</li>
<li>
<p>Poured 1% agar on the chamber</p>
</li>
<li>
<p>Created 19 mini tubes with digested DNA:</p>
<ul>
<li>
<p>Put 5 microliters 10x blue juice loading dye in each mini tube</p>
</li>
<li>
<p>Used 5 microliters for the ladder</p>
</li>
</ul>
</li>
<li>
</li>
<li>
<p>Pipetted all contents of mini tubes (digests) into gel wells</p>
</li>
<li>
</li>
<li>
<p>Run the gel for 1 hour at 60 volts</p>
</li>
<li>
</li>
<li>
<p>Switched to 75 volts after one hour to speed up</p>
</li>
</ul>
</li>
</ul>
<p>Ladder Layout:</p>
<img src="https://static.igem.wiki/teams/5114/vishwaa/ladlayout.png" style="margin: auto;">
<ul>
<li>
<p>Ladder Layout:</p>
<img src="https://static.igem.wiki/teams/5114/vishwaa/ladlayout.png" style="margin: auto;">
<ul>
<li>
<p>Making LB Broth:</p>
<ul>
<li>
<p>10g LB broth + 500 mL dH2O</p>
</li>
<li>
<p>Autoclaved broth, a bottle of 75mL of 50% Glycerol, and empty flasks</p>
<ul>
<li>
<p>Opened the lid slightly, wrapped the lid in foil, and put white tape onto the lid to make sure the autoclave worked</p>
</li>
<li>
<p>Poured some water in the bin (up to 1 cm off the bottom)</p>
</li>
<li>
<p>Autoclaved for 66 minutes - P4 Setting (30 minutes wait for liquid cycle)</p>
</li>
</ul>
</li>
<li>
<p>10g LB broth + 500 mL dH2O</p>
</li>
<li>
<p>Autoclaved broth, a bottle of 75mL of 50% Glycerol, and empty flasks</p>
<ul>
<li>
<p>Opened the lid slightly, wrapped the lid in foil, and put white tape onto the lid to make sure
the autoclave worked</p>
</li>
<li>
<p>Poured some water in the bin (up to 1 cm off the bottom)</p>
</li>
<li>
<p>Autoclaved for 66 minutes - P4 Setting (30 minutes wait for liquid cycle)</p>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</li>
</ul>
</div>
<div id="od600" class="mt-4">
<h2><strong>OD 600 reading trial - performed by Vishwaa Kannan</strong></h2>
<hr>
<ul>
<li>
<p>Created 15 microliter aliquot of colony 2 construct 2 for OD 600 reacting</p>
</li>
<li>
<p>Created blank for OD of 1mL 1x LB Broth + 1 microliter Kanamycin 100x</p>
</li>
<div id="od600" class="mt-4">
<h2><strong>OD 600 reading trial - performed by Vishwaa Kannan</strong></h2>
<hr>
<ul>
<li>
<p>Created 15 microliter aliquot of colony 2 construct 2 for OD 600 reacting</p>
</li>
<li>
<p>Created blank for OD of 1mL 1x LB Broth + 1 microliter Kanamycin 100x</p>
</li>
</ul>
<p><strong>Reading</strong> </p>
<table>
<thead>
<tr>
<th align="left">A600</th>
<th align="left">Correction</th>
<th align="left">λ</th>
<th align="left">A(x)</th>
</tr>
</thead>
<tbody><tr>
<td align="left">3.11</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">3.9</td>
</tr>
<tr>
<td align="left">3.13</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">3.97</td>
</tr>
<tr>
<td align="left">3.13</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">3.96</td>
</tr>
</tbody></table>
<thead>
<tr>
<th align="left">A600</th>
<th align="left">Correction</th>
<th align="left">λ</th>
<th align="left">A(x)</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">3.11</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">3.9</td>
</tr>
<tr>
<td align="left">3.13</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">3.97</td>
</tr>
<tr>
<td align="left">3.13</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">3.96</td>
</tr>
</tbody>
</table>
<ul>
<li><p>Meaning ~ 8x109 cells</p>
</li>
<li><p>Diluted aliquot to ½:</p>
</li>
<li>
<p>Meaning ~ 8x109 cells</p>
</li>
<li>
<p>Diluted aliquot to ½:</p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">A600</th>
<th align="left">Correction</th>
<th align="left">λ</th>
<th align="left">A(x)</th>
</tr>
</thead>
<tbody><tr>
<td align="left">1.44</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">1.84</td>
</tr>
<tr>
<td align="left">1.64</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">2.07</td>
</tr>
</tbody>
</table>
</div>
<thead>
<tr>
<th align="left">A600</th>
<th align="left">Correction</th>
<th align="left">λ</th>
<th align="left">A(x)</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">1.44</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">1.84</td>
</tr>
<tr>
<td align="left">1.64</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">2.07</td>
</tr>
</tbody>
</table>
</div>
<div id="early" class="mt-4">
<h2><strong>Gel Results from Early Predictions</strong></h2>
<hr>
<ul>
<li>
<div id="early" class="mt-4">
<h2><strong>Gel Results from Early Predictions</strong></h2>
<hr>
<ul>
<li>
<p>Took a look after 1 hour</p>
</li>
<li>
</li>
<li>
<p>Constructs 1 and 2 good</p>
</li>
<li>
</li>
<li>
<p>Construct 3 is ok; bands should be separated more</p>
</li>
<li>
</li>
<li>
<p>TF looks ok</p>
</li>
<li>
</li>
<li>
<p>Gene is missing?</p>
<ul>
<li>
<p>Possibly human error</p>
</li>
<li>
<p>Possibly human error</p>
</li>
</ul>
</li>
<li>
</li>
<li>
<p>Placed back in chamber for 1 hour at 75 volts</p>
</li>
</ul>
</div>
</li>
</ul>
</div>
<div id="fluoro" class="mt-4">
<h2><strong>Fluorescence Reader</strong></h2>
<hr>
<div id="plating">
<h3><strong>Plating colonies</strong></h3>
<ul>
<li>
<div id="fluoro" class="mt-4">
<h2><strong>Fluorescence Reader</strong></h2>
<hr>
<div id="plating">
<h3><strong>Plating colonies</strong></h3>
<ul>
<li>
<p>Construct 1 - prmA</p>
<ul>
<li><p>Colony 4 Kan</p></li>
<li><p>Colony 5 Kan</p></li>
<li>
<p>Colony 4 Kan</p>
</li>
<li>
<p>Colony 5 Kan</p>
</li>
</ul>
</li>
<li>
</li>
<li>
<p>Construct 2 - FAB</p>
<ul>
<li><p>Colony 2 Kan</p></li>
<li><p>Colony 3 Kan</p></li>
<li>
<p>Colony 2 Kan</p>
</li>
<li>
<p>Colony 3 Kan</p>
</li>
</ul>
</li>
<li>
</li>
<li>
<p>Construct 3 - Estradiol</p>
<ul>
<li><p>Colony 5 (More TF) Both</p></li>
<li><p>Colony 1 (More gene) Both</p></li>
<li>
<p>Colony 5 (More TF) Both</p>
</li>
<li>
<p>Colony 1 (More gene) Both</p>
</li>
</ul>
</li>
<li>
</li>
<li>
<p>Construct 3 - TF</p>
<ul>
<li><p>Colony 1 Kan</p></li>
<li><p>Colony 2 Kan</p></li>
<li>
<p>Colony 1 Kan</p>
</li>
<li>
<p>Colony 2 Kan</p>
</li>
</ul>
</li>
<li>
</li>
<li>
<p>Construct 3 - Gene (No insert, probably)</p>
<ul>
<li><p>Colony 1 Amp</p></li>
<li><p>Colony 2 Amp</p></li>
<li>
<p>Colony 1 Amp</p>
</li>
<li>
<p>Colony 2 Amp</p>
</li>
</ul>
</li>
<li>
</li>
<li>
<p>Labeled 10 culture tubes for the plate</p>
</li>
<li>
<p>Four were smaller because we ran out of large cell culture tubes (2 colonies per construct + 4 negative controls)</p>
</li>
<li>
</li>
<li>
<p>Four were smaller because we ran out of large cell culture tubes (2 colonies per construct + 4 negative
controls)</p>
</li>
<li>
<p>Made stock for Kan, Amp, and Both (All mixed by inverting)</p>
<ul>
<li><p>Kan</p>
<ul>
<li><p>35 µL LB Broth + 350 µL Kan (100x)</p></li>
</ul>
</li>
<li><p>Amp</p>
<ul>
<li><p>15 µL LB Broth + 150 µL Amp (100x)</p></li>
</ul>
</li>
<li><p>Both</p>
<ul>
<li><p>15 µL LB Broth + 150 µL Amp (100x) + 150 µL Kan (100x)</p></li>
</ul>
</li>
<li>
<p>Kan</p>
<ul>
<li>
<p>35 µL LB Broth + 350 µL Kan (100x)</p>
</li>
</ul>
</li>
<li>
<p>Amp</p>
<ul>
<li>
<p>15 µL LB Broth + 150 µL Amp (100x)</p>
</li>
</ul>
</li>
<li>
<p>Both</p>
<ul>
<li>
<p>15 µL LB Broth + 150 µL Amp (100x) + 150 µL Kan (100x)</p>
</li>
</ul>
</li>
</ul>
</li>
<li>
</li>
<li>
<p>Pipetted 5 mL or 3 mL to each tube respective of size and antibiotic</p>
</li>
<li>
</li>
<li>
<p>Pipetted 5 µL or 3 µL of original media to new media respective of size and antibiotic</p>
</li>
<li>
</li>
<li>
<p>Opened lid slightly</p>
</li>
<li>
</li>
<li>
<p>Incubated overnight at 37 degrees Celsius and at 210 RPM</p>
</li>
</ul>
</div>
</li>
</ul>
</div>
<div id="set">
<h3><strong>Adding PFOA and H2O2</strong></h3>
<ul>
<li>
<div id="set">
<h3><strong>Adding PFOA and H2O2</strong></h3>
<ul>
<li>
<p>Labeled 3 tubes for selective LB Broth</p>
<ul>
<li><p>30 mL Kan (29.7 mL broth + 300 µL Kan (100X))</p></li>
<li><p>10 mL Amp (9.9 mL broth + 100 µL Amp (100X))</p></li>
<li><p>15 mL both (14.7 mL broth + 150 µL Kan (100X) + 150 µL Amp (100X))</p></li>
<li>
<p>30 mL Kan (29.7 mL broth + 300 µL Kan (100X))</p>
</li>
<li>
<p>10 mL Amp (9.9 mL broth + 100 µL Amp (100X))</p>
</li>
<li>
<p>15 mL both (14.7 mL broth + 150 µL Kan (100X) + 150 µL Amp (100X))</p>
</li>
</ul>
</li>
<li>
</li>
<li>
<p>PFOA Dilutions</p>
<ul>
<li><p>1 mL stock A_p: 875 µL LB Broth + 125 µL of 20 mM PFOA = 2500 µM PFOA</p></li>
<li><p>1 mL stock B_p: 800 µL LB Broth + 200 µL of stock A_p = 500 µM PFOA</p></li>
<li><p>1 mL stock C_p: 900 µL LB Broth + 100 µL of stock B_p = 50 µM PFOA</p></li>
<li>
<p>1 mL stock A_p: 875 µL LB Broth + 125 µL of 20 mM PFOA = 2500 µM PFOA</p>
</li>
<li>
<p>1 mL stock B_p: 800 µL LB Broth + 200 µL of stock A_p = 500 µM PFOA</p>
</li>
<li>
<p>1 mL stock C_p: 900 µL LB Broth + 100 µL of stock B_p = 50 µM PFOA</p>
</li>
</ul>
</li>
<li>
</li>
<li>
<p>H2O2 Dilutions</p>
<ul>
<li><p>10 mL stock A_h: 9997.45 mL LB Broth + 2.55 µL 30% H2O2 = 2500 µM H2O2</p></li>
<li><p>1 mL stock B_h: 800 µL LB Broth + 200 µL of stock A_h = 500 µM H2O2</p></li>
<li><p>1 mL stock C_h: 900 µL LB Broth + 100 µL of stock B_h = 50 µM H2O2</p></li>
<li>
<p>10 mL stock A_h: 9997.45 mL LB Broth + 2.55 µL 30% H2O2 = 2500 µM H2O2</p>
</li>
<li>
<p>1 mL stock B_h: 800 µL LB Broth + 200 µL of stock A_h = 500 µM H2O2</p>
</li>
<li>
<p>1 mL stock C_h: 900 µL LB Broth + 100 µL of stock B_h = 50 µM H2O2</p>
</li>
</ul>
</li>
<li>
</li>
<li>
<p>Overnight culture + nanodrop the following day:</p>
</li>
</ul>
</li>
</ul>
<p><strong>Note: Letters are out of order due to a labeling mistake, but now they are correct.</strong></p>
<table>
<thead>
<tr>
<th align="left">ND #</th>
<th align="left">Name</th>
<th align="left">Letter</th>
<th align="left">A260</th>
<th align="left">Correction</th>
<th align="left">λ</th>
<th align="left">A(x)</th>
</tr>
</thead>
<tbody><tr>
<td align="left">1</td>
<td align="left">Construct 1 C4</td>
<td align="left">A</td>
<td align="left">2.11</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">2.6</td>
</tr>
<tr>
<td align="left">2</td>
<td align="left">Construct 1 C5</td>
<td align="left">B</td>
<td align="left">3.10</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">3.79</td>
</tr>
<tr>
<td align="left">3</td>
<td align="left">Construct 2 C2</td>
<td align="left">C</td>
<td align="left">2.58</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">3.22</td>
</tr>
<tr>
<td align="left">4</td>
<td align="left">Construct 2 C3</td>
<td align="left">D</td>
<td align="left">1.24</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">1.58</td>
</tr>
<tr>
<td align="left">7</td>
<td align="left">Construct 3 C1</td>
<td align="left">G</td>
<td align="left">1.37</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">1.73</td>
</tr>
<tr>
<td align="left">8</td>
<td align="left">Construct 3 C5</td>
<td align="left">H</td>
<td align="left">2.06</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">2.57</td>
</tr>
<tr>
<td align="left">5</td>
<td align="left">Construct 3 TF C1</td>
<td align="left">E</td>
<td align="left">1.62</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">2.06</td>
</tr>
<tr>
<td align="left">6</td>
<td align="left">Construct 3 TF C2</td>
<td align="left">F</td>
<td align="left">0.81</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">1.05</td>
</tr>
<tr>
<td align="left">10</td>
<td align="left">Construct 3 Gene C1</td>
<td align="left">I</td>
<td align="left">0.95</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">1.26</td>
</tr>
<tr>
<td align="left">11</td>
<td align="left">Construct 3 Gene C2</td>
<td align="left">J</td>
<td align="left">2.1</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">2.72</td>
</tr>
</tbody></table>
</div>
<thead>
<tr>
<th align="left">ND #</th>
<th align="left">Name</th>
<th align="left">Letter</th>
<th align="left">A260</th>
<th align="left">Correction</th>
<th align="left">λ</th>
<th align="left">A(x)</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">1</td>
<td align="left">Construct 1 C4</td>
<td align="left">A</td>
<td align="left">2.11</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">2.6</td>
</tr>
<tr>
<td align="left">2</td>
<td align="left">Construct 1 C5</td>
<td align="left">B</td>
<td align="left">3.10</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">3.79</td>
</tr>
<tr>
<td align="left">3</td>
<td align="left">Construct 2 C2</td>
<td align="left">C</td>
<td align="left">2.58</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">3.22</td>
</tr>
<tr>
<td align="left">4</td>
<td align="left">Construct 2 C3</td>
<td align="left">D</td>
<td align="left">1.24</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">1.58</td>
</tr>
<tr>
<td align="left">7</td>
<td align="left">Construct 3 C1</td>
<td align="left">G</td>
<td align="left">1.37</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">1.73</td>
</tr>
<tr>
<td align="left">8</td>
<td align="left">Construct 3 C5</td>
<td align="left">H</td>
<td align="left">2.06</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">2.57</td>
</tr>
<tr>
<td align="left">5</td>
<td align="left">Construct 3 TF C1</td>
<td align="left">E</td>
<td align="left">1.62</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">2.06</td>
</tr>
<tr>
<td align="left">6</td>
<td align="left">Construct 3 TF C2</td>
<td align="left">F</td>
<td align="left">0.81</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">1.05</td>
</tr>
<tr>
<td align="left">10</td>
<td align="left">Construct 3 Gene C1</td>
<td align="left">I</td>
<td align="left">0.95</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">1.26</td>
</tr>
<tr>
<td align="left">11</td>
<td align="left">Construct 3 Gene C2</td>
<td align="left">J</td>
<td align="left">2.1</td>
<td align="left">0</td>
<td align="left">500</td>
<td align="left">2.72</td>
</tr>
</tbody>
</table>
</div>
<div id="testing">
<h3><strong>Testing fluorescence</strong></h3>
<div id="testing">
<h3><strong>Testing fluorescence</strong></h3>
<ul>
<li>
<p>Aliquots:</p>
</li>
<ul>
<li>
<p>Aliquots:</p>
</li>
</ul>
<table>
<thead>
<tr>
<th align="left">Local Broth</th>
<th align="left">Microliters of sample</th>
<th align="left">Microliters of selective broth</th>
</tr>
</thead>
<tbody><tr>
<td align="left">A x2</td>
<td align="left">986 x2 = 1972</td>
<td align="left">2074 x2 = 4148</td>
</tr>
<tr>
<td align="left">B x2</td>
<td align="left">663 x2 = 1326</td>
<td align="left">2397 x2 = 4794</td>
</tr>
<tr>
<td align="left">C</td>
<td align="left">799</td>
<td align="left">2261</td>
</tr>
<tr>
<td align="left">D</td>
<td align="left">1666</td>
<td align="left">1394</td>
</tr>
<tr>
<td align="left">G</td>
<td align="left">1513</td>
<td align="left">1547</td>
</tr>
<tr>
<td align="left">H</td>
<td align="left">1003</td>
<td align="left">2057</td>
</tr>
<tr>
<td align="left">E</td>
<td align="left">1275</td>
<td align="left">1785</td>
</tr>
<tr>
<td align="left">F</td>
<td align="left">2533</td>
<td align="left">527</td>
</tr>
<tr>
<td align="left">I</td>
<td align="left">2159</td>
<td align="left">901</td>
</tr>
<tr>
<td align="left">J</td>
<td align="left">984</td>
<td align="left">2024</td>
</tr>
</tbody></table>
<thead>
<tr>
<th align="left">Local Broth</th>
<th align="left">Microliters of sample</th>
<th align="left">Microliters of selective broth</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">A x2</td>
<td align="left">986 x2 = 1972</td>
<td align="left">2074 x2 = 4148</td>
</tr>
<tr>
<td align="left">B x2</td>
<td align="left">663 x2 = 1326</td>
<td align="left">2397 x2 = 4794</td>
</tr>
<tr>
<td align="left">C</td>
<td align="left">799</td>
<td align="left">2261</td>
</tr>
<tr>
<td align="left">D</td>
<td align="left">1666</td>
<td align="left">1394</td>
</tr>
<tr>
<td align="left">G</td>
<td align="left">1513</td>
<td align="left">1547</td>
</tr>
<tr>
<td align="left">H</td>
<td align="left">1003</td>
<td align="left">2057</td>
</tr>
<tr>
<td align="left">E</td>
<td align="left">1275</td>
<td align="left">1785</td>
</tr>
<tr>
<td align="left">F</td>
<td align="left">2533</td>
<td align="left">527</td>
</tr>
<tr>
<td align="left">I</td>
<td align="left">2159</td>
<td align="left">901</td>
</tr>
<tr>
<td align="left">J</td>
<td align="left">984</td>
<td align="left">2024</td>
</tr>
</tbody>
</table>
<ul>
<li>
<p>Added PFOA to all wells</p>
</li>
<li>
<p>Read plate for OD + fluorescence (results in google sheets)</p>
</li>
<li>
<p><strong>T2 Plate 2 reading ‘Too saturated’</strong></p>
</li>
<li>
<p>Added PFOA to all wells</p>
</li>
<li>
<p>Read plate for OD + fluorescence (results in google sheets)</p>
</li>
<li>
<p><strong>T2 Plate 2 reading ‘Too saturated’</strong></p>
</li>
</ul>
</div>
</div>
</div>
<div id="finallybruh" class="mt-4">
<h2><strong>Long-term storage of colonies - performed by Vishwaa Kannan</strong></h2>
<hr>
<ul>
<li>
<div id="finallybruh" class="mt-4">
<h2><strong>Long-term storage of colonies - performed by Vishwaa Kannan</strong></h2>
<hr>
<ul>
<li>
<p>Storage solutions of colonies used on plates</p>
<ul>
<li><p>500 µL 50% glycerol</p></li>
<li><p>500 µL new colony (used old ones for remaining volumes or TF Colony 1, Colony 2)</p></li>
<li><p>Mixed carefully by turning the tubes upside down to homogenize</p></li>
<li><p>Place at -80 degrees Celsius</p></li>
<li>
<p>500 µL 50% glycerol</p>
</li>
<li>
<p>500 µL new colony (used old ones for remaining volumes or TF Colony 1, Colony 2)</p>
</li>
<li>
<p>Mixed carefully by turning the tubes upside down to homogenize</p>
</li>
<li>
<p>Place at -80 degrees Celsius</p>
</li>
</ul>
</li>
</ul>
</div>
</li>
</ul>
</div>
</div>
</div>
</body>
{% endblock %}
{% endblock %}
\ No newline at end of file
{% extends "layout.html" %}
{% block title %}Plant{% endblock %}
{% block lead %}This award is designed to celebrate exemplary work done in plant synthetic biology.{% endblock %}
{% block page_content %}
<!--
<div class="row mt-4">
<div class="col">
<div class="bd-callout bd-callout-info">
<h4>Best Plant Synthetic Biology</h4>
<p>This award is designed to celebrate exemplary work done in plant synthetic biology. Did you build a project in a plant chassis? Did you submit plant parts to the Registry? This award could also be given to a team working with algae or another photosynthetic eukaryotic chassis. Show us what you made and remember to adhere to iGEM safety guidelines!</p>
<p>To compete for the Best Plant Synthetic Biology prize, select the prize on the <a href="https://competition.igem.org/deliverables/judging-form">judging form</a> and describe your work on this page.</p>
<hr>
<p>Please see the <a href="https://competition.igem.org/judging/awards">2024 Awards Page</a> for more information.</p>
</div>
</div>
</div>
<div class="row mt-4">
<div class="col">
<h2>Inspirations</h2>
<hr>
<ul>
<li><a href="http://2018.igem.org/Team:Cardiff_Wales/Plant">2018 Cardiff Wales</a></li>
<li><a href="https://2019.igem.org/Team:Sorbonne_U_Paris/Plant">2019 Sorbonne U Paris</a></li>
<li><a href="https://2019.igem.org/Team:TU_Kaiserslautern/Plant">2019 TU Kaiserslautern</a></li>
<li><a href="https://2019.igem.org/Team:Humboldt_Berlin/Plant">2019 Humboldt Berlin</a></li>
<li><a href="https://2020.igem.org/Team:Sorbonne_U_Paris/Plant">2020 Sorbonne U Paris</a></li>
</ul>
</div>
</div>
-->
<head>
</head>
<body>
<div class="row mt-4">
<!-- Overview Section -->
<div class="col-lg-3 mb-4">
<div id="overview" class="sticky-top">
<h5>Overview</h5>
<ul class="nav flex-column"> <!--YOU CAN ADD MORE OVERVIEW LINKS HERE, SIMPLY DUPLICATE AN UNORDERED LIST-->
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID">EDIT OVERVIEW TEXT</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID-1">EDIT SUBHEADING 1</a>
<ul class="nav flex-column ml-3">
<li class="nav-item">
<a class="nav-link" href="#cool">EDIT SUB SUBHEADING 1</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#cool2">EDIT SUB SUB HEADING 2</a>
</li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="#EDIT-ID-2">EDIT SUBHEADING 2</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="col-lg-9">
<div id="EDIT-ID" class="mt-4">
<h2>EDIT HEADER</h2>
<p>EDIT TEXT</p>
<hr>
<div id="EDIT-ID-1">
<h3>EDIT SUBHEADING</h3>
<p>EDIT TEXT</p>
</div>
<div id="cool">
<h4>EDIT SUB SUBHEADING</h4>
<p>EDIT TEXT</p>
</div>
<div id="cool2">
<h4>EDIT SUB SUBHEADING</h4>
<p>EDIT TEXT</p>
</div>
<div id="EDIT-ID-2">
<h3>EDIT SUBHEADING</h3>
<p>EDIT TEXT</p>
</div>
</div>
</div>
</div>
</body>
{% endblock %}