• Sonuç bulunamadı

3.4. Web Tabanlı Biyoinformatik Analiz ve Sorgu Aracının Geliştirilmesi

Çalışma kapsamında bahsedilen analizlerin yapılabilmesi ve özellikle araştırmacılar için görsel olarak sunulabilmesi için birden çok sunucu üzerinden çalışan çok katmanlı mimari ile çalışan bir analiz ve web portalı geliştirilmiştir.

Geliştirilen platformun genel görüntüsü şekil 3.2’de gösterilmektedir.

3.4.1. Kullanıcı Arayüzleri

Kolay kullanımı ve dağıtımı desteklemek amacıyla web tabanlı olarak geliştirilen kullanıcı arayüzleri, kullanıcıların kanser veri setleri ile ilgili aradıkları çeşitli bilgilerine tek ortamdan erişebilmelerini sağlamak amacıyla analiz tiplerine göre gruplanmıştır.

Kullanıcılar platforma ait domain adresi ile erişim sağladıklarında veritabanında depolanan analizleri sorgulayabilecekleri arayüz ile karşılaşmaktadırlar.

Kullanıcı arayüzleri kullanıcıların sorgulama anında kesinti yaşamalarını engellemek amacıyla AJAX(Asynchronous JavaScript and XML – Asenkron JavaScript ve XML) araçlarıyla donatılmış ve asenkron çağrılar sunucu tarafına göndererek analizlerin ve sonuçlarının getirilmesi sağlanmıştır.

AJAX çağrıları esnek web tasarımı sağlaması nedeniyle HMTL(Hyper Text Markup Language – Zengin Metin Dili) ve CSS(Cascading Style Sheets - Basamaklı Stil Şablonları) kullanılarak zenginleştirilmiştir. Bununla beraber sistem PHP programlama dili kullanılarak hazırlanmış arayüzler de içermektedir. PHP programlama dili ile geliştirilen ve asenkron olarak çağrılan modüller ayrıca web sunucusu üzerinden kullanıcıya ait istekleri almakta ve yönetmekte de kullanılmaktadır.

Kullanıcı arayüz deneyiminin geliştirilmesi için ek olarak DOJO JavaScript kütüphanesinden de faydalanılmış, çeşitli arayüz fonksiyonları bu kütüphane yardımıyla zenginleştirilmiştir.

3.4.2. Web Sunucusu ve Mantık Katmanı

Çalışmada kullanılan web sunucusu projenin başlangıcından itibaren yürütülen iş birliği kapsamında Harvard Üniversitesi / Dana Farber Kanser Enstitüsü tarafından desteklenen altyapı çalışmaları nedeniyle Amerika Birleşik Devletlerin’de tutulmaktadır.

canEvolve web sunucusunun temel görevi internet üzerinden kullanıcılar ile iletişimi sağlamak ve kullanıcıların isteklerine göre iş akışını yönetmektir. Bu işlemlerin gerçekleştirilebilmesi amacıyla çok katmanlı mimari temel alınarak canEvolve omurga sistemi oluşturulmuştur. Sanal olarak katmanlandırılmış bu sistemin tepesinde mantık katmanı yer almaktadır.

Mantık katmanının temel görevleri aşağıdaki gibi tasarlanmıştır:

• Sistem üzerindeki bütün iş akışlarını kontrol etmek • Kaynak kullanımını optimize etmek

• Analiz katmanına analiz için gerekli parametre ve depolama kaynaklarını sağlamak

• Veri iletişim katmanı ile beraber çalışarak veritabanı kayıtlarını yönetmek

• Online veri kaynaklarına erişimleri yönetmek, dış kaynaklardan otomatik olarak getirilen verileri arşivlemek

• Web sunucu üzerinden kullanıcı sorgularına ait çıktıları kullanıcı ekranlarına göndermek

