diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 83cc0621..560f9b2f 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -26,20 +26,24 @@ jobs: - name: Build coverage file run: | - mkdir coverage - pytest --cov=pyKVFinder --cov-report=term-missing | tee coverage/coverage.txt + pytest --cov=pyKVFinder --cov-report=term-missing | tee coverage.txt - name: Pytest coverage comment uses: MishaKav/pytest-coverage-comment@main with: - pytest-coverage-path: coverage/coverage.txt + pytest-coverage-path: coverage.txt default-branch: master remove-link-from-badge: true - name: Coverage Bagdge uses: tj-actions/coverage-badge-py@v2 with: - output: coverage/coverage.svg + output: coverage.svg + + - name: Move report to coverage directory + run: | + mkdir coverage + mv coverage.txt coverage.svg coverage/ - name: Publish coverage report to coverage branch uses: JamesIves/github-pages-deploy-action@v4 diff --git a/.github/workflows/pylint.yml b/.github/workflows/pylint.yml new file mode 100644 index 00000000..103dd802 --- /dev/null +++ b/.github/workflows/pylint.yml @@ -0,0 +1,33 @@ +name: Pylint + +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.9", "3.10", "3.11", "3.12"] + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install pylint + + - name: Analysing the code with pylint + run: | + pylint $(git ls-files 'pyKVFinder/*.py') --output=pylint.txt || true + + - name: Upload pylint report + uses: actions/upload-artifact@v3 + with: + name: artifacts + path: ./pylint.txt diff --git a/LICENSE.txt b/LICENSE similarity index 100% rename from LICENSE.txt rename to LICENSE diff --git a/MANIFEST.in b/MANIFEST.in index c24b4da7..a7c7d17c 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -10,10 +10,10 @@ include pyKVFinder/data/tests/*.pdb include pyKVFinder/data/tests/*.xyz # Include the license file -include LICENSE.txt +include LICENSE # Include README -include README.rst +include README.md # Include Python requirements include requirements.txt diff --git a/README.md b/README.md new file mode 100644 index 00000000..b9ca6ed2 --- /dev/null +++ b/README.md @@ -0,0 +1,53 @@ +# pyKVFinder + +[![PyPI - Version](https://img.shields.io/pypi/v/pyKVFinder)](https://pypi.org/project/pyKVFinder/) +[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pyKVFinder)](https://pypi.org/project/pyKVFinder/) +[![PyPI - Downloads](https://img.shields.io/pypi/dm/pyKVFinder)](https://pypi.org/project/pyKVFinder/) +[![Unit testing](https://img.shields.io/github/actions/workflow/status/LBC-LNBio/pyKVFinder/unit-testing.yml?label=unit-testing)](https://github.com/LBC-LNBio/pyKVFinder/actions/workflows/unit-testing.yml) +[![Integration testing](https://img.shields.io/github/actions/workflow/status/LBC-LNBio/pyKVFinder/integration-testing.yml?label=integration-testing)](https://github.com/LBC-LNBio/pyKVFinder/actions/workflows/integration-testing.yml) +[![Build](https://img.shields.io/github/actions/workflow/status/LBC-LNBio/pyKVFinder/deploy.yml?label=build)](https://github.com/LBC-LNBio/pyKVFinder/actions/workflows/deploy.yml) +[![Coverage](https://raw.githubusercontent.com/LBC-LNBio/pyKVFinder/coverage/coverage.svg)](https://github.com/LBC-LNBio/pyKVFinder/blob/coverage/coverage.txt) + +A Python package for detecting and characterizing biomolecular cavities. + +See also: + +- [GitHub repository](https://github.com/LBC-LNBio/pyKVFinder/) +- [Documentation and tutorial](https://lbc-lnbio.github.io/pyKVFinder/) + +## Installation + +To install the latest release on +[PyPI](https://pypi.org/project/pyKVFinder), run: + + pip install pyKVFinder + +Or to install the latest developmental version, run: + + git clone https://github.com/LBC-LNBio/pyKVFinder.git + pip install pyKVFinder + +## Citation + +If you use *pyKVFinder* package, please cite: + +Guerra, J. V. S., Ribeiro-Filho, H. V., Jara, G. E., Bortot, L. O., +Pereira, J. G. C., & Lopes-de-Oliveira, P. S. (2021). pyKVFinder: an +efficient and integrable Python package for biomolecular cavity +detection and characterization in data science. BMC bioinformatics, +22(1), 607. . + +If you use *pyKVFinder.Molecule*, please also cite: + +Guerra, J. V. S., Alves, L. F. G., Bourissou, D., Lopes-de-Oliveira, P. +S., & Szalóki, G. (2023). Cavity Characterization in Supramolecular +Cages. Journal of chemical information and modeling, 63(12), 3772-3785. +. + +## License + +The software is licensed under the terms of the GNU General Public +License version 3 (GPL3) and is distributed in the hope that it will be +useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +Public License for more details. diff --git a/README.rst b/README.rst deleted file mode 100644 index cd798528..00000000 --- a/README.rst +++ /dev/null @@ -1,68 +0,0 @@ -########## -pyKVFinder -########## - -.. image:: https://img.shields.io/pypi/v/pyKVFinder - :target: https://pypi.org/project/pyKVFinder/ - -.. image:: https://img.shields.io/pypi/pyversions/pyKVFinder - :target: https://pypi.org/project/pyKVFinder/ - -.. image:: https://img.shields.io/pypi/dm/pyKVFinder - :target: https://pypi.org/project/pyKVFinder/ - -.. image:: https://img.shields.io/github/actions/workflow/status/LBC-LNBio/pyKVFinder/unit-testing.yml?label=unit-testing - :target: https://github.com/LBC-LNBio/pyKVFinder/actions/workflows/unit-testing.yml - -.. image:: https://img.shields.io/github/actions/workflow/status/LBC-LNBio/pyKVFinder/integration-testing.yml?label=integration-testing - :target: https://github.com/LBC-LNBio/pyKVFinder/actions/workflows/integration-testing.yml - -.. image:: https://img.shields.io/github/actions/workflow/status/LBC-LNBio/pyKVFinder/deploy.yml?label=build - :target: https://github.com/LBC-LNBio/pyKVFinder/actions/workflows/deploy.yml - -.. image:: https://raw.githubusercontent.com/LBC-LNBio/pyKVFinder/coverage/coverage.svg - - -A Python package for detecting and characterizing biomolecular cavities. - -See also: - -* `GitHub repository `_ -* `Documentation and tutorial `_ - -************ -Installation -************ - -To install the latest release on `PyPI `_, -run: - -:: - - pip install pyKVFinder - -Or to install the latest developmental version, run: - -:: - - git clone https://github.com/LBC-LNBio/pyKVFinder.git - pip install pyKVFinder - -******** -Citation -******** - -If you use pyKVFinder package, please cite: - -Guerra, J. V. S., Ribeiro-Filho, H. V., Jara, G. E., Bortot, L. O., Pereira, J. G. C., & Lopes-de-Oliveira, P. S. (2021). pyKVFinder: an efficient and integrable Python package for biomolecular cavity detection and characterization in data science. BMC bioinformatics, 22(1), 607. https://doi.org/10.1186/s12859-021-04519-4. - -If you use *pyKVFinder.Molecule*, please also cite: - -Guerra, J. V. S., Alves, L. F. G., Bourissou, D., Lopes-de-Oliveira, P. S., & Szalóki, G. (2023). Cavity Characterization in Supramolecular Cages. Journal of chemical information and modeling, 63(12), 3772-3785. https://doi.org/10.1021/acs.jcim.3c00328. - - -******* -License -******* - -The software is licensed under the terms of the GNU General Public License version 3 (GPL3) and is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. diff --git a/pyproject.toml b/pyproject.toml index 92294c6c..99e13fbd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,19 +11,18 @@ build-backend = "setuptools.build_meta" name = "pyKVFinder" description = "Python package to detect and characterize cavities in biomolecular structures" authors = [ - { name = "João Victor da Silva Guerra", email = "jvsguerra@gmail.com" }, - { name = "Helder Veras Ribeiro Filho" }, - { name = "Luiz Fernando Giolo Alves" }, - { name = "Gabriel Ernesto Jara" }, - { name = "Leandro Oliveira Bortot" }, - { name = "José Geraldo de Carvalho Pereira" }, - { name = "Paulo Sergio Lopes-de-Oliveira" }, + { name = "João V. S. Guerra", email = "jvsguerra@gmail.com" }, + { name = "Helder V. Ribeiro-Filho" }, + { name = "Luiz F. G. Alves" }, + { name = "Pablo W. A. Silva" }, + { name = "Gabriel E. Jara" }, + { name = "Leandro O. Bortot" }, + { name = "José G. C. Pereira" }, + { name = "Paulo S. Lopes-de-Oliveira" }, ] -maintainers = [ - { name = "João Victor da Silva Guerra", email = "jvsguerra@gmail.com" }, -] -license = { file = "LICENSE.txt" } -readme = { file = "README.rst", content-type = "text/x-rst" } +maintainers = [{ name = "João V. S. Guerra", email = "jvsguerra@gmail.com" }] +license = { file = "LICENSE" } +readme = { file = "README.md", content-type = "text/markdown" } requires-python = ">=3.9" keywords = [ "structural biology", @@ -31,6 +30,7 @@ keywords = [ "biomolecules", "cavity detection", "cavity characterization", + "binding sites", ] classifiers = [ "Development Status :: 4 - Beta",