Sağlık
Kemoinformatik

Molekül karşılaştırması genel olarak benzer moleküllerin benzer etkiler göstermesi prensibine dayanır. Bir araştırmada(ilaç,...) kullanılacak molekülün benzerlerinin bulunması için milyonlarca molekülden oluşan referans kitaplıklarının taranması gerekebilir. Benzerlik araştırması, en benzer molekülleri bulmak amacıyla yapıldığı için benzeri bulunacak molekülün referans kitaplığındaki moleküllerin her biriyle tek tek karşılaştırılması gerekir. Bazı durumlarda bu karşılaştırmanın girdisi tek bir molekül değil bir molekül kitaplığı da olabilir. Bu durumda karşılaştırma, CPU’lar kullanılarak bile tamamlanması uzun zaman alacak, büyük işlemlere dönüşür.

Projenin temel amacı, büyük kitaplıklar üzerinde yapılan benzerlik karşılaştırmalarının sürelerini kısaltarak, yeniden programlanabilir hesaplamanın sağladığı teknolojik avantajları, ilaç araştırma sektörüne üretkenliği arttırmaya yardımcı bir araç olarak sunmaktır.

Yeniden programlanabilir hesaplama, yazılımın bazı esneklikleri ile çok esnek yüksek hızlı hesaplama yapabilen bileşenler içeren (FPGA gibi) yüksek performanslı donanımları birleştiren bir bilgisayar mimarisidir. FPGA (Field Programmable Gate Array - Alanda Programlanabilir Kapı Dizileri), programlanabilir mantık blokları ve bu bloklar arasındaki ara bağlantılardan oluşan ve geniş uygulama alanlarına sahip olan sayısal tümleşik devrelerdir.

CPU’lar yerine FPGA’lerin kullanılmasının temel sebepleri;
• Standart CPU’lar;
• Komutların işlenmesi ardışık olarak gerçekleşir
• Yeni komut ekleme imkanı yoktur.


• FPGA ise;
• Geniş paralel bir mimari sunar.
• Mantık blokları ve ara bağlantıları imalat sürecinden sonra programlanabilmektedir. Bu sayede yeni komutlar eklemek mümkündür.

Projemizde, kullanılan algoritmalar FGPA’e gömülmekte, bu yapı kullanılarak algoritmanın adımları paralel olarak yürütülmekte ve böylece bilim adamlarının ve farmasotik sektöründeki kimyacıların karşılaştırma işlemlerinde harcayacağı süre ciddi oranda azaltılmaktadır.

Sistem Java dili kullanılarak geliştirilmiş olup katmanlı bir yapı ihtiva etmektedir;
• İstemci Katmanı
• Sunucu Katmanı
• FPGA ve FPGA Sunucusu katmanı

Katmanlar arası bağlantıların kurulması, RMI (Remote Method Invocation), Web Servisler ve CORBA ile sağlanmakta, veri transferinde ise FTP (File Transfer Protocol), SSH (Secure Shell) and RMI teknolojileri kullanılmaktadır.

Kullanıcıdan veri almak ve işlenmiş sonuçları kullanıcıya etkin bir biçimde sunabilmek amacıyla JSP (Java Server Pages) ve JSF (Jave Server Faces) çatılarından faydalanılmış, bu çatılar JavaScript, Ajax, IceFaces ve MyFaces’le de desteklenmiştir.

FPGA’ın fonksiyonlarına çağrı yapan kod, SGI(Silicon Graphics, Inc.) kitaplıklarını kullanan bir C++ kodudur. Projede, bu C++ koduna Java üzerinden yapılacak çağrılar için JNI(Java Native Interface) çatısı kullanılmıştır.

Kullanıcıya işlenmiş veriyi sunmak için hazırlanan 2D ve 3D grafiklerde JavaApplet’lerinden yararlanılmıştır. Projede kullanılan diğer bazı araçlar ve teknolojiler; • NetBeans, Eclipse ve Visual Studio 2005 (Geliştirme Ortamları) • SVN (Versiyon Kontrol Sistemi) • TRAC (Proje Yönetimi ve Hata Takip Aracı) • Apache Tomcat • MySql (Veritabanı) • VHDL (FPGA Programlamada Kullanılan Donanım Tanımlama Dili)

imprint   |   site map
İş Alanları:
Endüstri / Sağlık / Enerji
© 2007 evoline TR