Următorul conținut este furnizat de MIT OpenCourseWare sub o licență Creative Commons. Informații suplimentare despre licența noastră și despre MIT OpenCourseWare în general sunt disponibile la ocw.mit.edu. PROFESORUL: OK. Bine ati venit. Bine ați venit la a doua discuție despre rețele și la penultima discuție a cursului. Urmează un set foarte important de prelegeri de la studenții pe care îi aștept cu nerăbdare. Deci ultima dată am vorbit despre utilizarea computerelor pentru a modela diverse sisteme complicate în principal sisteme celulare, variind de la bifurcare foarte cooperantă, chiar bistabilă, astfel încât acolo unde o celulă ia o decizie, o discuție despre numărul de copii ale cromozomilor și implicațiile sale și o bucată mare. de timp pe optimizarea echilibrului de flux, unde putem privi multe dintre aceste lucruri din punctul de vedere al optimizării. Acum, astăzi, pentru a parafraza un celebru politician local, ne vom întreba nu ce pot face computerele pentru biologie, ci ce poate face biologia pentru computere. Și, desigur, vom merge înainte și înapoi și vom încerca să vedem care este această dinamică interesantă între partea experimentală și cea computațională. Și, deci, cum poate biologia să ajute dezvoltarea algoritmului, să returneze favoarea și să ajute biologia? Dar nu numai dezvoltarea algoritmului nu doar inspirarea dezvoltării algoritmului, ci și implementarea de fapt hardware și software în sistemele biologice. Vom vorbi despre asta. Și mergând de la calcularea moleculară la calculul celular și apoi înapoi la algoritmi inspiratori. Deci diapozitivul 3, despre ce vorbim cu adevărat, de care are nevoie de calcul în termeni de ajutor? Cum ajungem... care sunt problemele reale aici? Și am menționat de câteva ori în curs, probabil inițial, când vorbeam despre programare dinamică și subiecte conexe, despre cum se scalează o problemă în informatică. În mod obișnuit, veți avea o tastă de intrare, dimensiunea în și apoi timpul de rulare sau, uneori, memoria are o limită superioară la care ne-am referit ca fiind ordinea unei anumite funcție a acelui capăt sau capăt ca lungime a unui șir. sau dimensiunea problemei. Există și alte simboluri care sunt puțin mai rar folosite. Pe lângă limita superioară, există și limita inferioară. Uneori puteți obține o limită exactă sau o limită egală. Și cum se desfășoară acest lucru când aveți cazuri specifice de n? Acum, desigur, atunci când spuneți că acest ceva este de ordinul sau limita superioară a unei funcții a lui n, nu întotdeauna descrieți neapărat constantele. Dar, pentru a vă oferi o pondere, atunci când aveți n cuprins între 1 și 1.000 și polinomul variind de la liniar la pătratic până la a 10-a putere, apoi exponențial sau factorial. Și puteți vedea că pentru n foarte mic, puteți obține cazuri în care timpul de calcul al performanței polinomului poate fi mai lung decât un timp de calcul exponențial . Deci exponențialul nu este neapărat o veste proastă, în funcție de dimensiunea problemei tale. Dar devin vești proaste foarte repede. Pe măsură ce N crește, treci rapid peste numere mari din partea dreaptă, care sunt insolubile din punct de vedere computațional cu orice computer cunoscut. Așa că am menționat că complexitatea computațională este una dintre diferitele definiții ale complexității la începutul cursului. Acesta nu este cel pe care l-am ales să fim cel mai aproape de definiția complexității vii. Dar este unul care este folosit foarte frecvent în domeniul informaticii. Vreau doar să introduc câțiva dintre termeni aici, ca să- i fi auzit în acest context. Avem... și practic se referă la problemele aduse în diapozitivul anterior, dacă este nevoie, dacă este vorba de scale după un polinom, ceea ce este în general de dorit, sau dacă este scară exponențială sau mai rău. Și deci avem P sunt probleme pe care le putem rezolva în timp determinist polinomial. Determinist este doar descris faptul că algoritmii vor face același lucru din când în când, care este computerul tipic pe care ne simțim confortabil să îl folosim. Și un exemplu de probleme din clasa P, programarea dinamică, pe care am folosit-o de nenumărate ori. Scalează polinomul, iar polinomul depinde doar de problemă ușor de la pătrat la a șasea putere pe care am văzut-o. NP are un număr de submulțimi, dar în general, înseamnă că nu este timpul polinomului determinist pentru a obține soluțiile. Soluțiile pot fi verificate în timp polinomial, dar în general se consideră că nu sunt fezabile în timp polinomial pentru determinare, spre deosebire de verificare. Un exemplu în acest sens au fost de fapt inventatorii diferitelor scheme de criptare, cum ar fi RSA. R și S și A, referindu-se la numele de familie ale autorilor. Într-un anumit sens, se bazează pe dificultatea de a sparge aceste coduri în timp polinomial. Puteți folosi codurile dacă le cunoașteți. Puteți să-l verificați, adică, dar nu îl puteți sparge, decât dacă cineva vine cu o descoperire în problemele NP. Pentru că dacă rezolvi una dintre ele, le poți rezolva pe toate. Și apoi sunt subseturi ale asta. Acest lucru este puțin mai puțin critic pentru discuția de astăzi. Dar există NP complet, un exemplu al căruia este vânzătorul ambulant. Puteți trece prin toate vârfurile călătoriei cu un kilometraj sub un anumit prag. Și o versiune MP hard a aceluiași lucru este care este kilometrajul minim pe care îl puteți obține, nu doar mai puțin decât x, ci cu cât mai puțin decât x? Iar cel mai rău scenariu este de nedecidit, în care într-adevăr, chiar și având în vedere o cantitate nelimitată de timp și spațiu, nu poți spune dacă este. Iar cea clasică este problema opririi programului în care nu știi dacă programul tău se va opri și probabil că toți ați întâlnit această problemă. Sunt doar amuzant. Deci, dar vreau să spun, este o problemă reală... problema opririi programului este o construcție matematică serioasă. BINE. Cum ne descurcăm cu asta? Cum începem să ne gândim la modalitățile în care ne-am ocupat înainte și la modurile în care biologia ar putea schimba puțin peisajul? De obicei, ceea ce facem atunci când ne confruntăm cu o problemă grea NP este înșelăciune într-un fel sau altul. Redefiniți problema, deci este în clasa P, uneori sacrificând ceva. Deci, s-ar putea să aveți... dacă sunteți interesat de structura terțiară, puteți fi definit ca un secundar. Și am arătat că structura secundară pentru RNază poate fi rezolvată cu algoritmul de programare dinamică cu N pătrat sau cel mai rău, N până la al șaselea algoritm. Dacă aceasta este la fel de precisă ca cea mai precisă structură terțiară pe care s-ar putea obține dat un timp exponențial infinit, este o întrebare deschisă. Probabil ca nu. Dacă N este suficient de mic, am arătat că timpii exponențiali pot fi rezonabili. Și așa faci doar o căutare exhaustivă. Sau dacă nu poți face asta, atunci folosești un mod euristic inteligent de a tăia lucrurile. Și asta într-un anumit sens, asta sunt majoritatea aproximărilor. Deci, ce poate face biologia? Vom vorbi astăzi despre trei exemple. Una este calcularea ADN-ului. Unul este algoritmii genetici și rețelele neuronale. Prima într-un anume-- niciuna dintre acestea nu rezolvă cu adevărat problema. Prima este o modalitate de a obține doar mult mai multă putere de calcul brută. Vă voi arăta un citat în care spun că au rezolvat o problemă completă NP, dar este în același sens în care puteți rezolva orice problemă exponențială prin forță brută. Asta nu înseamnă cu adevărat să-l elimini din NP și să fie în P. Algoritmii genetici și rețelele neuronale sunt cu siguranță euristice. Sunt frumos inspirați de doi dintre cei mai mari algoritmi din istoria vieții pe Pământ și anume evoluția și rețelele complexe ale creierului. Și vom obține... Și astfel algoritmii genetici se bazează pe adaptarea care are loc în timpul evoluției și recombinării și mutagenezei. Și rețeaua neuronală este, de asemenea, despre adaptare, dar aceasta este la scara de timp a învățării. Așa că ne vom dedica mai întâi calculului molecular și ne vom pune într-un fel în contextul nanocalculării în general. Și puteți vedea toate problemele din calcul, nu doar modulul de matematică. Deci, toți pașii sunt asamblarea hardware-ului necesar. Acesta este un fel de operațiune din fabrică, de obicei. Apoi mai sunt unele module de intrare, ceva hardware și software care sunt necesare pentru a introduce datele. Apoi există un fel de memorie. Și apoi există un procesor central, ar putea avea componente matematice și ieșire. Aceasta este de la prima noastră prelegere, intrare de asamblare, proces de memorie și ieșire. Și ceea ce vrem să facem cu biologia este să recoltăm lucruri din genomică și doar din cercetarea biologică în general, să le folosim pentru a proiecta computere mai bune fie in silico, fie într-un sens biologic, biochimic. Și apoi, valorifică evoluția, fie pentru a face dispozitive, fie ca parte a dezvoltării algoritmilor. Avem... diferiți oameni au opinii diferite despre cât mai mult mai mult legea lui Moore, scalarea pentru circuitele integrate la scară mare sau versiunea fișierelor cu curbe care datează din anii 1900, despre dublarea la fiecare doi ani, capacitatea de a calcula, calcule pe secundă, la 1.000 [INAUDIBIL]. S- ar putea să mai rămână un deceniu în silicon, un circuit integrat la scară largă. Așa spun unii, sau poate mai mult, poate mai puțin. Deci, există trei opțiuni reale aici pentru următorul pas, nanocalcularea electronică, nanocalcularea optică, nanocalcularea moleculară și ați putea adăuga la acest calcul cuantic, deci poate patru opțiuni diferite pentru a învinge legea lui Moore sau pentru a extinde legea lui Moore , în funcție de modul în care o priviți. . Așa că haideți să le parcurgem rapid, pe rând. Calculul optic la care vă puteți gândi ca deja aici, într-un sens în care rețelele noastre de fibră optică au comutatoare foarte rapide care sunt necesare pentru o bună parte din cel mai rapid internet al nostru. Și există diverse demonstrații în care puteți face calcule optice pentru multe dintre sarcini, nu doar pentru transferul de date. Și la fel ca multe alte lucruri, există dorința de a reduce acest lucru pentru costul de producție și calitate. Si asa mai departe. Avantajele computerelor optice față de cele electronice, tipice, sunt că, pentru un anumit set de operațiuni, există sentimentul general că ar putea fi o generare mai mică de căldură. Merge cu viteza luminii, mai degrabă decât cu viteza puțin mai mică decât viteza luminii care vine de obicei în implementările reale în circuitele electronice. Și iată două exemple luate din literatură de obținere a unui tip natural de auto-asamblare, așa cum am văzut în multe sisteme biologice, obținem auto-asamblarea membranelor, auto-asamblarea complexelor multi-proteice. Aici aveți, doriți să faceți un anumit tip de dimensiune a particulelor optice care au rangul potrivit de indice și spațiere și formă și așa mai departe. Și puteți folosi auto-asamblarea aici pentru acel lucru. Acestea sunt exemple de unde ajungem aici în intervalul de nanometri. Acesta este un obiect la scară de 5 microni aici. Am ales acest exemplu special, există o serie de exemple de nanocomputing electronic în care electronica ajunge la dimensiunea moleculelor. Aici molecula aleasă este un polimer de carbon, nu o hidrocarbură, ci carbon. Este ca buckyballs care este carbon-60 sau grafit rulat în tuburi, aceste nanotuburi, pot fi folosite ca elemente ca un tranzistor în circuite foarte mici. Aceasta este doar o schema. Aceasta nu este de fapt o micrografie, nu. Și iată patru circuite care reflectă ceea ce ar putea fi primele tale patru proiecte într-un curs introductiv de electronică, ignorând faptul că s- ar putea să nu folosești nanotuburi. Dar ați avea tensiune de intrare și tensiune de ieșire. Cu alte cuvinte, acesta este un circuit asemănător unui tranzistor sau un circuit asemănător unui invertor în colțul din stânga sus al slide-ului 10. Și nanotubul de aici este în mijloc în serie cu un rezistor care trece de la tensiune înaltă la pământ în partea inferioară și tensiunea de intrare modulează în esență tensiunea de ieșire în curba neliniară. Și puteți vedea această curbă foarte cooperantă la fel ca cele despre care am vorbit într-un număr de alte sisteme biologice și fizice . În dreapta sus, aveți o poartă NOR. Aproape fiecare circuit poate fi realizat prin combinații pur și simplu prin [? nu ?] [? VÂSLE. ?] Acesta este un invertor plus un [? OAR. ?] Și astfel puteți vedea că acum au două intrări la stânga și la dreapta în 1 și 2. Și pot avea stări 1-1, 1-0, 0-1, 0-0, mergând de la stânga la dreapta. Și puteți vedea doar când ambele sunt 0, întregul circuit acum, ieșirea coboară la 0 pentru tensiune joasă pentru ieșire. Deci, de intrare, cele trei combinații posibile de intrare și ultima primește [? scăzut. ?] Și totul este făcut, totul se face cu acest tip de nanotuburi la scară moleculară. Iată o memorie RAM, necesare două nanotuburi pentru a fi stocată, fie că este în cazul în care o răsturnați de la deschis pentru a o întoarce de la jos la sus. Și ultimul exemplu, în dreapta jos, acum aveți nevoie de 3 nanotuburi. Vedeți, ne-am urcat în complexitate de la 1 la 2 la 3. Și aveți nevoie de 3 pentru a obține un oscilator inel. Adică, așa te-ai gândi. Gândește-te cel mai ușor la asta, unde avem ieșirea primului care îl afectează pe al doilea. Al doilea îl afectează pe al treilea și pe al treilea, întorcându-se înapoi la primul. Și rezultatul acestui lucru, deoarece obțineți o serie de vârfuri și jgheaburi aici, pe care le-ați folosit pentru sincronizarea circuitelor sau generarea altor procese sinusoidale utile. Acum, acesta este un exemplu, deci electronicul optic. Molecular include o serie de posibilități diferite, inclusiv ADN-ul, pe care ne vom concentra, calculul ADN-ului. Și asta a fost început de o persoană, un fizician renumit pentru că a gândit destul de mult. Feynman în 1959, când era încă destul de tânăr, a ținut o conferință intitulată There's Plenty of Room at the Bottom. Și prin asta a vrut să spună că putem... așa cum putem prelucra și fabrica obiecte într-un mod destul de automatizat, ar trebui să fim capabili să o reducem până la punctul în care manipulăm atomi individuali. Și nu se putea gândi la niciun motiv fizic, cum ar fi principiul incertitudinii sau ceva de genul acesta, care să împiedice cineva să facă asta, să manipuleze atomii individuali. Și mulți ani mai târziu acum, i s- a dovedit că are dreptate și că facem asta, deși nu într-o metodă de producție cu adevărat ridicată . Drexler și teza sa și ulterior a susținut, este probabil cuvântul potrivit, această noțiune și ia dat numele de nanotehnologie și nanosisteme și a concretizat cu adevărat unele dintre lucrurile pe care cineva le-ar putea face dacă ați avea o modalitate de procesare mult mai mare. cu fabricarea la scară atomică. Cu toate acestea, chiar și el nu a conectat cu adevărat toate punctele dintre unde ne aflăm acum și unde și cum ajungem la primii nano-asamblatori și nanotehnologie. De atunci, a existat un fel de renaștere a interesului în acest sens, recunoașterea faptului că sistemele biologice realizează în mod natural manipulări atomice la scară nanotehnologică. Și ați văzut câteva exemple în acest curs. Dar exemplul particular pe care îl vom folosi ca punct de plecare pentru discutarea tuturor pașilor care ar putea fi în care biologia și mineritul molecular ne-ar putea oferi noi instrumente, fie că este vorba de intrări de asamblare, de ieșire de calcul de memorie. Vom începe cu lucrarea lui Len Adleman privind schimbarea ritmului în 1994. Acesta este A-ul RSA despre care am vorbit acum câteva minute. În mod evident, el a fost un hardcore și este expert în algoritmică și a decis în 1994 să facă o lucrare care a necesitat nu numai algoritmic, ci și o schimbare uriașă în modul în care ați implementat algoritmii. Și apoi, de fapt, să meargă în laborator într-un laborator biochimic pe care nu a fost pregătit anterior. Și pentru autor... este o lucrare cu un singur autor care a inclus lucruri precum PCR. Asta a fost în 1994. Nu exista nicio literatură pe tema calculatoarelor ADN înainte de asta. La doar șase ani mai târziu, au existat 520 de referințe pe acest subiect. Deci, evident, a lovit un fel de nerv. Primii ani după aceea au fost în principal teoretici. Dar vă voi arăta câteva exemple. Lucrarea lui a avut o componentă experimentală și altele pe care vi le arăt. Deoarece acest curs este într-adevăr despre acea interfață, verificând constant teoria cu realitatea, acestea sunt cele pe care le voi sublinia aici. Deci întrebarea pe care a pus-o în 1994 și este încă proaspătă astăzi este, există o cale hamiltoniană prin toate nodurile dintr-o rețea? Deci am vorbit despre rețele biologice interesante . Dar aici, doar în orice rețea în care nodurile negre sunt conectate prin margini direcționate în acest grafic direcționat. Vrei să mergi de la început, S, până la capătul T, de la 1 la 6, respectând săgețile și trecând prin fiecare punct o dată. Cum faci acest lucru? Și cum faci asta în ADN? Deci, un exemplu de aici merge de la S la 3 la 5 la 2 la 4 la T. Așadar, așa cum o faci, mai întâi în linii mari, codifică graficul, atât nodurile, punctele negre, cât și marginile într- un singur -secvente de ADN catenar. Apoi creați toate căile posibile folosind secvențe suprapuse pentru a indica care nod este conectat la ce alt nod printr-o margine în ce direcție. Deci poți avea de fapt direcționalitate, doar pentru că ADN-ul are direcționalitate. Și acum folosești hibridizarea ADN-ului pentru a face acest pas. Acum, primul pas este liniar. Codificarea graficului este liniară cu numărul de puncte din grafic, numărul de locuri din calea hamiltoniană. Cel de-al doilea pas nu este ceva -- și asta ai face dacă computerul tău programează un sintetizator ADN, care este o mașină automată pe care am descris-o de câteva ori. Dar al doilea pas este din mâinile tale. Acesta este ceva care se întâmplă automat când pui ADN în soluție. Dacă proiectați aceste secvențe cu atenție, astfel încât să nu se hibridizeze foarte mult, atunci singurul mod în care se pot asambla este așa cum doriți. Apoi, în sfârșit, determinați unde există soluția și acesta este ceva care este aproape constant în complexitate. Deci, întregul lucru se scalează foarte grațios în loc să se scaleze exponențial, așa cum ar face în mod normal problema calea hamiltoniană. Acest lucru dă aspectul scalării liniar în timp, care este într-adevăr unul dintre cele mai bune scenarii pentru timpul polinomial și cu siguranță mai bun decât exponențial. Deci, cum facem de fapt asta? Asta a fost linii mari. Aceasta este o vedere mai detaliată. Și puteți vedea cum se pare că va funcționa. Aveți fiecare dintre nodurile codificat prin secvențe, să spunem, roșu și cafeniu aici, în stânga sus a diapozitivului 14. Și aveți, dacă doriți să conectați nodul 3 cu nodul 4, astfel încât să luați mâna dreaptă, 3 capătul prim care este un fel de bronz verzui. Și îl conectați acum la celălalt capăt al, adică capătul 5 prim al nodului 4 chiar sub el, care este albastru. Deci acum aveți acest hibrid care este comandat. Deci este o săgeată care merge de la 3 la 4 și acea margine are această secvență particulară care merge de la 5 prim la 3 prim. Acum, în practică, doriți ca marginile să fie complementare, nu identice cu nodurile. Și astfel toate nodurile sunt de fapt reprezentate ca secvențe inverse în partea din stânga jos a diapozitivului 14. Și astfel reprezintă toate marginile care conectează nodurile în această manieră direcțională. Și apoi un exemplu despre cum ați conecta trei noduri, de la 3 la 4 la 5 prin două margini direcționale de conectare, 3, 4, 4, 5 este prezentat aici. Toate nodurile sunt în complimente inverse și toate marginile sunt în direcția înainte, așa cum este definită în mod arbitrar aici. Și puteți vedea cum acestea le unesc și faceți conexiuni ferme care nu sunt ambigue, nu au reacții încrucișate și au o direcționalitate directă. Acum că începeți să vă faceți ideea că acum putem codifica asta în ADN. Dar cum vom face de fapt calculul și cum vom afla cine este câștigătorul? Deci, ce se face, amintiți-vă, vrem să creăm toate căile și apoi să întrebăm dacă vreuna dintre ele trece prin toate punctele? Și apoi, vreunul dintre ei trece prin toate punctele exact o dată? Deci, primul lucru este să creați toate căile de la început până la sfârșit. Și doar aruncând acest amestec de toate marginile și toate nodurile, vei crea în principiu toate căile. Acum vrei să scrii, vei trece de la prefixul unuia la sufixul celuilalt în același mod în care s-a ilustrat în diapozitivul anterior. Și iată câteva exemple ale unora dintre căi, unele sunt foarte scurte. Acesta trece doar prin 1, 2 4, 6, trece doar prin 4 noduri, nu sunt toate cele 6. Cel de jos trece prin prea multe noduri, iar unele dintre ele le trece în mod repetitiv. Dar ați înțeles ideea că puteți defini calea în termenii tuturor acestor margini și a complementelor inverse care reprezintă nodurile. Dar iată algoritmul real, așa cum este codificat în ADN și implementat prin metode practice pe care un informatician le poate face fără prea mult ajutor, cel puțin nu suficient ajutor necesar pentru co-autor. Deci am codificat deja graficele din secvențele ADN. Și acest lucru se realizează prin sinteza automată a oligonucleotidelor. Creați toate căile de la ST prin amplificarea PCR de la capătul S al oligo până la capătul T. Deci, asta înseamnă că simplul fapt că PCR se amplifică înseamnă că trebuie să conțină nodul 1 și 6, începutul terminus. Deci e bine. Acum, doriți să obțineți cele care vizitează fiecare nod, așa că prin hibridizare în serie, puteți avea nodurile 2, 3, 4 și 5 imobilizate. Și legați produsele PCR la el și veți face bucla de la 2 și apoi în serie vă legați la 3, bucla de la 3, legați la 4, bucla pentru 4, 5. Deci acum știți că are 1 din 6 pentru că asta este primerii PCR. Are 2, 3, 4 și 5 pentru că le echilibrează în serie prin hibridizare. Apoi, dar asta, ai putea obține unele dintre acele căi lungi care au trecut prin mai multe noduri de mai multe ori. Dacă vrei să aibă exact N noduri, atunci ceea ce faci este un fel de electric [? fir ?] [? excizând. ?] Și aici, dacă aveți o curbă de calibrare, așa cum se arată în partea de jos a diapozitivului 16, am cunoscut markeri de dimensiune ADN și produse PCR cunoscute, arătând că aveți unul dintre aceste noduri ADN, 2, 3, până la 6. Și dacă găsiți o soluție care are toate aceste proprietăți, PCR-urile, face hibridizare în serie la toate nodurile și are lungimea potrivită, cum ar fi cea din coloana 6, atunci știți că aveți o soluție. Și acesta a fost argumentul lui Len Adleman că avea calcularea ADN-ului în funcțiune. Șase ani mai târziu, acum avem, sau după șase ani, au existat acum peste 500 de exemple în acest sens. Vă voi arăta acest exemplu atât ca introducere în problema satisfacabilității, cât și ca arătând că puteți face calcul ARN și că puteți codifica obiecte bidimensionale și ilustrează o serie de lucruri. Problema aici este o problemă de testare, o placă de testare foarte simplă . Nu sunt 8 pe 8, ci 3 pe 3. Și ai un număr artificial de cavaleri aici. Și cei dintre voi care cunoașteți șahul știți că acești cavaleri pot ataca într-o combinație curioasă de drepte și diagonale. Și chiar nu contează. Ideea este că există o varietate de aranjamente ale oricărui număr de cavaleri, astfel încât niciunul dintre ei nu se poate ataca unul pe celălalt și sunt cu toții în pace aici. Și că obiectul acestui algoritm este de a găsi acele combinații. Și iată-- și o faci prin clonare. Deci asta a fost ceva care nu era în exemplul anterior. Prin clonare, puteți găsi fiecare dintre soluții. Și apoi determinați ce este prezent și se află de-a lungul acelei clone. Este un fel ca haplotiparea sau analiza formei de îmbinare. Într-adevăr, puteți analiza aceste lucruri doar privind produsul unei singure molecule. Și despre asta este clonarea, privind, amplificarea acelei molecule unice până în punctul în care o poți analiza. Deci ăsta e un lucru nou. Celălalt lucru este nou, este să începi cu un ARN pentru a putea folosi această metodă puternică, această enzimă numită RNază H, care va-- are o proprietate că atunci când legați o oligonucleotidă ADN la un ARN și RNaza H complementară a acestora. va distruge ARN-ul în acel punct, în punctul de hibridizare. Deci, este o modalitate de a elimina o moleculă întreagă dacă se întâmplă să aibă o anumită secvență în ea. Și astfel, una dintre modalitățile prin care puteți pune întrebări logice despre fiecare moleculă dintr-un amestec complex mare de molecule este utilizarea acestei eliminări a RNazei. Și într-un fel, este o modalitate de a proiecta un număr infinit de enzime de restricție. RNaza plus oligonucleotida ADN furnizează, într-un anumit sens, o enzimă de restricție personalizată. În orice caz, celălalt lucru care este neobișnuit aici este ideea de a folosi sinteza oligonucleotidelor divizate și grupate . Am introdus acest lucru în prelegerea în care am introdus interacțiunea dintre proteine ​​​​medicamente și modalități de sinteză a medicamentelor și a altor molecule prin sinteza Poole. Și ideea din spatele sintezei Poole divizate în acest caz este că fiecare dintre pătratele din această matrice 3 cu 3 poate avea două stări, fie are un cavaler, fie nu. Fiecare dintre aceste două stări, puteți lua în considerare un 0 sau 1. Le puteți reprezenta ca două secvențe diferite. Secvența A sau secvența A primă, reprezentând prezența sau absența a ceva. Și așa ai practic 2-- ai 8 pătrate și deci ai de la 2 la a 9-a posibilități diferite. Și așa mai jos au sintetizat un set de polimeri în care aveți toate stările binare posibile pentru această grilă 3 pe 3. Și asta se face prin... tu sintetizezi și ajungi acolo unde vei sintetiza fie A, fie A prim. L-ai împărțit. Jumătate din acest grup primește un A. Jumătate din acesta primește secvența A primă. Trageți înapoi, cealaltă jumătate primește B, jumătate primește B prim. Reunește-le și împarte-le și C și C prim și așa mai departe, până la capăt. Chiar ai nevoie doar de nouă dintre acestea. Au făcut 10 dintr-un motiv sau altul. Dar ideea este să obțineți 2 la a noua putere, aveți nevoie de nouă dintre acestea. Și apoi, după cum puteți... atunci le puteți citi electroforetic, așa cum citirea electroforetică a dat o dimensionare în prima calculare a ADN-ului, îl puteți folosi pentru a obține dimensiunile acestora. Și puteți vedea-- ați putea citi-- Iată două soluții, BEFH referindu-se la pătratele pe o grilă 3 pe 3 și EFC, acestea sunt ambele soluții. BEFH, modul de a citi acest lucru din această sinteză combinatorie de jos este că ai de la A la I ca semnături binare de biți posibile. Și apoi aveți două coloane, fie coloana 0, fie 1, două stări, cele două secvențe. Și pe măsură ce PCR de la eticheta finală la fiecare dintre aceste etichete, A sau A prim, B sau B prim și așa mai departe. Atunci vei primi... acestea sunt toate... vei primi această serie gradată. Îți va spune, ai puțin... ai, A este în starea 0. B este în starea 1. C și D sunt în starea 0. E este în starea 1 și așa mai departe. Și așa că l-am înconjurat pe B fiind în etapa 1, arătând că există un Cavaler în poziția B. Și puteți trece prin același lucru pentru celelalte soluții. Fiecare dintre acestea să se dezvolte ca o clonă. Și există un și-- lucrul frumos la toate aceste probleme este că au mai multe reprezentări. Îi reprezinți în ADN. Îi reprezentați în date. Le puteți reprezenta ca un set logic boolean de operații în care aceste lucruri reprezintă AND-uri și SAU în partea de jos a slide-ului și așa mai departe. Și veți vedea asta în ultimele exemple în care tocmai am cam trecut, unde acel set de operații logice este probabil unul dintre punctele preferate de atac pentru calcularea ADN-ului și astăzi. Deci care sunt problemele și avantajele? Problemele sunt că da, este timp polinomial. De fapt, este aproape de timpul liniar cu un număr de intrări . În ceea ce privește nevoile de sinteză, știți, computerul spune unui sintetizator ce să facă. Și apoi enzimele vor sau hibridizarea vor face această reacție extrem de paralelă independent de N. Deci, practic, timp constant. Deci este timp liniar pentru sinteză, timp constant pentru calcul și timp constant pentru obținerea imediată a răspunsului. Dar ai volume exponențiale. De exemplu, un grafic cu o sută de noduri, am vorbit despre diferitele soluții de grafice care ar putea fi de la 10 la a 30-a molecule. Și dacă vreunul dintre voi a încercat vreodată să sintetizeze o molă sau de la 10 la a 24-a molecule, vă dați seama că ar falimenta planeta noastră pentru a face 10 până la a 30-a molecule. Deci, în plus, pașii elementari sunt lenți. Este extrem de paralel. Vă puteți imagina că există trilioane de molecule care calculează în paralel, dar etapele elementare de hibridizare și ADN polimerază sau RNază H și așa mai departe sunt de obicei în intervalul milihertzi. Adică, ar putea dura 1.000 de secunde, mai degrabă decât gigaherți, care ar fi o miliardime de secundă. Deci, ar putea exista un decalaj de la 10 la al 12-lea în rata de executare a comenzilor, dar există mai mult, speranța este că există mai mult de un avantaj de la 10 la al 12-lea în paralelism. În plus, erorile experimentale nu trebuie să fie măturate sub covor. Ai probleme cu nepotrivirea. Există o limită care arată cât de inteligent poți proiecta toate aceste secvențe. Pe măsură ce graficul devine mai mare, trebuie să aveți tot mai multe secvențe implicate. Și asta înseamnă că vei obține din ce în ce mai multă hibridizare încrucișată, clivaj incomplet și așa mai departe. Există... când acest slide 18 spune nereutilizabil, există forme reutilizabile. Și vom ajunge la acestea în doar un minut. Deci astea sunt dezavantajele. Care sunt promisiunile sau posibilele avantaje? Paralelism ridicat, ar putea fi mult mai mult decât pierderea de viteză de la 10 la a 12-a ori. Când hardware-ul computerului și oamenii visează la următoarea generație de computere, ei speră să scape de recordul actual, care este de aproximativ 10 până la a 9-a operațiuni pe joule pentru calculatoarele convenționale. Poate că nu este un record, dar sunt computere convenționale. Mai aproape de operațiunile de 34 ori 10 până la a 19-a pe joule pe care ar trebui să le poți scârțâi lângă limita termodinamică. Și după cum se dovedește, multe enzime ADN, cum ar fi ADN polimeraza, sunt deja într- un factor de 10 din acest obiectiv, în timp ce computerele convenționale sunt oprite cu 10 factori de 10 sau mai mult. Dacă cineva poate cita, rezolva sau rezolva o problemă NP-completă, puteți obține multe. Îmbunătățirile despre care vom vorbi doar pe scurt și care îi țin pe oameni entuziasmați de acest lucru sunt că acesta este un mod natural de a vorbi despre problemele biologice. Dacă există probleme biologice, poți... Ar putea fi un pas mai mic pentru a ajunge la calcularea ADN-ului și există metode de citire mai rapide, așa cum există metode de calcul din ce în ce mai rapide. Și selecția naturală, evoluția, este ceva ce poți folosi pe computerele ADN, care până acum nu a fost extrem de puternic în computerele convenționale, deși vom vorbi în scurt timp despre algoritmi genetici. Așadar, o modalitate de a obține reutilizare este să aveți un așa-numit model bazat pe autocolante sau ceva în care practic doar utilizați proprietățile de hibridizare fără a fi distructiv. Și iată un exemplu. Nu am de gând să trec prea mult prin ea. Ar trebui să subliniez că totul aici îl include din nou pe Adleman. Și voi mai avea un exemplu din munca lui într-un moment aici. Dar există acum exemple de muncă care încearcă să ia în considerare în mod serios cantitatea, volumele de ADN care sunt necesare și modalități de a gestiona toleranța la erori sau algoritmii de reducere a erorilor în care treceți de fapt și spuneți în mod conștient: OK, dacă am avut o eroare aici, cum l-am compensa? Cum ne-am dedica un pic mai mult, încă câteva bucăți pentru a face următorul pas? Așadar, la fel ca în problema testului de noapte pe care am avut-o puțin înainte, ideea de a folosi AND și OR ale variabilelor booleene, aceste X din diapozitivul 21, care pot avea două stări 0 sau 1 similare cu variabilele booleene pe care le întâlnim din când în când. timpul în modelele generative. Și puteți avea clauze, care sunt practic operații logice pe setul de variabile booleene. Avem, NU și SAU și AND. Și acest tip de problemă este o problemă foarte generală, foarte interesantă. Și a fost abordat doar în moduri foarte analoge cu modurile în care am vorbit despre cele anterioare, în care codificați graficul în secvențe ADN, creând astfel toate căile prin hibridizare sau ceva de genul acesta. Și apoi îl citești cu PCR și fază solidă. Și puteți spune, vedeți aici un citat în care se spune, aici rezolvăm o problemă NP-completă. Într-adevăr, au rezolvat una, dar nu au transformat-o într-adevăr într-o problemă de timp polinomial. Este pur și simplu o forță brutală. Și acesta este cel mai recent, tocmai a apărut din nou în Science, Len Adleman pe el, iar acum până la 20 de variabile într- o problemă cu trei seturi. Deci, totul este despre calcul. S- ar putea să nu-- deoarece ADN-ul este relativ lent la calculul pe pas, extrem de paralel, s-ar putea să nu fie cel mai bun dintre diferiții pași de asamblare de calcul, intrare, memorie, calcul și ieșire. Așa că vom explora unele dintre celelalte, în special asamblarea. Într-o anumită măsură, asamblarea computerelor este lentă și deci este ceva în care asamblarea moleculară ar putea avea unele avantaje. Acum, acest exemplu special, voi sublinia aspectul de asamblare al acestuia, dar vă puteți gândi la aceasta ca la o modalitate de cartografiere, acești autori au mapat asamblarea unui piling bidimensional real pe o știință informatică abstractă, dar importantă și puternică. concept care este mașina generală Turing, o mașină, un fel de structură de tip bandă care poate calcula, face orice fel de calcul general, calcul determinist. Așa că au mapat un fel de tigla fizică, așa cum ați putea avea un mozaic periodic sau periodic de plăci pe această mașină de calcul și pe acest tip de operație logică, XOR pe un șir de biți binari, așa cum am avut în cuplul anterior. de diapozitive despre problema celor trei statistici. Vreau să subliniez versiunea geometrică, fizică, deoarece încercăm să facem o tranziție acum în această lucrare care combină calcularea ADN-ului cu asamblarea ADN-ului. Acum, avem trei moduri mai mult sau mai puțin echivalente de a reprezenta aceleași secvențe. Deci, acestea se numesc triple crossover, pentru că puteți vedea, să aruncăm o privire la Y2 aici, chiar în mijlocul slide-ului. Puteți vedea că există aceste încrucișări multiple în care aveți un fel de eveniment de recombinare în care aveți două molecule de ADN dublu catenar care schimbă o catenă. Și aceasta nu este o recombinare omoloagă naturală a lui N în sensul în care nu sunt omoloage, iar chestia asta este oarecum prinsă în acest crossover. Și încrucișarea, când aveți mai multe încrucișări, puteți face o bucată de ADN care are acum mai mult decât două capete. Puteți avea mai multe capete lipicioase. Puteți avea, să zicem în acest caz, în partea de sus, puteți vedea patru capete diferite cu 1, 2, 3, 4 fire încrucișate aici. Și fiecare dintre acestea, puteți vedea în extrema dreaptă, o surplosă principală cu 5 baze 3 și o consolă principală cu 7 baze 5 și câteva capete la nivel în extrema stângă. Și astfel fiecare dintre aceste lucruri are capacitatea de a se lipi de alte elemente de placare. Și puteți vedea că puteți alcătui o structură destul de-- bidimensională , care poate fi la fel de complicată ca un mozaic. Nu trebuie să se repete sau se poate repeta dacă doriți să utilizați instrumente vizuale, cum ar fi transformările Fourier, pentru a privi o structură care se repetă. Și puteți vedea, puteți proiecta site-uri de restricții pentru a vă ajuta să analizați structura pe un test pe bază de gel în extrema stângă. Am văzut deja destule teste pe bază de gel în seara asta, nu mă voi întrerupe, nu vă vom prezenta. Dar puteți vedea că există... chiar dacă acesta nu este ADN drept așa cum au fost cele două sau trei exemple anterioare, aceasta este o structură ramificată mult mai complicată. Cu toate acestea, îl puteți transforma într-o citire liniară cu dimensiuni electroforetice. Dar îl puteți privi și ca pe un obiect cu adevărat bidimensional sau tridimensional aici. Aici folosim atomic-- ei folosesc microscopia cu forță atomică, unde o sondă cu un singur atom la vârf răspunde la forță. Acest lucru permite ca, pe măsură ce atingeți un obiect, feedback-ul din sistem cu un microscop de scanare tunel , de obicei ca parte a feedback-ului, să vă spună că tocmai ați atins suprafața și trebuie să vă retrageți puțin. Și apoi doar scanează de-a lungul și doar profilează suprafața. Și așadar aici, cu două metode diferite de placare, aceasta este mai degrabă o placare repetitivă decât aperiodică. Puteți vedea că aceste mici proeminențe roz, le puteți introduce în plăci, nu doar lipiciitatea bidimensională, etichetele lipicioase, ci și o a treia dimensiune, care este o denivelare, care ar putea fi o buclă de tulpină, așa cum am văzut în alte structuri secundare. Există inginerie în acest ADN. Deci acum că aceste denivelări se vor lipi și vor fi ținte ușoare pentru microscopul cu forță atomică. Și aici ai un cucui la fiecare a doua țiglă, și asta este în stânga. Și în dreapta diapozitivului 27, aveți o placă mai complicată în care aveți patru tipuri diferite de plăci și o denivelare la fiecare a patra. Și așa vă așteptați, puteți calcula din modelul Watson-Crick pentru ADN, sau modele mai avansate de ADN, chiar dacă aceasta este o rețea de structuri ale creierului, puteți calcula, ar trebui să fie aproximativ 33 de nanometri între denivelări. Și asta se observă. Și se calculează și se observă 65 de nanometri. Puteți vedea distanța mai mare a rețelei în aceste micrografii de forță atomică, desigur, oarecum neclare. Dar puteți vedea, obțineți ceva, o confirmare experimentală a structurilor bidimensionale de aici. Acum, aceasta este nanofabricarea cu auto-asamblare . Și într-o oarecare măsură, este inspirat și poate fi combinat cu microfabricație. Acesta este ceva în care, practic, utilizați optica, ajungeți la limita producției optice actuale ca o microfabricație, unde este de obicei greu să ajungeți sub 100 de nanometri sau cam asa ceva în dimensiunea caracteristicilor. Aici puteți vedea că aceasta este... și aceasta este microfabricația folosită pentru a face cipurile computerului. Dar, în acest caz, este folosit pentru a face de fapt părți în mișcare, părți care se mișcă una față de alta. Și acea mișcare are de fapt aplicații utile. Prima astfel de aplicație utilă de care știu este introducerea acestor lucruri în senzorii airbag-ului. Și ideea este că atunci când conduci mașina ta mare și dai de un obiect și mai mare, decelerați brusc, fie prin frâne, fie prin altă metodă. Și când o faci, acest mic dispozitiv, un senzor în interiorul tău... undeva în mașina ta, își va deplasa una dintre părți cu cel puțin 0,2 angstromi, adică o zecime dintr- un diametru atomic. Asta nu pare foarte mult. Și nu este. Provoacă doar 100 de femtofaradi, adică 10 la -13 faradi modificarea capacității. Dar este suficient pentru a semnala că a avut loc sau va avea loc o coliziune și, cu o rată de fals pozitive foarte scăzută, cei dintre voi care ați condus mașini mari știu cât de rar se deschide airbag-ul accidental. Dar când se deviază cu 0,2 angstrom, atunci deschide airbag-ul. Bine, deci aceasta este o răsplată a microfabricației. Dar acum vrem să combinăm nanosistemele pe care le-am văzut în computerele ADN și în plăci cu microfabricare. Și am ales asta ca doar unul dintre puținele exemple în care microfabricatul întâlnește nanofabricarea. Și îl vom numi un sistem nano-electromecanic. Și aici, deci aveți microfabricarea atât a stâlpilor pe care stau aceste lucruri, care sunt aceste coloane de nichel de 80 de nanometri, cât și a micilor bare, bare metalice, care pot fi în intervalul de microni. Și le puteți vedea vizualizate pe fotografia din stânga, unde aveți aceste bare la distanțe regulate, iar dacă vă uitați la această publicație sau la rețelele care o însoțesc, aceste mici bare se vor învârti. Și pe care se învârt nu este un motor microfabricat, ci este un motor nano biotehnologie , care și de fapt este o proteină la care majoritatea oamenilor nu au considerat un motor când a fost descoperit pentru prima dată. Proteina prezentă în aproape toate organismele este responsabilă pentru generarea de ATP. De obicei, te gândești la acest lucru ca la crearea de ATP pentru motoarele de utilizat, dar acest lucru, deoarece este capabil de mișcare rotativă, mișcă această bară de 1 micron la viteza la care te-ai aștepta ca nano-mașina să genereze cuplu. Deci suntem acum, am vorbit despre asamblare. Acesta este un exemplu de dispozitiv de ieșire, ce fel de dispozitive de intrare avem care vor funcționa la nivelul unei singure molecule. Iată, sunt multe exemple. Am menționat câteva dintre ele în prelegerea de secvențiere, genotipizare, unde vorbeam despre fluorofori unici. Aici, puteți folosi un alt aspect al biologiei, care este auto-asamblarea membranelor pentru a realiza o etanșare foarte, foarte etanșă, cu conductanță scăzută, care are o grosime de numai 2 nanometri, dar este suficient să faceți o etanșare de gigaohm, multi. sigiliu gigaohm. Și apoi faci o mică gaură în ea cu o singură moleculă de proteină. Și există tot mai multe modalități de a face acest lucru și pe substraturi anorganice . Deci, atunci când aveți un singur por de proteină care ar putea fi în sine o deschidere de 1 nanometru , acesta va permite, în prezența câmpului electric, indicat de aceste sarcini negative și pozitive aici, ionilor negativi și pozitivi galbeni să treacă, precum clorura de sodiu. Și vor trece prin asta până la un milion de ioni pe secundă, ușor. Și când aveți o moleculă mai mare, adică un polianion în câmpul electric, acesta va migra încet prin acest por. Și în timp ce face acest lucru, blochează mișcarea rapidă a ionilor mai mici, cum ar fi sodiul. Și poți înregistra, asta nu blochează neapărat canalul. Puteți înregistra viteza cu care va trece sodiul și modul în care este influențat de compoziția polimerului care trece. Și iată un exemplu de proteină bacteriană. Aceasta este [? Miller?] et. toate, menționate mai jos. O toxină bacteriană, de fapt din stafilococ, stafilococ, al cărei scop în viață este să omoare alte organisme, nu este să ofere o conductă utilă pentru ca ARN-ul să treacă printr-o celulă. Dar, cu toate acestea, în acest experiment, atunci când o face, când un acid nucleic trece prin el, blochează moleculele mici de apă roșie și ionii de dimensiuni similare sunt blocați. Și sunt blocați într-un fel care este sensibil nu numai la moleculă, ci și la părți ale moleculei. Deci, puteți vedea aici, aveți o moleculă cu o parte oligo(A) și o parte oligo(C). Și puteți face de fapt discriminarea între acestea, atât în ​​ceea ce privește viteza cu care trec, fiecare dintre părți trece, cât și conductanța. Deci, dacă te uiți în jos în partea din dreapta jos, vei vedea aici un 5 picoamperi la nivelurile de -12 amperi, 20 picoamperi și 120 picoamperi pentru aceste molecule individuale. Și fiecare dintre aceste vârfuri este mai întâi jumătatea 830, apoi jumătatea C-70 . Și puteți vedea că cele două niveluri de conductanță diferite pe care le obțineți, trec reproductibil, trece printr-o direcție tipică, mai întâi A, apoi C și diferite niveluri de conductanță, rate diferite. Și apoi 125 de amperi sunt între molecule prin care obțineți capacitatea totală de conductanță , o mulțime de sodiu trece prin. Și la fel ca în cazul altor metode pe care le-am văzut anterior, utilizarea celor două dimensiuni vă ajută să obțineți o rezoluție statistică mai bună. Aici cele două dimensiuni sunt conductanța și timpul, timpul și axa verticală și conductanța pe axa orizontală. Și puteți vedea cum puteți discrimina diferite tipuri de polimeri prin această metodă. O moleculă de timp, fiecare dintre aceste puncte reprezintă un singur eveniment molecular. Și așa vom face o scurtă pauză. Și apoi, când ne vom întoarce, vom vorbi nu despre calculul molecular, ci despre proiectarea computerelor celulare și vom revedea unele dintre aceleași teme. Mulțumiri.