Metadata-Version: 2.2
Name: ataserinyelMSA
Version: 0.4.0
Summary: A simple MAFFT-based Multiple Sequence Alignment (MSA) library
Author-email: ataserinyel <clasher.mp2@gmail.com>
License: MIT
Project-URL: Homepage, https://github.com/ataserinyel/ataserinyelMSA
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.21.0
Requires-Dist: matplotlib>=3.5.0

# ataserinyelMSA

Python ile yazılmış, MAFFT'tan ilham alan bir Çoklu Dizi Hizalama (MSA) aracı.

## Algoritma

Bu araç, MAFFT FFT-NS-1 pipeline'ının basitleştirilmiş bir versiyonunu uygular:

1. **FASTA Okuma/Yazma** — Standart FASTA formatında dosya okuma ve yazma
2. **FFT Tabanlı Mesafe Matrisi** — Nükleotid vektörlerinin (4 kanallı, tek sıcak kodlama) çapraz korelasyonu ile ikili dizi benzerlik tahmini
3. **Rehber Ağaç** — Mesafe matrisine UPGMA kümeleme uygulaması
4. **Aşamalı Hizalama** — Rehber ağaç sırasına göre uygulanan Needleman-Wunsch global hizalaması; birleştirilen gruplar her adımda konsensüs dizi ile temsil edilir

### Puanlama

| Çift | Puan |
|------|------|
| Eşleşme (A=A, T=T, G=G, C=C, U=U) | +1 |
| T / U (biyolojik olarak eşdeğer) | +1 |
| Uyuşmazlık | -1 |
| Boşluk (Gap) | -1 |

### Orijinal MAFFT'tan Farklar

- Gelişmiş yer değiştirme matrisleri yerine basit +1/−1 nükleotid puanlaması kullanır
- Afin boşluk cezası yok (açma ve uzatma ayrımı yok)
- Yinelemeli iyileştirme yok (FFT-NS-2 / FFT-NS-i)
- Küçük DNA/RNA veri setleri için uygundur

## Proje Yapısı

```
ataserinyelMSA/
├── main.py                   # Komut satırı giriş noktası
├── src/ataserinyelMSA/
│   ├── fasta.py              # FASTA okuma/yazma
│   ├── scoring.py            # Nükleotid puanlama matrisi
│   ├── fft_utils.py          # FFT tabanlı mesafe hesabı
│   ├── alignment.py          # Needleman-Wunsch, aşamalı hizalama
│   └── tree.py               # UPGMA rehber ağaç
└── test/
    ├── test.fasta             # Örnek girdi
    ├── test_scoring.py
    ├── test_alignment.py
    ├── test_fasta.py
    ├── test_distance.py
    ├── test_tree.py
    ├── test_progressive_alignment.py
    └── test_pipline.py
```

## Kullanım

```bash
python main.py girdi.fasta cikti.fasta
```

### Örnek

Girdi (`test/test.fasta`):
```
>seq1
GATTACA
>seq2
GCATGCU
>seq3
AGCTAGC
```

Çıktı (`test/output.fasta`):
```
>seq1
-GAT-TACA
>seq2
-GC-ATGCU
>seq3
AGCTA-GC-
```

## Kurulum

```bash
pip install ataserinyelMSA
```

## Testleri Çalıştırma

```bash
python -m pytest test/ -v
```

## Yazar

Ata Serinyel
