Warning
This page is located in archive.

Skládání proteinů: specifikace

Skript fold.py musí fungovat v Pythonu 3.4.x!

Odevzdávat budete 2 skripty (oba nepovinně):

  • fold.py realizující algoritmus skládání sekvence aminokyselin a
  • display.py, vizualizační část.

Hodnocení

  • až 3 body za pokročilost algoritmu skládání,
  • až 3 body za zobrazovací funkci,
  • až 4 body za výsledky, kterých dosáhnete v porovnání s vašimi kolegy (za postavení v žebříčku).

Specifikace pro fold.py

Úkolem skriptu fold.py je pro danou sekvenci aminokyselin najít co nejlepší konfiguraci z hlediska minimalizace volné energie.

  • Vstup: sekvence aminokyselin uložená v souboru sequence.txt.
  • Výstup: navržená konfigurace uložená v souboru folding.txt.

Další požadavky:

  • Navržená konfigurace musí mít o 1 prvek méně než vstupní sekvence aminokyselin.
  • Navržená konfigurace se nesmí křížit (na jedné pozici může být vždy jen jedna aminokyselina). Bude-li se sekvence křížit, je to považováno za chybu!
  • Skript má na nalezení konfigurace pro jednu sekvenci aminokyselin vždy max 1 sekundu.
  • Skript bude testován na sekvencích s délkou až 100 aminokyselin.
  • Skript by pro žádnou myslitelnou sekvenci aminokyselin neměl skončit s chybou nebo neošetřenou výjimkou.

Způsob hodnocení:

  • Skript odevzdáte (ve společném archivu s display.py) do BRUTE.
  • Funkci skriptu v ideálním případě předvedete a vysvětlíte cvičícímu na posledním cvičení.
  • Skript se v BRUTE zúčastní turnaje. Pořadí v turnaji se určuje podle následujících pravidel:
    • Skripty se seřadí vzestupně podle počtu chyb (tj. podle počtu testovacích sekvencí, pro něž skript skončil s chybou).
    • Při rovnosti se skripty seřadí vzestupně podle počtu time-outů (tj. podle počtu testovacích sekvencí, pro něž skript neukončil svou činnost včas).
    • Při rovnosti se skripty seřadí vzestupně podle součtu volných energií přes všechny sekvence, pro něž výslednou konfiguraci našel včas.

Specifikace pro display.py

Úkolem skriptu display.py je co nejpřehledněji zobrazit danou sekvenci aminokyselin v dané konfiguraci.

  • Vstupy: sekvence aminokyselin v souboru sequence.txt a konfigurace v souboru folding.txt.
  • Výstup: přehledné zobrazení složené sekvence aminokyselin, ať už v textovém nebo grafickém režimu.

Způsob hodnocení:

  • Skript odevzdáte (ve společném archivu s fold.py) do BRUTE.
  • Skript předvedete a vysvětlíte cvičícímu na posledním cvičení!
  • Skript nebude nijak automaticky testován/hodnocen.

Další info:

  • Protože k řešení tohoto kroku můžete využívat i knihovny, které nejsou standardní součástí Pythonu (viz vizualizace), musíte sami zajistit, abyste byli schopni vizualizaci na posledním cvičení předvést, tj. např. přinést si vlastní notebook.

Formát souborů

Obě části úlohy zpracovávají (čtou nebo vytvářejí) soubory sequence.txt a folding.txt. Oba soubory očekávejte/vytvářejte ve stejném adresáři, jako skripty fold.py a display.py. Jejich formát je následující:

  • Soubor sequence.txt bude obsahovat vždy jednu sekvenci aminokyselin, tj. bude obsahovat jeden řádek, na němž budou jedničky a nuly oddělené mezerami, např.
    0 1 1 1 1 0
  • Soubor folding.txt bude obsahovat navrženou konfiguraci, tedy jeden řádek obsahující sekvenci jednotkových komplexních čísel (1, -1, 1j, nebo -1j) oddělených mezerami, tedy např.
    1 1 -1j -1 -1
courses/b4b33rph/cviceni/protein_folding/specifikace.txt · Last modified: 2018/07/17 13:25 (external edit)