Skip to main content

Multiple Sequence Alignment via Dynamic Programming

Project description

Dil / Language: 🇹🇷 Türkçe · 🇬🇧 English


zehramsa — Çoklu Dizi Hizalama Kütüphanesi

zehramsa, Needleman-Wunsch dinamik programlama algoritması ve Center Star Alignment yaklaşımını kullanarak birden fazla DNA dizisini hizalayan, saf Python ile yazılmış bir kütüphanedir. Harici bağımlılık gerektirmez; pip ile kurulabilir.


Teknolojiler

  • Python 3.9+
  • Needleman-Wunsch — global pairwise hizalama (dinamik programlama)
  • Center Star Alignment — çoklu dizi birleştirme stratejisi
  • pyproject.toml — pip kurulum desteği

Özellikler

  • İkili dizi hizalama (Needleman-Wunsch DP)
  • 3+ dizi için Center Star tabanlı MSA
  • Özelleştirilebilir puanlama (match / mismatch / gap)
  • Hizalama skoru ve kimlik yüzdesi hesaplama
  • Tip ve girdi doğrulama ile açık hata mesajları

Kurulum

pip install zehramsa

Kullanım

from zehramsa import align, SimpleScoring

result = align(["GATTACA", "GCATGCU", "GAGTACA"])
print(result)

result = align(["ACGT", "ACCT", "AGGT"], scoring=SimpleScoring(match=2.0, mismatch=-1.0, gap=-2.0))
print(result.center_sequence)

Süreç

Proje, dinamik programlama ile çoklu dizi hizalamasının sıfırdan uygulanmasına odaklanır. Önce Needleman-Wunsch algoritması ayrı bir modül olarak kuruldu; ardından 3+ dizi için Center Star stratejisi entegre edildi. Tüm çiftler için NW tek seferde çalıştırılıp cache'lenerek gereksiz hesaplama tekrarı engellendi. API kasıtlı olarak tek giriş noktasına (align()) indirgendi.



zehramsa — Multiple Sequence Alignment Library

zehramsa is a pure Python library that aligns multiple DNA sequences using the Needleman-Wunsch dynamic programming algorithm and Center Star Alignment strategy. No external dependencies required; installable via pip.


Technologies

  • Python 3.9+
  • Needleman-Wunsch — global pairwise alignment (dynamic programming)
  • Center Star Alignment — multi-sequence merging strategy
  • pyproject.toml — pip installation support

Features

  • Pairwise sequence alignment (Needleman-Wunsch DP)
  • MSA for 3+ sequences via Center Star approach
  • Customizable scoring (match / mismatch / gap)
  • Alignment score and identity percentage calculation
  • Type and input validation with clear error messages

Installation

pip install zehramsa

Usage

from zehramsa import align, SimpleScoring

result = align(["GATTACA", "GCATGCU", "GAGTACA"])
print(result)

result = align(["ACGT", "ACCT", "AGGT"], scoring=SimpleScoring(match=2.0, mismatch=-1.0, gap=-2.0))
print(result.center_sequence)

The Process

The project focuses on implementing multiple sequence alignment from scratch using dynamic programming. Needleman-Wunsch was built as a standalone module first; Center Star strategy was then integrated for 3+ sequences. All pairwise NW results are computed once and cached to eliminate redundant computation. The public API was intentionally reduced to a single entry point (align()).

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

zehramsa-1.0.1.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zehramsa-1.0.1-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file zehramsa-1.0.1.tar.gz.

File metadata

  • Download URL: zehramsa-1.0.1.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for zehramsa-1.0.1.tar.gz
Algorithm Hash digest
SHA256 c01dd4494e26daee1bafc546925ad1fa764e58d6ffccc17aa09fa467d28c6eb5
MD5 96fcfe3fcfa8c36cbb3ff4c74caee5c0
BLAKE2b-256 43c1d967e736adcfa182c8db597f9e9cbb13483f33370c09b160f0e70b85474e

See more details on using hashes here.

File details

Details for the file zehramsa-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: zehramsa-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 7.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for zehramsa-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 64fbd9bb5471538a706c68a9dd28e2fbe85266548cc277bd56ddf8d1c88fec9e
MD5 06a625225ce0fb860777529180b3a37d
BLAKE2b-256 83c2f0b9f0b55054083dd257ac11e9538de74a4c252ae9a8459c143d88f41177

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page