Derin öğrenme neredeyse bütün alanları değiştirmekte ilaç keşfide bu alanların içerisindedir.İlaç keşfi zaman alıcı ve pahalı bir süreçtir,derin öğrenme bu süreci daha hızlı ve daha ucuz hale getirmek için kullanılabilir.İlaç keşfi kendi içinde 3’e ayrılabilir bunlar.
- İlaç özellikleri tahmini
- İlaç keşfi
- İlaç-hedef etkileşimi tahmini
Makine öğrenimi sorunları genel olarak üç alt gruba ayrılır: gözetimli öğrenme, gözetimsiz öğrenme ve pekiştirmeli öğrenme. İlaç özellikleri tahmini, gözetimli bir öğrenme problemi olarak belirtilebilir.
Girdi: Molekül
Çıktı: Molekülün kimyasal bir özeliğinin(toksisite) derecesi
İlaç keşfi ise gözetimsiz bir öğrenme sürecidir.
Covıd-19 karşı ilaç geliştirme adımları
–Veri toplama:Öncelikle başarılı olmuş antiviral ilaçların bilgisine ihtiyacımız var American Chemical Society’den anti-viral ve Kaggle’dan MERS salgını tedavisinde kullanılmış ilaçların etken maddelerine ulaşabiliriz
Bilgisayarlar matematiksel ifade edilmeyen bilgileri işlemeyezler bu nedenle moleküllerimizi bir şekilde temsil etmeliyiz. Bunun için kullanabileceğimiz yöntemler:
- Moleküler parmak izleri
- Yazı karakterleri ile(SMILES)
- Grafik yapıları (2d veya 3d grafikler)
Moleküllerimi temsil ederken SMILES(Simplified molecular-input line-entry system) metodunu kullanacağız.Kısaca bir molekülü metin yapısına çevirebiliriz,oldukça popüler bir yöntemdir ve doğal dil işlemeye yatkındır.
Burada ise moleküler parmak izi çıkartma işlemi gerçekleşmekte.Moleküller grafiklere benzer olduklarından, atomlar düğümleri ve atomik bağlar kenarları oluşturur.Düğümleri vektörler ile temsil edebiliriz.Vektörler bağlı olan hidrojen atomu sayısı, atomun yükü ,atomun çeşidi gibi bilgileri taşır, örneğin (2,2,1,3,0,1…n) gibi n(feature sayısı) boyutlu olabilir.Aynı zamanda vektörler komşularından gelen bilgiler ile güncellenir ,bu sayede geometrik bilgide öğrenilir.
İlaç geliştirirken en çok kullanacağımız kütüphane DeepChem olucaktır.DeepChem ilaç keşfi, malzeme bilimi, kuantum kimyası ve biyoloji için yüksek kaliteli, açık kaynaklı yazılımlar yaratmayı amaçlamaktadır.
Variational AutoEncoder(VAE) neden ve nasıl çalışır
VAE’ler ile amacımız ayrık bir şekilde kodlanmış molekül bilgilerini multidimension’da sürekli bir biçimde ifade etmektir.Binlerce molekül bilgisi ile eğitilmiş Sinir Ağı temelde 3 fonksiyondan oluşur : encoder, decoder ve tahminleyici.
Molekülleri matematiksel olarak sürekli bir formatta temsil etmek yeni ilaçlar keşfetmemize olanak sağlar,molekül uzayından rastgele vektörler seçeriz ve decoder ile ilaç formatına çeviririz.
AutoEncoder’lerin mimarisini incelediğimizde 3 yapı ile karşılaşırız:
1- Encoder(kodlayıcı): Burada yapay sinir ağı bilgiyi daha küçük boyutta nasıl temsil edebileceğini öğrenir,kısaca bilgi dar boğaz’a doğru ilerledikçe sıkışmaya başlar ve önemli featurelerin çıkarılması sağlanır , lineer olmayan boyut indirgeme gibi de düşünülebilir.
2- Bottleneck(dar boğaz): AutoEncoder’in yapısı incelendiğinde aslında bir kelebeğe benzer,darboğaz bilginin kanatlar arasında geçiş yaptığı kısımdır.Bilgi sıkıştırılmış çok boyutlu vektörler ile uzayda temsil edilir.
3- Decoder(çözücü):Kodlanmış gösterimdeki verilerin orijinal girdiye mümkün olduğunca yakın olacak şekilde nasıl yeniden yapılandırılacağını öğrenir.
Her Neural Network’te olduğu gibi bir maliyet fonksiyonu tanımlamamız gerekiyor.Bu metodun gözetimsiz bir öğrenme süreci olduğunu biliyoruz ve girilen bilgiyi tekrar inşa etmesini istiyoruz.Tanımladığımız maliyet fonksiyonu girdi ve çıktı arasındaki farkı ölçer yani nekadar başarılı bir şekilde girdiyi oluşturabildiğini.Örnek vericek olursak girdi ve çıktımız bir resim olursa ,pixellerindeki renk yoğunluğunu temsil eden sayılar arasındaki farkı en aza indirmeye çalışıyoruz.
Variational autoencoder’ın farkı:
Autoencoder’ler girdiyi uzayda tek bir noktaya indirgerken Variational autoencoder’ler Kodlanan uzayı Gaussian distribution ile dağılmaya zorlar,bunun sonucunda daha kaliteli ve çok, öz nitelik çıkarımı gerçekleştirebiliriz.
Generative adversarial networks’leri daha önceden var olmayan şeyleri üretmek için kullanılır, VAE’yi ise aynı tür bilginin(ilaç,görüntü,ses) farklı çeşitlerini üretmek için kullanmak daha mantıklıdır.
Kullanılan yapay sinir ağı mimarileri
Karakter dizileri(SMILES) tekrarlayan sinir ağları (RNN’ler) kullanılarak vektörlere kodlanabilir.Encoder kısmında 1D CNN veya RNN,Decoder’da RNN kullanılarak sıralı öğrenme işlemi gerçekleştirilebilir.En son katmandaki RNN veya GRU hangi karakterlerin nerede olması gerektiğini tahminler.Örneğin O=C(C)Oc1ccccc1C(=O)O(aspirin) O,=,),c,1,(,C karakterlerinin sıralanmasından oluşturulabilir.
İlaç keşfi
İlaç keşfi biraz samanlıkta iğne aramaya benzer,oluşturduğumuz ilaçlar matematiksel olarak ifade edilebilsede gerçekte sentezlemek istediğinizde kimya ve fizik kanunları izin vermeyebilir.Bu nedenle büyük bir sayıda başlayan molekül havuzu eleme aşamalarından geçtikçe küçülür,bu aşamalardan bazıları:
- Molekül’ün atom sayısı 10’dan az ise reaksiyona girmek için yeterli interaksiyon enerjisi olmaz.
- Molekül’ün atom sayısı 50’den fazla ise suda çözünmesi zordur ve biyolojik reaksiyonlarda problem çıkabilir(genelde).
QED(Quantitative estimate of drug-likeness)
Bir molekülün nekadar ilaç olabilme potansiyelini ölçtüğümüz yöntemdir.RDkit kütüphanesini kullanarak bunu gerçekleştirebiliriz,her molekül 0–1 arasında puanlanır,0.5 puanın üzerindekileri gelecek aşamaya geçirebiliriz.
Keşfedilen en başarılı molekül
Molekülün biyolojik aktivitesinin ölçülebilmesi için öncelikle bir kimyager tarafından sentezlenmesi gerekir ve sonrasında test aşamalarına geçilebilir.Sonuç olarak İlaç keşfi yeni bir alandır ve zamanla gelişmektedir,insan sezgilerinin kullanıldığı,deneme yanılma içeren uzun süreçlerini kolaylaştırmayı amaçlar.
Yazar
Ömer Özgür
ARTIFICIAL INTELLIGENCE