Skip to main content

Clustal Omega tabanli Coklu Dizi Hizalama (MSA) algoritmasi

Project description

AlperMSA - Çoklu Dizi Hizalama (Multiple Sequence Alignment) Kütüphanesi

AlperMSA, DNA dizilerini hizalamak için geliştirilmiş, Clustal Omega mantığını temel alan bir Python kütüphanesidir. Proje kapsamında hem yerel progressive alignment (UPGMA ve Needleman-Wunsch tabanlı) algoritmaları hem de resmi EMBL-EBI Clustal Omega REST API entegrasyonu sunulmaktadır.

Özellikler

  1. Yerel Progressive Alignment:
    • K-mer Jaccard Uzaklığı: Diziler arasındaki benzerliği hesaplamak için 2-mer'ler üzerinden Jaccard uzaklık matrisi oluşturulur.
    • UPGMA Kılavuz Ağacı: Uzaklık matrisi kullanılarak dizilerin hizalanma sırasını belirleyen UPGMA kılavuz ağacı (Guide Tree) inşa edilir.
    • Needleman-Wunsch Hizalaması: Kılavuz ağacındaki sıraya göre diziler Needleman-Wunsch dinamik programlama algoritmasıyla progresif olarak hizalanır.
  2. Resmi Clustal Omega API Entegrasyonu:
    • İnternet bağlantısı kullanarak EMBL-EBI sunucularına dizileri FASTA formatında gönderir, hizalar ve çıktıyı alır.

Kurulum (Installation)

1. Yerel Kurulum (Geliştirme Modu)

Projeyi indirdikten sonra kök dizindeyken terminalde şu komutu çalıştırarak yerel olarak kurabilirsiniz:

pip install .

Geliştirme aşamasındaysanız ve kodda yaptığınız değişikliklerin anında yansımasını istiyorsanız:

pip install -e .

2. GitHub Üzerinden Kurulum

Projeyi GitHub'a yükledikten sonra, başkalarının doğrudan yüklemesi için aşağıdaki komut kullanılabilir:

pip install git+https://github.com/kullanici_adi/AlperMSA.git

Kullanım (Usage)

Kütüphaneyi kurduktan sonra projenizde şu şekilde kullanabilirsiniz:

from AlperMSA import AlperMSA
from AlperMSA.clustal import run_clustal_omega_api

# 1. Hizalamak istediğiniz DNA dizileri
diziler = ["ATGC", "ATCC", "AGCC"]

# 2. Yerel Algoritma ile Hizalama
msa = AlperMSA(diziler)
uzaklik_matrisi, kilavuz_agac, hizalanmis_diziler = msa.run()

print("Yerel Hizalama Sonuçları:")
for dizi in hizalanmis_diziler:
    print(dizi)

# 3. Resmi Clustal Omega API ile Hizalama
print("\nClustal Omega API Sonuçları:")
api_sonuc = run_clustal_omega_api(diziler)
if api_sonuc:
    # API çıktısını ekrana yazdırır
    for line in api_sonuc.strip().split("\n"):
        parts = line.split()
        if len(parts) >= 2 and parts[0].startswith("seq_"):
            print(f"{parts[0]}: {parts[1]}")

PyPI Platformunda Yayınlama (İsteğe Bağlı)

Kütüphanenizi pip install AlperMSA komutuyla kurulabilecek hale getirmek için:

  1. Gerekli araçları kurun:
    pip install build twine
    
  2. Dağıtım dosyalarını (dağıtım paketlerini) oluşturun:
    python -m build
    
  3. PyPI'a yükleyin:
    python -m twine upload dist/*
    

Lisans (License)

Bu proje MIT Lisansı ile lisanslanmıştır.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alpermsa-0.1.0.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

alpermsa-0.1.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file alpermsa-0.1.0.tar.gz.

File metadata

  • Download URL: alpermsa-0.1.0.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for alpermsa-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d22cc48a16cabc0435573d9a3f99de9fc97ba7d443d39f318daaa215c7be051d
MD5 d7c21800dc6e908cde363091e507e69a
BLAKE2b-256 50247f72531bc3656cc506fe9915d09226f78df88c844237e8af5b89f31035f8

See more details on using hashes here.

File details

Details for the file alpermsa-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: alpermsa-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for alpermsa-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3f6499d1db03cd403639058f7e7d08c99f3e0539b0dd3af585641c54378448cd
MD5 48db949126288b2d5cd6731273702d71
BLAKE2b-256 20dabfe18398bb27324b395a52858cba32683bdf67e37357c4e5d3b1324e6cf1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page