MolScript: ngôn ngữ văn bản cho sơ đồ phản ứng và cơ chế mũi tên cong

Đăng: 17/10/2026 · Tác giả: Scidart Academy · Thời gian đọc: ~16 phút
Sáu dòng MolScript trong khung mã nền tối bên cạnh bước SN2 mà chúng vẽ: hydroxide tấn công bromomethane với hai mũi tên cong
Sáu dòng MolScript vẽ một bước SN2 hoàn chỉnh: cấu trúc, điện tích, điều kiện và cả hai mũi tên cong.

Trả lời ngắn: MolScript là ngôn ngữ văn bản nhỏ gọn cho sơ đồ phản ứng và cơ chế đẩy electron. Bạn viết mỗi tiểu phân bằng SMILES, nối các tiểu phân bằng +, ->, <-> hoặc <=>, gắn số ánh xạ nguyên tử cho các nguyên tử mà mũi tên chạm tới, và viết một dòng move cho mỗi mũi tên cong. MolDraw vẽ cấu trúc, điều kiện, cặp electron tự do, điện tích và mọi mũi tên, và kiểm tra từng mũi tên theo quy tắc vẽ trước khi bạn thấy. Kết quả là nội dung canvas thông thường, chỉnh sửa được, có thể tải xuống dạng ảnh hoặc mã chemfig cho LaTeX.

Tổng quan MolScript

Bạn viết gìTiểu phân bằng SMILES, toán tử giữa chúng, điều kiện trong ngoặc vuông sau mũi tên, và các dòng move cho electron.
Bạn nhận được gìMột sơ đồ đã dàn trang: cấu trúc, dấu cộng, mũi tên phản ứng, cân bằng hoặc cộng hưởng, điều kiện, chú thích, cặp electron tự do, điện tích, chấm gốc tự do và mũi tên cong.
Các loại mũi tênMũi tên cong hai electron (->) và mũi tên lưỡi câu một electron (~>), xuất phát từ cặp electron tự do, điện tích, gốc tự do, nguyên tử hoặc liên kết, đến nguyên tử, liên kết hoặc liên kết đang hình thành.
Kiểm traMỗi số ánh xạ phải tồn tại và duy nhất; mỗi mũi tên phải bắt đầu ở chỗ có electron; mỗi mũi tên được vẽ đều được đánh giá về khoảng hở, hướng, độ cong và khoảng cách. Lỗi được trả về kèm số dòng.
Đầu raĐối tượng canvas MolDraw chỉnh sửa được; mọi định dạng xuất của MolDraw, kể cả chemfig (.tex) cho tài liệu LaTeX.
Hiện được dùng ở đâuTrò chuyện AI của MolDraw vẽ cơ chế bằng cách viết MolScript, và các hình cơ chế trong bảng Templates được dựng từ nó.
Tiếp theo là gìMột framework mở cho ứng dụng canvas và một skill AI mà mọi trợ lý đều nạp được. Xem lộ trình.

Script đầu tiên của bạn: SN2

Hydroxide tấn công bromomethane từ phía sau và bromide tách ra trong cùng bước. Trong MolScript, đó là bốn dòng:

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
SN2 của bromomethane vẽ từ MolScript: một mũi tên cong từ điện tích của hydroxide đến carbon và mũi tên thứ hai từ liên kết C–Br đến bromine, với SN2 phía trên và acetone phía dưới mũi tên phản ứng
Do MolDraw vẽ đúng từ bốn dòng ở trên.

Từng dòng một:

  1. title: đặt tiêu đề phía trên sơ đồ.
  2. Dòng sơ đồ liệt kê các tiểu phân. [OH-:1] là hydroxide có oxygen mang số ánh xạ 1; [CH3:2][Br:3] là bromomethane với carbon là 2 và bromine là 3. "hydroxide" là chú thích vẽ dưới cấu trúc. ->[SN2][acetone] là mũi tên phản ứng có chữ phía trên và phía dưới.
  3. move :1 -> 1..2: cặp electron tự do (ở đây là điện tích âm) trên nguyên tử 1 đi đến liên kết đang hình thành giữa 1 và 2.
  4. move 2-3 -> 3: electron của liên kết C–Br có sẵn đi về bromine.

