Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

GROMACS: included topology files (force-field folders such as min.ff/) are not collected

Ouverte
#260 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
25/100
Type d'issue
Fonctionnalité
Clarté
Clairement spécifiée
Activité
Active
Stack technique
cpp
Domaine
desktop

Piste de recherche

Start with src/wxgui/mdtools/GromacsInputsPanel.C, where include files are attached one at a time and stored by file name only, and trace how the launch check reports grompp's error. The change needs recursive #include discovery relative to each including file, kept paths in the run directory, and a missing-files state that blocks launch. Done means the tests/gromacs_md case with a nested local force field passes both the launch check and the job script.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

A GROMACS topology that includes local files, here a force field in a folder next to it, cannot be run:

grompp rejected the inputs, so the job was not submitted.
  command: /usr/bin/gmx grompp -f gromacs.mdp -c conf.gro -r conf.gro -p topol.top ...
Fatal error:
Topology include file "min.ff/forcefield.itp" not found

The topology (a MINFF clay system):

#include "min.ff/forcefield.itp"
#include "Cu2_MMT1.itp"
#include "Cu2_MMT2.itp"
#include "Cu2_MMT3.itp"
#include "min.ff/ions.itp"
#include "min.ff/opc3.itp"

min.ff/ holds about 15 more files, which forcefield.itp includes in turn.

Cause: the GROMACS Inputs panel (src/wxgui/mdtools/GromacsInputsPanel.C) takes only what is attached by hand.

  • Include files are attached one at a time ("Attach an include file").
  • They are stored as auxiliary inputs by file name only, so a relative path such as min.ff/ is lost.
  • Nothing reads the topology's #include lines, and the launch check only reports grompp's error.

Proposed fix

  • On attaching a topology, follow its #include directives recursively, relative to each including file. Honour #ifdef only as far as is needed to find the files: collect every include in either branch.
  • Attach every file that exists, keeping its path relative to the topology (min.ff/forcefield.itp), and recreate those subfolders in the run directory.
  • Skip includes that GROMACS resolves itself: its own force fields under share/gromacs/top or GMXLIB, e.g. amber99sb-ildn.ff/forcefield.itp.
  • Show what was found: list the attached includes in the panel (count and tree), and the ones not found as "missing".
  • Not ready to run until nothing is missing, naming the missing files, so the launch check is not the first place this shows up.
  • Attach folder… as an alternative to attaching files one by one.

Test: a small topology with a local x.ff/forcefield.itp folder and a nested include, run through the launch check and the job script, like the restrained case in tests/gromacs_md (#253).

Workaround until then: use a preprocessed topology (gmx grompp ... -pp processed.top), which has every include expanded; it works since #253.

Langage dominant
C
Étoiles
10
Forks
8
Merge moyen
21 min
PR mergées (30 j)
1

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de FriendsofECCE/ECCE

Toutes les issues de FriendsofECCE/ECCE

Issues similaires

Plus d'issues C

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.