From 0383fd23477083f8a3137166a15b6e847b8fbc00 Mon Sep 17 00:00:00 2001 From: Anna Green Date: Fri, 16 Oct 2020 17:38:32 -0400 Subject: [PATCH 01/22] Update README.md Added a couple of tweaks for compliance with publication standards for EVcomplex2 manuscript, plus added citation to bioRxiv version so it's clear that the functionality is integrated. --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a2218357..3bb74030 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ and to update to the latest version after previously installing EVcouplings from pip install -U --no-deps git+https://github.com/debbiemarkslab/EVcouplings.git +Installation will take seconds. ### External software tools @@ -140,12 +141,14 @@ Hopf, T. A., Schärfe, C. P. I., Rodrigues, J. P. G. L. M., Green, A. G., Kohlba Hopf, T. A., Ingraham, J. B., Poelwijk, F.J., Schärfe, C.P.I., Springer, M., Sander, C., & Marks, D. S. (2017). Mutation effects predicted from sequence co-variation. *Nature Biotechnology* **35**, 128–135 doi:10.1038/nbt.3769 +Green, A. G. and Elhabashy, H., Brock, K. P., Maddamsetti, R., Kohlbacher, O., Marks, D. S. (2019) Proteom-scale discovery of protein interactions with residue-level resolution using sequence coevolution. BioRxiv (in review). https://doi.org/10.1101/791293 + ## Contributors EVcouplings is developed in the labs of [Debora Marks](http://marks.hms.harvard.edu) and [Chris Sander](http://sanderlab.org/) at Harvard Medical School. * [Thomas Hopf](mailto:thomas.hopf@gmail.com) (development lead) -* Anna Green +* Anna G. Green * Benjamin Schubert * Sophia Mersmann * Charlotta Schärfe From 2c3b7e9a6359238057acad76807c23689dcf37c9 Mon Sep 17 00:00:00 2001 From: joe Date: Thu, 29 Oct 2020 15:33:54 -0400 Subject: [PATCH 02/22] initial trial of porting over .travis.yml, there might be some syntax errors --- .github/workflows/build_test_push.yml | 44 +++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/build_test_push.yml diff --git a/.github/workflows/build_test_push.yml b/.github/workflows/build_test_push.yml new file mode 100644 index 00000000..0fd89f63 --- /dev/null +++ b/.github/workflows/build_test_push.yml @@ -0,0 +1,44 @@ +name: Python package + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + python-version: [3.5, 3.6] + + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install and configure conda + run: | + wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh + bash miniconda.sh -b -p $HOME/miniconda + export PATH="$HOME/miniconda/bin:$PATH" + hash -r + conda config --set always_yes yes --set changeps1 no + conda update -q conda + conda info -a + conda create -q -n test-environment python=${{ matrix.python-version }} numpy scipy numba pandas matplotlib + source activate test-environment + - name: Run setup.py + run: | + python setup.py sdist --formats=zip -k + find ./dist -iname "*.zip" -print0 | xargs -0 pip install + pip install codecov + - name: Test setup + run: | + export DISPLAY=:99.0 + sh -e /etc/init.d/xvfb start + sleep 3 + wget https://marks.hms.harvard.edu/evcouplings/models/data/evcouplings_test_cases.tar.gz + tar -xf evcouplings_test_cases.tar.gz -C $HOME/ + - name: Run tests + run: | + coverage run -m unittest discover -s test -p "Test*.py" From 7649a74ac6f89facb413f4055237abd34d624ed5 Mon Sep 17 00:00:00 2001 From: joe Date: Thu, 29 Oct 2020 15:37:41 -0400 Subject: [PATCH 03/22] can't use python 3.5 anymore for one of the dependencies; I think that error also cancelled the 3.6 run, so I didn't change anything else --- .github/workflows/build_test_push.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_test_push.yml b/.github/workflows/build_test_push.yml index 0fd89f63..11b52792 100644 --- a/.github/workflows/build_test_push.yml +++ b/.github/workflows/build_test_push.yml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: [3.5, 3.6] + python-version: [3.6] steps: - uses: actions/checkout@v2 From 1873d987e5d6aea801c08ebcbb5404e9bec58d60 Mon Sep 17 00:00:00 2001 From: joe Date: Thu, 29 Oct 2020 15:50:28 -0400 Subject: [PATCH 04/22] don't run headless tests the old travis way --- .github/workflows/build_test_push.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build_test_push.yml b/.github/workflows/build_test_push.yml index 11b52792..29c9de0a 100644 --- a/.github/workflows/build_test_push.yml +++ b/.github/workflows/build_test_push.yml @@ -32,13 +32,11 @@ jobs: python setup.py sdist --formats=zip -k find ./dist -iname "*.zip" -print0 | xargs -0 pip install pip install codecov - - name: Test setup + - name: Get tests to run run: | - export DISPLAY=:99.0 - sh -e /etc/init.d/xvfb start - sleep 3 wget https://marks.hms.harvard.edu/evcouplings/models/data/evcouplings_test_cases.tar.gz tar -xf evcouplings_test_cases.tar.gz -C $HOME/ - - name: Run tests + - name: Run tests in headless xvfb environment + uses: GabrielBB/xvfb-action@v1 run: | coverage run -m unittest discover -s test -p "Test*.py" From ddaa0fd1e5aa66037a491e3f98f169b3af5285d3 Mon Sep 17 00:00:00 2001 From: joe Date: Thu, 29 Oct 2020 15:51:14 -0400 Subject: [PATCH 05/22] yml syntax --- .github/workflows/build_test_push.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_test_push.yml b/.github/workflows/build_test_push.yml index 29c9de0a..ef2528df 100644 --- a/.github/workflows/build_test_push.yml +++ b/.github/workflows/build_test_push.yml @@ -38,5 +38,5 @@ jobs: tar -xf evcouplings_test_cases.tar.gz -C $HOME/ - name: Run tests in headless xvfb environment uses: GabrielBB/xvfb-action@v1 - run: | - coverage run -m unittest discover -s test -p "Test*.py" + with: + run: coverage run -m unittest discover -s test -p "Test*.py" From 278ecbcc003b0664a4807349fa975533ed62a9d0 Mon Sep 17 00:00:00 2001 From: joe Date: Thu, 29 Oct 2020 15:57:12 -0400 Subject: [PATCH 06/22] oh. the tests don't exist in a usable format at that address anymore. I think they live in the test/ directory now, so let's see if this works --- .github/workflows/build_test_push.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/build_test_push.yml b/.github/workflows/build_test_push.yml index ef2528df..3772a81f 100644 --- a/.github/workflows/build_test_push.yml +++ b/.github/workflows/build_test_push.yml @@ -32,10 +32,6 @@ jobs: python setup.py sdist --formats=zip -k find ./dist -iname "*.zip" -print0 | xargs -0 pip install pip install codecov - - name: Get tests to run - run: | - wget https://marks.hms.harvard.edu/evcouplings/models/data/evcouplings_test_cases.tar.gz - tar -xf evcouplings_test_cases.tar.gz -C $HOME/ - name: Run tests in headless xvfb environment uses: GabrielBB/xvfb-action@v1 with: From 8e8db205dc43ccc073571a5194c34dbea29d9968 Mon Sep 17 00:00:00 2001 From: joe Date: Fri, 30 Oct 2020 12:48:27 -0400 Subject: [PATCH 07/22] modify test files and test download url to run in github actions? --- .github/workflows/build_test_push.yml | 10 +++++++++- test/TestComplex.py | 3 ++- test/TestFold.py | 3 ++- test/TestMutation.py | 3 ++- test/TestUtilsCalculate.py | 1 + 5 files changed, 16 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build_test_push.yml b/.github/workflows/build_test_push.yml index 3772a81f..4c15a9eb 100644 --- a/.github/workflows/build_test_push.yml +++ b/.github/workflows/build_test_push.yml @@ -4,7 +4,6 @@ on: [push] jobs: build: - runs-on: ubuntu-latest strategy: matrix: @@ -32,7 +31,16 @@ jobs: python setup.py sdist --formats=zip -k find ./dist -iname "*.zip" -print0 | xargs -0 pip install pip install codecov + - name: Download test files + run: | + "wget https://marks.hms.harvard.edu/evcouplings_test_cases/data/evcouplings_test_cases.tar.gz", + "tar -xf evcouplings_test_cases.tar.gz -C $HOME/" - name: Run tests in headless xvfb environment uses: GabrielBB/xvfb-action@v1 with: run: coverage run -m unittest discover -s test -p "Test*.py" + # - name: Publish evcouplings to PyPI + # if: startsWith(github.ref, 'refs/tags') + # uses: pypa/gh-action-pypi-publish@master + # with: + # password: ${{ secrets.pypi_password }} diff --git a/test/TestComplex.py b/test/TestComplex.py index a7e5f920..873b24f7 100644 --- a/test/TestComplex.py +++ b/test/TestComplex.py @@ -18,7 +18,8 @@ from evcouplings.complex.protocol import * from evcouplings.align import Alignment -TRAVIS_PATH = "/home/travis/evcouplings_test_cases/complex_test" +TRAVIS_PATH = os.getenv('HOME') + "/evcouplings_test_cases/complex_test" +# TRAVIS_PATH = "/home/travis/evcouplings_test_cases/complex_test" # TRAVIS_PATH = "/Users/AG/Dropbox/evcouplings_dev/test_cases/for_B/complex_test" class TestComplex(TestCase): diff --git a/test/TestFold.py b/test/TestFold.py index 151843e5..1e16688b 100644 --- a/test/TestFold.py +++ b/test/TestFold.py @@ -15,7 +15,8 @@ from evcouplings.fold import haddock_dist_restraint from evcouplings.fold.protocol import complex_dock -TRAVIS_PATH = "/home/travis/evcouplings_test_cases" +TRAVIS_PATH = os.getenv('HOME') + "/evcouplings_test_cases" +# TRAVIS_PATH = "/home/travis/evcouplings_test_cases" #TRAVIS_PATH = "/Users/AG/Dropbox/evcouplings_dev/test_cases/for_B" COMPLEX_PATH = "{}/complex_test".format(TRAVIS_PATH) diff --git a/test/TestMutation.py b/test/TestMutation.py index 5ee504eb..c1418209 100644 --- a/test/TestMutation.py +++ b/test/TestMutation.py @@ -17,7 +17,8 @@ from evcouplings.mutate.protocol import * from evcouplings.couplings.model import CouplingsModel -TRAVIS_PATH = "/home/travis/evcouplings_test_cases" +TRAVIS_PATH = os.getenv('HOME') + "/evcouplings_test_cases" +# TRAVIS_PATH = "/home/travis/evcouplings_test_cases" #TRAVIS_PATH = "/Users/AG/Dropbox/evcouplings_dev/test_cases/for_B" MONOMER_PATH = "{}/monomer_test".format(TRAVIS_PATH) COMPLEX_PATH = "{}/complex_test".format(TRAVIS_PATH) diff --git a/test/TestUtilsCalculate.py b/test/TestUtilsCalculate.py index 04791811..e9b16747 100644 --- a/test/TestUtilsCalculate.py +++ b/test/TestUtilsCalculate.py @@ -4,6 +4,7 @@ from evcouplings.couplings import CouplingsModel import numpy as np +MONO_MODEL = os.getenv('HOME') + "/evcouplings_test_cases/monomer_test/couplings/RASH_HUMAN_b03.model" MONO_MODEL = "/home/travis/evcouplings_test_cases/monomer_test/couplings/RASH_HUMAN_b03.model" From e42d41e95f3376138e3c4a23e994646aefe9b7e3 Mon Sep 17 00:00:00 2001 From: joe Date: Fri, 30 Oct 2020 12:54:48 -0400 Subject: [PATCH 08/22] fix syntax --- .github/workflows/build_test_push.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_test_push.yml b/.github/workflows/build_test_push.yml index 4c15a9eb..e7df6140 100644 --- a/.github/workflows/build_test_push.yml +++ b/.github/workflows/build_test_push.yml @@ -33,8 +33,8 @@ jobs: pip install codecov - name: Download test files run: | - "wget https://marks.hms.harvard.edu/evcouplings_test_cases/data/evcouplings_test_cases.tar.gz", - "tar -xf evcouplings_test_cases.tar.gz -C $HOME/" + wget https://marks.hms.harvard.edu/evcouplings_test_cases/data/evcouplings_test_cases.tar.gz + tar -xf evcouplings_test_cases.tar.gz -C $HOME/ - name: Run tests in headless xvfb environment uses: GabrielBB/xvfb-action@v1 with: From d8dc246c5aa1279bfff1bde187edd5a2d6f41f5a Mon Sep 17 00:00:00 2001 From: joe Date: Fri, 30 Oct 2020 13:00:28 -0400 Subject: [PATCH 09/22] oops didn't comment out the travis line --- test/TestUtilsCalculate.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/TestUtilsCalculate.py b/test/TestUtilsCalculate.py index e9b16747..76aa3d76 100644 --- a/test/TestUtilsCalculate.py +++ b/test/TestUtilsCalculate.py @@ -5,7 +5,7 @@ import numpy as np MONO_MODEL = os.getenv('HOME') + "/evcouplings_test_cases/monomer_test/couplings/RASH_HUMAN_b03.model" -MONO_MODEL = "/home/travis/evcouplings_test_cases/monomer_test/couplings/RASH_HUMAN_b03.model" +# MONO_MODEL = "/home/travis/evcouplings_test_cases/monomer_test/couplings/RASH_HUMAN_b03.model" class TestUtilsHelpers(TestCase): From 7718d5fc1423385e0b642bb4c6fe882d1bd0cbc9 Mon Sep 17 00:00:00 2001 From: joe Date: Fri, 30 Oct 2020 15:27:01 -0400 Subject: [PATCH 10/22] move exclusively to github actions --- ...build_test_push.yml => build_and_test.yml} | 7 +-- .github/workflows/build_test_and_push.yml | 48 +++++++++++++++++++ 2 files changed, 49 insertions(+), 6 deletions(-) rename .github/workflows/{build_test_push.yml => build_and_test.yml} (86%) create mode 100644 .github/workflows/build_test_and_push.yml diff --git a/.github/workflows/build_test_push.yml b/.github/workflows/build_and_test.yml similarity index 86% rename from .github/workflows/build_test_push.yml rename to .github/workflows/build_and_test.yml index e7df6140..1c68db16 100644 --- a/.github/workflows/build_test_push.yml +++ b/.github/workflows/build_and_test.yml @@ -1,6 +1,6 @@ name: Python package -on: [push] +on: [push, pull_request] jobs: build: @@ -39,8 +39,3 @@ jobs: uses: GabrielBB/xvfb-action@v1 with: run: coverage run -m unittest discover -s test -p "Test*.py" - # - name: Publish evcouplings to PyPI - # if: startsWith(github.ref, 'refs/tags') - # uses: pypa/gh-action-pypi-publish@master - # with: - # password: ${{ secrets.pypi_password }} diff --git a/.github/workflows/build_test_and_push.yml b/.github/workflows/build_test_and_push.yml new file mode 100644 index 00000000..fd5a2692 --- /dev/null +++ b/.github/workflows/build_test_and_push.yml @@ -0,0 +1,48 @@ +name: Test and push release to PyPI + +on: + release: + types: [released] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: [3.6] + + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install and configure conda + run: | + wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh + bash miniconda.sh -b -p $HOME/miniconda + export PATH="$HOME/miniconda/bin:$PATH" + hash -r + conda config --set always_yes yes --set changeps1 no + conda update -q conda + conda info -a + conda create -q -n test-environment python=${{ matrix.python-version }} numpy scipy numba pandas matplotlib + source activate test-environment + - name: Run setup.py + run: | + python setup.py sdist --formats=zip -k + find ./dist -iname "*.zip" -print0 | xargs -0 pip install + pip install codecov + - name: Download test files + run: | + wget https://marks.hms.harvard.edu/evcouplings_test_cases/data/evcouplings_test_cases.tar.gz + tar -xf evcouplings_test_cases.tar.gz -C $HOME/ + - name: Run tests in headless xvfb environment + uses: GabrielBB/xvfb-action@v1 + with: + run: coverage run -m unittest discover -s test -p "Test*.py" + - name: Publish evcouplings to PyPI + if: startsWith(github.ref, 'refs/tags') + uses: pypa/gh-action-pypi-publish@master + with: + password: ${{ secrets.PYPI_PASSWORD }} From 00146b1033888c06330d92e415196843e4b1e95a Mon Sep 17 00:00:00 2001 From: joe Date: Mon, 2 Nov 2020 09:57:18 -0500 Subject: [PATCH 11/22] add a test deployment step, delete travis.yml --- .github/workflows/build_and_test.yml | 6 ++++ .github/workflows/build_test_and_push.yml | 7 ++++ .travis.yml | 41 ----------------------- 3 files changed, 13 insertions(+), 41 deletions(-) delete mode 100644 .travis.yml diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 1c68db16..6eb7e842 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -39,3 +39,9 @@ jobs: uses: GabrielBB/xvfb-action@v1 with: run: coverage run -m unittest discover -s test -p "Test*.py" + - name: Publish evcouplings to Test PyPI + uses: pypa/gh-action-pypi-publish@master + with: + user: ${{ secrets.PYPI_USERNAME }} + password: ${{ secrets.PYPI_PASSWORD }} + repository_url: https://test.pypi.org/legacy/ diff --git a/.github/workflows/build_test_and_push.yml b/.github/workflows/build_test_and_push.yml index fd5a2692..76a0e5a8 100644 --- a/.github/workflows/build_test_and_push.yml +++ b/.github/workflows/build_test_and_push.yml @@ -41,8 +41,15 @@ jobs: uses: GabrielBB/xvfb-action@v1 with: run: coverage run -m unittest discover -s test -p "Test*.py" + - name: Publish evcouplings to Test PyPI + uses: pypa/gh-action-pypi-publish@master + with: + user: ${{ secrets.PYPI_USERNAME }} + password: ${{ secrets.PYPI_PASSWORD }} + repository_url: https://test.pypi.org/legacy/ - name: Publish evcouplings to PyPI if: startsWith(github.ref, 'refs/tags') uses: pypa/gh-action-pypi-publish@master with: + user: ${{ secrets.PYPI_USERNAME }} password: ${{ secrets.PYPI_PASSWORD }} diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 4861796e..00000000 --- a/.travis.yml +++ /dev/null @@ -1,41 +0,0 @@ -language: python -python: -- '3.5' -- '3.6' -before_install: -- sudo apt-get update -- if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh - -O miniconda.sh; else wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh - -O miniconda.sh; fi -- bash miniconda.sh -b -p $HOME/miniconda -- export PATH="$HOME/miniconda/bin:$PATH" -- hash -r -- conda config --set always_yes yes --set changeps1 no -- conda update -q conda -- conda info -a -- conda create -q -n test-environment python=$TRAVIS_PYTHON_VERSION numpy scipy numba - pandas matplotlib -- source activate test-environment -install: -- python setup.py sdist --formats=zip -k -- find ./dist -iname "*.zip" -print0 | xargs -0 pip install -- pip install codecov -before_script: -- export DISPLAY=:99.0 -- sh -e /etc/init.d/xvfb start -- sleep 3 -- wget https://marks.hms.harvard.edu/evcouplings/models/data/evcouplings_test_cases.tar.gz -- tar -xf evcouplings_test_cases.tar.gz -C $HOME/ -script: -- coverage run -m unittest discover -s test -p "Test*.py" -deploy: - provider: pypi - user: debbiemarkslab - password: - secure: "E37SGJt1FlNlsKAaGle3T5KCZC32+yd8Exek/WG1Q9PQAFhOEJFyKka/dOb+dSh/vXA1xRwctifovILJrp/Klwv94Wk+HeY7kNsUC1AKjYTTpWM1lvdo+ljCKnB5ryANy4C/QlEtLYp0vrm5UeyYTLxiZ2xXqFCDkyBwScBaWRxreEqNh33pjuWrMirizGKQ4Qgx9yrorGW/cQZu8w8Xer8Ms1cM3lzU0UPAQAeobmE7HVThJQQuOAzhhBfEL7WMiaVVrLQj1lxO+euPRo0pOWFyNuDYpZv509VGqyYtUbS2O1YMTG7ADL+sZ8ZsBEwZYavpZ05BkQ7XUQRUxh+vkrLoIzAjrcK+L+jS/JpaaT85oUto0XT9fdaL5HAtNfwe+zmLoNYDYA+i6VBTrdHGFhHPLxufIzqm86Ak0uPnRLULXejxLdus7qX0dEcl2jsLaTHZix0qUq0MN4z232c6iAMoYxmRGv7uoD+JRdQ7WZeaG6Ll/yagZ994D0KnB6JeDsMLukRjStTKl8QM9uumopAbdnLacS62/CRxkxWefCBwKAUbJb5xEvGSazqFqW+H4xToNG5VEi4XAQpJEIT0gZg3uu1/0uWFGKTMqND5ojtzXXV4LXmnLerw2KOoHkQPLtCVYJXGi6Zes2Zb9PhVxidGU46XFNnCdWSCedDjJ/Q=" - on: - tags: true - python: '3.6' - -after_success: -- codecov From 6de08c54bdf1757f47b39fce8438724cd7a126f2 Mon Sep 17 00:00:00 2001 From: joe Date: Mon, 2 Nov 2020 10:30:44 -0500 Subject: [PATCH 12/22] debug what's going on with the dist/ directory --- .github/workflows/build_and_test.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 6eb7e842..cd25a420 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -38,7 +38,11 @@ jobs: - name: Run tests in headless xvfb environment uses: GabrielBB/xvfb-action@v1 with: - run: coverage run -m unittest discover -s test -p "Test*.py" + run: | + coverage run -m unittest discover -s test -p "Test*.py" + pwd + ls + ls dist/ - name: Publish evcouplings to Test PyPI uses: pypa/gh-action-pypi-publish@master with: From 8e7dc844378bc4382891e389bc256d3bcf02a140 Mon Sep 17 00:00:00 2001 From: joe Date: Mon, 2 Nov 2020 10:36:27 -0500 Subject: [PATCH 13/22] try to debug again --- .github/workflows/build_and_test.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index cd25a420..32722ecd 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -31,18 +31,20 @@ jobs: python setup.py sdist --formats=zip -k find ./dist -iname "*.zip" -print0 | xargs -0 pip install pip install codecov + pwd + ls + ls dist/ - name: Download test files run: | wget https://marks.hms.harvard.edu/evcouplings_test_cases/data/evcouplings_test_cases.tar.gz tar -xf evcouplings_test_cases.tar.gz -C $HOME/ + pwd + ls + ls dist/ - name: Run tests in headless xvfb environment uses: GabrielBB/xvfb-action@v1 with: - run: | - coverage run -m unittest discover -s test -p "Test*.py" - pwd - ls - ls dist/ + run: coverage run -m unittest discover -s test -p "Test*.py" - name: Publish evcouplings to Test PyPI uses: pypa/gh-action-pypi-publish@master with: From c33048af774493f7a58ff0335db908ec4eaff699 Mon Sep 17 00:00:00 2001 From: joe Date: Mon, 2 Nov 2020 11:09:41 -0500 Subject: [PATCH 14/22] change status badge in readme to use github actions results. change setup.py to include a long_description_content_type. get rid of debug lines --- .github/workflows/build_and_test.yml | 6 ------ README.md | 14 +++++++------- setup.py | 1 + 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 32722ecd..6eb7e842 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -31,16 +31,10 @@ jobs: python setup.py sdist --formats=zip -k find ./dist -iname "*.zip" -print0 | xargs -0 pip install pip install codecov - pwd - ls - ls dist/ - name: Download test files run: | wget https://marks.hms.harvard.edu/evcouplings_test_cases/data/evcouplings_test_cases.tar.gz tar -xf evcouplings_test_cases.tar.gz -C $HOME/ - pwd - ls - ls dist/ - name: Run tests in headless xvfb environment uses: GabrielBB/xvfb-action@v1 with: diff --git a/README.md b/README.md index 3bb74030..4d9c1e1a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Build Status](https://travis-ci.org/debbiemarkslab/EVcouplings.svg?branch=master)](https://travis-ci.org/debbiemarkslab/EVcouplings) +[![master-build-test-push Actions Status](https://github.com/debbiemarkslab/EVcouplings/workflows/{build_test_and_push}/badge.svg)](https://github.com/debbiemarkslab/EVcouplings/actions) # EVcouplings Predict protein structure, function and mutations using evolutionary sequence covariation. @@ -27,7 +27,7 @@ and to update to the latest version after previously installing EVcouplings from pip install -U --no-deps git+https://github.com/debbiemarkslab/EVcouplings.git -Installation will take seconds. +Installation will take seconds. ### External software tools @@ -70,7 +70,7 @@ Download and install [PSIPRED](http://bioinfadmin.cs.ucl.ac.uk/downloads/psipred evcouplings uses maxcluster to compare predicted 3D structure models to experimental protein structures, if there are any for the target protein or one of its homologs. Installation is only required if you want to run the *fold* stage of the computational pipeline. - + Download [maxcluster](http://www.sbg.bio.ic.ac.uk/~maxcluster/) and place it in a directory of your choice. ### Databases @@ -87,7 +87,7 @@ Please see evcouplings_dbupdate --help -for how to download the respective databases. Note that this may take a while, especially the generation of post-processed SIFTS mapping files. +for how to download the respective databases. Note that this may take a while, especially the generation of post-processed SIFTS mapping files. #### Sequence databases for EVcomplex Running the EVcouplings pipeline for protein complexes (aka EVcomplex) requires two pre-computed databases. You can download these databases here: @@ -95,9 +95,9 @@ Running the EVcouplings pipeline for protein complexes (aka EVcomplex) requires ena_genome_location_table: https://marks.hms.harvard.edu/evcomplex_databases/cds_pro_2017_02.txt uniprot_to_embl_table: https://marks.hms.harvard.edu/evcomplex_databases/idmapping_uniprot_embl_2017_02.txt -Save these databases in your local environment, and then add the paths to the local copies of these databases to your config file for the complex pipeline. +Save these databases in your local environment, and then add the paths to the local copies of these databases to your config file for the complex pipeline. -In future releases these databases will be generated automatically. +In future releases these databases will be generated automatically. #### Other sequence databases @@ -108,7 +108,7 @@ You can however use any sequence database of your choice in FASTA format if you Relevant PDB structures for comparison of ECs and 3D structure predictions will be automatically fetched from the web in the new compressed MMTF format on a per-job basis. You can however also pre-download the entire PDB and place the structures in a directory if you want to (and set pdb_mmtf_dir in your job configuration). Uniprot to PDB index mapping files will be automatically generated by EVcouplings based on the SIFTS database. -You can either generate the files by running *evcouplings_dbupdate* (see above, preferred), or by pointing the sifts_mapping_table and sifts_sequence_db configuration parameters to file paths inside an already existing directory. If these files do not yet exist, they will be created by fetching and integrating data from the web (this may take a while) when the pipeline is first run and saved under the given file paths. +You can either generate the files by running *evcouplings_dbupdate* (see above, preferred), or by pointing the sifts_mapping_table and sifts_sequence_db configuration parameters to file paths inside an already existing directory. If these files do not yet exist, they will be created by fetching and integrating data from the web (this may take a while) when the pipeline is first run and saved under the given file paths. ## Documentation and tutorials diff --git a/setup.py b/setup.py index 1951ea78..522584d4 100644 --- a/setup.py +++ b/setup.py @@ -22,6 +22,7 @@ description='A Framework for evolutionary couplings analysis', long_description=readme, + long_description_content_type='text/markdown' # The project's main homepage. url='https://github.com/debbiemarkslab/EVcouplings', From 90c9c7395acdb9a7ec3f84c938ad28e54a95cdc3 Mon Sep 17 00:00:00 2001 From: joe Date: Mon, 2 Nov 2020 11:14:01 -0500 Subject: [PATCH 15/22] shoot sorry, comma --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 522584d4..be62fbc4 100644 --- a/setup.py +++ b/setup.py @@ -22,7 +22,7 @@ description='A Framework for evolutionary couplings analysis', long_description=readme, - long_description_content_type='text/markdown' + long_description_content_type='text/markdown', # The project's main homepage. url='https://github.com/debbiemarkslab/EVcouplings', From 7cd0d0430fc4abaa5c4713ebe854ce28bd4968f5 Mon Sep 17 00:00:00 2001 From: joe Date: Mon, 2 Nov 2020 11:50:38 -0500 Subject: [PATCH 16/22] use tokens instead of user/pass --- .github/workflows/build_and_test.yml | 5 ++--- .github/workflows/build_test_and_push.yml | 8 +++----- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 6eb7e842..8f41cdaf 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -39,9 +39,8 @@ jobs: uses: GabrielBB/xvfb-action@v1 with: run: coverage run -m unittest discover -s test -p "Test*.py" - - name: Publish evcouplings to Test PyPI + - name: Publish evcouplings to test PyPI uses: pypa/gh-action-pypi-publish@master with: - user: ${{ secrets.PYPI_USERNAME }} - password: ${{ secrets.PYPI_PASSWORD }} + password: ${{ secrets.PYPI_ACCESS_TOKEN_TEST }} repository_url: https://test.pypi.org/legacy/ diff --git a/.github/workflows/build_test_and_push.yml b/.github/workflows/build_test_and_push.yml index 76a0e5a8..0bee1888 100644 --- a/.github/workflows/build_test_and_push.yml +++ b/.github/workflows/build_test_and_push.yml @@ -41,15 +41,13 @@ jobs: uses: GabrielBB/xvfb-action@v1 with: run: coverage run -m unittest discover -s test -p "Test*.py" - - name: Publish evcouplings to Test PyPI + - name: Publish evcouplings to test PyPI uses: pypa/gh-action-pypi-publish@master with: - user: ${{ secrets.PYPI_USERNAME }} - password: ${{ secrets.PYPI_PASSWORD }} + password: ${{ secrets.PYPI_ACCESS_TOKEN_TEST }} repository_url: https://test.pypi.org/legacy/ - name: Publish evcouplings to PyPI if: startsWith(github.ref, 'refs/tags') uses: pypa/gh-action-pypi-publish@master with: - user: ${{ secrets.PYPI_USERNAME }} - password: ${{ secrets.PYPI_PASSWORD }} + password: ${{ secrets.PYPI_ACCESS_TOKEN }} From 6e9560b9cf6171d38b94f55baf33171edded472c Mon Sep 17 00:00:00 2001 From: joe Date: Mon, 2 Nov 2020 12:44:36 -0500 Subject: [PATCH 17/22] move test pypi release code to only run on release, before full release. also, modify readme badges and add the pypi package as a badge --- .github/workflows/build_and_test.yml | 6 +----- README.md | 3 ++- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 8f41cdaf..e68aaa45 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -5,6 +5,7 @@ on: [push, pull_request] jobs: build: runs-on: ubuntu-latest + strategy: matrix: python-version: [3.6] @@ -39,8 +40,3 @@ jobs: uses: GabrielBB/xvfb-action@v1 with: run: coverage run -m unittest discover -s test -p "Test*.py" - - name: Publish evcouplings to test PyPI - uses: pypa/gh-action-pypi-publish@master - with: - password: ${{ secrets.PYPI_ACCESS_TOKEN_TEST }} - repository_url: https://test.pypi.org/legacy/ diff --git a/README.md b/README.md index 4d9c1e1a..bfd8b078 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ -[![master-build-test-push Actions Status](https://github.com/debbiemarkslab/EVcouplings/workflows/{build_test_and_push}/badge.svg)](https://github.com/debbiemarkslab/EVcouplings/actions) +[![build_and_test Actions Status](https://github.com/debbiemarkslab/EVcouplings/workflows/build_and_test/badge.svg?branch=master)](https://github.com/debbiemarkslab/EVcouplings/actions) +[![PyPI version](https://badge.fury.io/py/evcouplings.svg)](https://badge.fury.io/py/evcouplings) # EVcouplings Predict protein structure, function and mutations using evolutionary sequence covariation. From 97da80b03d435e3c43d9eee6d3c9deb5e9dbe7cf Mon Sep 17 00:00:00 2001 From: joe Date: Mon, 2 Nov 2020 13:01:02 -0500 Subject: [PATCH 18/22] only run release to test pypi, ALSO ONLY IF TAGGED --- .github/workflows/build_test_and_push.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build_test_and_push.yml b/.github/workflows/build_test_and_push.yml index 0bee1888..1c40e2ac 100644 --- a/.github/workflows/build_test_and_push.yml +++ b/.github/workflows/build_test_and_push.yml @@ -42,6 +42,7 @@ jobs: with: run: coverage run -m unittest discover -s test -p "Test*.py" - name: Publish evcouplings to test PyPI + if: startsWith(github.ref, 'refs/tags') uses: pypa/gh-action-pypi-publish@master with: password: ${{ secrets.PYPI_ACCESS_TOKEN_TEST }} From 67550196cabf9f53a56e55ef2e5f5212d787e958 Mon Sep 17 00:00:00 2001 From: joe Date: Mon, 2 Nov 2020 13:10:47 -0500 Subject: [PATCH 19/22] rename the github actions workflows to be url-friendly --- .github/workflows/build_and_test.yml | 2 +- .github/workflows/build_test_and_push.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index e68aaa45..c4674acb 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -1,4 +1,4 @@ -name: Python package +name: build_and_test on: [push, pull_request] diff --git a/.github/workflows/build_test_and_push.yml b/.github/workflows/build_test_and_push.yml index 1c40e2ac..b1aa2a52 100644 --- a/.github/workflows/build_test_and_push.yml +++ b/.github/workflows/build_test_and_push.yml @@ -1,4 +1,4 @@ -name: Test and push release to PyPI +name: build_test_and_push on: release: From d25d8544806ec62ef825fc36db2685b574e6d6b4 Mon Sep 17 00:00:00 2001 From: joe Date: Mon, 2 Nov 2020 13:13:09 -0500 Subject: [PATCH 20/22] badge formatting in readme --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index bfd8b078..00efb50e 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ -[![build_and_test Actions Status](https://github.com/debbiemarkslab/EVcouplings/workflows/build_and_test/badge.svg?branch=master)](https://github.com/debbiemarkslab/EVcouplings/actions) -[![PyPI version](https://badge.fury.io/py/evcouplings.svg)](https://badge.fury.io/py/evcouplings) +[![build_and_test Actions Status](https://github.com/debbiemarkslab/EVcouplings/workflows/build_and_test/badge.svg?branch=master)](https://github.com/debbiemarkslab/EVcouplings/actions) [![PyPI version](https://badge.fury.io/py/evcouplings.svg)](https://badge.fury.io/py/evcouplings) # EVcouplings Predict protein structure, function and mutations using evolutionary sequence covariation. From d653778b71d20e10f3e7a34f9c9a4b30be1e4903 Mon Sep 17 00:00:00 2001 From: thomashopf Date: Fri, 6 Nov 2020 17:15:42 +0100 Subject: [PATCH 21/22] Update installation instructions --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 00efb50e..c79c910a 100644 --- a/README.md +++ b/README.md @@ -15,17 +15,17 @@ EVcouplings requires a Python >= 3.5 installation. Since it depends on some pack #### Installation -To install the latest version of EVcouplings, *currently please do not use the outdated PyPI release (i.e. do not pip install evcouplings)*. Instead, run +To install the latest version of EVcouplings on PyPI, - pip install https://github.com/debbiemarkslab/EVcouplings/archive/develop.zip + pip install evcouplings -To obtain the latest version of EVcouplings from the github repository, run +To obtain the latest development version of EVcouplings from the github repository, run - pip install git+https://github.com/debbiemarkslab/EVcouplings.git + pip install https://github.com/debbiemarkslab/EVcouplings/archive/develop.zip and to update to the latest version after previously installing EVcouplings from the repository, run - pip install -U --no-deps git+https://github.com/debbiemarkslab/EVcouplings.git + pip install -U --no-deps https://github.com/debbiemarkslab/EVcouplings/archive/develop.zip Installation will take seconds. From f14fc1c351a861ee94babae3e5b3d1bcc9a5aa66 Mon Sep 17 00:00:00 2001 From: thomashopf Date: Fri, 6 Nov 2020 17:16:13 +0100 Subject: [PATCH 22/22] Add Joe as contributor --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c79c910a..0e97d2c8 100644 --- a/README.md +++ b/README.md @@ -156,3 +156,4 @@ EVcouplings is developed in the labs of [Debora Marks](http://marks.hms.harvard. * John Ingraham * Rob Sheridan * Christian Dallago +* Joe Min