force-h2020 / force-bdss-plugin-gromacs

Gromacs BDSS data sources, as well as a stand-alone wrappers around Gromacs tools.
MIT License
0 stars 0 forks source link

CLN: Refactor Generic Simulation classes to create public API #27

Closed flongford closed 4 years ago

flongford commented 4 years ago

This PR approaches #26

It introduces new classes that lay the foundation for how chemical and simulation concepts are handled within the BDSS.

Includes contributions from #14 , #28

Change log:

Modules

New:

Updated:

Classes

New:

Renamed:

codecov-io commented 4 years ago

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@e1fccf1). Click here to learn what that means. The diff coverage is 98.22%.

Impacted file tree graph

@@           Coverage Diff            @@
##             master     #27   +/-   ##
========================================
  Coverage          ?   98.7%           
========================================
  Files             ?      65           
  Lines             ?    2170           
  Branches          ?     138           
========================================
  Hits              ?    2142           
  Misses            ?      16           
  Partials          ?      12
Impacted Files Coverage Δ
...tion_listeners/hpc_writer/tests/test_hpc_writer.py 100% <ø> (ø)
force_gromacs/chemicals/i_fragment.py 100% <ø> (ø)
force_gromacs/core/i_process.py 100% <100%> (ø)
...romacs/commands/tests/test_base_gromacs_command.py 100% <100%> (ø)
...ders/tests/test_base_gromacs_simulation_builder.py 100% <100%> (ø)
...macs/data_sources/fragment/fragment_data_source.py 100% <100%> (ø)
force_gromacs/commands/gromacs_commands.py 100% <100%> (ø)
...es/simulation/tests/test_simulation_data_source.py 100% <100%> (ø)
...omacs/simulation_builders/gromacs_topology_data.py 100% <100%> (ø)
force_gromacs/io/tests/test_file_tree_builder.py 100% <100%> (ø)
... and 31 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update e1fccf1...357c3e7. Read the comment docs.

flongford commented 4 years ago

Out of curiosity, what is the difference between a GromacsPipeline and a BDSS workflow in evaluation mode?

They are similar, in that they chain together command line calls using subprocess. There's a lot of overlap between the BaseGromacsCommand and SubprocessWorkflow classes actually - we could probably end up refactoring the BaseProcess class if it is useful elsewhere.

The GromacsPipeline just has some extra functionalities ability to stack together multiple command line calls, and also output a bash script capable of performing the same operations.