Số ánh xạ là nhãn dành cho bạn và các mũi tên. Chúng không bao giờ được vẽ, và không làm thay đổi phân tử.

Ngôn ngữ

Tiểu phân và toán tử

Mọi SMILES đều là một tiểu phân. Toán tử được viết với một khoảng trắng ở mỗi bên:

+Dấu cộng giữa các chất cùng phản ứng hoặc cùng sản phẩm. Các tiểu phân nối bằng + luôn nằm trên một hàng.
->Mũi tên phản ứng.
<=>Mũi tên cân bằng (hai mũi tên nửa đầu).
<->Mũi tên cộng hưởng (hai đầu). Dùng giữa các dạng cộng hưởng của một tiểu phân.
=>Mũi tên tổng hợp ngược.

Chữ phía trên và dưới mũi tên đặt trong ngoặc vuông dính liền với nó: ->[NaBH4][MeOH, 0 °C]. Để trống cặp đầu nếu chỉ có chữ phía dưới: ->[][reflux]. Chú thích trong ngoặc kép sau một tiểu phân được vẽ dưới tiểu phân đó: CC(=O)O "acetic acid".

Nhiều bước

Dòng bắt đầu bằng một toán tử sẽ tiếp tục sơ đồ từ tiểu phân cuối cùng, nên cơ chế đọc mỗi dòng một bước, với các mũi tên của bước đó ngay bên dưới:

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+]
Cơ chế SN1 hai bước vẽ từ MolScript: ion hóa thành cation tert-butyl với liên kết C–Br đứt về phía bromine, rồi nước tấn công carbocation
Hàng chỉ ngắt tại mũi tên phản ứng. Mũi tên đưa sơ đồ sang hàng tiếp theo là một trong những điểm mà lộ trình cải tiến.

Mũi tên cong: dòng move

Mọi nguyên tử mà mũi tên chạm tới đều có một số ánh xạ trong SMILES: [OH-:1], [CH3:2][Br:3], [O:4] cho một oxygen thường. Các số phải duy nhất trong toàn bộ script. Sau đó:

move <from> -> <to>     two-electron curly arrow
move <from> ~> <to>     one-electron fish-hook

Hai đầu được viết cùng một cách:

:nCặp electron tự do trên nguyên tử n. Với anion, mũi tên bắt đầu ở dấu trừ của nó, như các nhà hóa học vẫn vẽ.
nNguyên tử n. Mũi tên của gốc tự do bắt đầu ở chấm của nó.
n-mLiên kết có sẵn giữa nguyên tử n và m. Khi là điểm đầu, electron rời khỏi liên kết; khi là điểm cuối, chúng biến liên kết thành liên kết đôi.
n..mLiên kết đang hình thành giữa n và m (chỉ làm điểm cuối). Đầu mũi tên dừng cạnh nguyên tử m, ở phía hướng về n.

Nhiều mũi tên có thể chung một dòng, phân cách bằng dấu chấm phẩy: move :1 -> 1..4; 4-2 -> 2-3; 3-5 -> 5. Viết tường minh hydrogen được chuyển, [H:5][O:6]CC, để mũi tên có thể bắt đầu từ liên kết của nó. Viết tâm gốc tự do có số ánh xạ kèm số hydrogen để nó giữ chấm: CC(C)(C)[OH0:1] là gốc tert-butoxyl.

Mũi tên được đặt tự động. Khi muốn một độ cong cụ thể, thêm tùy chỉnh trong ngoặc nhọn: move 2-3 -> 3 {bow=0.3 side=left}.

Chỉ thị và chú thích mã

title: …Tiêu đề phía trên sơ đồ.
per-row: 2 đến 8Số cấu trúc mỗi hàng trước khi sơ đồ xuống dòng (mặc định 4).
layout: row, cycle, branchHình dạng sơ đồ: từ trái sang phải, chu trình xúc tác, hoặc một chất phản ứng cho nhiều sản phẩm.
# …Chú thích đến cuối dòng. Dấu # bên trong SMILES (liên kết ba) không phải chú thích.

Lỗi

Lỗi được trả về kèm dòng chứa nó, bằng lời lẽ đơn giản, để người dùng hay trợ lý AI sửa dòng đó và vẽ lại:

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

