MolScript: een teksttaal voor reactieschema's en mechanismen met gebogen pijlen
Kort antwoord: MolScript is een kleine teksttaal voor reactieschema's en mechanismen met elektronenverplaatsing. Je schrijft elk deeltje als SMILES, verbindt deeltjes met +, ->, <-> of <=>, geeft de atomen die een pijl raakt atoommapnummers en schrijft één move-regel per gebogen pijl. MolDraw tekent de structuren, omstandigheden, vrije elektronenparen, ladingen en elke pijl, en controleert elke pijl aan de hand van tekenregels voordat je haar ziet. Het resultaat is gewone, bewerkbare canvasinhoud die je als afbeelding of als chemfig-code voor LaTeX kunt downloaden.
MolScript in één oogopslag
| Wat je schrijft | Deeltjes als SMILES, operatoren ertussen, omstandigheden tussen haken na een pijl, en move-regels voor de elektronen. |
|---|---|
| Wat je krijgt | Een opgemaakt schema: structuren, plustekens, reactie-, evenwichts- of resonantiepijlen, omstandigheden, bijschriften, vrije elektronenparen, ladingen, radicaalpunten en gebogen pijlen. |
| Soorten pijlen | Gebogen pijlen voor twee elektronen (->) en vishaakpijlen voor één elektron (~>), vanaf vrije elektronenparen, ladingen, radicalen, atomen of bindingen, naar atomen, bindingen of bindingen die gevormd worden. |
| Controle | Elk mapnummer moet bestaan en uniek zijn; elke pijl moet beginnen waar elektronen zijn; elke getekende pijl wordt beoordeeld op tussenruimte, richting, kromming en vrije ruimte. Problemen komen terug met regelnummers. |
| Uitvoer | Bewerkbare MolDraw-canvasobjecten; elke MolDraw-export, inclusief chemfig (.tex) voor LaTeX-documenten. |
| Waar het nu wordt gebruikt | De AI-chat van MolDraw tekent mechanismen door MolScript te schrijven, en de mechanismefiguren in het paneel Templates zijn ermee gebouwd. |
| Wat komt er nog | Een open framework voor canvas-apps en een AI-skill die elke assistent kan laden. Zie de roadmap. |
Je eerste script: SN2
Hydroxide valt broommethaan van achteren aan en bromide vertrekt in dezelfde stap. In MolScript zijn dat vier regels:
title: SN2 of bromomethane [OH-:1] "hydroxide" + [CH3:2][Br:3] "bromomethane" ->[SN2][acetone] CO "methanol" + [Br-] move :1 -> 1..2 move 2-3 -> 3
Regel voor regel:
title:zet een kop boven het schema.- De schemaregel somt de deeltjes op.
[OH-:1]is hydroxide waarvan het zuurstofatoom mapnummer 1 heeft;[CH3:2][Br:3]is broommethaan met het koolstofatoom als 2 en broom als 3."hydroxide"is een bijschrift dat onder de structuur wordt getekend.->[SN2][acetone]is een reactiepijl met tekst erboven en eronder. move :1 -> 1..2: het vrije elektronenpaar (hier de negatieve lading) op atoom 1 gaat naar de binding die tussen 1 en 2 wordt gevormd.move 2-3 -> 3: de elektronen van de bestaande C–Br-binding gaan naar broom.
Mapnummers zijn labels voor jou en de pijlen. Ze worden nooit getekend en veranderen het molecuul niet.
De taal
Deeltjes en operatoren
Elke SMILES is een deeltje. Operatoren schrijf je met een spatie aan beide kanten:
+ | Plusteken tussen reactanten of producten. Deeltjes die met + verbonden zijn, blijven altijd op één rij. |
|---|---|
-> | Reactiepijl. |
<=> | Evenwichtspijl (twee halve pijlpunten). |
<-> | Resonantiepijl (dubbele punt). Gebruik die tussen resonantievormen van één deeltje. |
=> | Retrosynthesepijl. |
Tekst boven en onder een pijl komt tussen vierkante haken direct erachter: ->[NaBH4][MeOH, 0 °C]. Laat het eerste paar leeg voor alleen tekst eronder: ->[][reflux]. Een bijschrift tussen dubbele aanhalingstekens na een deeltje wordt onder dat deeltje getekend: CC(=O)O "acetic acid".
Meerdere stappen
Een regel die met een operator begint, zet het schema voort vanaf het laatste deeltje, zodat een mechanisme leest als één stap per regel, met de pijlen van die stap er direct onder:
title: SN1 of tert-butyl bromide C[C:1](C)(C)[Br:2] ->[slow] C[C+:3](C)C + [Br-] move 1-2 -> 2 -> C[C+:4](C)C + [OH2:5] move :5 -> 5..4 ->[fast] CC(C)(C)[OH2+]
Gebogen pijlen: move-regels
Elk atoom dat een pijl raakt krijgt een mapnummer in de SMILES: [OH-:1], [CH3:2][Br:3], [O:4] voor een gewoon zuurstofatoom. De nummers moeten in het hele script uniek zijn. Daarna:
move <from> -> <to> two-electron curly arrow move <from> ~> <to> one-electron fish-hook
Beide uiteinden worden op dezelfde manier geschreven:
:n | Het vrije elektronenpaar op atoom n. Bij een anion begint de pijl bij het minteken, zoals chemici het tekenen. |
|---|---|
n | Atoom n. De pijl van een radicaal begint bij de punt ervan. |
n-m | De bestaande binding tussen atoom n en m. Als begin verlaten de elektronen de binding; als eind maken ze er een dubbele binding van. |
n..m | Een binding die tussen n en m gevormd wordt (alleen als eind). De pijlpunt stopt naast atoom m, aan de kant die naar n wijst. |
Meerdere pijlen kunnen één regel delen, gescheiden door puntkomma's: move :1 -> 1..4; 4-2 -> 2-3; 3-5 -> 5. Schrijf een overgedragen waterstofatoom expliciet, [H:5][O:6]CC, zodat een pijl vanaf de binding ervan kan beginnen. Schrijf een radicaalcentrum met mapnummer met zijn aantal waterstofatomen, zodat het zijn punt houdt: CC(C)(C)[OH0:1] is het tert-butoxylradicaal.
Pijlen worden automatisch geplaatst. Wil je een bepaalde kromming, voeg dan een override tussen accolades toe: move 2-3 -> 3 {bow=0.3 side=left}.
Directieven en commentaar
title: … | Kop boven het schema. |
|---|---|
per-row: 2 tot 8 | Structuren per rij voordat het schema afbreekt (standaard 4). |
layout: row, cycle, branch | Vorm van het schema: van links naar rechts, een katalytische cyclus, of één reactant naar meerdere producten. |
# … | Commentaar tot het eind van de regel. Een # in SMILES (een drievoudige binding) is geen commentaar. |
Fouten
Problemen komen terug met de regel waarop ze staan, in gewone woorden, zodat een persoon of een AI-assistent de regel kan herstellen en opnieuw kan tekenen:
line 1: put +, -> or <-> between "[O:1]C" and "[O:1]C" line 3: no atom is tagged :9 in the SMILES (write it as [X:9]) line 4: n..m (a bond being formed) can only be the destination line 5: a move needs -> (curly arrow) or ~> (fish-hook) between its ends C (map 2) has no lone pair
Minder typen, meer tekenen: namen, markeringen en nummers
Mapnummers zijn alleen nodig als een atoom dubbelzinnig is. Een element dat één keer voorkomt in de reactanten van een stap, benoemt zichzelf, en bij een bindingsuiteinde tellen alleen atomen die aan het andere uiteinde gebonden zijn. Dit is het hele SN1-mechanisme zonder mapnummers, met genummerde verbindingen en stappen, en rijen die heen en weer slingeren:
title: SN1 with element ends, numbered, snake rows number: both wrap: snake per-row: 3 CC(C)(C)Br ->[slow] C[C+](C)C + [Br-] move C-Br -> Br -> C[C+](C)C + O move :O -> O..C+ ->[fast] CC(C)(C)[OH2+]
C-Br is het enige koolstofatoom dat aan broom gebonden is, C+ kiest het kation op basis van zijn lading en :O is het vrije elektronenpaar van het enige zuurstofatoom in die stap. Komt een element twee keer voor, dan meldt MolScript dat en vraagt het om een mapnummer.
h2 | Een waterstofatoom op atoom 2, voor je expliciet gemaakt: move :1 -> 1..h2; h2-2 -> 2-3. |
|---|---|
let base = [OH-:1] "hydroxide" | Definieer een deeltje één keer en schrijf dan $base. |
[OH]~C([H])([H])([H])~[Br] {ts} | Een overgangstoestand: ~ is een partiële (gestippelde) binding, {ts} tekent de haken met ‡ en maakt de vormende en brekende bindingen recht. |
{δ+=2 δ-=3} | Partiële ladingen naast atomen. |
{highlight=2/3-4:blue} | Markeerkleur op atoom 2 en de binding 3–4. |
{ox=1:II}, {dative=1-2} | Oxidatietoestanden en metaal-ligandbindingen voor organometaalstappen. |
[Ph] [R1] [Nu-:1] | Afkortingen en R-groepen getekend als labels. |
->[{CC(=O)Cl}][AlCl3] | Een reagens getekend als structuur boven de pijl. |
layout: cycle | Een katalytische cyclus; eindigen op het eerste deeltje sluit de kring, en de export naar chemfig gebruikt echte bogen. |
Hoe een script een tekening wordt
Een script doorloopt elke keer dezelfde stappen, dus hetzelfde script geeft altijd dezelfde tekening:
- Lezen. Het script wordt opgesplitst in schemaregels, move-regels en directieven. Elk deeltje, elke operator, elk bijschrift en elke set omstandigheden wordt met het regelnummer vastgelegd.
- Labels controleren. Elk mapnummer dat in een move wordt gebruikt, moet op precies één atoom staan, elke
n-mmoet een echte binding zijn, en elk begin moet elektronen hebben om te geven: een vrij elektronenpaar, een lading, een radicaal of een binding. - De deeltjes tekenen. Elke SMILES wordt een 2D-structuur met nette bindingshoeken. Expliciete waterstofatomen die een pijl nodig heeft, worden als atomen getekend; ladingen, vrije elektronenparen en radicaalpunten worden toegevoegd waar de SMILES dat aangeeft.
- Het schema opmaken. Structuren, plustekens en pijlen worden op basis van hun echte breedte geplaatst, rijen breken af bij reactiepijlen, en omstandigheden en bijschriften krijgen zoveel ruimte dat geen tekst overlapt.
- De gebogen pijlen plaatsen. Elke pijl verlaat zijn bron waar een chemicus hem zou tekenen en buigt weg van bindingen, labels en andere pijlen (details hieronder).
- De chemie controleren. Elke stap met gebogen pijlen wordt op de elektronen nagespeeld: elke pijl neemt twee elektronen (één bij een vishaakpijl) van een vrij elektronenpaar, radicaal of binding en zet ze op een atoom of in een binding. De structuren die daaruit volgen, moeten overeenkomen met de structuren die na de pijl geschreven staan. Een verkeerd product (met het verschil in atomen en lading), een koolstofatoom met tien elektronen, een pijl vanaf een atoom zonder elektronen, een ongepaarde vishaakpijl of een resonantiepijl die een σ-binding breekt, wordt met het regelnummer gemeld.
- Elke pijl beoordelen. Elke geplaatste pijl wordt aan de regels gemeten. Een pijl die op een drukke plek niet aan de regels kon voldoen, wordt toch getekend en als waarschuwing gemeld.
- Bewerkbare objecten opleveren. Het resultaat is gewone canvasinhoud: sleep een structuur en de pijlen volgen, pas de stijl van alles aan en exporteer.
De pijlregels die MolScript toepast:
| Staart | Op het vrije elektronenpaar of minteken, de radicaalpunt, of het midden van de binding die de elektronen geeft, nooit boven op een atoomlabel. |
|---|---|
| Pijlpunt | Net vóór het atoom dat de elektronen ontvangt, of in de opening van een binding die gevormd wordt, aan de kant die naar het aanvallende atoom wijst. |
| Boog | Naar de buitenkant van de structuur gebogen, met één vaste hoek voor de pijlpunt; vishaakpijlen houden hun enkele weerhaak aan de buitenkant van de boog. |
| Vrije ruimte | Weg gehouden van bindingen, labels, ladingen, punten en andere pijlen; pijlen met hetzelfde doel waaieren uit in plaats van op elkaar te liggen. |
| Lengte | Te kort om te lezen of te lang om te volgen wordt gemarkeerd. |
Elk referentiemechanisme in de testset van MolScript wordt bij elke wijziging aan MolDraw getekend en aan deze regels getoetst. Op dit moment zijn dat 41 mechanismen met 81 gebogen pijlen, die allemaal slagen voor zowel de tekenregels als de elektronenboekhouding, plus de figuren in Templates. Je kunt ze allemaal zien in de MolScript-galerij.
Uitgewerkte voorbeelden
E2-eliminatie: drie pijlen in één stap
title: E2 elimination [OH-:1] + [H:4][CH2:2][CH:3](C)[Br:5] ->[E2] C=CC + O + [Br-] move :1 -> 1..4; 4-2 -> 2-3; 3-5 -> 5
Michael-additie: een keten van pijlen door een geconjugeerd systeem
title: Michael addition [CH2-:1]C(C)=O + [CH2:2]=[CH:3][C:4](C)=[O:5] ->[1,4-addition] CC(=O)CCC=C(C)[O-] move :1 -> 1..2; 2-3 -> 3-4; 4-5 -> 5
2-3 -> 3-4 verplaatst de π-elektronen van C=C naar de C–C-binding en maakt die tot dubbele binding.Diels-Alder: pijlen in een ring
title: Diels–Alder [CH2:1]=[CH:2][CH:3]=[CH2:4] + [CH2:5]=[CH2:6] ->[Δ] C1CC=CCC1 move 1-2 -> 2-3; 3-4 -> 4..5; 5-6 -> 6..1
Radicaaladditie: vishaakpijlen
title: Radical addition of Br• to propene [Br:1] + [CH2:2]=[CH:3]C -> BrC[CH]C move 1 ~> 1..2 move 2-3 ~> 1..2 move 2-3 ~> 3
~> tekent een vishaakpijl. De twee die op 1..2 eindigen, ontmoeten elkaar in het midden van de nieuwe binding.Resonantie: een enolaat
[CH2-:1][C:2](C)=[O:3] <-> C=C(C)[O-] move :1 -> 1-2 move 2-3 -> 3
<-> is de resonantiepijl; de gebogen pijlen laten zien hoe de ene vorm de andere wordt.Gebouwd met MolScript: hele figuren
De mechanismefiguren in het paneel Templates van MolDraw (de knop onderaan de linkerwerkbalk) zijn in MolScript geschreven. Elke stap van de Fischer-verestering, de aldoladditie en de Grignardadditie is een kort script; een sjabloon voegt er panelen, staplabels, markeringscirkels en notities omheen toe. Omdat de stappen tekst zijn, wordt elke pijl in elke figuur op dezelfde manier gecontroleerd als in de voorbeelden hierboven.
MolScript en chemfig
chemfig is het LaTeX-pakket dat de meeste chemici gebruiken om structuren en mechanismen op te maken. Het is uitstekend in waar het voor bedoeld is, en MolScript is niet bedoeld om het binnen LaTeX te vervangen. De twee beschrijven verschillende dingen:
| chemfig | MolScript | |
| Je beschrijft | De tekening: de hoek en lengte van elke binding, daarna het ankerpunt, de verschuiving en de kromming van elke pijl. | De chemie: deeltjes als SMILES en welke elektronen waarheen gaan. |
| Lay-out | Met de hand, per structuur en per schema. | Automatisch: structuren, rijen, omstandigheden en bijschriften. |
| Gebogen pijlen | TikZ-paden tussen benoemde punten; posities worden in een tweede LaTeX-run vastgelegd. | Eén move-regel tussen mapnummers; geplaatst en getoetst aan tekenregels. |
| Fouten | Worden zichtbaar als een pdf die er verkeerd uitziet. | Gemeld met regelnummers: een ontbrekend mapnummer, een begin zonder elektronen, een binding die niet bestaat. |
| Resultaat | Opgemaakte uitvoer in een document. | Bewerkbare canvasobjecten, plus exports als afbeelding, vector en chemfig. |
| Het best voor | Fijne typografische controle in een LaTeX-document. | Snel een correct, net mechanisme krijgen, met de hand of van een AI-assistent. |
Ze werken samen: teken met MolScript en kies daarna Download → chemfig (.tex) om chemfig-code voor je document te krijgen. De voorbeelden van mechanismen in chemfig laten zien hoe die code eruitziet.
Waarom tekst: MolScript en AI-assistenten
MolScript is zo ontworpen dat een taalmodel een mechanisme kan tekenen zonder ooit met coördinaten te werken:
- Modellen schrijven al goed SMILES, dus elk deeltje staat in een notatie die ze kennen.
- Atoommaps maken pijlen ondubbelzinnig. "Van het vrije elektronenpaar op atoom 1 naar de binding die tussen 1 en 2 wordt gevormd" kan niet verkeerd geplaatst worden zoals "een pijl van de zuurstof naar de koolstof".
- Fouten zijn bruikbaar. Een model dat
line 3: no atom is tagged :9krijgt, kan regel 3 herstellen en het opnieuw proberen. - Geometrie is niet de taak van het model. Krommingen, tussenruimtes en vrije ruimte worden bepaald en gecontroleerd door de engine, juist waar modellen het zwakst zijn.
De AI-chat van MolDraw werkt al zo: vraag om "het mechanisme van de aldoladditie" en hij schrijft achter de schermen MolScript. MolScript is ook verpakt als AI-skill: één map met de taalreferentie, de regels die de meeste fouten opvangen, 41 gecontroleerde voorbeelden en een kleine losse checker. De werkwijze die het een assistent leert, is: de intermediairen plannen, het script schrijven, de checker draaien, elk gemeld probleem herstellen en pas dan antwoorden, zodat het mechanisme elektron voor elektron is gecontroleerd voordat je het ziet.
Om te meten hoe goed dat werkt, is er een evaluatieset van 41 verzoeken om mechanismen ("toon de E1-deprotonering van het tert-butylkation", "teken een Pd-kruiskoppelingscyclus met oxidatietoestanden"), elk met een referentiescript. Een antwoord verdient vier punten: het compileert, de elektronen kloppen, het eindigt op de juiste producten en elke gebogen pijl voldoet aan de tekenregels. De referentiescripts scoren 100%.
Roadmap: van MolDraw-functie naar open framework
Het plan is MolScript, de compiler en de engine voor schema's en pijlen uit te brengen als opensourceframework dat elke canvas-app kan gebruiken om reacties en mechanismen te tekenen, met de betrouwbaarheid van een programmeertaal: een geschreven specificatie, stabiele uitvoer en fouten waar je iets mee kunt. Dit is wat er nog tussen vandaag en die release staat.
De taal
| Deeltjes, operatoren, omstandigheden, bijschriften, vervolgregels | Klaar |
|---|---|
| Pijlen voor twee elektronen en vishaakpijlen vanaf vrije elektronenparen, ladingen, radicalen en bindingen | Klaar |
Een specificatie met versienummer (MolScript 1, molscript: 1) met een formele grammatica en een conformiteitstestset | Klaar |
Benoemde deeltjes die je kunt hergebruiken: let A = …, daarna $A in latere stappen | Klaar |
Oriëntatiehints: {rotate=90}, {flip}, {align=3} | Klaar |
Overgangstoestanden ({ts}, partiële bindingen met ~), δ+ / δ−, haken | Klaar |
Markeringen ({highlight=2/3-4:blue}), nummers voor verbindingen en stappen (number: both) | Klaar |
| Reagentia getekend als structuren boven een pijl; afkortingen (Ph, Ts, Boc) en R-groepen | Klaar |
| Katalytische cycli die zich sluiten, met leesbare labels op elke boog | Klaar |
Gebogen pijlen binnen cycli, metaal-ligandbindingen ({dative=1-2}) en oxidatietoestanden ({ox=1:II}) | Klaar |
Nauwkeurigheid
| Labels bestaan, beginpunten hebben elektronen, elke getekende pijl voldoet aan de geometrieregels | Klaar |
|---|---|
| Elektronenboekhouding: het product afleiden dat de pijlen impliceren en vergelijken met het geschreven product | Klaar |
| Lading- en atoombalans voor elke stap; controles op octet, ongepaarde vishaakpijlen en resonantie (σ-binding) | Klaar |
Minder omhaal voor waterstofatomen: h2 benoemt een waterstofatoom op atoom 2 | Klaar |
Minder mapnummers: een element dat uniek is in de stap volstaat (move C-Br -> Br) | Klaar |
Lay-out
| Rijen geplaatst op echte breedte; omstandigheden en bijschriften overlappen nooit | Klaar |
|---|---|
Evenwichtige rijafbrekingen (3 + 2, niet 4 + 1) en afbreken op breedte (width:) | Klaar |
Kortere verbindingen tussen rijen: wrap: snake laat de volgende rij teruglopen met een korte pijl omlaag | Klaar |
Rasterplaatsing (layout: grid), kolommen uitgelijnd van rij tot rij | Klaar |
Het framework
| Compiler en checker als los pakket, onafhankelijk van de MolDraw-app | Klaar |
|---|---|
| Een stabiel, gedocumenteerd schemaformaat tussen de compiler en elke renderer | Klaar |
| Uitvoer voor canvas, SVG en PNG; exporters voor chemfig en JSON | Klaar |
| Export van katalytische cycli naar chemfig met echte bogen (en weer importeren) | Klaar |
| Een opdrachtregeltool: een script erin, een controlerapport, een afbeelding of een chemfig-bestand eruit | Klaar |
| Lay-out met versienummer, zodat een script na een upgrade hetzelfde wordt getekend | Klaar |
| Ondersteuning in de editor: markering en problemen terwijl je typt (het tabblad MolScript in Templates) | Klaar |
| Aanvullen van mapnummers, opties en sleutelwoorden in de editor (Tab neemt de eerste) | Klaar |
| Een openbare galerij met referentiemechanismen, elk automatisch gecontroleerd | Klaar |
| Galerij met 41 gecontroleerde mechanismen; uitbreiden tot honderden | Volgende |
| Het pakket, de skill en de specificatie als open source publiceren | Volgende |
De AI-skill
| Gebruikt door de AI-chat van MolDraw, met fouten met regelnummers die naar het model worden teruggestuurd | Klaar |
|---|---|
| Een verpakte skill: referentie, regels, uitgewerkte voorbeelden en een controlestap die een assistent kan uitvoeren voordat hij antwoordt | Klaar |
| Een evaluatieset van 41 prompts voor mechanismen, beoordeeld op correcte chemie en nette pijlen | Klaar |
| Scores van de belangrijkste AI-modellen op de evaluatieset publiceren | Volgende |
Geef je les, schrijf je artikelen of bouw je scheikundesoftware en wil je hieraan meedenken, laat het ons dan weten via Request feature in MolDraw.
Probeer het
- Open MolDraw en de AI-chat en vraag om een mechanisme, bijvoorbeeld "teken het E2-mechanisme van 2-broompropaan met hydroxide". De chat schrijft de MolScript en tekent die.
- Of open Templates onderaan de linkerwerkbalk en voeg de figuur Fischer-verestering, aldol of Grignard toe, of schrijf je eigen script in het tabblad MolScript: het markeert het script, toont problemen terwijl je typt en tekent het op het canvas.
- Sleep, pas de stijl aan of breid het resultaat uit zoals elke tekening, en download het daarna als afbeelding of als chemfig.
Vragen en antwoorden
Wat is MolScript?
MolScript is een korte teksttaal voor reactieschema's en mechanismen met gebogen pijlen. Deeltjes worden als SMILES geschreven, verbonden door +, ->, <-> of <=>, en elke gebogen pijl is één move-regel tussen atoommapnummers. MolDraw tekent de structuren, omstandigheden, vrije elektronenparen, ladingen en pijlen, en het resultaat blijft bewerkbaar op het canvas.
Hoe teken ik een gebogen pijl in MolScript?
Geef de atomen die de pijl raakt atoommapnummers in de SMILES, bijvoorbeeld [OH-:1] en [CH3:2][Br:3], en schrijf dan move :1 -> 1..2 voor het vrije elektronenpaar van atoom 1 dat een binding met atoom 2 vormt, en move 2-3 -> 3 voor de C–Br-binding die naar broom breekt.
Hoe teken ik een vishaakpijl (één elektron)?
Gebruik ~> in plaats van ->: move 1-2 ~> 1 stuurt één elektron van de binding tussen atoom 1 en 2 naar atoom 1. Twee vishaakpijlen die op dezelfde vormende binding (n..m) eindigen, ontmoeten elkaar in het midden ervan.
Is MolScript beter dan chemfig?
Ze lossen verschillende problemen op en werken samen. chemfig is een LaTeX-pakket waarin je zelf elke binding en pijl in een document plaatst. MolScript beschrijft de chemie en laat de lay-out en de pijlgeometrie over aan MolDraw, dat elke pijl controleert. Elke MolScript-tekening kan als chemfig-code voor een LaTeX-document worden gedownload.
Kunnen AI-assistenten MolScript schrijven?
Ja. De AI-chat van MolDraw tekent mechanismen door MolScript te schrijven, omdat taalmodellen goed SMILES schrijven en atoommaps elk pijluiteinde ondubbelzinnig maken. Fouten komen terug met regelnummers, zodat het model ze kan herstellen. Er is een verpakte AI-skill gepland zodat ook andere assistenten het kunnen gebruiken.
Wordt MolScript open source?
Dat is het plan: de taal, de compiler en de engine voor schema's en pijlen worden uitgebracht als open framework dat andere canvas-apps kunnen gebruiken om reacties en mechanismen te tekenen. De roadmap toont wat eerst moet gebeuren.