Molecular Dynamics Repository: Ein praktischer Leitfaden
Ein Molekulardynamik-Repository ist ein versionierter Host für Simulationscode, Eingabedatensätze, Kraftfeldparameter und Analyseskripte, der Engines wie GROMACS, LAMMPS und OpenMM sowie Trajektorienformate wie DCD und XTC umfasst. Speicherentscheidungen sind im großen Maßstab von Bedeutung: Ein System mit 100.000 Atomen, das 100 Nanosekunden lang simuliert wird und dessen Koordinaten alle 10 Pikosekunden geschrieben werden, ergibt ungefähr 10.000 Frames; die richtige Struktur bestimmt also, ob eine Simulation auch Jahre später reproduzierbar bleibt.
Wichtige Erkenntnisse
- Ein Molekulardynamik-Repository ist nicht eine einzelne Sache: Es ist ein Stack aus Engine-Code, Kraftfelddefinitionen, Topologie- und Koordinatendateien, Run-Skripten und Analyse-Notebooks, jeweils mit unterschiedlichen Versionierungsanforderungen.
- Binäre Trajektorienformate (XTC, DCD, TRR, NetCDF/AMBER) tauschen Präzision gegen Größe aus; die Wahl wirkt sich sowohl auf die Speicherkosten als auch auf die langfristige Lesbarkeit aus.
- Die Reproduzierbarkeit hängt weniger von der Engine als vielmehr von der Fixierung von vier Dingen ab: Engine-Version, Kraftfeldversion, Random Seed und der exakten Eingabedatei.
- Git ist das richtige Werkzeug für Texteingaben und Skripte, aber große binäre Trajektorien gehören in Git LFS, DVC oder ein Datenrepository wie Zenodo – nicht in den Git-Hauptverlauf.
- FAIR-Datenprinzipien (Findable, Accessible, Interoperable, Reusable) lassen sich sauber auf die Repository-Layout-Entscheidungen übertragen, die Sie am ersten Tag treffen.
- Ein Repository, das von einem Fremden nicht erneut ausgeführt werden kann, ist Dokumentation, nicht Reproduzierbarkeit.
Worauf sich „Molecular Dynamics Repository“ eigentlich bezieht
„Molecular Dynamics Repository“ ist ein überladener Begriff, und die Mehrdeutigkeit sorgt für echte Verwirrung, wenn Laborgruppen versuchen, zu standardisieren. Mindestens vier verschiedene Dinge werden mit diesem Namen bezeichnet, und technisch gesehen haben sie fast nichts gemeinsam.
Das erste ist das Engine-Repository – der Quellcode des Simulationsprogramms selbst. GROMACS, LAMMPS, NAMD, OpenMM und AMBER leben jeweils in ihren eigenen Upstream-Repositorys, und Sie interagieren mit ihnen als Benutzer, nicht als Maintainer. Hier interessieren Sie Release-Tags und Versionsnummern, nicht der Code.
Das zweite ist das Repository der Kraftfelder und Parameter. Kraftfelder wie CHARMM36, AMBER ff14SB, OPLS-AA und die Coarse-Grained-Martini-Familie werden als Parameterdateien verteilt, oft mit eigener Versionierung. Das OpenKIM-Projekt unterhält ein interoperables Archiv interatomarer Potenziale für Materialien und molekulare Systeme, was ein völlig anderes Bereitstellungsmodell als ein Git-Repository darstellt.
Das dritte ist das Projekt-Repository: Ihr eigenes Arbeitsverzeichnis für eine bestimmte Studie. Dies enthält die Topologiedateien, Koordinatendateien, .mdp- oder Input-Decks, Run-Skripte und Analysecode. Hier entstehen die meisten Fehler bei der Reproduzierbarkeit.
Das vierte ist das Daten-Repository: ein Langzeitarchiv für Trajektorien, Checkpoints und abgeleitete Daten. Zenodo, Figshare und institutionelle Repositorien erfüllen diese Rolle und vergeben DOIs, damit ein bestimmter Datensatz zitiert werden kann.
Verwandte: — Interaktive Python- und Data-Science-Kurse, bei denen Sie direkt im Browser programmieren.
Die Verwechslung dieser vier führt zu vorhersehbaren Fehlern: das Committen einer 40-GB-Trajektorie in Git oder die Behandlung einer Zenodo-Einreichung, als wäre sie ein aktives Arbeitsverzeichnis. Ihre Trennung ist die Entscheidung mit der höchsten Hebelwirkung bei der Einrichtung eines Simulationsprojekts.
Das Problem der langen Daten: Warum Trajektorien die normale Versionskontrolle durchbrechen
Die durch Molekulardynamiksimulationen erzeugten langen Daten stellen die entscheidende Einschränkung für das Repository-Design dar, und es ist wichtig, dies zu verstehen, bevor man die Werkzeuge auswählt. Ein einzelnes System aus 100.000 Atomen, das 100 Nanosekunden lang simuliert wird und dessen Koordinaten alle 10 Pikosekunden geschrieben werden, erzeugt in der Größenordnung von 10.000 Frames. Gespeichert als unkomprimierte Koordinaten mit doppelter Genauigkeit sind das ungefähr 100.000 Atome × 3 Koordinaten × 8 Bytes × 10.000 Frames – hunderte Gigabyte vor jeglicher Komprimierung.
Trajektorienformate existieren genau dafür. XTC verwendet verlustbehaftete Komprimierung mit konfigurierbarer Präzision, typischerweise 3 Dezimalstellen in Nanometern, und ist der Standard für GROMACS.
Einen Blick wert: — Ein Abonnement für von der Universität unterstützte Python- und Data-Science-Zertifikate.
DCD ist das klassische CHARMM-Format, unkomprimiert und weit verbreitet lesbar. TRR ist das verlustfreie Vollpräzisionsformat von GROMACS, nützlich, wenn exakte Geschwindigkeiten oder Kräfte benötigt werden. NetCDF-basierte Formate, einschließlich der AMBER-Trajektorienkonvention, sind selbstbeschreibend und enthalten Metadaten zu den Einheiten.
Die praktischen Konsequenzen für ein Repository sind konkret:
- Git speichert jede Version jeder Datei. Eine Trajektorie, die sich bei jedem Lauf ändert, bläht ein Repository dauerhaft auf, da der Git-Verlauf append-only ist. Selbst das Löschen der Datei gibt den Speicherplatz nicht ohne ein Umschreiben des Verlaufs frei.
- Git LFS (Large File Storage) ersetzt große Dateien durch Pointer und speichert den Inhalt an anderer Stelle, was gut für Dateien bis zu einigen Gigabyte funktioniert, die sich selten ändern. Es ist ungeeignet für Trajektorien, die ständig regeneriert werden.
- DVC (Data Version Control) verfolgt Daten per Hash und speichert sie in einem konfigurierbaren Remote-Speicher – lokale Festplatte, S3 oder einem institutionellen Speicher –, während kleine
.dvc-Pointer-Dateien in Git bleiben. Dies eignet sich für Simulationsworkflows, bei denen die Daten groß und der Code klein ist. - Daten-Repositorys mit DOIs sind die richtige Heimat für die eingefrorene, veröffentlichte Version einer Trajektorie. Sie sind kein Arbeitsverzeichnis.
Eine praktikable Arbeitsteilung: Git für Skripte, Input-Decks und Analysecode; DVC oder Git LFS für moderate binäre Artefakte; ein DOI-vergebendes Archiv für den endgültigen veröffentlichten Datensatz. Dies hält die Klonzeiten vernünftig und macht den veröffentlichten Datensatz zitierfähig.
Anatomie eines reproduzierbaren Simulations-Repositorys
Ein reproduzierbares Molekulardynamik-Repository hat ein vorhersehbares Layout, und das Layout selbst kommuniziert die Absicht an jeden, der es öffnet. Die folgende Struktur ist ein sinnvoller Standard für ein Molekulardynamikprojekt, anpassbar an LAMMPS-, GROMACS- oder OpenMM-Workflows.
project/
├── README.md
├── environment.yml # oder requirements.txt / conda spec
├── systems/
│ ├── system-a/
│ │ ├── topology/
│ │ ├── coordinates/
│ │ └── parameters/
│ └── system-b/
├── simulations/
│ ├── equilibration/
│ │ ├── inputs/
│ │ └── run.sh
│ └── production/
│ ├── inputs/
│ └── run.sh
├── analysis/
│ ├── notebooks/
│ └── scripts/
├── data/ # DVC-tracked oder gitignored
└── docs/
Jedes Verzeichnis hat seine Berechtigung. Der systems/-Baum trennt die chemische Definition dessen, was simuliert wird, von der Art und Weise, wie es simuliert wird, was wichtig ist, da dasselbe System oft unter mehreren Protokollen ausgeführt wird. Der simulations/-Baum trennt die Äquilibrierung von der Produktion, eine Unterscheidung, die leicht verloren geht und kostspielig wiederherzustellen ist.
Die Datei environment.yml ist die am meisten unterschätzte Komponente. Die Fixierung der Engine-Version, des Python-Analyse-Stacks und aller unterstützenden Bibliotheken in einer einzigen Datei bedeutet, dass ein Collaborator die Umgebung mit einem einzigen Befehl neu erstellen kann. Conda-Umgebungsdateien, pip-Requirements-Dateien und Container-Definitionen (Docker oder Apptainer/Singularity) dienen alle diesem Zweck; Container sind am robustesten, da sie auch Systembibliotheken erfassen.
Die README.md sollte mindestens angeben: worum es in der Studie geht, welche Engine und Version, welches Kraftfeld und welche Version, wie die Pipeline von den Roheingaben bis zu den finalen Abbildungen ausgeführt wird und wo sich die großen Daten befinden. Eine README, die davon ausgeht, dass der Leser der Autor ist, ist keine Dokumentation.
Auswahl eines Repository-Hosts: Kriterien, die zählen
Das Repository-Hosting für die computergestützte Wissenschaft folgt anderen Linien, als kommerzielles Git-Hosting abdeckt. Die folgende Tabelle vergleicht die Optionen, die die meisten Laborgruppen bei der Auswahl eines Molekulardynamik-Repositorys tatsächlich in Betracht ziehen.
| Host / Tool | Am besten für | Behandelt große Binärdateien | DOI / Zitat | Notizen |
|---|---|---|---|---|
| GitHub / GitLab | Code, Skripte, kleine Eingaben | Via Git LFS (kontingentbegrenzt) | Kein nativer DOI | Allgegenwärtig; LFS-Kontingente können überraschen |
| Zenodo | Eingefrorene veröffentlichte Datensätze | Ja, großzügige Limits | Ja, DOI pro Version | Integriert sich in GitHub-Releases |
| Figshare | Datensätze, Abbildungen, Supplementary | Ja | Ja | Häufig in Journal-Workflows |
| Institutionelles Repository | Institutionelle Langzeitarchivierung | Variiert | Normalerweise ja | Persistenz an die Institution gebunden |
| DVC + Cloud Remote | Aktive Versionierung großer Daten | Ja | Nein | Hält den Git-Verlauf klein |
| Open Science Framework | Organisation auf Projektebene | Ja | Ja | Gut für gemischte Code-/Datenprojekte |
Die Entscheidung läuft im Allgemeinen auf drei Fragen hinaus: Sollen die Daten mit einem DOI zitierfähig sein? Sollen sie während der Änderung versioniert oder einmalig eingefroren werden? Wer ist dafür verantwortlich, dass sie in zehn Jahren noch verfügbar sind?
Ein gängiges und vertretbares Muster ist GitHub für den Code mit aktivierter Zenodo-Integration, sodass jedes getaggte Release automatisch einen DOI erzeugt, plus DVC für die Arbeitsdaten. Dies ermöglicht zitierfähige Releases, ohne den Git-Verlauf aufzublähen.
Kraftfelder, Parameter und die Versionierungsfalle
Bei der Kraftfeld-Versionierung versagt die Reproduzierbarkeit oft stillschweigend, und dies verdient eine gesonderte Behandlung, da der Fehlermodus unsichtbar ist. Zwei Simulationen mit dem Titel „CHARMM36“, die im Abstand von drei Jahren durchgeführt werden, können unterschiedliche Parametersätze verwenden, da die Kraftfelder überarbeitet wurden. Das Gleiche gilt für die AMBER-Protein-Kraftfelder, bei denen ff99SB, ff99SB-ILDN, ff14SB und spätere Revisionen messbar unterschiedliches Verhalten hervorrufen.
Der Haken ist, dass Kraftfelddateien oft über Engine-Installationen verteilt oder von einer Projektwebsite heruntergeladen werden und die Version nirgendwo in der Simulationsausgabe aufgezeichnet wird. Ein Molekulardynamik-Repository, das die Engine-Version fixiert, aber nicht die Kraftfeldversion, ist nur zur Hälfte reproduzierbar.
Praktische Abhilfemaßnahmen:
- Binden Sie die Parameterdateien in das Repository ein (Vendoring). Kopieren Sie die exakt verwendeten
.itp,.prmoder.frcmod-Dateien nachsystems/*/parameters/und committen Sie diese. Dies sind kleine Textdateien, und ihre Anwesenheit im Repository beseitigt jegliche Mehrdeutigkeit. - Speichern Sie den Kraftfeldnamen und die Revision in der README und in einer maschinenlesbaren Metadatendatei. Eine kurze YAML- oder JSON-Datei neben den Eingaben kostet nichts und beantwortet die Frage definitiv.
- Notieren Sie alle lokalen Modifikationen. Wenn Sie eine Partialladung oder einen Bond-Parameter angepasst haben, sollte diese Änderung im Repository und nicht in einem persönlichen Scratch-Verzeichnis stehen.
- Für interatomare Potenziale in der Materialsimulation bevorzugen Sie ein versioniertes Archiv. OpenKIM existiert genau dazu, Potenziale zitierfähig und versioniert zu machen, und seine Nutzung beseitigt eine ganze Klasse von Mehrdeutigkeiten.
Das allgemeine Prinzip: Alles, was das numerische Ergebnis beeinflusst und nicht die Engine-Binärdatei ist, gehört als committed Datei in das Repository.
Reproduzierbarkeit über das Repository hinaus: Seeds, Hardware und Gleitkomma
Ein Molekulardynamik-Repository kann perfekt organisiert sein, aber dennoch scheitern, ein Ergebnis zu reproduzieren, da die Molekulardynamik Quellen für Nichtdeterminismus aufweist, die außerhalb der Versionskontrolle liegen. Diese zu verstehen, vermeidet falsches Vertrauen.
Random Seeds steuern die anfängliche Geschwindigkeitszuweisung und bei stochastischen Methoden das Verhalten von Thermostat und Barostat. Wenn der Seed nicht gespeichert wird, ist der Lauf selbst mit identischen Eingaben nicht reproduzierbar. Viele Engines akzeptieren einen expliziten Seed; nutzen Sie diesen und speichern Sie ihn.
Parallele Zerlegung (Parallel Decomposition) beeinflusst die Reihenfolge der Gleitkomma-Summierung. Das Ausführen desselben Systems auf 16 Kernen gegenüber 64 Kernen kann Trajektorien erzeugen, die aufgrund akkumulierter Rundungsunterschiede im Laufe der Zeit divergieren. Dies ist kein Bug, sondern die Natur der Gleitkomma-Arithmetik bei unterschiedlichen Reduktionsreihenfolgen. Notieren Sie für strikte Reproduzierbarkeit die Domänenzerlegung und die Anzahl der Kerne, oder akzeptieren Sie, dass eine bitweise Identität nicht machbar ist, und streben Sie stattdessen eine statistische Reproduzierbarkeit an.
Hardware- und Compiler-Unterschiede führen durch verschiedene Mathematik-Bibliotheken und Befehlssätze zu weiteren Variationen. Container reduzieren dies, eliminieren es aber nicht.
Die Wahl von Thermostat und Barostat verändert das Ensemble und damit die Physik. Ein Repository sollte das Ensemble – NVT, NPT, NVE – zusammen mit den Kopplungskonstanten explizit aufzeichnen.
Der ehrliche Rahmen ist, dass bitweise Reproduzierbarkeit in einer festen Hardware- und Softwarekonfiguration erreichbar ist und dass statistische Reproduzierbarkeit das realistische Ziel über verschiedene Konfigurationen hinweg ist. Ein Repository, das die Konfiguration dokumentiert, macht Ersteres erreichbar und Letzteres verifizierbar.
FAIR-Prinzipien angewendet auf Simulationsdaten
Die FAIR-Prinzipien – Findable, Accessible, Interoperable, Reusable – wurden für Forschungsdaten im Allgemeinen formuliert und lassen sich in spezifische Praktiken für Molekulardynamik-Repositorys übersetzen.
Findable (Auffindbar) bedeutet, dass der Datensatz über einen persistenten Identifikator und beschreibende Metadaten verfügt. Ein DOI von Zenodo oder einem institutionellen Repository erfüllt dies; dies ist bei einem Verzeichnis auf einem Laborserver nicht der Fall.
Accessible (Zugänglich) bedeutet, dass die Daten von einem Menschen oder einer Maschine über ein Standardprotokoll und mit einer klaren Lizenz abgerufen werden können. Die Wahl einer offenen Lizenz zum Zeitpunkt der Hinterlegung vermeidet die häufige Situation, in der Daten zwar archiviert, aber rechtlich unbrauchbar sind.
Interoperabel bedeutet, dass die Formate standardisiert und dokumentiert sind. Die Verwendung von XTC, DCD oder NetCDF anstelle eines benutzerdefinierten Binärformats und die Dokumentation der Einheiten machen die Trajektorien auch Jahre später für Standardtools lesbar.
Wiederverwendbar bedeutet, dass ausreichend Kontext vorhanden ist, um die Daten für einen neuen Zweck wiederzuverwenden. Hierzu sind die oben beschriebenen Metadaten erforderlich: Engine-Version, Kraftfeldversion, Ensemble, Temperatur und jede angewandte Verarbeitung.
Der FAIR-Rahmen ist nützlich, da er die Aufmerksamkeit von „Habe ich die Dateien gespeichert“ auf „Kann jemand anderes diese Dateien verwenden“ verlagert. Das sind unterschiedliche Fragen, und nur die zweite ist für die langfristige Datensicherung von Bedeutung.
Praktischer Aufbau: Ein minimales Arbeitsbeispiel
Ein minimaler reproduzierbarer Aufbau für einen Molekulardynamik-Repository-Workflow im GROMACS-Stil, der an andere Engines angepasst werden kann, sieht in der Praxis so aus.
Initialisieren Sie das Repository und konfigurieren Sie die Handhabung großer Dateien:
git init md-project
cd md-project
git lfs install
git lfs track "*.xtc" "*.trr" "*.tpr"
git add .gitattributes
Erstellen Sie die Umgebungsspezifikation und committen Sie diese zusammen mit den Inputs:
conda env export --no-builds > environment.yml
git add environment.yml systems/ simulations/ analysis/
git commit -m "Initial reproducible setup"
Labeln Sie die Versionen, damit ein DOI erstellt werden kann, und archivieren Sie den eingefrorenen Datensatz separat vom Arbeitsrepository. Der Tag markiert den exakten Zustand des Codes; das Archiv enthält den exakten Zustand der Daten.
Der obige Workflow ist bewusst minimal gehalten. Es geht nicht um die Ausgereiftheit der Tools, sondern um die Disziplin, die Elemente zu committen, die das Ergebnis bestimmen, und die Elemente zu archivieren, die zu groß für eine Versionierung sind.
Quellen & Weiterführende Literatur
- Molecular dynamics — Wikipedia: Molekulardynamik (MD) ist eine Computersimulationsmethode zur Analyse der physikalischen Bewegungen von Atomen und Molekülen. Die Atome und Moleküle dürfen interagieren…
Häufig gestellte Fragen
Was ist ein Molekulardynamik-Repository?
Ein Molekulardynamik-Repository ist ein versionierter Speicher für die Dateien, die eine Simulation definieren und reproduzieren: Engine-Inputs, Topologie- und Koordinatendateien, Kraftfeldparameter, Run-Skripte und Analysecode. Der Begriff bezieht sich auch auf die Upstream-Quell-Repositories von Engines wie GROMACS und LAMMPS sowie auf Datenarchive, die Trajektorien speichern. Die Unterscheidung dieser drei Verwendungszwecke verhindert die meisten Fehler beim Repository-Design.
Soll ich MD-Trajektorien in Git speichern?
Trajektorien sollten im Allgemeinen nicht in den einfachen Git-Verlauf aufgenommen werden, da Git jede Version dauerhaft speichert und große Binärdateien das Repository unwiderruflich aufblähen. Git LFS funktioniert für mittelgroße Dateien, die sich selten ändern, und DVC funktioniert besser für große Datenmengen, die häufig neu generiert werden. Die veröffentlichte, eingefrorene Version einer Trajektorie gehört in ein DOI-vergebendes Datenrepository wie Zenodo.
Wie mache ich eine Molekulardynamiksimulation reproduzierbar?
Reproduzierbarkeit erfordert die Fixierung der Engine-Version, der Kraftfeldversion, des Random Seeds, der exakten Input-Dateien sowie der Hardware- oder Container-Konfiguration. Die Validierung von Kraftfeld-Parameterdateien im Repository entfernt die häufigste Quelle stiller Divergenz. Bitweise Reproduzierbarkeit ist in einer festen Konfiguration realistisch; bei unterschiedlicher Anzahl von Kernen oder Hardware streben Sie nach statistischer Reproduzierbarkeit und dokumentieren Sie den Unterschied.
Welches Trajektorienformat sollte ich verwenden?
XTC ist ein guter Standard für GROMACS-Workflows, da es gut mit konfigurierbarer Präzision komprimiert. DCD ist weit verbreitet lesbar und unkomprimiert, was für die Interoperabilität geeignet ist. TRR bewahrt die volle Präzision und ist nützlich, wenn Geschwindigkeiten oder Kräfte groß sind. NetCDF-basierte Formate sind selbstbeschreibend und enthalten Einheiten-Metadaten, was die langfristige Wiederverwendung erleichtert.
Benötige ich einen DOI für meine Simulationsdaten?
Ein DOI ist notwendig, wenn der Datensatz unabhängig von der Publikation zitierfähig sein soll, was von Zeitschriften und Geldgebern zunehmend erwartet wird. Zenodo und Figshare vergeben beide DOIs und integrieren sich in GitHub-Releases, sodass das Taggen eines Releases automatisch eine zitierfähige Kennung erzeugen kann. Für interne, unveröffentlichte Arbeiten ist ein DOI optional, aber die gleiche Archivierungsdisziplin zahlt sich dennoch aus.
Wie sollen Kraftfeldversionen aufgezeichnet werden?
Kraftfeld-Parameterdateien müssen im Repository in einem Parameterverzeichnis gespeichert und validiert werden, da es sich um kleine Textdateien handelt und ihr exakter Inhalt das Ergebnis bestimmt. Der Kraftfeldname und die Revision müssen außerdem in der README und in einer maschinenlesbaren Metadatendatei aufgezeichnet werden. Jegliche lokalen Änderungen an Parametern oder zugehörigen Einstellungen sollten validiert werden, anstatt sie in einem Home-Verzeichnis zu belassen.
Häufig gestellte Fragen
Was ist ein Molekulardynamik-Repository?
Ein Molekulardynamik-Repository ist ein versionierter Speicher für die Dateien, die eine Simulation definieren und reproduzieren: Motoreingaben, Topologie- und Koordinatendateien, Kraftfeldparameter, Laufskripte und Analysecode. Der Begriff bezieht sich auch auf die Upstream-Quellrepositorys von Engines wie GROMACS und LAMMPS sowie auf Datenarchive, die Trajektorien speichern. Die Unterscheidung dieser drei Verwendungszwecke verhindert die meisten Fehler beim Repository-Design.
Soll ich MD-Trajektorien in Git speichern?
Trajektorien sollten im Allgemeinen nicht in den einfachen Git-Verlauf aufgenommen werden, da Git jede Version dauerhaft speichert und große Binärdateien das Repository unwiderruflich aufblähen. Git LFS eignet sich für mittelgroße Dateien, die sich selten ändern, und DVC eignet sich besser für große Datenmengen, die häufig neu generiert werden. Die veröffentlichte, eingefrorene Version einer Flugbahn gehört in ein DOI-vergebendes Datenrepository wie Zenodo.
Wie mache ich eine Molekulardynamiksimulation reproduzierbar?
Zur Reproduzierbarkeit müssen die Engine-Version, die Force-Field-Version, der Zufallsstartwert, die genauen Eingabedateien und die Hardware- oder Containerkonfiguration festgelegt werden. Durch die Validierung von Kraftfeldparameterdateien im Repository wird die häufigste Quelle stiller Divergenz entfernt. Die bitweise Reproduzierbarkeit ist in einer festen Konfiguration realistisch; auf unterschiedlicher Anzahl von Kernen oder Hardware, streben Sie nach statistischer Reproduzierbarkeit und dokumentieren Sie den Unterschied.
Welches Trajektorienformat sollte ich verwenden?
XTC ist ein guter Standard für GROMACS-Workflows, da es gut mit konfigurierbarer Präzision komprimiert. DCD ist weitgehend lesbar und unkomprimiert, was für die Interoperabilität geeignet ist. TRR bewahrt die volle Präzision und ist nützlich, wenn Geschwindigkeiten oder Kräfte groß sind. NetCDF-basierte Formate sind selbstbeschreibend und enthalten Unit-Metadaten, was eine langfristige Wiederverwendung erleichtert.
Benötige ich einen DOI für meine Simulationsdaten?
Ein DOI ist erforderlich, wenn der Datensatz unabhängig von der Arbeit zitierfähig sein soll, was von Zeitschriften und Geldgebern zunehmend erwartet wird. Zenodo und Figshare erstellen beide DOIs und integrieren sich in GitHub-Releases, sodass durch das Markieren einer Veröffentlichung automatisch eine zitierfähige Kennung erstellt werden kann. Für interne, unveröffentlichte Arbeiten ist ein DOI optional, aber die gleiche Archivierungsdisziplin zahlt sich trotzdem aus.
Wie sollten Kraftfeldversionen aufgezeichnet werden?
Kraftfeld-Parameterdateien müssen im Repository unter einem Parameterverzeichnis verkauft und validiert werden, da es sich um kleine Textdateien handelt und ihr genauer Inhalt das Ergebnis bestimmt. Der Kraftfeldname und die Revision müssen außerdem in der README-Datei und in einer maschinenlesbaren Metadatendatei aufgezeichnet werden. Alle lokalen Änderungen an Gebühren oder zugehörigen Einstellungen sollten validiert und nicht in einem Home-Verzeichnis gespeichert werden.
Erstellen Sie Projekt für Projekt ein Datenportfolio
Projektbasierte Data-Science-Pfade mit geführtem Terminal und realen Datensätzen