Metadata-Version: 2.4
Name: AlperMSA
Version: 0.1.0
Summary: Clustal Omega tabanli Coklu Dizi Hizalama (MSA) algoritmasi
Author: Alper
Author-email: alper@example.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: requests
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# 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:
```bash
pip install .
```
Geliştirme aşamasındaysanız ve kodda yaptığınız değişikliklerin anında yansımasını istiyorsanız:
```bash
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:
```bash
pip install git+https://github.com/kullanici_adi/AlperMSA.git
```

---

## Kullanım (Usage)

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

```python
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:
   ```bash
   pip install build twine
   ```
2. Dağıtım dosyalarını (dağıtım paketlerini) oluşturun:
   ```bash
   python -m build
   ```
3. PyPI'a yükleyin:
   ```bash
   python -m twine upload dist/*
   ```

---

## Lisans (License)
Bu proje MIT Lisansı ile lisanslanmıştır.