Gõ ít hơn, vẽ nhiều hơn: tên, tô sáng và đánh số

Chỉ cần số ánh xạ khi một nguyên tử không rõ ràng. Một nguyên tố chỉ xuất hiện một lần trong các chất phản ứng của một bước tự gọi tên chính nó, và trong đầu mũi tên là liên kết, chỉ những nguyên tử liên kết với đầu kia mới được tính. Đây là toàn bộ cơ chế SN1 không dùng số ánh xạ, có đánh số hợp chất và bước, và các hàng chạy zigzag qua lại:

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 là carbon duy nhất liên kết với bromine, C+ chọn cation theo điện tích của nó và :O là cặp electron tự do của oxygen duy nhất trong bước đó. Nếu một nguyên tố xuất hiện hai lần, MolScript sẽ báo và yêu cầu số ánh xạ.

h2Một hydrogen trên nguyên tử 2, được tự động viết tường minh: move :1 -> 1..h2; h2-2 -> 2-3.
let base = [OH-:1] "hydroxide"Định nghĩa một tiểu phân một lần, rồi viết $base.
[OH]~C([H])([H])([H])~[Br] {ts}Trạng thái chuyển tiếp: ~ là liên kết một phần (nét chấm), {ts} vẽ ngoặc với ‡ và làm thẳng các liên kết đang hình thành và đang đứt.
{δ+=2 δ-=3}Điện tích riêng phần cạnh nguyên tử.
{highlight=2/3-4:blue}Tô sáng nguyên tử 2 và liên kết 3–4.
{ox=1:II}, {dative=1-2}Số oxi hóa và liên kết kim loại–phối tử cho các bước cơ kim.
[Ph] [R1] [Nu-:1]Chữ viết tắt và nhóm R được vẽ dưới dạng nhãn.
->[{CC(=O)Cl}][AlCl3]Thuốc thử được vẽ dạng cấu trúc phía trên mũi tên.
layout: cycleChu trình xúc tác; kết thúc bằng tiểu phân đầu tiên sẽ khép vòng, và xuất sang chemfig với cung tròn thật.

Script trở thành hình vẽ thế nào

Một script luôn đi qua cùng các bước, nên cùng một script luôn cho cùng một hình vẽ:

  1. Đọc. Script được tách thành dòng sơ đồ, dòng move và chỉ thị. Mỗi tiểu phân, toán tử, chú thích và bộ điều kiện được ghi lại kèm số dòng.
  2. Kiểm tra nhãn. Mỗi số ánh xạ dùng trong move phải nằm trên đúng một nguyên tử, mỗi n-m phải là liên kết thật, và mỗi điểm đầu phải có electron để cho: cặp electron tự do, điện tích, gốc tự do hoặc liên kết.
  3. Vẽ tiểu phân. Mỗi SMILES thành một cấu trúc 2D với góc liên kết gọn gàng. Hydrogen tường minh mà mũi tên cần được vẽ thành nguyên tử; điện tích, cặp electron tự do và chấm gốc tự do được thêm theo SMILES.
  4. Dàn trang sơ đồ. Cấu trúc, dấu cộng và mũi tên được xếp theo độ rộng thật, hàng ngắt tại mũi tên phản ứng, và điều kiện cùng chú thích được giãn cách để không chữ nào chồng lên nhau.
  5. Đặt mũi tên cong. Mỗi mũi tên rời điểm xuất phát ở chỗ nhà hóa học sẽ vẽ và uốn tránh liên kết, nhãn và mũi tên khác (chi tiết bên dưới).
  6. Kiểm tra hóa học. Mỗi bước có mũi tên cong được chạy lại trên các electron: mỗi mũi tên lấy hai electron (một với mũi tên lưỡi câu) từ cặp electron tự do, gốc tự do hoặc liên kết và đặt lên một nguyên tử hoặc vào một liên kết. Các cấu trúc thu được phải khớp với những cấu trúc viết sau mũi tên. Sản phẩm sai (kèm chênh lệch nguyên tử và điện tích), carbon có mười electron, mũi tên từ nguyên tử đã hết electron, mũi tên lưỡi câu không ghép cặp hay mũi tên cộng hưởng làm đứt liên kết σ đều được báo kèm số dòng.
  7. Đánh giá từng mũi tên. Mỗi mũi tên đã đặt được đo theo các quy tắc. Mũi tên không đáp ứng được ở chỗ chật vẫn được vẽ và báo dưới dạng cảnh báo.
  8. Giao đối tượng chỉnh sửa được. Kết quả là nội dung canvas thông thường: kéo một cấu trúc thì mũi tên đi theo, đổi kiểu bất cứ thứ gì và xuất file.

