Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン
#260 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
25/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
cpp
領域
desktop

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
C
スター
10
フォーク
8
平均マージ
21分
マージ済み PR(30日)
1

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

FriendsofECCE/ECCE のほかの issue

FriendsofECCE/ECCE の issue をすべて見る

似ている issue

C の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。