Skip to content

Commit

Permalink
Merge branch 'master' into DNA-exten/itp
Browse files Browse the repository at this point in the history
  • Loading branch information
fgrunewald committed May 17, 2023
2 parents cecc940 + 216339d commit 612f325
Show file tree
Hide file tree
Showing 88 changed files with 4,969 additions and 1,962 deletions.
2 changes: 2 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,6 @@ coverage:
patch:
default:
target: 90
ignore:
- polyply/tests
comment: off
23 changes: 23 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
## Contributing to polyply

Thanks for contributing to polyply!

Everyone is welcome to contribute to the polyply package as described below.

#### Reporting issues

If you've found something going wrong with polyply let us know by opening an [issue](https://github.com/marrink-lab/polyply_1.0/issues). This way we can fix it as fast as possible.

If your issue isn't a problem with the code and instead you would like some help using polyply for your project, let us know on the [discussion forum](https://github.com/marrink-lab/polyply_1.0/discussions).

As a rule of thumb, give a quick look to the [FAQs]( https://github.com/marrink-lab/polyply_1.0/wiki/FAQs) and [discussion forum]( https://github.com/marrink-lab/polyply_1.0/discussions),
if you are in doubt as to whether you are experiencing an actual bug or if the usage of polyply is unclear. In any case we’d love to know, so we can improve the situation.

#### Contributing parameters

Polyply curates a library of polymer parameters for different force-fields, especially the Martini force-field. We are happy to accept submissions of polymer parameters to the polyply library. To submit parameters simply open an [issue](https://github.com/marrink-lab/polyply_1.0/issues). More details on submitting parameters can be found
[here](https://github.com/marrink-lab/polyply_1.0/wiki/Submit-polymer-parameters).

#### Contributing code

To contribute code simply open a pull request. The dev-tream will try its best to assist with tips, tricks, and guidance to make a PR as successful as possible. If you are in doubt as to whether your code addition/project would be accepted simply open an issue and let us help you.
25 changes: 25 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
name: Bug report
about: Create a report to help us improve polyply
title: ''
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is and mention the polyply version.
To find the version run `polyply --version`

**Command line arguments**
Provide all polyply calls and arguments needed to reproduce the issue:
```
polyply gen_seq ...
polyply gen_itp ...
```

**Expected behavior**
A clear and concise description of what you expected to happen.

**Additional Files**
If applicable, add all files needed in the reproduction.
22 changes: 22 additions & 0 deletions .github/ISSUE_TEMPLATE/parameter-submission.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: Parameter Submission
about: Submit parameters to polyply library.
title: "[PARAMETERS]"
labels: parameter submission
assignees: ''

---

**Parameter Description**
A brief description of the parameters you want to add to the library providing the following information:
- residue/monomer name
- citation if available
- force-field
- simulation program (currently only GROMACS is supported)
- are the termini different?

** Additional Files & Resources**
If you want us to implement the parameters please provide the following files. However, we encourage users to try implementing files themselves by opening a PR.

- reference itp file
- link to force-field definition if it is a new force-field not part of the library
16 changes: 10 additions & 6 deletions .github/workflows/pypi_deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:

strategy:
matrix:
py_version: ["3.6", "3.7", "3.8", "3.9"]
py_version: ["3.7", "3.8", "3.9", "3.10", "3.11"]

steps:
- uses: actions/checkout@v2
Expand All @@ -28,11 +28,15 @@ jobs:
pip install -r requirements-tests.txt
- name: Run pytest with codecoverage
run: |
coverage run --source=polyply $(which pytest) -vv polyply
coverage report --omit='*/bin/pytest'
codecov
run: pytest --cov polyply --cov-report=xml
- name: Upload coverage codecov
uses: codecov/codecov-action@v3
with:
verbose: true
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage.xml
fail_ci_if_error: true
verbose: true

deploy:
needs: test
Expand Down
20 changes: 12 additions & 8 deletions .github/workflows/python-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ name: test package

on:
push:
branches: [ master ]
branches: [ master, develop ]
pull_request:
branches: [ master ]
branches: [ master, develop ]

jobs:
build:
Expand All @@ -16,7 +16,7 @@ jobs:

strategy:
matrix:
py_version: ["3.6", "3.7", "3.8", "3.9"]
py_version: ["3.7", "3.8", "3.9", "3.10", "3.11"]

steps:
- uses: actions/checkout@v2
Expand All @@ -31,11 +31,15 @@ jobs:
pip install -r requirements-tests.txt
- name: Run pytest with codecoverage
run: |
coverage run --source=polyply $(which pytest) -vv polyply
coverage report --omit='*/bin/pytest'
codecov
run: pytest --cov polyply --cov-report=xml
- name: Upload coverage codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./coverage.xml
fail_ci_if_error: true
verbose: true

lint:
runs-on: ubuntu-latest

Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ est.pdb
**.pyc
**.bak

*.idea

**.lprof
polyply.egg-info

Expand Down
28 changes: 28 additions & 0 deletions LIBRARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@

| Polymer name | Abbreviation | All-atom model(s) | Coarse-grained model(s) |
|-------------------------------|-------------------------|-----------------------------------------------------------------------|------------------------------------------------------|
|Polyethylene oxide |PEO |[gromos2016H66](polyply/data/2016H66/polyether_blocks.ff) |[martini2](polyply/data/martini2/PEO.martini.2.itp) |
| | |[oplsaaLigParGen](polyply/data/oplsaaLigParGen/PEO.oplsaa.LigParGen.ff)|[martini3](polyply/data/martini3/PEO.martini3.ff) |
|Polystyrene |PS |[gromos2016H66](polyply/data/2016H66/polyvinyl_blocks.ff) |[martini2](polyply/data/martini2/PS.martini.2.itp) |
| | | |[martini3](polyply/data/martini3/PS.martini3.ff) |
|Polystyrene-b-poly(ethylene oxide)|PS-PEO | |[martini3](polyply/data/martini3/PS_PEO_link.ff) |
|Polymethyl acrylate |PMA |[gromos2016H66](polyply/data/2016H66/polyvinyl_blocks.ff) |[martini3](polyply/data/martini3/PMA.martini3.ff) |
|Polymethyl methacrylate |PMMA |[gromos2016H66](polyply/data/2016H66/polyvinyl_blocks.ff) |[martini3](polyply/data/martini3/PMMA.martini3.ff) |
|Polyethylene |PE |[gromos2016H66](polyply/data/2016H66/polyvinyl_blocks.ff) |[martini3](polyply/data/martini3/PE.martini3.ff) |
| | | |[martini2](polyply/data/martini2/PE.martini.2.itp) |
|Polypropylene |PP |[gromos2016H66](polyply/data/2016H66/polyvinyl_blocks.ff) |[martini2](polyply/data/martini2/PP.martini.2.itp) |
|Poly(3-hexylthiophene) |P3HT |[gromos53A6](polyply/data/gromos53A6/P3HT.gromos.53A6.ff) |[martini2](polyply/data/martini2/P3HT.martini.2.itp) |
| | | |[martini3](polyply/data/martini3/P3HT.martini3.ff) |
|Polyvinyl alcohol |PVA |[gromos2016H66](polyply/data/2016H66/polyvinyl_blocks.ff) |[martini3](polyply/data/martini3/PVA.martini3.ff) |
|Poly(2-hydroxyethyl acrylate) |HEA |[gromos2016H66](polyply/data/2016H66/polyvinyl_blocks.ff) | |
|Polyacrylamide |PAM |[gromos2016H66](polyply/data/2016H66/polyvinyl_blocks.ff) | |
|Poly(methacrylamide) |PMAM |[gromos2016H66](polyply/data/2016H66/polyvinyl_blocks.ff) | |
|Poly(diallyldimethylammonium) |PDADMA | |[martini2](polyply/data/martini2/PDADMA.martini.2.itp)|
|Polystyrene sulfonate |PSS | |[martini2](polyply/data/martini2/PSS.martini.2.itp) |
| | | |[martini3](polyply/data/martini3/PSS.martini3.ff) |
|Poly(para-phenylene ethynylene)|PPE | |[martini3](polyply/data/martini3/PPE.martini3.ff) |
|Poly(TEMPO methacrylate) |PTMA | |[martini3](polyply/data/martini3/PTMA.martini3.ff) |
|Dextran |DEX | |[martini3](polyply/data/martini3/dextran.martini3.ff) |
|DNA nucleobases |Dx, Tx5, Dx3 w/ x=T,G,A,C|[parmbsc1](polyply/data/parmbsc1/dna_final.ff) |[martini2](polyply/data/martini2/DNA_M2.ff) |
|Aminoacids |3 letter code | |[martini3](polyply/data/martini3/aminoacids.ff) |
|Polydimethylsiloxane |PDMS | |[martini3](polyply/data/martini3/PDMS.martini3.ff)
11 changes: 7 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
[![Build Status](https://github.com/marrink-lab/polyply_1.0/actions/workflows/python-app.yml/badge.svg)](https://github.com/marrink-lab/polyply_1.0/actions)
[![PyPI version](https://badge.fury.io/py/polyply.svg)](https://badge.fury.io/py/polyply)
![license](https://img.shields.io/github/license/marrink-lab/polyply_1.0)
![GitHub Workflow Status](https://img.shields.io/github/workflow/status/marrink-lab/polyply_1.0/Upload%20Python%20Package)
![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/marrink-lab/polyply_1.0/pypi_deploy.yml)
[![arXiv](https://img.shields.io/badge/arXiv-2105.05890-b31b1b.svg)](https://arxiv.org/abs/2105.05890)
[![DOI:10.1038/s41467-021-27627-4](https://zenodo.org/badge/DOI/10.1038/s41467-021-27627-4.svg)](https://doi.org/10.1038/s41467-021-27627-4)

Expand All @@ -29,13 +29,16 @@ force-field, molecule parameters and this program.
## Quick references
[Installation Guide](https://github.com/marrink-lab/polyply_1.0/wiki/Installation)\
[FAQs](https://github.com/marrink-lab/polyply_1.0/wiki/FAQs)\
[Current Polyply Polymer Library](./LIBRARY.md)\
[Submissions to Martini Polymer Library](https://github.com/marrink-lab/polyply_1.0/wiki/Submit-polymer-parameters)\
[Tutorial: Martini Polymers](https://github.com/marrink-lab/polyply_1.0/wiki/Tutorial:-martini-polymer-melts)\
[Tutorial: GROMOS Polymers](https://github.com/marrink-lab/polyply_1.0/wiki/Tutorial:-GROMOS-polymer-melts)\
[Tutorial: PEGylated lipid bilayers](https://github.com/marrink-lab/polyply_1.0/wiki/Tutorial:-PEGylated-lipid-bilayers)

[Tutorial: PEGylated lipid bilayers](https://github.com/marrink-lab/polyply_1.0/wiki/Tutorial:-PEGylated-lipid-bilayers)\
[Tutorial: Single-stranded DNA](https://github.com/marrink-lab/polyply_1.0/wiki/Tutorial:-Single-stranded-circular-DNA)
## News
- (Feb 8) **Featured Research Article in Nature Communcations.** Our article on the polyply software suite is now featured on the [Editors' Highlights](https://www.nature.com/collections/hhfigaahch) for Structural biology, biochemistry and biophysics in Nature Communications. The Editors’ Highlights pages aims to showcase the 50 best papers recently published in an area. The development team is beyond happy to receive this honor.
- (Feb 8, 22') **Featured Research Article in Nature Communcations.** Our article on the polyply software suite is now featured on the [Editors' Highlights](https://www.nature.com/collections/hhfigaahch) for Structural biology, biochemistry and biophysics in Nature Communications. The Editors’ Highlights pages aims to showcase the 50 best papers recently published in an area. The development team is beyond happy to receive this honor.
- (May 23, 22') **Fighting Cancer with polyply.** Dane et al. used polyply to setup simulations of vesicles and lipid nanodiscs (LNDs) containing PEGylated lipids, which are used as nanocarriers for cancer therapeutics. They find that LNDs are more effective in delivery likely due to their higher flexibility. Check it out in [Nature Materials](https://www.nature.com/articles/s41563-022-01251-z).
- (Jan 18, 23') **Towards whole cell simulations with polyply.** In [a perspective on whole-cell simulations](https://www.frontiersin.org/articles/10.3389/fchem.2023.1106495/full) using the Martini force field, Stevens *et al.* utilize polyply to construct the full 0.5 Mio bp chromosome of the Syn3A minimal cell. This impressive task is a good example of the power of the upcoming DNA implementation into polyply and the role of polyply in the Martini Ecosystem.

## Contributions & Support
We are happy to accept submissions of polymer parameters to the polyply library. To submit parameters simply
Expand Down
Loading

0 comments on commit 612f325

Please sign in to comment.