Các quy tắc mũi tên MolScript áp dụng:

ĐuôiTrên cặp electron tự do hoặc dấu trừ, chấm gốc tự do, hoặc giữa liên kết cho electron, không bao giờ nằm đè lên nhãn nguyên tử.
ĐầuDừng ngay trước nguyên tử nhận electron, hoặc trong khoảng hở của liên kết đang hình thành, ở phía hướng về nguyên tử tấn công.
Độ congCong ra phía ngoài cấu trúc, với một góc đầu mũi tên cố định; mũi tên lưỡi câu giữ ngạnh đơn ở phía ngoài đường cong.
Khoảng cáchTránh xa liên kết, nhãn, điện tích, chấm và mũi tên khác; các mũi tên chung đích tỏa ra thay vì chồng lên nhau.
Chiều dàiQuá ngắn để đọc hoặc quá dài để theo dõi đều bị đánh dấu.

Mọi cơ chế tham chiếu trong bộ kiểm thử của MolScript đều được vẽ và đánh giá theo các quy tắc này mỗi khi MolDraw thay đổi. Hiện có 41 cơ chế với 81 mũi tên cong, tất cả đều đạt cả quy tắc vẽ lẫn kiểm đếm electron, cùng các hình trong Templates. Bạn có thể xem tất cả trong thư viện MolScript.

Ví dụ có lời giải

Tách loại E2: ba mũi tên trong một bước

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
Tách loại E2 vẽ từ MolScript: hydroxide lấy hydrogen, liên kết C–H trở thành liên kết π C=C và liên kết C–Br đứt về phía bromine
Base lấy hydrogen, electron C–H trở thành liên kết π mới, và bromide tách ra.

Cộng Michael: chuỗi mũi tên qua hệ liên hợp

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
Cộng Michael vẽ từ MolScript: carbon enolate tấn công carbon β và electron di chuyển qua liên kết C=C và C=O đến oxygen
2-3 -> 3-4 chuyển electron π của C=C vào liên kết C–C, biến nó thành liên kết đôi.

Diels–Alder: mũi tên trong vòng

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
Phản ứng Diels–Alder vẽ từ MolScript: ba mũi tên cong quanh trạng thái chuyển tiếp vòng của butadiene và ethene tạo cyclohexene
Hai trong ba mũi tên kết thúc ở các liên kết đang hình thành giữa hai phân tử.

Cộng gốc tự do: mũi tên lưỡi câu

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
Cộng nguyên tử bromine vào propene vẽ từ MolScript với ba mũi tên lưỡi câu: hai mũi tên gặp nhau ở liên kết C–Br mới và một đi đến carbon trở thành gốc tự do
~> vẽ mũi tên lưỡi câu. Hai mũi tên kết thúc ở 1..2 gặp nhau ở giữa liên kết mới.

Cộng hưởng: một enolate

[CH2-:1][C:2](C)=[O:3] <-> C=C(C)[O-]
move :1 -> 1-2
move 2-3 -> 3
Hai dạng cộng hưởng của một enolate vẽ từ MolScript với mũi tên cộng hưởng hai đầu và hai mũi tên cong
<-> là mũi tên cộng hưởng; các mũi tên cong cho thấy dạng này chuyển thành dạng kia thế nào.

Xây dựng trên MolScript: cả một hình hoàn chỉnh

Các hình cơ chế trong bảng Templates của MolDraw (nút ở cuối thanh công cụ bên trái) được viết bằng MolScript. Mỗi bước của ester hóa Fischer, cộng aldol và cộng Grignard là một script ngắn; mẫu thêm các khung, nhãn bước, vòng tô sáng và ghi chú xung quanh. Vì các bước là văn bản, mọi mũi tên trong mọi hình đều được kiểm tra như trong các ví dụ trên.

