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
- 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.
- 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:
- Gerekli araçları kurun:
pip install build twine
- Dağıtım dosyalarını (dağıtım paketlerini) oluşturun:
python -m build
- PyPI'a yükleyin:
python -m twine upload dist/*
Lisans (License)
Bu proje MIT Lisansı ile lisanslanmıştır.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d22cc48a16cabc0435573d9a3f99de9fc97ba7d443d39f318daaa215c7be051d
|
|
| MD5 |
d7c21800dc6e908cde363091e507e69a
|
|
| BLAKE2b-256 |
50247f72531bc3656cc506fe9915d09226f78df88c844237e8af5b89f31035f8
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3f6499d1db03cd403639058f7e7d08c99f3e0539b0dd3af585641c54378448cd
|
|
| MD5 |
48db949126288b2d5cd6731273702d71
|
|
| BLAKE2b-256 |
20dabfe18398bb27324b395a52858cba32683bdf67e37357c4e5d3b1324e6cf1
|