diff --git a/README.md b/README.md index 227f35c..eaaeea5 100644 --- a/README.md +++ b/README.md @@ -110,6 +110,7 @@ This will be implemented in a future version. To run the model on a cluster, ensure you have a working `conda` and `snakemake` installation. + Start with ``` conda activate humam @@ -118,6 +119,9 @@ to add `conda` to the `PATH`. Lastly start `snakemake` with the cluster specific ``` bash snakemake_slurm.sh ``` + +**NOTE**: to run the current version on JURECA cluster (Jülich Supercomputing Centre at Forschungszentrum Jülich), it is recommended to use the modules defined in `config_jureca.yaml` file instead of the conda environment. If so, remove the `--use-conda` flag in the `snakemake_slurm.sh` script before running the code line above. + This script will run the workflow defined in `Snakefile`, which follows the sequence: 1. read all `*.py` experiment files contained in the `./experiments/` directory. **NOTE**: If you want to run fewer/more experiments, remove/add these files from the `./experiments/` directory. 2. load necessary modules for MPI and NEST before executing diff --git a/config_jureca.yaml b/config_jureca.yaml index c7978a1..7c15cb1 100644 --- a/config_jureca.yaml +++ b/config_jureca.yaml @@ -1,4 +1,4 @@ NEST_PATH: /path/to/installation MPIRUN: srun -MPI_MODULES: module load GCC ParaStationMPI +MPI_MODULES: module load Stages/2022 GCC/11.2.0 ParaStationMPI/5.5.0-1 CMake/3.21.1 Boost/1.78.0 GSL/2.7 Python/3.9.6 SciPy-Stack/2021b GCCcore/.11.2.0 Autotools/20210726 git PyYAML/5.4.1 \ No newline at end of file diff --git a/humam.yml b/humam.yml index ade8387..2798b0d 100644 --- a/humam.yml +++ b/humam.yml @@ -1,126 +1,308 @@ name: humam channels: + - bioconda + - anaconda + - conda-forge - defaults dependencies: - - _libgcc_mutex=0.1=main - - alabaster=0.7.12=py36_0 - - asn1crypto=0.24.0=py36_0 - - babel=2.7.0=py_0 - - backcall=0.1.0=py36_0 + - _libgcc_mutex=0.1=conda_forge + - _openmp_mutex=4.5=2_gnu + - aioeasywebdav=2.4.0=py39hf3d152e_1001 + - aiohttp=3.9.5=py39hd1e30aa_0 + - aiosignal=1.3.1=pyhd8ed1ab_0 + - alsa-lib=1.2.11=hd590300_1 + - amply=0.1.6=pyhd8ed1ab_0 + - appdirs=1.4.4=pyh9f0ad1d_0 + - async-timeout=4.0.3=pyhd8ed1ab_0 + - attmap=0.13.2=pyhd8ed1ab_0 + - attr=2.5.1=h166bdaf_1 + - attrs=23.2.0=pyh71513ae_0 + - bcrypt=4.1.2=py39h9fdd4d6_0 - blas=1.0=mkl - - ca-certificates=2020.6.24=0 - - cairo=1.14.12=h77bcde2_0 - - certifi=2020.6.20=py36_0 - - cffi=1.12.3=py36h2e261b9_0 - - chardet=3.0.4=py36_1 - - cryptography=2.3.1=py36hc365091_0 - - cycler=0.10.0=py36_0 - - cython=0.28.3=py36h14c3975_0 - - dbus=1.13.2=hc3f9b76_0 - - decorator=4.4.0=py36_1 - - docutils=0.14=py36_0 - - expat=2.2.6=he6710b0_0 - - fontconfig=2.12.6=h49f89f6_0 - - freetype=2.8=hab7d2ae_1 - - glib=2.53.6=h5d9569c_2 - - gsl=2.4=h14c3975_4 - - gst-plugins-base=1.12.4=h33fb286_0 - - gstreamer=1.12.4=hb53b477_0 - - icu=58.2=h9c2bf20_1 - - idna=2.8=py36_0 - - imagesize=1.1.0=py36_0 - - intel-openmp=2019.4=243 - - ipython=6.3.1=py36_0 - - ipython_genutils=0.2.0=py36_0 - - jedi=0.13.3=py36_0 - - jinja2=2.10.1=py36_0 - - joblib=0.15.1=py_0 - - jpeg=9b=h024ee3a_2 - - kiwisolver=1.1.0=py36he6710b0_0 - - libedit=3.1.20181209=hc058e9b_0 - - libffi=3.2.1=hd88cf55_4 - - libgcc-ng=9.1.0=hdf63c60_0 - - libgfortran-ng=7.3.0=hdf63c60_0 - - libpng=1.6.37=hbc83047_0 - - libstdcxx-ng=9.1.0=hdf63c60_0 - - libxcb=1.13=h1bed415_1 - - libxml2=2.9.9=hea5a465_1 - - markupsafe=1.1.1=py36h7b6447c_0 - - matplotlib=2.2.2=py36h0e671d2_0 - - mkl=2018.0.3=1 - - mkl_fft=1.0.6=py36h7dd41cf_0 - - mkl_random=1.0.1=py36h4414c95_1 - - ncurses=6.1=he6710b0_1 - - networkx=2.4=py_0 - - numpy=1.14.3=py36hcd700cb_1 - - numpy-base=1.14.3=py36h9be14a7_1 - - openssl=1.0.2u=h7b6447c_0 - - packaging=19.0=py36_0 - - pandas=0.23.4=py36h04863e7_0 - - parso=0.4.0=py_0 - - patsy=0.5.1=py36_0 - - pcre=8.43=he6710b0_0 - - pexpect=4.7.0=py36_0 - - pickleshare=0.7.5=py36_0 - - pip=18.1=py36_0 - - pixman=0.38.0=h7b6447c_0 - - prompt_toolkit=1.0.15=py36_0 - - ptyprocess=0.6.0=py36_0 - - pycairo=1.15.4=py36h1b9232e_1 - - pycparser=2.19=py36_0 - - pygments=2.4.2=py_0 - - pyopenssl=19.0.0=py36_0 - - pyparsing=2.4.0=py_0 - - pyqt=5.6.0=py36h22d08a2_6 - - pysocks=1.7.0=py36_0 - - python=3.6.5=hc3d631a_0 - - python-dateutil=2.8.0=py36_0 - - pytz=2019.1=py_0 - - pyyaml=3.12=py36hafb9ca4_1 - - qt=5.6.2=hd25b39d_14 - - readline=7.0=h7b6447c_5 - - requests=2.22.0=py36_0 - - scipy=1.1.0=py36hfc37229_0 - - seaborn=0.9.0=py36_0 - - setuptools=41.0.1=py36_0 - - simplegeneric=0.8.1=py36_2 - - sip=4.18.1=py36hf484d3e_2 - - six=1.12.0=py36_0 - - snowballstemmer=1.2.1=py36_0 - - sphinx=1.7.2=py36_0 - - sphinxcontrib=1.0=py36_1 - - sphinxcontrib-websupport=1.1.2=py_0 - - sqlite=3.28.0=h7b6447c_0 - - statsmodels=0.9.0=py36h035aef0_0 - - tbb=2020.0=hfd86e86_0 - - tbb4py=2020.0=py36hfd86e86_0 - - tk=8.6.8=hbc83047_0 - - tornado=6.0.2=py36h7b6447c_0 - - traitlets=4.3.2=py36_0 - - typing=3.6.4=py36_0 - - urllib3=1.24.2=py36_0 - - wcwidth=0.1.7=py36_0 - - wheel=0.33.4=py36_0 - - xlrd=1.1.0=py36h1db9f0c_1 - - xz=5.2.4=h14c3975_4 - - yaml=0.1.7=had09818_2 - - zlib=1.2.11=h7b6447c_3 + - boost=1.78.0=py39h7c9e3ff_4 + - boost-cpp=1.78.0=h2c5509c_4 + - boto3=1.34.98=pyhd8ed1ab_0 + - botocore=1.34.99=pyge38_1234567_0 + - brotli-python=1.1.0=py39h3d6467e_1 + - bzip2=1.0.8=hd590300_5 + - c-ares=1.28.1=hd590300_0 + - ca-certificates=2024.2.2=hbcca054_0 + - cachetools=5.3.3=pyhd8ed1ab_0 + - cairo=1.18.0=h3faef2a_0 + - certifi=2024.2.2=pyhd8ed1ab_0 + - cffi=1.16.0=py39h7a31438_0 + - charset-normalizer=3.3.2=pyhd8ed1ab_0 + - coin-or-cbc=2.10.10=h9002f0b_0 + - coin-or-cgl=0.60.7=h516709c_0 + - coin-or-clp=1.17.6=h59210d1_1 + - coin-or-osi=0.108.10=haf5fa05_0 + - coin-or-utils=2.11.4=hd28eb2d_1 + - coincbc=2.10.10=0_metapackage + - colorama=0.4.6=pyhd8ed1ab_0 + - configargparse=1.7=pyhd8ed1ab_0 + - connection_pool=0.0.3=pyhd3deb0d_0 + - cryptography=42.0.7=py39h8169da8_0 + - cycler=0.12.1=pyhd8ed1ab_0 + - cython=3.0.10=py39h3d6467e_0 + - datrie=0.8.2=py39hd1e30aa_7 + - dbus=1.13.6=h5008d03_3 + - decorator=5.1.1=pyhd8ed1ab_0 + - defusedxml=0.7.1=pyhd8ed1ab_0 + - docutils=0.21.2=pyhd8ed1ab_0 + - dpath=2.1.6=pyha770c72_0 + - dropbox=11.36.2=pyhd8ed1ab_0 + - eido=0.2.2=pyhd8ed1ab_0 + - exceptiongroup=1.2.0=pyhd8ed1ab_2 + - expat=2.6.2=h59595ed_0 + - filechunkio=1.8=py_2 + - font-ttf-dejavu-sans-mono=2.37=hab24e00_0 + - font-ttf-inconsolata=3.000=h77eed37_0 + - font-ttf-source-code-pro=2.038=h77eed37_0 + - font-ttf-ubuntu=0.83=h77eed37_2 + - fontconfig=2.14.2=h14ed4e7_0 + - fonts-conda-ecosystem=1=0 + - fonts-conda-forge=1=0 + - freetype=2.12.1=h267a509_2 + - frozenlist=1.4.1=py39hd1e30aa_0 + - ftputil=5.1.0=pyhd8ed1ab_0 + - gettext=0.22.5=h59595ed_2 + - gettext-tools=0.22.5=h59595ed_2 + - gitdb=4.0.11=pyhd8ed1ab_0 + - gitpython=3.1.43=pyhd8ed1ab_0 + - glib=2.80.0=hf2295e7_6 + - glib-tools=2.80.0=hde27a5a_6 + - google-api-core=2.19.0=pyhd8ed1ab_0 + - google-api-python-client=2.127.0=pyhd8ed1ab_0 + - google-auth=2.29.0=pyhca7485f_0 + - google-auth-httplib2=0.2.0=pyhd8ed1ab_0 + - google-cloud-core=2.4.1=pyhd8ed1ab_0 + - google-cloud-storage=2.16.0=pyhca7485f_0 + - google-crc32c=1.1.2=py39h328ec2c_5 + - google-resumable-media=2.7.0=pyhd8ed1ab_0 + - googleapis-common-protos=1.63.0=pyhd8ed1ab_0 + - graphite2=1.3.13=h59595ed_1003 + - grpcio=1.62.2=py39h174d805_0 + - gsl=2.7=he838d99_0 + - gst-plugins-base=1.24.3=h9ad1361_0 + - gstreamer=1.24.3=haf2f30d_0 + - harfbuzz=8.4.0=h3d44ed6_0 + - httplib2=0.22.0=pyhd8ed1ab_0 + - humanfriendly=10.0=pyhd8ed1ab_6 + - icu=73.2=h59595ed_0 + - idna=3.7=pyhd8ed1ab_0 + - importlib_resources=6.4.0=pyhd8ed1ab_0 + - iniconfig=2.0.0=pyhd8ed1ab_0 + - intel-openmp=2021.4.0=h06a4308_3561 + - jinja2=3.1.3=pyhd8ed1ab_0 + - jmespath=1.0.1=pyhd8ed1ab_0 + - joblib=1.4.2=pyhd8ed1ab_0 + - jsonschema=4.22.0=pyhd8ed1ab_0 + - jsonschema-specifications=2023.12.1=pyhd8ed1ab_0 + - jupyter_core=5.7.2=py39hf3d152e_0 + - keyutils=1.6.1=h166bdaf_0 + - kiwisolver=1.4.5=py39h7633fee_1 + - krb5=1.21.2=h659d440_0 + - lame=3.100=h166bdaf_1003 + - lcms2=2.16=hb7c19ff_0 + - ld_impl_linux-64=2.40=h55db66e_0 + - lerc=4.0.0=h27087fc_0 + - libabseil=20240116.2=cxx17_h59595ed_0 + - libasprintf=0.22.5=h661eb56_2 + - libasprintf-devel=0.22.5=h661eb56_2 + - libblas=3.9.0=12_linux64_mkl + - libcap=2.69=h0f662aa_0 + - libcblas=3.9.0=12_linux64_mkl + - libcbor=0.10.2=hcb278e6_0 + - libclang-cpp15=15.0.7=default_h127d8a8_5 + - libclang13=18.1.5=default_h5d6823c_0 + - libcrc32c=1.1.2=h9c3ff4c_0 + - libcups=2.3.3=h4637d8d_4 + - libdeflate=1.20=hd590300_0 + - libedit=3.1.20191231=he28a2e2_2 + - libevent=2.1.12=hf998b51_1 + - libexpat=2.6.2=h59595ed_0 + - libffi=3.4.2=h7f98852_5 + - libfido2=1.14.0=h4446dcb_0 + - libflac=1.4.3=h59595ed_0 + - libgcc-ng=13.2.0=h77fa898_7 + - libgcrypt=1.10.3=hd590300_0 + - libgettextpo=0.22.5=h59595ed_2 + - libgettextpo-devel=0.22.5=h59595ed_2 + - libgfortran-ng=7.5.0=h14aa051_20 + - libgfortran4=7.5.0=h14aa051_20 + - libglib=2.80.0=hf2295e7_6 + - libgomp=13.2.0=h77fa898_7 + - libgpg-error=1.49=h4f305b6_0 + - libgrpc=1.62.2=h15f2491_0 + - libiconv=1.17=hd590300_2 + - libjpeg-turbo=3.0.0=hd590300_1 + - liblapack=3.9.0=12_linux64_mkl + - liblapacke=3.9.0=12_linux64_mkl + - libllvm15=15.0.7=hb3ce162_4 + - libllvm18=18.1.5=hb77312f_0 + - libnsl=2.0.1=hd590300_0 + - libogg=1.3.4=h7f98852_1 + - libopus=1.3.1=h7f98852_1 + - libpng=1.6.43=h2797004_0 + - libpq=16.2=h33b98f1_1 + - libprotobuf=4.25.3=h08a7969_0 + - libre2-11=2023.09.01=h5a48ba9_2 + - libsndfile=1.2.2=hc60ed4a_1 + - libsodium=1.0.18=h36c2ea0_1 + - libsqlite=3.45.3=h2797004_0 + - libstdcxx-ng=13.2.0=hc0a3c3a_7 + - libsystemd0=255=h3516f8a_1 + - libtiff=4.6.0=h1dd3fc0_3 + - libtool=2.4.7=h27087fc_0 + - libudev1=255=h3f72095_1 + - libuuid=2.38.1=h0b41bf4_0 + - libvorbis=1.3.7=h9c3ff4c_0 + - libwebp-base=1.4.0=hd590300_0 + - libxcb=1.15=h0b41bf4_0 + - libxcrypt=4.4.36=hd590300_1 + - libxkbcommon=1.7.0=h662e7e4_0 + - libxml2=2.12.6=h232c23b_2 + - libzlib=1.2.13=hd590300_5 + - llvm-meta=7.0.0=0 + - logmuse=0.2.6=pyh8c360ce_0 + - lz4-c=1.9.4=hcb278e6_0 + - markdown-it-py=3.0.0=pyhd8ed1ab_0 + - markupsafe=2.1.5=py39hd1e30aa_0 + - matplotlib=3.4.3=py39hf3d152e_2 + - matplotlib-base=3.4.3=py39h2fa2bec_2 + - mdurl=0.1.2=pyhd8ed1ab_0 + - mkl=2021.4.0=h06a4308_640 + - mkl-service=2.4.0=py39h7e14d7c_0 + - mpg123=1.32.6=h59595ed_0 + - mpi=1.0=mpich + - mpi4py=3.1.6=py39h6cbbaa3_0 + - mpich=4.2.1=external_0 + - multidict=6.0.5=py39hd1e30aa_0 + - mysql-common=8.3.0=hf1915f5_4 + - mysql-libs=8.3.0=hca2cd23_4 + - nbformat=5.10.4=pyhd8ed1ab_0 + - ncurses=6.4.20240210=h59595ed_0 + - nest-simulator=2.20.2=py39h2565ea1_1 + - networkx=2.4=py_1 + - nspr=4.35=h27087fc_0 + - nss=3.98=h1d7d5a4_0 + - numpy=1.21.3=py39hdbf815f_1 + - oauth2client=4.1.3=py_0 + - openjpeg=2.5.2=h488ebb8_0 + - openmp=7.0.0=h2d50403_0 + - openssh=9.6p1=h2d3b35a_0 + - openssl=3.3.0=hd590300_0 + - packaging=24.0=pyhd8ed1ab_0 + - pandas=1.3.4=py39hde0f152_1 + - paramiko=3.4.0=pyhd8ed1ab_0 + - patsy=0.5.6=pyhd8ed1ab_0 + - pcre2=10.43=hcad00b1_0 + - peppy=0.40.1=pyhd8ed1ab_0 + - pillow=10.3.0=py39h90c7501_0 + - pip=24.0=pyhd8ed1ab_0 + - pixman=0.43.2=h59595ed_0 + - pkgutil-resolve-name=1.3.10=pyhd8ed1ab_1 + - plac=1.4.3=pyhd8ed1ab_0 + - platformdirs=4.2.1=pyhd8ed1ab_0 + - pluggy=1.5.0=pyhd8ed1ab_0 + - ply=3.11=pyhd8ed1ab_2 + - prettytable=3.10.0=pyhd8ed1ab_0 + - proto-plus=1.23.0=pyhd8ed1ab_0 + - protobuf=4.25.3=py39h1be52a0_0 + - psutil=5.9.8=py39hd1e30aa_0 + - pthread-stubs=0.4=h36c2ea0_1001 + - pulp=2.7.0=py39hf3d152e_1 + - pulseaudio-client=17.0=hb77b528_0 + - pyasn1=0.6.0=pyhd8ed1ab_0 + - pyasn1-modules=0.4.0=pyhd8ed1ab_0 + - pycparser=2.22=pyhd8ed1ab_0 + - pygments=2.18.0=pyhd8ed1ab_0 + - pynacl=1.5.0=py39hd1e30aa_3 + - pyopenssl=24.0.0=pyhd8ed1ab_0 + - pyparsing=3.1.2=pyhd8ed1ab_0 + - pyqt=5.15.9=py39h52134e7_5 + - pyqt5-sip=12.12.2=py39h3d6467e_5 + - pysftp=0.2.9=py_1 + - pysocks=1.7.1=pyha2e5f31_6 + - pytest=8.2.0=pyhd8ed1ab_0 + - python=3.9.19=h0755675_0_cpython + - python-dateutil=2.9.0=pyhd8ed1ab_0 + - python-fastjsonschema=2.19.1=pyhd8ed1ab_0 + - python-irodsclient=2.0.1=pyhd8ed1ab_0 + - python_abi=3.9=4_cp39 + - pytz=2024.1=pyhd8ed1ab_0 + - pyu2f=0.1.5=pyhd8ed1ab_0 + - pyyaml=5.4.1=py39hb9d737c_4 + - qt-main=5.15.8=hc9dc06e_21 + - re2=2023.09.01=h7f4b329_2 + - readline=8.2=h8228510_1 + - referencing=0.35.1=pyhd8ed1ab_0 + - requests=2.31.0=pyhd8ed1ab_0 + - reretry=0.11.8=pyhd8ed1ab_0 + - rich=13.7.1=pyhd8ed1ab_0 + - rpds-py=0.18.0=py39h9fdd4d6_0 + - rsa=4.9=pyhd8ed1ab_0 + - s3transfer=0.10.1=pyhd8ed1ab_0 + - scipy=1.7.1=py39h292c36d_2 + - seaborn=0.11.2=hd8ed1ab_0 + - seaborn-base=0.11.2=pyhd8ed1ab_0 + - setuptools=59.8.0=py39hf3d152e_1 + - sip=6.7.12=py39h3d6467e_0 + - six=1.16.0=pyh6c4a22f_0 + - slacker=0.14.0=py_0 + - smart_open=7.0.4=pyhd8ed1ab_0 + - smmap=5.0.0=pyhd8ed1ab_0 + - snakemake=7.32.4=hdfd78af_1 + - snakemake-minimal=7.32.4=pyhdfd78af_1 + - statsmodels=0.13.5=py39h2ae25f5_2 + - stone=3.3.3=pyhd8ed1ab_0 + - stopit=1.1.2=py_0 + - tabulate=0.9.0=pyhd8ed1ab_1 + - throttler=1.2.2=pyhd8ed1ab_0 + - tk=8.6.13=noxft_h4845f30_101 + - toml=0.10.2=pyhd8ed1ab_0 + - tomli=2.0.1=pyhd8ed1ab_0 + - toposort=1.10=pyhd8ed1ab_0 + - tornado=6.4=py39hd1e30aa_0 + - traitlets=5.14.3=pyhd8ed1ab_0 + - typing-extensions=4.11.0=hd8ed1ab_0 + - typing_extensions=4.11.0=pyha770c72_0 + - tzdata=2024a=h0c530f3_0 + - ubiquerg=0.7.0=pyhd8ed1ab_0 + - uritemplate=4.1.1=pyhd8ed1ab_0 + - urllib3=1.26.18=pyhd8ed1ab_0 + - veracitools=0.1.3=py_0 + - wcwidth=0.2.13=pyhd8ed1ab_0 + - wheel=0.43.0=pyhd8ed1ab_1 + - wrapt=1.16.0=py39hd1e30aa_0 + - xcb-util=0.4.0=hd590300_1 + - xcb-util-image=0.4.0=h8ee46fc_1 + - xcb-util-keysyms=0.4.0=h8ee46fc_1 + - xcb-util-renderutil=0.3.9=hd590300_1 + - xcb-util-wm=0.4.1=h8ee46fc_1 + - xkeyboard-config=2.41=hd590300_0 + - xlrd=2.0.1=pyhd8ed1ab_3 + - xorg-kbproto=1.0.7=h7f98852_1002 + - xorg-libice=1.1.1=hd590300_0 + - xorg-libsm=1.2.4=h7391055_0 + - xorg-libx11=1.8.9=h8ee46fc_0 + - xorg-libxau=1.0.11=hd590300_0 + - xorg-libxdmcp=1.1.3=h7f98852_0 + - xorg-libxext=1.3.4=h0b41bf4_2 + - xorg-libxrender=0.9.11=hd590300_0 + - xorg-renderproto=0.11.1=h7f98852_1002 + - xorg-xextproto=7.3.0=h0b41bf4_1003 + - xorg-xf86vidmodeproto=2.3.1=h7f98852_1002 + - xorg-xproto=7.0.31=h7f98852_1007 + - xz=5.2.6=h166bdaf_0 + - yaml=0.2.5=h7f98852_2 + - yarl=1.9.4=py39hd1e30aa_0 + - yte=1.5.4=pyha770c72_0 + - zipp=3.17.0=pyhd8ed1ab_0 + - zlib=1.2.13=hd590300_5 + - zstd=1.5.6=ha6fb4c9_0 - pip: - - appdirs==1.4.3 - - attrs==19.1.0 - - configargparse==0.14.0 - - datrie==0.7.1 - - dicthash==0.0.2 - - future==0.16.0 - - gitdb2==2.0.5 - - gitpython==2.1.11 - - jsonschema==3.0.1 - - neo==0.6.1 - - pyrsistent==0.15.2 - - python-louvain==0.14 - - quantities==0.12.2 - - ratelimiter==1.2.0.post0 - - smmap2==2.0.5 - - snakemake==5.5.2 - - wrapt==1.11.2 - + - dicthash==0.0.2 + - future==1.0.0 + - pynest==nest-2.20.2 + - topology==nest-2.20.2 \ No newline at end of file