2010-03-03 6 views
7

Je cherche un paquet python que je peux utiliser pour simuler la dynamique moléculaire dans des situations de non-équilibre. J'ai besoin d'une installation qui peut gérer un nombre assez important de molécules d'une manière principalement théorique, et qui peut gérer la présence de surfaces solides. En ce qui concerne les surfaces, je devrais être en mesure de créer des formes arbitraires et de surveiller la pression et d'autres variables résultant de l'action moléculaire. Alternativement, je pourrais ajouter les parties de surface moi-même si j'avais des molécules qui pourraient le manipuler.Simulation de la dynamique moléculaire en Python

Est-ce que quelqu'un connaît des paquets qui pourraient convenir?

+0

Ceci est pour la modélisation de l'écoulement des gaz autour des surfaces, pas pour la biologie. Essentiellement à la recherche de collisions élastiques sur les différentes surfaces et les autres molécules du système pour voir ce que la présence des surfaces fait pour circuler. Non-équilibre parce que les différents côtés des surfaces sont à différentes températures, pressions, etc. – Elliot

+0

Aussi ce que le flux fait aux surfaces, qui peuvent bouger si les gaz leur donnent assez de coup de pied. – Elliot

Répondre

4

Avez-vous considéré SimPy? SimPy est un paquet de simulation d'événement discret assez générique, mais pourrait répondre à vos besoins.

Mieux encore l'Molecular Modelling ToolKit (MMTK) semble plus spécialisé ...

Je l'ai utilisé non plus, mais cela semble amusant. Python, en tant que langage, semble être en position privilégiée pour une utilisation dans un logiciel de simulation, où les gens peuvent scripter les détails spécifiques de leur modèle tout en s'appuyant sur le cadre de toute la logique commune: ordonnancement, visualisation, monitoring, etc. est-ce que ces boîtes à outils sont bien proportionnées aux modèles de biologie (BTW, comment "gros" est-ce?)

+0

les comptages d'agents biologiques ont tendance à être dans les millions, au mieux, mais les problèmes de génie chimique à grande échelle peuvent être beaucoup plus gros. –

0

Je ne sais pas si ces programmes ont toutes les fonctionnalités dont vous avez besoin, mais il y a un avogadro dans le programmes kde, je pense qu'il est extensible et comme il est open source, vous pouvez faire n'importe quoi avec. http://www.kde-apps.org/content/show.php/Avogadro?content=59521

Il est vraiment avancé et programmé par un de mes amis

2

Lampps et GROMACS sont deux codes de dynamique moléculaire bien connus. Ces codes ont tous deux des trucs de wrapper basés sur python, mais je ne suis pas sûr de la quantité de fonctionnalités que les wrappers exposent. Ils peuvent ne pas vous donner assez de contrôle sur la simulation.

Google pour « GromacsWrapper » ou Google pour « LAMMPS » et « pizza.py »

matériel numérique et ASE sont deux dynamiques moléculaires codes qui exposent beaucoup de fonctionnalités, mais la dernière fois que je regardais, ils étaient tous les deux assez spécialisé. Ils ne peuvent pas vous permettre d'utiliser les potentiels de la force que vous voulez

Google pour « matériel numérique » et « cornell » ou Google pour « ase » et DTU

Note à MJV: Normale MD codes prennent un temps étape par étape, et ils déplacent toutes les particules dans chaque pas de temps. La plupart du temps est dépensé en calculant la force totale sur chaque atome. Cela implique d'itérer sur une liste de paires d'atomes voisins. Je pense que la meilleure idée est de faire le calcul de la force et un peu plus de bases en C++ ou fortran et ensuite envelopper cette fonctionnalité dans python. (Mais il pourrait être amusant de voir jusqu'où on peut aller en utilisant des matrices numpy)

0

Je mets MMTK en second, mais jetez un oeil à VMD, qui est le meilleur logiciel MD que je connaisse, et qui est scriptable en Python (en plus de Tk). Voir this pour des exemples et des tutoriels.

+0

VMD est plus pour les systèmes biologiques. J'ai clarifié ce que je cherche un peu. – Elliot

+3

VMD est un package de visualisation, pas un package de simulation. – JoshAdel

+1

@JoshAdel Strictement parlant, VMD a une interface pour NAMD (responsable de MD), qui est l'extension par défaut de VMD. –

1

Un autre cadre de simulation générique est le mien GarlicSim. Tu peux essayer ça. Je pourrais vous aider à faire une simpack si vous êtes sérieux à ce sujet.

0

Je recommande d'utiliser un logiciel de dynamique moléculaire pour exécuter des simulations MD comme Gromacs. Ce logiciel est hautement optimisé pour ce but particulier. Vous pouvez également utiliser des GPU et vous serez en mesure d'exécuter des systèmes plus importants en moins de temps.Par la suite, vous exécutez uniquement l'analyse avec des packages python à l'aide des trajectoires générées.

mdtraj pmx

Questions connexes