Atlikite nedidelį PDB tyrimą
============================

PASTABOS
========

1. 1/4 balo šioje užduotyje duodama už darbą, atliktą savo
pačios/paties parašyta programa, su sąlyga, kad užduotis
padaryta. Kitaip tariant, galutinio vertinimo koeficientas yra 1.0,
jei naudojate savo parašytą programą, ir 0.75, jei naudojatės svetima
programa.

2. Visų nukeltų iš PDB struktūrų į versijų kontrolės sistemą
nekelkite. Vietoj jų įkelkite skriptą ar Make taisyklę, kuri nukeltų
visas struktūras iš PDB. Struktūras iš PDB galima nukelti komandomis
'wget' arba 'curl':

wget -O - http://www.pdb.org/pdb/files/1XYZ.pdb
curl -s http://www.pdb.org/pdb/files/1XYZ.pdb

(abi komandos rašys duomenis į savo standartinę išvestį)

1XYZ pakeiskite Jums reikalingu PDB identifikatoriumi, kiekvienai
struktūrai (aišku, jei reikia, organizuokite ciklą arba bendrą Make
taisyklę).

Pilnas PDB archyvo turinys taip pat prieinamas MIF telkinyje
(cluster) suarchyvuotų mmCIF failų pavidale:

ssh user@uosis.mif.vu.lt
ssh cluster
cd ~grazulis/pdb/data/
find structures -type f | head

UŽDUOTIS
========

Nukelkite iš PDB archyvo 300 PDB failų su biologinių makromolekulių
struktūrų aprašymais. Galite naudoti dėstytojo nurodytą struktūrų
sąrašą, arba patys susirasti Jums įdomias struktūras PDB
archyve. Turite naudoti tinkamas Jūsų užduočiai struktūras -- jei Jūsų
programa skirta nukleorūgščių parametrams skaičiuoti, pasirinktuose
failuose turi būti DNR ar RNR molekulės, jei peptidams -- baltymų ar
polipeptidų struktūros.

Tai pat atlikite skaičiavimus su visomis PDB struktūromis, esančiomis
MIF telkinyje (adresą žr. akščiau).

1. Suraskite ir užrašykite, naudodami savo programą (jei jos neturite
ar ji neveikia, galite naudoti svetimą programą, bet žr. pastabą!),
visoms struktūroms Jūsų programos skaičiuojamus parametrus ir
užrašykite juos į failą. Savo skaičiavimus dokumentuokite taip, kad
juos būtų galima nesunkiai automatiškai pakartoti: parašykite Perl,
Shell skriptą arba Make failą su komandomis atlekiamiems skaičiavimams
įgyvendinti. PASTABA: faile turi būti tik komanda, o ne algoritmas!
Algoritmą įgyvendinanti programa turi būti tinkamai parametrizuota
(t.y. gauti reikiamus parametrus ar failų vardus kaip parametrus; jei
tai *x stiliaus komanda, parametrai pateikiami komandinėje eilutėje).

2. Naudodami grafinę duomenų vaizdavimo programą (pvz., Gnuplot arba
R), pavaizduokite duomenis grafiškai -- jei duomenų aibė vienmatė,
nubraižykite histogramą, jei dvimatė -- x-y grafiką (pvz.,
suskaičiavus phi/psi kampus, turėtumėte gauti Ramačandrano diagramos
analogą). Parašykite nedidelį Shell skriptą arba Make taisyklę
grafikui generuoti (viena-dvi *x komandos).

3. Išnagrinėkite savo duomenų aibę. Suskaičiuokite vieno kurio nors
parametro vidurkį, medianą, dispersiją standartinį nuokrypį,
kvartiles, 3 ir 4 momentus. Suskaičiuokite kiekvienam matavimui
parametro nuokrypio Z vertę -- reikšmės skirtumą nuo vidurkio,
normuotą standartiniais nuokrypiais:

            x_i - x_ave
    Z_i  =  -----------
              sigma_x

Kur: 

     x_i     -- i-ji parametro reikšmė;
     Z_i     -- normalizuota i-ji parametro reikšmė (Z vertė);
     x_ave   -- parametro x vidurkis;
     sigma_x -- parametro x standartinis nuokrypis (vidutinis
                kvadratinis nuokrypis nuo vidurkio)

Pavaizduokite, kaip priklauso Z_i vertė nuo struktūros skiriamosios
gebos; suraskite koreliacijos koeficientą, tiesinės regresijos
koeficientus. Ar yra koreliacija tarp Jūsų surasto parametro ir
skiriamosios gebos? Ar ji reikšminga? Kokia, Jūsų manymu, jos
priežastis?

4. Išnagrinėkite dvi struktūras, kurios labiausiai skiriasi nuo
vidurkio į vieną ar į kitą pusę? Kodėl atsirado stebėti nukrypimai?
Kokia galima jų biofizikinė priežastis? Ką galite pasakyti apie šių
struktūrų patikimumą? Ar eksperimentiniai duomenys pakankamai
reikšmingi, kad patikrinti šį nukrypimą?