Wenn DNA JavaScript wäre

Ich habe mich nie wirklich für Biologie interessiert. Ich habe es für meinen Geschmack immer als etwas nass empfunden. Außerdem stellte ich mir vor, dass es ziemlich viel Aufstehen bedeutete, nicht wirklich meine Tasse Tee.

Aber DNA ist verdammt verblüffend - vielleicht sogar noch wichtiger für die Menschheit als JavaScript - und ich möchte diese Verblüffung in Form von JavaScript teilen.

Wenn Sie Ihre Biologie kennen, entschuldigen Sie bitte die ein oder zwei wilden Vereinfachungen. Wenn Sie sich mit Ihren Dingen nicht auskennen, habe ich alle möglichen Begriffe weggelassen und bei Interesse nur auf die Details verwiesen.

Zunächst ein Primer mit einem Absatz.

Jeder von uns Menschen hat eine Menge Zellen, und in jeder dieser Zellen haben wir ein kleines Ding namens DNA. DNA ist eine lange Folge von Buchstaben A, C, G und T. Es gibt 3 Milliarden dieser Buchstaben, und viele von ihnen sind nicht sehr interessant. Aber an ungefähr 21.000 Stellen auf Ihrer DNA befindet sich eine Region mit besonders interessanten Buchstaben. Ich nenne diese Regionen "DNA, die guten Teile". Wissenschaftler nennen sie Gene.

Nehmen wir eines dieser Gene und lassen Sie es mit JavaScript funktionieren. Beta-Globin ist ein kleiner Stoffklecks, der dabei hilft, Sauerstoff in Ihrem Körper zu transportieren. Das Gen, das Ihrem Körper sagt, wie es hergestellt werden soll, heißt HBB. Dieses Gen hat nur 1.606 Buchstaben. Denken Sie darüber nach, 1.606 Base-4-Ziffern. Es gibt nicht viel Raum, um etwas zu beschreiben, das es ermöglicht, sich mit Freunden zusammenzutun, ein Eisenatom einzufangen, in die Lunge zu gehen, Sauerstoffatome aufzunehmen, sie um den Körper herum abzulegen und zu den Lungen zurückzukehren, um etwas zu tun alles wieder. In 1.606 Zeichen!

Weißt du, wenn du eine Weile an einem Stück Code gearbeitet hast, kann es anfangen, ein bisschen chaotisch zu werden? Vielleicht sind noch ein paar Dinge übrig, die Sie wirklich nicht mehr brauchen? Nun, der Code für dieses Gen wird ein paar hundert Millionen Jahre alt, also ist er auch ein bisschen chaotisch.

1.606 der 3.000.000.000 Buchstaben in jeder unserer 37.200.000.000.000 Zellen

Diese beiden grauen Teile sind sogenannte Junk-DNA. * Beachten Sie, dass sie beide mit GT beginnen und mit AG enden. Dies ist ein Hinweis darauf, dass wir einen regulären Ausdruck verwenden, um sie zu finden und zu entfernen. Das Auffinden und Entfernen dieser Elemente ist in der Tat etwas komplexer als der von mir unten verwendete reguläre Ausdruck, funktioniert jedoch für alle Instanzen in diesem bestimmten Gen. Lassen wir es also einfach dabei.

Es juckt dich etwas JavaScript, ich kann es spüren. Also los geht's.

Wir rufen zunächst die Transkriptionsfunktion auf und übergeben unsere DNA. Es werden zwei verschiedene Aktionen ausgeführt: Zuerst wird die Funktion dnaToPreRna () aufgerufen und eine Kopie der DNA erstellt, die als RNA bezeichnet wird. Sie sind sich sehr ähnlich, außer dass der aus vier Buchstaben bestehende RNA-Code ein U anstelle eines T verwendet.

Als Nächstes rufen wir removeIntrons () auf, wodurch die großen grauen Blöcke von oben entfernt werden (sie werden als "Introns" bezeichnet). Dies gibt uns die aufgeräumte Reihenfolge, die wir für den nächsten Schritt benötigen.

(Wenn Sie von CRISPR-Cas9 gehört haben, handelt es sich im Grunde genommen um ein string.replace () mit einem Regex für DNA.)

Das Ergebnis des obigen Codes würde ungefähr so ​​aussehen.

