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.2.0.tar.gz
(10.2 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.2.0.tar.gz.
File metadata
- Download URL: ataserinyelmsa-0.2.0.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
280e68f45108a8a8db147dc886d669e676bd629749446354e517778e422d4cef
|
|
| MD5 |
f7030b15e6b4b5fd4c344d6de4dba025
|
|
| BLAKE2b-256 |
55f19a889c3b56d6555d9e736d448fdf16d194bc335c24c975c0b3ece6e9d669
|
File details
Details for the file ataserinyelmsa-0.2.0-py3-none-any.whl.
File metadata
- Download URL: ataserinyelmsa-0.2.0-py3-none-any.whl
- Upload date:
- Size: 8.6 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 |
0c68efa3f021282177b8ed2cc5d6dd2f2f225d49868cbf6f0205611e2eee3e4b
|
|
| MD5 |
7cab286f1804c8ef6500dfcc49fc7309
|
|
| BLAKE2b-256 |
80dd0eb58eaf730d87ad5779d6742ae3c5f3479efd010495572126ff77777ae7
|