diff --git a/.github/workflows/testsuite.yml b/.github/workflows/testsuite.yml index b1e5669..bb2ea61 100644 --- a/.github/workflows/testsuite.yml +++ b/.github/workflows/testsuite.yml @@ -13,13 +13,16 @@ jobs: env: FI_PROVIDER: "^psm3,psm3;ofi_rxd" OMPI_MCA_mtl_ofi_provider_exclude: psm3 + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} steps: + - name: Checkout repository + uses: actions/checkout@main + - name: Validate CITATION.cff + uses: dieghernan/cff-validator@v3 - name: Setup EESSI uses: eessi/github-action-eessi@v3 with: eessi_stack_version: "2023.06" - - name: Checkout repository - uses: actions/checkout@main - name: Install dependencies uses: ./.github/actions/dependencies with: diff --git a/AUTHORS.md b/AUTHORS.md index 5ed41fc..fdfb351 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -9,11 +9,11 @@ The following people have contributed to pyMBE: ## Core developers - David Beyer (University of Stuttgart, Germany) - Sebastian P. Pineda (Charles University, Czech Republic) -- Paola B. Torres (Universidad Tecnologica Nacional, Argentina) +- Paola B. Torres (Universidad Tecnológica Nacional, Argentina) ## Contributors - Marius Aarsten (Norwegian University of Science and Tecnology, Norway) -- Claudio F. Narambuena (Universidad Tecnologica Nacional, Argentina) +- Claudio F. Narambuena (Universidad Tecnológica Nacional, Argentina) ## Early testers of the library - Corinna Dannert (Norwegian University of Science and Technology, Norway) diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..b14415d --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,12 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [0.8.0] - 2024-06-17 + +### Added + +* Initial release of pyMBE. diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 0000000..c6a9bf8 --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,93 @@ +cff-version: 1.2.0 +message: "If you use this software, please cite it using the metadata from this file." +title: pyMBE +type: software +version: 0.8.0 +authors: + - given-names: David + family-names: Beyer + affiliation: Institute for Computational Physics, University of Stuttgart, Stuttgart, Germany + orcid: "https://orcid.org/0000-0001-6066-8043" + - given-names: Paola B. + family-names: Torres + affiliation: Grupo de Bionanotecnologia y Sistemas Complejos. Infap-CONICET & Facultad Regional San Rafael, Universidad Tecnológica Nacional, San Rafael, Argentina + orcid: "https://orcid.org/0000-0001-9335-8367" + - given-names: Sebastian P. + family-names: Pineda + affiliation: Department of Physical and Macromolecular Chemistry, Charles University, Prague, Czech Republic + orcid: "https://orcid.org/0000-0001-8270-2476" + - given-names: Claudio F. + family-names: Narambuena + affiliation: Grupo de Bionanotecnologia y Sistemas Complejos. Infap-CONICET & Facultad Regional San Rafael, Universidad Tecnológica Nacional, San Rafael, Argentina + orcid: "https://orcid.org/0000-0003-3862-6642" + - given-names: Jean-Noël + family-names: Grad + affiliation: Institute for Computational Physics, University of Stuttgart, Stuttgart, Germany + orcid: "https://orcid.org/0000-0002-5821-4912" + - given-names: Peter + family-names: Košovan + affiliation: Department of Physical and Macromolecular Chemistry, Charles University, Prague, Czech Republic + orcid: "https://orcid.org/0000-0002-6708-3344" + - given-names: Pablo M. + family-names: Blanco + affiliation: Department of Physics, NTNU - Norwegian University of Science and Technology, Trondheim, Norway + orcid: "https://orcid.org/0000-0002-7603-8617" +identifiers: + - type: doi + value: 10.48550/arXiv.2401.14954 + description: The arXiv preprint +repository-code: "https://github.com/pyMBE-dev/pyMBE" +keywords: + - molecule builder + - coarse-grained molecular modelling + - constant pH simulation + - Reaction ensemble Monte Carlo + - charge regulation + - pKa + - protein + - peptide +license: GPL-3.0-or-later +preferred-citation: + authors: + - given-names: David + family-names: Beyer + - given-names: Paola B. + family-names: Torres + - given-names: Sebastian P. + family-names: Pineda + - given-names: Claudio F. + family-names: Narambuena + - given-names: Jean-Noël + family-names: Grad + - given-names: Peter + family-names: Košovan + - given-names: Pablo M. + family-names: Blanco + doi: 10.48550/arXiv.2401.14954 + status: preprint + type: article + journal: "arXiv preprint arXiv:2401.14954" + title: "pyMBE: the Python-based Molecule Builder for ESPResSo" + year: 2024 +references: + - authors: + - given-names: David + family-names: Beyer + - given-names: Paola B. + family-names: Torres + - given-names: Sebastian P. + family-names: Pineda + - given-names: Claudio F. + family-names: Narambuena + - given-names: Jean-Noël + family-names: Grad + - given-names: Peter + family-names: Košovan + - given-names: Pablo M. + family-names: Blanco + doi: 10.48550/arXiv.2401.14954 + status: preprint + type: article + journal: "arXiv preprint arXiv:2401.14954" + title: "pyMBE: the Python-based Molecule Builder for ESPResSo" + year: 2024 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7a75235..b046298 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -5,12 +5,17 @@ If you discover any strange feature or unexpected behaviour of the library, plea Once a ticket is open in GitHub, we will work to fix the issue as soon as possible. ## New contributors -New developers are welcomed to contribute to extend the functionalities of the pyMBE library. +New developers are welcome to contribute to extend the functionalities of the pyMBE library. To contribute to the pyMBE library, first one needs to be added as a member of this GitHub repository. If you want to contribute to the development of the pyMBE library, please contact Dr. Pablo M. Blanco (pablb@ntnu.no) ## Rules to contribute to pyMBE -Any new version of the code must reproduce all the data stored in `testsuite/data`. -The scripts provided in `testsuite/` and in `samples/Beyer2024` can be used to quickly set-up simulations with pyMBE to reproduce such data sets. -All new code will be reviewed by at least one member of the pyMBE development team before being merged into the stable version of the library to ensure that a functional version of the code is always available. +Create a fork of the repository and submit your contribution in the form of a pull request. +Give your branch a short and meaningful name, and start your work from the most recent commit on the main branch. +Any new version of the code must reproduce all the data stored in `testsuite/data`. +Before pushing your code, run `make tests` to execute the full test suite, +`make pylint` to check for code issues, and `make docs` to confirm sphinx can build the user guide. +When rapidly prototyping code, run `make unit_tests` periodically to check for regressions. +All new code will be reviewed by at least one member of the pyMBE development team before being merged into the main branch to ensure that a functional version of the code is always available. Class methods are sorted in alphabetical order. +We follow semantic versioning and keep a changelog. diff --git a/LICENSE.md b/LICENSE.txt similarity index 100% rename from LICENSE.md rename to LICENSE.txt diff --git a/README.md b/README.md index c5b0b53..2a59272 100644 --- a/README.md +++ b/README.md @@ -21,16 +21,10 @@ pyMBE provides tools to facilitate building up molecules with complex architectu - [SciPy](https://scipy.org/) - [pdoc](https://pdoc.dev/) (for building the docs) -## Branches - -A deprecated version of pyMBE compatible with ESPResSo v4.1.4 (under the historical name of pyMBE, Sugar) can be found in the branch `sugar_espresso4.1.4`. Note that further development of pyMBE will only be carried out for ESPResSo v4.2.1 and its forthcoming releases, and no further support for that branch is planned. - ## Contents -- `docs/`: folder with the API documentation of pyMBE. - `figs/`: folder with various images used in the tutorials of pyMBE. -- `libs/`: folder with various libraries. -- `logo/`: folder with the logo of pyMBE. +- `lib/`: folder with various libraries. - `maintainer/`: folder with various scripts used by the maintainers. - `parameters/`: folder with various sets of parameters from previous works. - `samples/`: folder with various sample scripts showcasing how to use pyMBE to setup different systems. @@ -38,8 +32,8 @@ A deprecated version of pyMBE compatible with ESPResSo v4.1.4 (under the histori - `tutorials/`: folder with the available tutorials on pyMBE. - `visualization/`: folder with helper scripts to aid the visualization of vtf trajectories from constant pH and Grand reaction simulations with [VMD](https://www.ks.uiuc.edu/Research/vmd/). - `AUTHORS.md`: list of authors and contributors of pyMBE. -- `CONTRIBUTING`: rules on how to contribute to pyMBE. -- `LICENSE.md`: license of pyMBE. +- `CONTRIBUTING.md`: rules on how to contribute to pyMBE. +- `LICENSE.txt`: license of pyMBE. - `pyMBE.py`: source code of pyMBE - `requirements.txt`: list of required libraries to use pyMBE. @@ -186,3 +180,15 @@ If you use pyMBE in your research, please cite our preprint: Please also make sure to properly cite the original authors if you use the resources provided in the `parameters/` folder. The relevant references are provided as comments in the corresponding files. + +## License + +Copyright (C) 2023-2024 pyMBE-dev team + +pyMBE is free software: you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, +or (at your option) any later version. + +You should have received a [copy](LICENSE.txt) of the GNU General Public License +along with this program. If not, see .