IUPAC adından SMILES’e: dönüşüm nasıl çalışır
Sistematik bir IUPAC adını SMILES dizgesine çevirmek, tek bir doğru cevabı olan bir ayrıştırma problemidir. İşte OPSIN’in bunu nasıl yaptığı ve sonucu nasıl doğrulayacağınız.
IUPAC-adından-SMILES’e dönüşüm nedir?
IUPAC-adından-SMILES’e dönüşüm, sistematik bir kimyasal adı (örneğin 2-asetoksibenzoik asit) bir SMILES dizgesine (CC(=O)Oc1ccccc1C(=O)O) çevirir; bu dizge, molekülün atomlarının ve bağlarının kompakt bir metin kodlamasıdır. Her iki biçim de tek ve kesin bir yapıyı tanımladığından, dönüşümün tek bir doğru cevabı vardır — bu bir tahmin problemi değil, bir ayrıştırma problemidir.
SMILES neyi kodlar
SMILES (Simplified Molecular Input Line Entry System), bir molekülü tek satır metin olarak yazar: atomları element sembolleriyle, bağları karakterlerle, halkaları eşleşen rakamlarla ve dalları parantezlerle gösterir. c1ccccc1 benzendir; küçük harfler aromatik atomları işaretler. Kompaktlığı, veri tabanlarının, makine öğrenmesi modellerinin ve kimya API’lerinin hepsinin SMILES konuşmasının nedenidir.
OPSIN bir adı nasıl ayrıştırır
- Belirteçleme: Adı tanınan biçimbirimlere ayırın — ön ekler, ana hidrür, son ekler ve konum belirteçleri (locant).
- Dil bilgisini ayrıştırın: IUPAC adlandırma kurallarını biçimsel bir dil bilgisi olarak uygulayarak ikame edicilerden ve ana zincirden oluşan bir ayrıştırma ağacı kurun.
- Yapıyı oluşturun: Ayrıştırma ağacını bir atom-ve-bağ çizgesine dönüştürün, ikame edicileri numaralandırılmış konumlarına yerleştirin.
- SMILES üretin: Çizgeyi kanonik bir SMILES (veya InChI) dizgesine seri hâle getirin.
OPSIN (Open Parser for Systematic IUPAC Nomenclature) bunu deterministik biçimde gerçekleştirir — aynı ad her zaman aynı yapıyı verir.
Dönüşümün doğru olduğunu nasıl doğrularsınız
Güvenilir kontrol bir gidiş-dönüş (round-trip) işlemidir: SMILES çıktısını alın, ondan bir ad veya kanonik tanımlayıcı üretin ve bunun girdiyle eşleştiğini doğrulayın. Cheemly’nin Critic Gate’i tam olarak bunu yapar — SMILES’i RDKit ile ayrıştırır ve bir OPSIN ad-yapı gidiş-dönüşünü çalıştırır; böylece yanlış çevrilmiş bir ad, cevap size ulaşmadan önce yakalanır. Genel amaçlı LLM’ler bu adımı atlar; adlandırılan bileşikle eşleşmeyen SMILES’i kendinden emin biçimde döndürmelerinin nedeni de budur.
Sık karşılaşılan tuzaklar
- Belirsiz veya standart dışı adlar: Önemsiz (trivial) veya güncelliğini yitirmiş adlar ayrıştırılamayabilir; güncel IUPAC adını kullanın.
- Stereokimya:
E/ZveR/Sbelirteçleri dönüşümden sağ çıkmalıdır — çıktıda kiraliteğin korunduğunu doğrulayın. - Tuzlar ve karışımlar: Çok bileşenli adlar nokta ile ayrılmış SMILES’e (
[Na+].[Cl-]) eşlenir; her bileşenin mevcut olduğunu doğrulayın.
Sıkça sorulan sorular
- IUPAC adını SMILES’e çevirmek deterministik midir?
- Evet. Doğru bir sistematik IUPAC adı tam olarak tek bir yapıyı tanımlar; bu yüzden OPSIN gibi düzgün bir ayrıştırıcı her zaman aynı SMILES’i döndürür. Olasılıksal bir LLM tahmininin aksine, tek bir doğru cevabı olan bir ayrıştırma işidir.
- IUPAC adlarını SMILES’e hangi araç çevirir?
- Açık kaynaklı bir ayrıştırıcı olan OPSIN, sistematik IUPAC adlarını SMILES veya InChI’ye çevirmek için kullanılan standart araçtır. Cheemly, OPSIN’i sarmalar ve çıktıyı döndürmeden önce RDKit ile doğrular.
- Yapay zekâ sohbet botları SMILES’i neden yanlış üretir?
- Genel amaçlı LLM’ler SMILES’i olasılıksal olarak üretir ve doğrulamayı atlar; bu yüzden geçerli görünen ama yanlış molekülü kodlayan bir dizge döndürebilirler. Deterministik ayrıştırma ile bir gidiş-dönüş kontrolü, bu hata sınıfını ortadan kaldırır.