Heruannon ha scritto:
se ho capito bene si intende che sono riusciti a simulare il ripiegamento di una proteina che avviene in un tempo particolarmente lungo come potrebbe essere il millisecondo?
si
il tempo è il tallone d'Achille delle simulazioni di dinamica molecolare.
facciamo un esempio (ovviamente pieno di inesattezze):
io prendo qualche migliaio di molecole in una nota condizione iniziale (per esempio tutte allineate) e in base alle leggi che ne regolano i movimenti (leggi del moto, forze di interazione, principio della minima energia potenziale, etc....) provo a simulare dove ognuna delle singole molecole si troverà tra un secondo. Se poi eseguo un secondo ciclo di calcoli posso prevedere dove saranno tra 2 secondi e così via.
Se l'intervallo di tempo è troppo grande rischio di perdermi tutto quello che succede nel mezzo: per simulare un'auto che viaggia in autostrada a 100 Km/h di media probabilmente mi basta calcolare dove si trova ogni 10 minuti (anche se devo fare il calcolo per tutte le auto presenti). Per simulare le auto in movimento in una città invece, dove le velocità sono molto variabili e le interazioni tra le macchine sono elevate, probabilmente dovrei eseguire i calcoli ogni 10 secondi.
Ecco, per simulare decentemente la dinamica molecolare devo (se non erro) arrivare al nanosecondo o peggio. Ma il processo completo arriva al millisecondo e oltre (tra le altre cose più il processo totale è lungo più accumulo errori di calcolo della traiettoria) quindi un milione di cicli di calcolo.
Un ciclo di calcoli può essere eseguito solo dopo che il precedente è terminato, quindi devo gestire molte WU consequenziali e aspettare che il processo si completi
Oppure provo a parallelizzare i calcoli. Ovviamente la mole di calcoli è la stessa ma il risultato si ottiene in meno tempo. Nel senso che non sono obbligato a portare avanti 10 simulazioni diverse per 1 mese (ottenendo 10 risultati) ma posso eseguirne magari una ogni 3 giorni.
Alla fine ne ho sempre 10 ma prova a pensare se le simulazioni durano un anno!