Skip to content

Commit

Permalink
Merge branch 'develop' into 'master'
Browse files Browse the repository at this point in the history
Release v0.5.0

See merge request tron/addannot!164
  • Loading branch information
Pablo Riesgo Ferreiro committed Jun 15, 2021
2 parents b6f8f6a + 8a73be0 commit 45b5e66
Show file tree
Hide file tree
Showing 196 changed files with 157,099 additions and 64,336 deletions.
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
.idea
venv-win
venv
venv37
.env
dist
build/*
Expand All @@ -11,3 +12,9 @@ neofox/tests/resources/output*
docs/build
.ipynb_checkpoints
neofox-dask-report*
.tox
venv*
py36
/netMHCIIpan-3.2.Linux.tar.gz
/netMHCIIpan-4.0.Linux.tar.gz
/netMHCpan-4.1b.Linux.tar.gz
41 changes: 29 additions & 12 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,14 @@
##
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.##
image: python:3.7-buster

# this image contains multiple Python interpreters
image: fkrull/multi-python:bionic

# Change pip's cache directory to be inside the project directory since we can
# only cache local items.
variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
VENV_CACHE_DIR: "$CI_PROJECT_DIR/venv"
TOX_CACHE_DIR: "$CI_PROJECT_DIR/.tox"

# Pip's cache doesn't store the python packages
# https://pip.pypa.io/en/stable/reference/pip_install/#caching
Expand All @@ -31,24 +32,40 @@ variables:
# them in a virtualenv and cache it as well.
cache:
paths:
- $PIP_CACHE_DIR
- $VENV_CACHE_DIR
- $TOX_CACHE_DIR

before_script:
- apt-get update
- apt-get --assume-yes install gcc gfortran build-essential wget libfreetype6-dev libpng-dev libopenblas-dev
- python -V
- pip install virtualenv
- virtualenv venv
- source venv/bin/activate

stages:
- validation
- test
- deploy

check_version_changes:
stage: validation
script:
# if the version number does not change between this branch and develop it fails
- git fetch origin develop
- if git diff origin/develop -- neofox/__init__.py | grep VERSION; then exit 0; else echo "Version needs to be increased!"; exit -1; fi
except:
- develop
- master

test:
stage: test
script:
- python setup.py bdist_wheel
- pip uninstall -y neofox
- pip install dist/neofox-*.whl
- python -m unittest discover neofox.tests.unit_tests
- pip install virtualenv tox==3.23.0 tox-wheel==0.6.0
- tox

publish_package:
stage: deploy
script:
- pip install twine
- python3 setup.py sdist bdist_wheel
- TWINE_PASSWORD=${CI_JOB_TOKEN} TWINE_USERNAME=gitlab-ci-token python -m twine upload --repository-url https://gitlab.rlp.net/api/v4/projects/${CI_PROJECT_ID}/packages/pypi dist/*
only:
- develop
- master
38 changes: 22 additions & 16 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ COPY requirements.txt requirements.txt
COPY LICENSE LICENSE
COPY README.md README.md
# these two files will need to be downloaded from the owner's site after agreeing their license
COPY netMHCIIpan-3.2.Linux.tar.gz netMHCIIpan-3.2.Linux.tar.gz
COPY netMHCpan-4.0a.Linux.tar.gz netMHCpan-4.0a.Linux.tar.gz
COPY netMHCIIpan-4.0.Linux.tar.gz netMHCIIpan-4.0.Linux.tar.gz
COPY netMHCpan-4.1b.Linux.tar.gz netMHCpan-4.1b.Linux.tar.gz

# build and install neofox package
RUN python3 setup.py bdist_wheel
Expand All @@ -36,23 +36,23 @@ ENV NEOFOX_MAKEBLASTDB /app/ncbi-blast-2.10.1+/bin/makeblastdb
RUN echo $NEOFOX_MAKEBLASTDB

# install netmhcpan
RUN tar -xvf netMHCpan-4.0a.Linux.tar.gz
RUN tar -xvf netMHCpan-4.1b.Linux.tar.gz
RUN echo $NEOFOX_MAKEBLASTDB
RUN sed -i 's/\/usr\/cbs\/packages\/netMHCpan\/4.0\/netMHCpan-4.0/\/app\/netMHCpan-4.0/g' /app/netMHCpan-4.0/netMHCpan
RUN sed -i 's/\/scratch/\/app\/netMHCpan-4.0\/tmp/g' /app/netMHCpan-4.0/netMHCpan
RUN mkdir /app/netMHCpan-4.0/tmp
RUN wget http://www.cbs.dtu.dk/services/NetMHCpan-4.0/data.Linux.tar.gz -O /app/netMHCpan-4.0/data.Linux.tar.gz
RUN tar -xvf /app/netMHCpan-4.0/data.Linux.tar.gz -C /app/netMHCpan-4.0
ENV NEOFOX_NETMHCPAN /app/netMHCpan-4.0/netMHCpan
RUN sed -i 's/\/net\/sund-nas.win.dtu.dk\/storage\/services\/www\/packages\/netMHCpan\/4.1\/netMHCpan-4.1/\/app\/netMHCpan-4.1/g' /app/netMHCpan-4.1/netMHCpan
RUN sed -i 's/ \/tmp/ \/app\/netMHCpan-4.1\/tmp/g' /app/netMHCpan-4.1/netMHCpan
RUN mkdir /app/netMHCpan-4.1/tmp
RUN wget https://services.healthtech.dtu.dk/services/NetMHCpan-4.1/data.tar.gz -O /app/netMHCpan-4.1/data.Linux.tar.gz
RUN tar -xvf /app/netMHCpan-4.1/data.Linux.tar.gz -C /app/netMHCpan-4.1
ENV NEOFOX_NETMHCPAN /app/netMHCpan-4.1/netMHCpan

# install netmhc2pan
RUN tar -xvf netMHCIIpan-3.2.Linux.tar.gz
RUN sed -i 's/\/usr\/cbs\/bio\/src\/netMHCIIpan-3.2/\/app\/netMHCIIpan-3.2/g' /app/netMHCIIpan-3.2/netMHCIIpan
RUN sed -i 's/\/scratch/\/app\/netMHCIIpan-3.2\/tmp/g' /app/netMHCIIpan-3.2/netMHCIIpan
RUN mkdir /app/netMHCIIpan-3.2/tmp
RUN wget http://www.cbs.dtu.dk/services/NetMHCIIpan-3.2/data.Linux.tar.gz -O /app/netMHCIIpan-3.2/data.Linux.tar.gz
RUN tar -xvf /app/netMHCIIpan-3.2/data.Linux.tar.gz -C /app/netMHCIIpan-3.2
ENV NEOFOX_NETMHC2PAN /app/netMHCIIpan-3.2/netMHCIIpan
RUN tar -xvf netMHCIIpan-4.0.Linux.tar.gz
RUN sed -i 's/\/net\/sund-nas.win.dtu.dk\/storage\/services\/www\/packages\/netMHCIIpan\/4.0\/netMHCIIpan-4.0/\/app\/netMHCIIpan-4.0/g' /app/netMHCIIpan-4.0/netMHCIIpan
RUN sed -i 's/ \/tmp\//\/app\/netMHCIIpan-4.0\/tmp/g' /app/netMHCIIpan-4.0/netMHCIIpan
RUN mkdir /app/netMHCIIpan-4.0/tmp
RUN wget http://www.cbs.dtu.dk/services/NetMHCIIpan-4.0/data.tar.gz -O /app/netMHCIIpan-4.0/data.tar.gz
RUN tar -xvf /app/netMHCIIpan-4.0/data.tar.gz -C /app/netMHCIIpan-4.0
ENV NEOFOX_NETMHC2PAN /app/netMHCIIpan-4.0/netMHCIIpan
RUN apt-get install tcsh

# install mixmhcpred
Expand All @@ -68,6 +68,12 @@ RUN wget https://github.com/GfellerLab/MixMHC2pred/archive/v1.2.tar.gz
RUN tar -xvf v1.2.tar.gz
ENV NEOFOX_MIXMHC2PRED /app/MixMHC2pred-1.2/MixMHC2pred_unix

# install prime
RUN wget https://github.com/GfellerLab/PRIME/archive/master.tar.gz
RUN tar -xvf master.tar.gz
RUN sed -i 's/\/app\/PRIME/\/app\/PRIME-master/g' /app/PRIME-master/PRIME
ENV NEOFOX_PRIME /app/PRIME-master/PRIME

# configure references
RUN apt-get install -y --no-install-recommends build-essential
RUN neofox-configure --reference-folder /app/neofox-reference --install-r-dependencies
Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,17 +24,19 @@ NeoFox annotates neoantigen candidate sequences with published neo-epitope descr
| Priority score | Bjerregaard et al, 2017, Cancer Immunol Immunother. | https://doi.org/10.1007/s00262-017-2001-3 |
| Tcell predictor | Besser et al, 2019, Journal for ImmunoTherapy of Cancer | https://doi.org/10.1186/s40425-019-0595-z |
| neoag | Smith et al, 2019, Cancer Immunology Research | https://doi.org/10.1158/2326-6066.CIR-19-0155 |
| PRIME | Schmidt et al., 2021, Cell Reports Medicine | https://doi.org/10.1016/j.xcrm.2021.100194 |

## NeoFox Requirements

**Required Software/Tools/Dependencies:**
- Python 3.7
- Python >=3.6, <=3.8
- R 3.6.0
- BLAST 2.10.1
- netMHCpan 4.0
- netMHCIIpan 3.2
- MixMHCpred 2.1
- MixMHC2pred 1.2
- PRIME 1.0


## Usage from the command line
Expand Down
2 changes: 1 addition & 1 deletion docs/figures/neofox_model.drawio
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<mxfile host="app.diagrams.net" modified="2021-03-18T21:06:21.952Z" agent="5.0 (X11)" etag="4ybZlVnrOWwsm0cpLRX7" version="14.4.8" type="device"><diagram id="t43y8l8tPbXxPeGLrGI9" name="Page-1">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</diagram></mxfile>
<mxfile host="app.diagrams.net" modified="2021-05-04T12:16:31.329Z" agent="5.0 (X11)" etag="E-iCbCd2YsuH28ZG351K" version="14.6.3" type="device"><diagram id="t43y8l8tPbXxPeGLrGI9" name="Page-1">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</diagram></mxfile>
Binary file modified docs/figures/neofox_model.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/resources/column_description.xlsx
Binary file not shown.
Loading

0 comments on commit 45b5e66

Please sign in to comment.