Jetzt passiert die Magie. Wir werden ein Protein bauen. Zu unserer Verfügung steht eine Bibliothek mit 20 kleinen Bausteinen, die jeweils aus etwa einem Dutzend Atomen bestehen. Wir werden diese wie Haifischzähne an einer sehr coolen Halskette aneinander reihen, für die Sie nicht zu alt sind. Diese Blöcke interagieren mit jeder Umgebung, sodass die Reihenfolge, in der wir sie aneinander reihen, das Verhalten unseres Endprodukts bestimmt.

Ist das nicht großartig? Diese 20 Bausteine ​​können in bestimmten Ordnungen aneinander gereiht werden, um alle Arten von Proteinen herzustellen, die um unseren Körper schweben und Dinge tun. Und diese Befehle sind alle in unserer DNA kodiert.

Im weiteren Verlauf hat unser Quellcode vier verschiedene Buchstaben. Wir haben 20 Aminosäuren. Wie kommen wir von einem zum anderen?

Hmmm…

Sollen wir Briefe paarweise lesen? Nein, das gibt uns nur 16 Kombinationen. OK, wie wäre es, wenn wir drei Buchstaben gleichzeitig zusammenfügen? Das gibt uns 64 Kombinationen, viel. Dann brauchen wir wohl eine Art Nachschlagetabelle ...

Wenn wir drei Buchstaben als Triplett lesen, nennen wir das ein Codon. Jedes Codon repräsentiert einen der Bausteine: eine Aminosäure.

Möglicherweise haben Sie bemerkt, dass sich drei der oben genannten Codons nicht auf eine Aminosäure beziehen, sondern STOP bedeuten. Ja, Sie sehen, anstatt gleich am Anfang und bis zum Ende zu lesen, ignorieren wir die Flusen an beiden Enden. Stellen wir uns vor, dass ...

Die Dreibuchstabenfolge AUG bedeutet hier beginnen. Ebenso bedeutet die Drei-Buchstaben-Sequenz UAA, dass Sie hier anhalten müssen (auch UAG und UGA).

Ich weiß nicht warum, aber das freut mich. Wir haben eine Startkonstante in uns! Und nicht nur Menschen, es sind die gleichen drei kleinen Buchstaben in Bäumen und Bienen und sogar Käse. Es hat etwas so Mechanisches, dass es in einer matschigen, nassen Zelle herumschwirrt. Es ist einfach wunderbar.

[Regeneriert die Fassung]

Wir ignorieren den nutzlosen Teil vor dem Start-Marker und das Gleiche mit der Sequenz nach dem Stop-Marker. Aber anstatt diese Enden einfach mit indexOf () und slice () zu hacken, ahmen wir nach, was die eigentliche Maschinerie macht: Verarbeiten Sie die gesamte Buchstabenkette als ein Stück und verwenden Sie die Marker, um das Zusammenfügen unserer Buchstaben zu starten / zu stoppen Bausteine.

Wir werden jeweils eine Position über die Saite gehen, bis wir die erste AUG gefunden haben, und dann drei Buchstaben gleichzeitig springen.

AUG ist sowohl ein Startmarker als auch eine tatsächliche Aminosäure. Wir nehmen also die Aminosäure (in diesem Fall Methionin), die nur in der Suppe herumschwimmt, wo all dies geschieht. Uns geht es großartig, wir haben etwas Kohlenstoff, Wasserstoff, Stickstoff, etwas Sauerstoff und ein freches bisschen Schwefel.

Als nächstes haben wir eine GUG, das ist ein Valin, wenn ich mich recht entsinne, was, wenn Sie interessiert sind, so aussieht.

Sie haben festgestellt, dass die oberen Bits identisch sind. Hey, lass uns diese zusammenfügen, um die Schnur in unserer Haizahnkette zu machen.

Als nächstes ein CAU (Histidin), CUG (Leucin) und so weiter. Insgesamt enthält das Beta-Globin-Protein 146 Aminosäuren. Sie werden sich drehen und drehen und etwas machen, das genau so aussieht:

Hier ist der gesamte Code an einem Ort.

Um zu zeigen, wie brüchig wir sind und wie unglaublich die Wissenschaftler sind, die dieses Zeug wirklich machen, wissen wir, dass Sie an Sichelzellenanämie leiden, wenn etwas so leicht schief läuft und der Buchstabe auf Position 69 kein „A“ ist. Und wir wussten genau warum und können nicht einmal DNA sehen.

Ich hoffe, Sie fanden das mindestens 25% so interessant wie ich. Ich wünsche Ihnen einen schönen Tag.

* Die Bezeichnung "Junk-DNA" entspricht der Bezeichnung "Junk-Universum" für die Dunkle Materie.