Skip to content

Michal-Szczygiel/pdb_parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Motywacja

Niniejszy projekt został przygotowany w celu zaprezentowania możliwości języka Rust (głównie systemu makr oraz bogatej biblioteki rozszerzeń) w dziedzinie tworzenia natywnych rozszerzeń dla języka Python (v3). Dodatkowymi zaletami są tu również:

  • przenośność kodu bez konfiguracji - projekt powinien się kompilować bez problemu na wszystkich popularnych platformach,
  • związłość kodu - Rust jest pod wieloma względami podobny do języka Python (składnia jest stosunkowo łatwa i ekspresywna),
  • niezawodność kodu - zgodnie z założeniami języka, niemożliwym powinno być (w bezpiecznym podzbiorze języka) dopuszczenie do wystąpienia zachowania niezdefiniowanego (w szczególności wycieków pamięci)

Kompilacja projektu

Poza posiadaniam zainstalowanego interpretera języka Python, niezbędny jest również kompilator języka Rust (najlepiej jest pobrać i zainstalować cały pakiet narzędzi z oficjalnego źródła).

Kroki:

  • utworzyć wirtualne środowisko Pythona (i zainicjalizować je),
  • zainstalować w tym środowisku rozszerzenie: Maturin (pip install maturin), więcej informacji tutaj,
  • wywołać polecenie maturin develop (w katalogu projektu, tam gdzie znajduje się plik pyproject.toml) - biblioteka zostanie zbudowana i zainstalowana w uruchomionym wirtualnym środowisku Pythona. Można dodać flagę --release - kompilacja przebiegnie wtedy z włączonymi optymalizacjami.
  • uruchomić skrypt test/test.py - powinno zostać wydrukowane podsumowanie dotyczące cząsteczki znajdującej się w dołączonym pliku .pdb oraz sekwencja aminokwasowa pierwszego łańcucha.

O samym projekcie:

Projekt korzysta z rustowej biblioteki PyO3. Rozszerzenie zawiera prosty parser plików .pdb. Plik pdb_parser.pyi zawiera sygnatury klas i funkcji wchodzących w skład rozszerzenia. Plik test/test.py zawiera przykład użycia tego rozszerzenia.

About

Prosty parser plików .pdb napisany jako natywne rozszerzenie pythonowe.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published