Mẫu ester hóa Fischer: phản ứng tổng quát với các oxygen được theo dõi, cơ chế mũi tên cong năm bước, các điểm chính và một hệ Dean–Stark
Mẫu ester hóa Fischer: năm bước MolScript trong một hình bốn khung.

MolScript và chemfig

chemfig là gói LaTeX mà phần lớn các nhà hóa học dùng để dàn trang cấu trúc và cơ chế. Nó xuất sắc ở mục đích của mình, và MolScript không nhằm thay thế nó trong LaTeX. Hai công cụ mô tả những thứ khác nhau:

chemfigMolScript
Bạn mô tảHình vẽ: góc và độ dài của mỗi liên kết, rồi điểm neo, độ lệch và độ cong của mỗi mũi tên.Hóa học: tiểu phân bằng SMILES và electron nào di chuyển đi đâu.
Bố cụcThủ công, cho từng cấu trúc và từng sơ đồ.Tự động: cấu trúc, hàng, điều kiện và chú thích.
Mũi tên congĐường TikZ giữa các điểm được đặt tên; vị trí được cố định ở lần chạy LaTeX thứ hai.Một dòng move giữa các số ánh xạ; được đặt và đánh giá theo quy tắc vẽ.
Lỗi saiHiện ra dưới dạng file PDF trông sai.Được báo kèm số dòng: thiếu số ánh xạ, điểm đầu không có electron, liên kết không tồn tại.
Kết quảBản dàn trang trong tài liệu.Đối tượng canvas chỉnh sửa được, cùng xuất ảnh, vector và chemfig.
Phù hợp nhất choKiểm soát dàn trang tinh tế trong tài liệu LaTeX.Có nhanh một cơ chế đúng và gọn, bằng tay hoặc từ trợ lý AI.

Chúng kết hợp với nhau: vẽ bằng MolScript, rồi chọn Download → chemfig (.tex) để có mã chemfig cho tài liệu. Mẫu cơ chế chemfig cho thấy mã đó trông thế nào.

Vì sao là văn bản: MolScript và trợ lý AI

MolScript được thiết kế để mô hình ngôn ngữ có thể vẽ cơ chế mà không bao giờ phải xử lý tọa độ:

  • Mô hình vốn viết SMILES tốt, nên mọi tiểu phân đều ở dạng ký hiệu chúng đã biết.
  • Số ánh xạ nguyên tử làm mũi tên rõ ràng. "Từ cặp electron tự do trên nguyên tử 1 đến liên kết đang hình thành giữa 1 và 2" không thể đặt sai như "một mũi tên từ oxygen đến carbon".
  • Lỗi có thể xử lý được. Một mô hình nhận line 3: no atom is tagged :9 có thể sửa dòng 3 và thử lại.
  • Hình học không phải việc của mô hình. Độ cong, khoảng hở và khoảng cách do bộ máy quyết định và kiểm tra, đó là chỗ mô hình yếu nhất.

Trò chuyện AI của MolDraw đã hoạt động theo cách này: hãy yêu cầu nó "cơ chế của phản ứng cộng aldol" và nó viết MolScript phía sau. MolScript cũng được đóng gói thành một skill AI: một thư mục gồm tài liệu tham chiếu ngôn ngữ, các quy tắc bắt được hầu hết lỗi, 41 ví dụ đã kiểm tra và một trình kiểm tra độc lập nhỏ. Quy trình nó dạy cho trợ lý là lập kế hoạch các chất trung gian, viết script, chạy trình kiểm tra, sửa mọi lỗi được báo và chỉ khi đó mới trả lời, để cơ chế được kiểm tra từng electron trước khi bạn thấy.

Để đo hiệu quả, có một bộ đánh giá gồm 41 yêu cầu cơ chế ("show the E1 deprotonation of the tert-butyl cation", "draw a Pd cross-coupling cycle with oxidation states"), mỗi yêu cầu có một script tham chiếu. Một câu trả lời được bốn điểm: biên dịch được, electron cân bằng, kết thúc đúng sản phẩm, và mọi mũi tên cong đạt quy tắc vẽ. Các script tham chiếu đạt 100%.

Lộ trình: từ tính năng MolDraw đến framework mở