Mantık katmanı, geliştirilen platformun merkezinde olup bütün işlemlerin doğru şekilde yönetilmesinden sorumludur. Kullanıcılar bir kanser türüne ait sorgu gönderdiklerinde sorgunun türüne göre diğer katmanlar ile iletişime geçerek sonuçları hazırlayan mantık katmanı, aynı zamanda sistem yöneticileri tarafından sisteme eklenecek yeni veri setleri ve bu setlere uygulanacak analizlerin de iş akışı içerisinde yönetilmesine olanak sağlayacak şekilde tasarlanmıştır.

3.4.3. Analiz ve Veri Erişim Katmanları

Analiz ve veri erişim katmanlarının temel görevleri sırasıyla biyoinformatik analizlerini yönetmek ve veritabanına erişim sağlayarak veritabanı kayıtlarını yönetmektir.

Analiz katmanı, mantık katmanının analize hazır hale getirdiği verileri yine mantık katmanı sayesinde elde ettiği parametreler ile analiz etme görevini üstlenecek şekilde tasarlanmıştır. Platform analizlerinin büyük bölümünü R tabanlı kodlar

üzerinden yürütülüyor olsa da bunlara ilave olarak C++, Java ve Python tabanlı analiz modüllerini de çalışmaktadır.

Analiz modülü iki farklı analiz türünü gerçekleştirebilmektedir. Bunlardan birincisi kullanıcılardan gelen sorgu türüne göre ön analizleri yapılmış verileri kullanarak ileri analizleri tamamlamak ve ilgili çıktıları geçici depolama alanında hazırlamaktır. Çalışma zamanında karşılaşılan ileri analizlere ek olarak bu modül aynı zamanda belirli analizler için kullanıcıların kendi veri setlerini kullanarak analiz başlatmalarına olanak verecek şekilde oluşturulmuştur. Ancak kullanıcılar platformun bütün analiz özelliklerini kullanamamaktadır. Bunun nedeni analiz seviyesinde kullanılan sistem kaynaklarının iş birliği kapsamında belirli ölçüde kullanılabilir olması ve sistemin gereksiz analiz yüklerinden uzak tutulmak istenmesidir.

Analiz modülü aynı zamanda sadece canEvolve yöneticileri tarafından kullanılabilen ve platformun desteklediği bütün analizlerin yürütülebildiği, sonuçlarının yönetici onayı ile analiz sonunda kullanıcılar ile paylaşılabildiği yönetim analiz modülünden gelen istekleri de karşılamakla sorumludur.

Bu modül, kendisine mantık katmanı tarafından gönderilen analizleri gerçekleştirmek için sistem seviyesinde erişim hakkına sahip olduğu bir başka yerel analiz sunucusunu veya DFCI’da görev alan bütün araştırmacıların ortak olarak erişebildikleri 512 işlemcilik analiz kapasitesine sahip kümelenmiş analiz sunucusuna da kullanabilmektedir.

Analizlere ait iş akışları ve analiz kod şablonları daha önceden sisteme yöneticiler tarafından tanıtılmakta ve testler tamamlandıktan sonra analizin çalışacağı yer ile beraber analiz katmanının yerel konfigürasyonu içerisine aktarılmaktadır. Yeni bir analiz geldiğinde katman konfigürasyonda belirtilen sistem kaynaklarını kullanarak ilgili analiz sunucusuna uzak bağlantı gerçekleştirip analizleri sonuna kadar devam ettirmekte ve oluşan çıktıları dosya arşiv alanı ve/veya veritabanına mantık katmanı üzerinden taşımaktadır.

Veri erişim katmanı ise veritabanında gerçekleştirilen işlemlerin nesne temelli olarak yürütülmesini ve efektif kod kullanımını sağlamak, veritabanı bağlantı yönetimini tek bir noktadan yapmak adına kurulmuştur. Veritabanı üzerinde yapılacak bütün işlemler bu katman yardımıyla yapılmaktadır.

BULGULAR