A simple MAFFT-based Multiple Sequence Alignment (MSA) library
Project description
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:
- FASTA Okuma/Yazma — Standart FASTA formatında dosya okuma ve yazma
- FFT Tabanlı Mesafe Matrisi — Nükleotid vektörlerinin (4 kanallı, tek sıcak kodlama) çapraz korelasyonu ile ikili dizi benzerlik tahmini
- Rehber Ağaç — Mesafe matrisine UPGMA kümeleme uygulaması
- 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
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
pip install ataserinyelMSA
Testleri Çalıştırma
python -m pytest test/ -v
Yazar
Ata Serinyel
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
ataserinyelmsa-0.3.0.tar.gz
(12.0 kB
view details)
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 ataserinyelmsa-0.3.0.tar.gz.
File metadata
- Download URL: ataserinyelmsa-0.3.0.tar.gz
- Upload date:
- Size: 12.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae44b1aeee57050435a86044efb1ccd50e66d20ce3e21125a78c0aad1d92f56c
|
|
| MD5 |
745e6bad2496786b34fb84614aecef93
|
|
| BLAKE2b-256 |
270eb3dabee3ba3488a50b30dced4f4c0f626691be63596c030d7b207bb97555
|
File details
Details for the file ataserinyelmsa-0.3.0-py3-none-any.whl.
File metadata
- Download URL: ataserinyelmsa-0.3.0-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bccc5333c6f44d2f5cadefd7caf48fadaa686c556499816125afbe21d92a27ee
|
|
| MD5 |
170a6e6f793e4cbd7e6d8d478c9f0ac0
|
|
| BLAKE2b-256 |
bd07d52ee6676aefbb89deab47bffd459786b20a62ca158e1767700bd56448c1
|