Kế hoạch là phát hành MolScript, trình biên dịch và bộ máy sơ đồ và mũi tên dưới dạng framework mã nguồn mở mà mọi ứng dụng canvas có thể dùng để vẽ phản ứng và cơ chế, với độ tin cậy của một ngôn ngữ lập trình: đặc tả thành văn, đầu ra ổn định và lỗi có thể xử lý. Đây là những gì còn lại giữa hiện tại và lần phát hành đó.

Ngôn ngữ

Tiểu phân, toán tử, điều kiện, chú thích, dòng tiếp nốiĐã xong
Mũi tên hai electron và mũi tên lưỡi câu từ cặp electron tự do, điện tích, gốc tự do và liên kếtĐã xong
Đặc tả có đánh phiên bản (MolScript 1, molscript: 1) với ngữ pháp hình thức và bộ kiểm thử tuân thủĐã xong
Tiểu phân có tên để tái sử dụng: let A = …, rồi $A ở các bước sauĐã xong
Gợi ý định hướng: {rotate=90}, {flip}, {align=3}Đã xong
Trạng thái chuyển tiếp ({ts}, liên kết một phần với ~), δ+ / δ−, ngoặcĐã xong
Tô sáng ({highlight=2/3-4:blue}), đánh số hợp chất và bước (number: both)Đã xong
Thuốc thử vẽ dạng cấu trúc phía trên mũi tên; chữ viết tắt (Ph, Ts, Boc) và nhóm RĐã xong
Chu trình xúc tác tự khép kín, với nhãn dễ đọc trên mọi cungĐã xong
Mũi tên cong bên trong chu trình, liên kết kim loại–phối tử ({dative=1-2}) và số oxi hóa ({ox=1:II})Đã xong

Độ chính xác

Nhãn tồn tại, điểm đầu có electron, mọi mũi tên được vẽ đều đạt quy tắc hình họcĐã xong
Kiểm đếm electron: suy ra sản phẩm mà các mũi tên ngụ ý và so sánh với sản phẩm đã viếtĐã xong
Cân bằng điện tích và nguyên tử cho mỗi bước; kiểm tra bát tử, mũi tên lưỡi câu không ghép cặp và cộng hưởng (liên kết σ)Đã xong
Bớt thủ tục với hydrogen: h2 gọi tên một hydrogen trên nguyên tử 2Đã xong
Ít số ánh xạ hơn: một nguyên tố duy nhất trong bước là đủ (move C-Br -> Br)Đã xong

Bố cục

Hàng xếp theo độ rộng thật; điều kiện và chú thích không bao giờ chồng lên nhauĐã xong
Ngắt hàng cân đối (3 + 2, không phải 4 + 1) và xuống dòng theo độ rộng (width:)Đã xong
Mũi tên nối giữa các hàng ngắn hơn: wrap: snake cho hàng tiếp theo chạy ngược lại với một mũi tên ngắn hướng xuốngĐã xong
Đặt theo lưới (layout: grid), các cột thẳng hàng từ hàng này sang hàng khácĐã xong

Framework

Trình biên dịch và trình kiểm tra dưới dạng gói độc lập, không phụ thuộc ứng dụng MolDrawĐã xong
Định dạng sơ đồ ổn định, có tài liệu, giữa trình biên dịch và mọi trình hiển thịĐã xong
Đầu ra cho canvas, SVG và PNG; bộ xuất cho chemfig và JSONĐã xong
Xuất chemfig cho chu trình xúc tác với cung tròn thật (và nhập ngược lại)Đã xong
Công cụ dòng lệnh: nhận script, trả báo cáo kiểm tra, ảnh hoặc file chemfigĐã xong
Bố cục có đánh phiên bản, để script vẽ y như cũ sau khi nâng cấpĐã xong
Hỗ trợ trình soạn thảo: tô sáng cú pháp và báo lỗi khi gõ (thẻ MolScript trong Templates)Đã xong
Tự hoàn thành số ánh xạ, tùy chọn và từ khóa trong trình soạn thảo (Tab chọn mục đầu tiên)Đã xong
Một thư viện công khai các cơ chế tham chiếu, mỗi cơ chế được kiểm tra tự độngĐã xong
Thư viện có 41 cơ chế đã kiểm tra; mở rộng lên hàng trămTiếp theo
Công bố gói, skill và đặc tả dưới dạng mã nguồn mởTiếp theo

