Mini Progetto di ASD 2015/2016

Questo progetto è su scala ridotta e si basa su file presi dal Protein Data Bank (PDB) e richiede di rappresentare ciascuna proteina come un grafo G = (V,E) per calcolarne la distribuzione dei gradi dei nodi: in particolare, se Δ indica il grado massimo del grafo, il progetto richiede di calcolare D[i] = cardinalità({ u in V : grado[u] = i}) per ogni 0 ≤ i ≤ Δ.

Il grafo va costruito da un file di testo PDB come segue. I vertici sono gli atomi, descritti nelle linee ATOM. I campi di interesse sono “serial” (identificatore unico dell'atomo), “x”, “y”, “z” (sue coordinate cartesiane in angstrom) e “element” (simbolo dell'elemento associato all'atomo).

Gli archi del grafo da costruire sono implicitamente definiti dalla seguente regola: due vertici hanno un legame se la loro distanza euclidea in angstrom è nell’intervallo [1 … 3,2]; altrimenti, l'arco non esiste (la distanza è inferiore a 1, che viene considerata rumore, oppure la distanza è superiore a 3.2 angstrom e le forze sono troppo deboli).

Nota. In alcuni file PDB, la proteina può essere stata replicata più volte: in tal caso è sufficiente prendere soltanto la componente connessa a partire dal primo vertice ATOM.