Skill AI

Được trò chuyện AI của MolDraw sử dụng, với lỗi kèm số dòng phản hồi lại cho mô hìnhĐã xong
Skill đóng gói: tài liệu tham chiếu, quy tắc, ví dụ có lời giải và bước kiểm tra mà trợ lý có thể chạy trước khi trả lờiĐã xong
Bộ đánh giá gồm 41 yêu cầu cơ chế, chấm điểm theo hóa học đúng và mũi tên gọn gàngĐã xong
Công bố điểm của các mô hình AI lớn trên bộ đánh giáTiếp theo

Nếu bạn giảng dạy, viết bài báo hay xây dựng phần mềm hóa học và muốn góp phần định hình điều này, hãy cho chúng tôi biết qua Request feature trong MolDraw.

Dùng thử

  1. Mở MolDraw và trò chuyện AI, rồi yêu cầu một cơ chế, ví dụ "draw the E2 mechanism of 2-bromopropane with hydroxide". Trò chuyện sẽ viết MolScript và vẽ nó.
  2. Hoặc mở Templates ở cuối thanh công cụ bên trái và thêm hình ester hóa Fischer, aldol hoặc Grignard, hoặc tự viết script trong thẻ MolScript: nó tô sáng script, báo lỗi khi bạn gõ và vẽ lên canvas.
  3. Kéo, đổi kiểu hoặc mở rộng kết quả như mọi bản vẽ, rồi tải xuống dạng ảnh hoặc chemfig.

Hỏi và đáp

MolScript là gì?

MolScript là ngôn ngữ văn bản ngắn gọn cho sơ đồ phản ứng và cơ chế mũi tên cong. Tiểu phân được viết bằng SMILES, nối với nhau bằng +, ->, <-> hoặc <=>, và mỗi mũi tên cong là một dòng move giữa các số ánh xạ nguyên tử. MolDraw vẽ cấu trúc, điều kiện, cặp electron tự do, điện tích và mũi tên, và kết quả vẫn chỉnh sửa được trên canvas.

Vẽ mũi tên cong trong MolScript thế nào?

Gắn số ánh xạ nguyên tử trong SMILES cho các nguyên tử mà mũi tên chạm tới, ví dụ [OH-:1] và [CH3:2][Br:3], rồi viết move :1 -> 1..2 cho cặp electron tự do của nguyên tử 1 tạo liên kết với nguyên tử 2, và move 2-3 -> 3 cho liên kết C–Br đứt về phía bromine.

Vẽ mũi tên lưỡi câu (một electron) thế nào?

Dùng ~> thay cho ->: move 1-2 ~> 1 chuyển một electron của liên kết giữa nguyên tử 1 và 2 về nguyên tử 1. Hai mũi tên lưỡi câu kết thúc ở cùng một liên kết đang hình thành (n..m) gặp nhau ở giữa liên kết đó.

MolScript có tốt hơn chemfig không?

Chúng giải quyết những vấn đề khác nhau và kết hợp được với nhau. chemfig là gói LaTeX trong đó bạn tự đặt mọi liên kết và mũi tên trong tài liệu. MolScript mô tả hóa học và để MolDraw lo bố cục và hình học mũi tên, đồng thời kiểm tra mọi mũi tên. Bất kỳ hình vẽ MolScript nào cũng tải được dưới dạng mã chemfig cho tài liệu LaTeX.

Trợ lý AI có viết được MolScript không?

Có. Trò chuyện AI của MolDraw vẽ cơ chế bằng cách viết MolScript, vì mô hình ngôn ngữ viết SMILES tốt và số ánh xạ nguyên tử làm mọi đầu mũi tên trở nên rõ ràng. Lỗi được trả về kèm số dòng để mô hình sửa. Một skill AI đóng gói đang được lên kế hoạch để các trợ lý khác cũng dùng được.

MolScript có trở thành mã nguồn mở không?

Đó là kế hoạch: ngôn ngữ, trình biên dịch và bộ máy sơ đồ và mũi tên sẽ được phát hành dưới dạng framework mở mà các ứng dụng canvas khác có thể dùng để vẽ phản ứng và cơ chế. Lộ trình liệt kê những việc cần làm trước.

Hướng dẫn liên quan

Cập nhật lần cuối: