From 720d16fcc0e7be00d70306aff36eb48e75f7f389 Mon Sep 17 00:00:00 2001
From: Adam Fekete <adam.fekete@kcl.ac.uk>
Date: Sun, 19 Jan 2020 04:22:06 +0000
Subject: [PATCH] new structure

---
 notebook/.dockerignore => .dockerignore       |    0
 .gitmodules                                   |   14 +-
 {notebook => 3rdparty}/condor                 |    0
 {notebook => 3rdparty}/gap-py2/LICENSE.md     |    0
 {notebook => 3rdparty}/gap-py2/Makefile       |    0
 {notebook => 3rdparty}/gap-py2/clustering.f95 |    0
 .../gap-py2/descriptors.f95                   |    0
 .../gap-py2/descriptors_wrapper.f95           |    0
 {notebook => 3rdparty}/gap-py2/error.inc      |    0
 {notebook => 3rdparty}/gap-py2/gap_fit.f95    |    0
 .../gap-py2/gap_fit_module.f95                |    0
 {notebook => 3rdparty}/gap-py2/gapversion     |    0
 {notebook => 3rdparty}/gap-py2/gp_fit.f95     |    0
 {notebook => 3rdparty}/gap-py2/gp_predict.f95 |    0
 .../gap-py2/make_permutations_v2.f95          |    0
 {notebook => 3rdparty}/gap-py2/teach_sparse   |    0
 {notebook => 3rdparty}/gap/.gitignore         |    0
 {notebook => 3rdparty}/gap/LICENSE.md         |    0
 {notebook => 3rdparty}/gap/Makefile           |    0
 {notebook => 3rdparty}/gap/clustering.f95     |    0
 {notebook => 3rdparty}/gap/descriptors.f95    |    0
 .../gap/descriptors_wrapper.f95               |    0
 {notebook => 3rdparty}/gap/doc/Makefile       |    0
 {notebook => 3rdparty}/gap/doc/conf.py        |    0
 {notebook => 3rdparty}/gap/doc/gap_fit.rst    |    0
 .../gap/doc/gap_fitting_tutorial.ipynb        |    0
 {notebook => 3rdparty}/gap/doc/index.rst      |    0
 {notebook => 3rdparty}/gap/doc/modcontents.py |    0
 .../gap/doc/quippy-descriptor-tutorial.ipynb  |    0
 {notebook => 3rdparty}/gap/doc/tutorials.rst  |    0
 {notebook => 3rdparty}/gap/error.inc          |    0
 {notebook => 3rdparty}/gap/gap_fit.f95        |    0
 {notebook => 3rdparty}/gap/gap_fit_module.f95 |    0
 {notebook => 3rdparty}/gap/gapversion         |    0
 {notebook => 3rdparty}/gap/gp_fit.f95         |    0
 {notebook => 3rdparty}/gap/gp_predict.f95     |    0
 .../gap/make_permutations_v2.f95              |    0
 {notebook => 3rdparty}/gap/teach_sparse       |    0
 {notebook => 3rdparty}/libspimage             |    0
 {notebook => 3rdparty}/nfft                   |    0
 .../nomad_sim_pks/nomad_sim/.gitignore        |    0
 .../nomad_sim_pks/nomad_sim/__init__.py       |    0
 .../nomad_sim_pks/nomad_sim/cconvert.pyx      |    0
 .../nomad_pks/nomad_sim_pks/nomad_sim/cnn.py  |    0
 .../nomad_sim/cnn_preprocessing.py            |    0
 .../nomad_sim_pks/nomad_sim/config.py         |    0
 .../nomad_sim/config_beaker.json              |    0
 .../nomad_sim/config_local_angelo.json        |    0
 .../nomad_sim/config_local_emre.json          |    0
 .../nomad_sim_pks/nomad_sim/convert.py        |    0
 .../nomad_sim/deconv_resp_maps.py             |    0
 .../nomad_sim_pks/nomad_sim/descriptors.py    |    0
 .../nomad_sim_pks/nomad_sim/example_numpy.py  |    0
 .../nomad_sim/gen_similarity_matrix.py        |    0
 .../nomad_sim/get_confusion_matrix.py         |    0
 .../nomad_sim/keras_autoencoder.py            |    0
 .../nomad_sim_pks/nomad_sim/l1_l0.py          |    0
 .../nomad_sim_pks/nomad_sim/model_cnn.py      |    0
 .../nomad_sim/nomad_structures.py             |    0
 .../nomad_sim/nomad_structures_hdf5.py        |    0
 .../nomad_sim_pks/nomad_sim/nomad_viewer.css  |    0
 .../nomad_sim/patch_names_rs_zb.py            |    0
 .../nomad_pks/nomad_sim_pks/nomad_sim/sis.py  |    0
 .../nomad_sim_pks/nomad_sim/soap_kernel.py    |    0
 .../nomad_sim_pks/nomad_sim/soap_model.py     |    0
 .../nomad_sim_pks/nomad_sim/ssh_code.py       |    0
 .../nomad_sim/structure_retrieval.py          |    0
 .../nomad_sim/structure_types.py              |    0
 .../nomad_sim_pks/nomad_sim/tensorflowvisu.py |    0
 .../nomad_sim/tensorflowvisu_digits.py        |    0
 .../nomad_sim_pks/nomad_sim/tf_autoencoder.py |    0
 .../nomad_sim_pks/nomad_sim/utils_binaries.py |    0
 .../utils_classify_by_norm_wyckoff.py         |    0
 .../nomad_sim_pks/nomad_sim/utils_crystals.py |    0
 .../nomad_sim/utils_data_retrieval.py         |    0
 .../nomad_sim_pks/nomad_sim/utils_mp.py       |    0
 .../nomad_sim_pks/nomad_sim/utils_parsing.py  |    0
 .../nomad_sim_pks/nomad_sim/utils_plotting.py |    0
 .../nomad_sim/utils_prototypes.py             |    0
 .../nomad_sim_pks/nomad_sim/viewer.py         |    0
 .../nomad_sim_pks/nomad_sim/wrappers.py       |    0
 .../nomad_pks/nomad_sim_pks/requirements.txt  |    0
 .../nomad_pks/nomad_sim_pks/setup.py          |    0
 .../nomadcore/ActivateLogging.py              |    0
 .../nomadcore_pks/nomadcore/__init__.py       |    0
 .../nomadcore_pks/nomadcore/annotator.py      |    0
 .../nomadcore_pks/nomadcore/archive.py        |    0
 .../nomadcore_pks/nomadcore/atoms2nomad.py    |    0
 .../nomadcore_pks/nomadcore/baseclasses.py    |    0
 .../nomadcore/basic_meta_info.py              |    0
 .../nomadcore/caching_backend.py              |    0
 .../nomadcore_pks/nomadcore/compact_sha.py    |    0
 .../nomadcore/configurationreading.py         |    0
 .../nomadcore/coordinate_reader.py            |    0
 .../nomadcore_pks/nomadcore/csvparsing.py     |    0
 .../nomadcore_pks/nomadcore/cube_reader.py    |    0
 .../nomadcore_pks/nomadcore/elements.py       |    0
 .../nomadcore_pks/nomadcore/json_support.py   |    0
 .../nomadcore_pks/nomadcore/local_backend.py  |    0
 .../nomadcore/local_meta_info.py              |    0
 .../nomadcore/match_highlighter.py            |    0
 .../md_data_access/GromosTopoObjects.py       |    0
 .../nomadcore/md_data_access/LICENSE          |    0
 .../nomadcore/md_data_access/MDDataAccess.py  |    0
 .../nomadcore/md_data_access/__init__.py      |    0
 .../nomadcore/md_data_access/test/1CRN.cif    |    0
 .../nomadcore/md_data_access/test/1blu.mmtf   |  Bin
 .../nomadcore/md_data_access/test/1blu.pdb    |    0
 .../nomadcore/md_data_access/test/1crn.ply    |    0
 .../nomadcore/md_data_access/test/1lee.ccp4   |  Bin
 .../md_data_access/test/3pqr-pot.dxbin        |  Bin
 .../nomadcore/md_data_access/test/3pqr.cns    |    0
 .../nomadcore/md_data_access/test/3pqr.pqr    |    0
 .../md_data_access/test/3pqr_validation.xml   |    0
 .../nomadcore/md_data_access/test/DPDP.nc     |  Bin
 .../nomadcore/md_data_access/test/DPDP.parm7  |    0
 .../nomadcore/md_data_access/test/DPDP.pdb    |    0
 .../nomadcore/md_data_access/test/LICENSE     |    0
 .../nomadcore/md_data_access/test/README.md   |    0
 .../md_data_access/test/adrenalin.mol2        |    0
 .../md_data_access/test/adrenalin.sdf         |    0
 .../nomadcore/md_data_access/test/ala3.dcd    |  Bin
 .../nomadcore/md_data_access/test/ala3.pdb    |    0
 .../nomadcore/md_data_access/test/ala3.psf    |    0
 .../nomadcore/md_data_access/test/betaGal.mrc |  Bin
 .../nomadcore/md_data_access/test/esp.dx      |    0
 .../nomadcore/md_data_access/test/esp.mol     |    0
 .../nomadcore/md_data_access/test/md.gro      |    0
 .../nomadcore/md_data_access/test/md.pdb      |    0
 .../nomadcore/md_data_access/test/md.trr      |  Bin
 .../nomadcore/md_data_access/test/md.xtc      |  Bin
 .../nomadcore/md_data_access/test/md_1u19.gro |    0
 .../md_data_access/test/md_1u19.part0001.xtc  |  Bin
 .../md_data_access/test/md_1u19.part0002.xtc  |  Bin
 .../md_data_access/test/md_1u19.part0003.xtc  |  Bin
 .../nomadcore/md_data_access/test/md_1u19.xtc |  Bin
 .../md_data_access/test/md_ascii_trj.gro      |    0
 .../md_data_access/test/md_ascii_trj.pdb      |    0
 .../nomadcore/metainfo_storage/MetaData.txt   |    0
 .../metainfo_storage/MetaInfoStorage.py       |    0
 .../nomadcore/metainfo_storage/__init__.py    |    0
 .../nomadcore_pks/nomadcore/model_archive.py  |    0
 .../nomadcore_pks/nomadcore/model_base.py     |    0
 .../nomadcore/model_meta_info.py              |    0
 .../nomadcore_pks/nomadcore/nomad_query.py    |    0
 .../nomadcore/parse_streamed_dicts.py         |    0
 .../nomadcore_pks/nomadcore/parser_backend.py |    0
 .../nomadcore_pks/nomadcore/simple_parser.py  |    0
 .../smart_parser/SmartParserCommon.py         |    0
 .../smart_parser/SmartParserDictionary.py     |    0
 .../nomadcore/smart_parser/__init__.py        |    0
 .../nomadcore/structure_types.py              |    0
 .../nomadcore/unit_conversion/__init__.py     |    0
 .../nomadcore/unit_conversion/constants.txt   |    0
 .../unit_conversion/unit_conversion.py        |    0
 .../nomadcore/unit_conversion/units.txt       |    0
 .../nomadcore_pks/nomadcore/utils.py          |    0
 .../nomad_pks/nomadcore_pks/requirements.txt  |    0
 .../nomad_pks/nomadcore_pks/setup.py          |    0
 {notebook => 3rdparty}/quip                   |    0
 {notebook => 3rdparty}/quip-py2               |    0
 {notebook => 3rdparty}/sketchmap              |    0
 {notebook => 3rdparty}/spsim                  |    0
 notebook/Dockerfile => Dockerfile             |    0
 {notebook/files => files}/GAP_VERSION         |    0
 {notebook/files => files}/GAP_VERSION-py2     |    0
 {notebook/files => files}/GIT_VERSION         |    0
 {notebook/files => files}/GIT_VERSION-py2     |    0
 {notebook/files => files}/Makefile-py2.inc    |    0
 {notebook/files => files}/Makefile.inc        |    0
 jupyterhub/config.yml                         |  130 --
 tools/metainfo/demo_0.json                    |   50 -
 tools/metainfo/demo_1.json                    |   58 -
 tools/metainfo/demo_10.json                   |   59 -
 tools/metainfo/demo_11.json                   |   36 -
 tools/metainfo/demo_12.json                   |   37 -
 tools/metainfo/demo_13.json                   |   42 -
 tools/metainfo/demo_14.json                   |   41 -
 tools/metainfo/demo_15.json                   |   42 -
 tools/metainfo/demo_16.json                   |   57 -
 tools/metainfo/demo_17.json                   |   55 -
 tools/metainfo/demo_18.json                   |   54 -
 tools/metainfo/demo_19.json                   |   50 -
 tools/metainfo/demo_2.json                    |   36 -
 tools/metainfo/demo_20.json                   |   43 -
 tools/metainfo/demo_3.json                    |   42 -
 tools/metainfo/demo_4.json                    |   51 -
 tools/metainfo/demo_5.json                    |   39 -
 tools/metainfo/demo_6.json                    |   48 -
 tools/metainfo/demo_7.json                    |   39 -
 tools/metainfo/demo_8.json                    |   36 -
 tools/metainfo/demo_9.json                    |   52 -
 tools/metainfo/demos.json                     | 1055 -----------------
 tools/read_metainfos.py                       |   16 -
 tools/split_metainfos.py                      |    9 -
 195 files changed, 7 insertions(+), 2184 deletions(-)
 rename notebook/.dockerignore => .dockerignore (100%)
 rename {notebook => 3rdparty}/condor (100%)
 rename {notebook => 3rdparty}/gap-py2/LICENSE.md (100%)
 rename {notebook => 3rdparty}/gap-py2/Makefile (100%)
 rename {notebook => 3rdparty}/gap-py2/clustering.f95 (100%)
 rename {notebook => 3rdparty}/gap-py2/descriptors.f95 (100%)
 rename {notebook => 3rdparty}/gap-py2/descriptors_wrapper.f95 (100%)
 rename {notebook => 3rdparty}/gap-py2/error.inc (100%)
 rename {notebook => 3rdparty}/gap-py2/gap_fit.f95 (100%)
 rename {notebook => 3rdparty}/gap-py2/gap_fit_module.f95 (100%)
 rename {notebook => 3rdparty}/gap-py2/gapversion (100%)
 rename {notebook => 3rdparty}/gap-py2/gp_fit.f95 (100%)
 rename {notebook => 3rdparty}/gap-py2/gp_predict.f95 (100%)
 rename {notebook => 3rdparty}/gap-py2/make_permutations_v2.f95 (100%)
 rename {notebook => 3rdparty}/gap-py2/teach_sparse (100%)
 rename {notebook => 3rdparty}/gap/.gitignore (100%)
 rename {notebook => 3rdparty}/gap/LICENSE.md (100%)
 rename {notebook => 3rdparty}/gap/Makefile (100%)
 rename {notebook => 3rdparty}/gap/clustering.f95 (100%)
 rename {notebook => 3rdparty}/gap/descriptors.f95 (100%)
 rename {notebook => 3rdparty}/gap/descriptors_wrapper.f95 (100%)
 rename {notebook => 3rdparty}/gap/doc/Makefile (100%)
 rename {notebook => 3rdparty}/gap/doc/conf.py (100%)
 rename {notebook => 3rdparty}/gap/doc/gap_fit.rst (100%)
 rename {notebook => 3rdparty}/gap/doc/gap_fitting_tutorial.ipynb (100%)
 rename {notebook => 3rdparty}/gap/doc/index.rst (100%)
 rename {notebook => 3rdparty}/gap/doc/modcontents.py (100%)
 rename {notebook => 3rdparty}/gap/doc/quippy-descriptor-tutorial.ipynb (100%)
 rename {notebook => 3rdparty}/gap/doc/tutorials.rst (100%)
 rename {notebook => 3rdparty}/gap/error.inc (100%)
 rename {notebook => 3rdparty}/gap/gap_fit.f95 (100%)
 rename {notebook => 3rdparty}/gap/gap_fit_module.f95 (100%)
 rename {notebook => 3rdparty}/gap/gapversion (100%)
 rename {notebook => 3rdparty}/gap/gp_fit.f95 (100%)
 rename {notebook => 3rdparty}/gap/gp_predict.f95 (100%)
 rename {notebook => 3rdparty}/gap/make_permutations_v2.f95 (100%)
 rename {notebook => 3rdparty}/gap/teach_sparse (100%)
 rename {notebook => 3rdparty}/libspimage (100%)
 rename {notebook => 3rdparty}/nfft (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/.gitignore (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/__init__.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/cconvert.pyx (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/cnn.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/cnn_preprocessing.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/config.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/config_beaker.json (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/config_local_angelo.json (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/config_local_emre.json (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/convert.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/deconv_resp_maps.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/descriptors.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/example_numpy.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/gen_similarity_matrix.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/get_confusion_matrix.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/keras_autoencoder.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/l1_l0.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/model_cnn.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/nomad_structures.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/nomad_structures_hdf5.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/nomad_viewer.css (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/patch_names_rs_zb.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/sis.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/soap_kernel.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/soap_model.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/ssh_code.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/structure_retrieval.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/structure_types.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/tensorflowvisu.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/tensorflowvisu_digits.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/tf_autoencoder.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/utils_binaries.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/utils_classify_by_norm_wyckoff.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/utils_crystals.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/utils_data_retrieval.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/utils_mp.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/utils_parsing.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/utils_plotting.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/utils_prototypes.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/viewer.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/nomad_sim/wrappers.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/requirements.txt (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomad_sim_pks/setup.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/ActivateLogging.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/__init__.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/annotator.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/archive.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/atoms2nomad.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/baseclasses.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/basic_meta_info.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/caching_backend.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/compact_sha.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/configurationreading.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/coordinate_reader.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/csvparsing.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/cube_reader.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/elements.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/json_support.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/local_backend.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/local_meta_info.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/match_highlighter.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/GromosTopoObjects.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/LICENSE (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/MDDataAccess.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/__init__.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1CRN.cif (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1blu.mmtf (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1blu.pdb (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1crn.ply (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1lee.ccp4 (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/3pqr-pot.dxbin (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/3pqr.cns (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/3pqr.pqr (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/3pqr_validation.xml (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/DPDP.nc (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/DPDP.parm7 (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/DPDP.pdb (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/LICENSE (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/README.md (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/adrenalin.mol2 (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/adrenalin.sdf (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/ala3.dcd (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/ala3.pdb (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/ala3.psf (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/betaGal.mrc (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/esp.dx (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/esp.mol (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md.gro (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md.pdb (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md.trr (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md.xtc (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.gro (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.part0001.xtc (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.part0002.xtc (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.part0003.xtc (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.xtc (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_ascii_trj.gro (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_ascii_trj.pdb (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/metainfo_storage/MetaData.txt (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/metainfo_storage/MetaInfoStorage.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/metainfo_storage/__init__.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/model_archive.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/model_base.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/model_meta_info.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/nomad_query.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/parse_streamed_dicts.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/parser_backend.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/simple_parser.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/smart_parser/SmartParserCommon.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/smart_parser/SmartParserDictionary.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/smart_parser/__init__.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/structure_types.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/unit_conversion/__init__.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/unit_conversion/constants.txt (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/unit_conversion/unit_conversion.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/unit_conversion/units.txt (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/nomadcore/utils.py (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/requirements.txt (100%)
 rename {notebook => 3rdparty}/nomad_pks/nomadcore_pks/setup.py (100%)
 rename {notebook => 3rdparty}/quip (100%)
 rename {notebook => 3rdparty}/quip-py2 (100%)
 rename {notebook => 3rdparty}/sketchmap (100%)
 rename {notebook => 3rdparty}/spsim (100%)
 rename notebook/Dockerfile => Dockerfile (100%)
 rename {notebook/files => files}/GAP_VERSION (100%)
 rename {notebook/files => files}/GAP_VERSION-py2 (100%)
 rename {notebook/files => files}/GIT_VERSION (100%)
 rename {notebook/files => files}/GIT_VERSION-py2 (100%)
 rename {notebook/files => files}/Makefile-py2.inc (100%)
 rename {notebook/files => files}/Makefile.inc (100%)
 delete mode 100644 jupyterhub/config.yml
 delete mode 100644 tools/metainfo/demo_0.json
 delete mode 100644 tools/metainfo/demo_1.json
 delete mode 100644 tools/metainfo/demo_10.json
 delete mode 100644 tools/metainfo/demo_11.json
 delete mode 100644 tools/metainfo/demo_12.json
 delete mode 100644 tools/metainfo/demo_13.json
 delete mode 100644 tools/metainfo/demo_14.json
 delete mode 100644 tools/metainfo/demo_15.json
 delete mode 100644 tools/metainfo/demo_16.json
 delete mode 100644 tools/metainfo/demo_17.json
 delete mode 100644 tools/metainfo/demo_18.json
 delete mode 100644 tools/metainfo/demo_19.json
 delete mode 100644 tools/metainfo/demo_2.json
 delete mode 100644 tools/metainfo/demo_20.json
 delete mode 100644 tools/metainfo/demo_3.json
 delete mode 100644 tools/metainfo/demo_4.json
 delete mode 100644 tools/metainfo/demo_5.json
 delete mode 100644 tools/metainfo/demo_6.json
 delete mode 100644 tools/metainfo/demo_7.json
 delete mode 100644 tools/metainfo/demo_8.json
 delete mode 100644 tools/metainfo/demo_9.json
 delete mode 100644 tools/metainfo/demos.json
 delete mode 100644 tools/read_metainfos.py
 delete mode 100644 tools/split_metainfos.py

diff --git a/notebook/.dockerignore b/.dockerignore
similarity index 100%
rename from notebook/.dockerignore
rename to .dockerignore
diff --git a/.gitmodules b/.gitmodules
index 3ec9ad91..263fc2cc 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -26,25 +26,25 @@
 	path = tutorials/soap-atomic-charges
 	url = https://gitlab.mpcdf.mpg.de/nomad-lab/analytics-soap-atomic-charges.git
 [submodule "notebook/quip"]
-	path = notebook/quip
+	path = 3rdparty/quip
 	url = https://github.com/libAtoms/QUIP.git
 [submodule "notebook/quip-py2"]
-	path = notebook/quip-py2
+	path = 3rdparty/quip-py2
 	url = https://github.com/libAtoms/QUIP.git
 [submodule "notebook/sketchmap"]
-	path = notebook/sketchmap
+	path = 3rdparty/sketchmap
 	url = https://github.com/cosmo-epfl/sketchmap.git
 [submodule "notebook/nfft"]
-	path = notebook/nfft
+	path = 3rdparty/nfft
 	url = https://github.com/NFFT/nfft.git
 [submodule "notebook/condor"]
-	path = notebook/condor
+	path = 3rdparty/condor
 	url = https://github.com/FXIhub/condor.git
 [submodule "notebook/libspimage"]
-	path = notebook/libspimage
+	path = 3rdparty/libspimage
 	url = https://github.com/FXIhub/libspimage.git
 [submodule "notebook/spsim"]
-	path = notebook/spsim
+	path = 3rdparty/spsim
 	url = https://github.com/FXIhub/spsim.git
 [submodule "tutorials/band-structure-visualization"]
 	path = tutorials/band-structure-visualization
diff --git a/notebook/condor b/3rdparty/condor
similarity index 100%
rename from notebook/condor
rename to 3rdparty/condor
diff --git a/notebook/gap-py2/LICENSE.md b/3rdparty/gap-py2/LICENSE.md
similarity index 100%
rename from notebook/gap-py2/LICENSE.md
rename to 3rdparty/gap-py2/LICENSE.md
diff --git a/notebook/gap-py2/Makefile b/3rdparty/gap-py2/Makefile
similarity index 100%
rename from notebook/gap-py2/Makefile
rename to 3rdparty/gap-py2/Makefile
diff --git a/notebook/gap-py2/clustering.f95 b/3rdparty/gap-py2/clustering.f95
similarity index 100%
rename from notebook/gap-py2/clustering.f95
rename to 3rdparty/gap-py2/clustering.f95
diff --git a/notebook/gap-py2/descriptors.f95 b/3rdparty/gap-py2/descriptors.f95
similarity index 100%
rename from notebook/gap-py2/descriptors.f95
rename to 3rdparty/gap-py2/descriptors.f95
diff --git a/notebook/gap-py2/descriptors_wrapper.f95 b/3rdparty/gap-py2/descriptors_wrapper.f95
similarity index 100%
rename from notebook/gap-py2/descriptors_wrapper.f95
rename to 3rdparty/gap-py2/descriptors_wrapper.f95
diff --git a/notebook/gap-py2/error.inc b/3rdparty/gap-py2/error.inc
similarity index 100%
rename from notebook/gap-py2/error.inc
rename to 3rdparty/gap-py2/error.inc
diff --git a/notebook/gap-py2/gap_fit.f95 b/3rdparty/gap-py2/gap_fit.f95
similarity index 100%
rename from notebook/gap-py2/gap_fit.f95
rename to 3rdparty/gap-py2/gap_fit.f95
diff --git a/notebook/gap-py2/gap_fit_module.f95 b/3rdparty/gap-py2/gap_fit_module.f95
similarity index 100%
rename from notebook/gap-py2/gap_fit_module.f95
rename to 3rdparty/gap-py2/gap_fit_module.f95
diff --git a/notebook/gap-py2/gapversion b/3rdparty/gap-py2/gapversion
similarity index 100%
rename from notebook/gap-py2/gapversion
rename to 3rdparty/gap-py2/gapversion
diff --git a/notebook/gap-py2/gp_fit.f95 b/3rdparty/gap-py2/gp_fit.f95
similarity index 100%
rename from notebook/gap-py2/gp_fit.f95
rename to 3rdparty/gap-py2/gp_fit.f95
diff --git a/notebook/gap-py2/gp_predict.f95 b/3rdparty/gap-py2/gp_predict.f95
similarity index 100%
rename from notebook/gap-py2/gp_predict.f95
rename to 3rdparty/gap-py2/gp_predict.f95
diff --git a/notebook/gap-py2/make_permutations_v2.f95 b/3rdparty/gap-py2/make_permutations_v2.f95
similarity index 100%
rename from notebook/gap-py2/make_permutations_v2.f95
rename to 3rdparty/gap-py2/make_permutations_v2.f95
diff --git a/notebook/gap-py2/teach_sparse b/3rdparty/gap-py2/teach_sparse
similarity index 100%
rename from notebook/gap-py2/teach_sparse
rename to 3rdparty/gap-py2/teach_sparse
diff --git a/notebook/gap/.gitignore b/3rdparty/gap/.gitignore
similarity index 100%
rename from notebook/gap/.gitignore
rename to 3rdparty/gap/.gitignore
diff --git a/notebook/gap/LICENSE.md b/3rdparty/gap/LICENSE.md
similarity index 100%
rename from notebook/gap/LICENSE.md
rename to 3rdparty/gap/LICENSE.md
diff --git a/notebook/gap/Makefile b/3rdparty/gap/Makefile
similarity index 100%
rename from notebook/gap/Makefile
rename to 3rdparty/gap/Makefile
diff --git a/notebook/gap/clustering.f95 b/3rdparty/gap/clustering.f95
similarity index 100%
rename from notebook/gap/clustering.f95
rename to 3rdparty/gap/clustering.f95
diff --git a/notebook/gap/descriptors.f95 b/3rdparty/gap/descriptors.f95
similarity index 100%
rename from notebook/gap/descriptors.f95
rename to 3rdparty/gap/descriptors.f95
diff --git a/notebook/gap/descriptors_wrapper.f95 b/3rdparty/gap/descriptors_wrapper.f95
similarity index 100%
rename from notebook/gap/descriptors_wrapper.f95
rename to 3rdparty/gap/descriptors_wrapper.f95
diff --git a/notebook/gap/doc/Makefile b/3rdparty/gap/doc/Makefile
similarity index 100%
rename from notebook/gap/doc/Makefile
rename to 3rdparty/gap/doc/Makefile
diff --git a/notebook/gap/doc/conf.py b/3rdparty/gap/doc/conf.py
similarity index 100%
rename from notebook/gap/doc/conf.py
rename to 3rdparty/gap/doc/conf.py
diff --git a/notebook/gap/doc/gap_fit.rst b/3rdparty/gap/doc/gap_fit.rst
similarity index 100%
rename from notebook/gap/doc/gap_fit.rst
rename to 3rdparty/gap/doc/gap_fit.rst
diff --git a/notebook/gap/doc/gap_fitting_tutorial.ipynb b/3rdparty/gap/doc/gap_fitting_tutorial.ipynb
similarity index 100%
rename from notebook/gap/doc/gap_fitting_tutorial.ipynb
rename to 3rdparty/gap/doc/gap_fitting_tutorial.ipynb
diff --git a/notebook/gap/doc/index.rst b/3rdparty/gap/doc/index.rst
similarity index 100%
rename from notebook/gap/doc/index.rst
rename to 3rdparty/gap/doc/index.rst
diff --git a/notebook/gap/doc/modcontents.py b/3rdparty/gap/doc/modcontents.py
similarity index 100%
rename from notebook/gap/doc/modcontents.py
rename to 3rdparty/gap/doc/modcontents.py
diff --git a/notebook/gap/doc/quippy-descriptor-tutorial.ipynb b/3rdparty/gap/doc/quippy-descriptor-tutorial.ipynb
similarity index 100%
rename from notebook/gap/doc/quippy-descriptor-tutorial.ipynb
rename to 3rdparty/gap/doc/quippy-descriptor-tutorial.ipynb
diff --git a/notebook/gap/doc/tutorials.rst b/3rdparty/gap/doc/tutorials.rst
similarity index 100%
rename from notebook/gap/doc/tutorials.rst
rename to 3rdparty/gap/doc/tutorials.rst
diff --git a/notebook/gap/error.inc b/3rdparty/gap/error.inc
similarity index 100%
rename from notebook/gap/error.inc
rename to 3rdparty/gap/error.inc
diff --git a/notebook/gap/gap_fit.f95 b/3rdparty/gap/gap_fit.f95
similarity index 100%
rename from notebook/gap/gap_fit.f95
rename to 3rdparty/gap/gap_fit.f95
diff --git a/notebook/gap/gap_fit_module.f95 b/3rdparty/gap/gap_fit_module.f95
similarity index 100%
rename from notebook/gap/gap_fit_module.f95
rename to 3rdparty/gap/gap_fit_module.f95
diff --git a/notebook/gap/gapversion b/3rdparty/gap/gapversion
similarity index 100%
rename from notebook/gap/gapversion
rename to 3rdparty/gap/gapversion
diff --git a/notebook/gap/gp_fit.f95 b/3rdparty/gap/gp_fit.f95
similarity index 100%
rename from notebook/gap/gp_fit.f95
rename to 3rdparty/gap/gp_fit.f95
diff --git a/notebook/gap/gp_predict.f95 b/3rdparty/gap/gp_predict.f95
similarity index 100%
rename from notebook/gap/gp_predict.f95
rename to 3rdparty/gap/gp_predict.f95
diff --git a/notebook/gap/make_permutations_v2.f95 b/3rdparty/gap/make_permutations_v2.f95
similarity index 100%
rename from notebook/gap/make_permutations_v2.f95
rename to 3rdparty/gap/make_permutations_v2.f95
diff --git a/notebook/gap/teach_sparse b/3rdparty/gap/teach_sparse
similarity index 100%
rename from notebook/gap/teach_sparse
rename to 3rdparty/gap/teach_sparse
diff --git a/notebook/libspimage b/3rdparty/libspimage
similarity index 100%
rename from notebook/libspimage
rename to 3rdparty/libspimage
diff --git a/notebook/nfft b/3rdparty/nfft
similarity index 100%
rename from notebook/nfft
rename to 3rdparty/nfft
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/.gitignore b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/.gitignore
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/.gitignore
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/.gitignore
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/__init__.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/__init__.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/__init__.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/__init__.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/cconvert.pyx b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/cconvert.pyx
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/cconvert.pyx
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/cconvert.pyx
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/cnn.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/cnn.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/cnn.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/cnn.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/cnn_preprocessing.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/cnn_preprocessing.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/cnn_preprocessing.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/cnn_preprocessing.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/config.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/config.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/config.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/config.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/config_beaker.json b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/config_beaker.json
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/config_beaker.json
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/config_beaker.json
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/config_local_angelo.json b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/config_local_angelo.json
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/config_local_angelo.json
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/config_local_angelo.json
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/config_local_emre.json b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/config_local_emre.json
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/config_local_emre.json
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/config_local_emre.json
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/convert.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/convert.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/convert.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/convert.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/deconv_resp_maps.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/deconv_resp_maps.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/deconv_resp_maps.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/deconv_resp_maps.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/descriptors.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/descriptors.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/descriptors.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/descriptors.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/example_numpy.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/example_numpy.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/example_numpy.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/example_numpy.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/gen_similarity_matrix.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/gen_similarity_matrix.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/gen_similarity_matrix.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/gen_similarity_matrix.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/get_confusion_matrix.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/get_confusion_matrix.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/get_confusion_matrix.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/get_confusion_matrix.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/keras_autoencoder.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/keras_autoencoder.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/keras_autoencoder.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/keras_autoencoder.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/l1_l0.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/l1_l0.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/l1_l0.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/l1_l0.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/model_cnn.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/model_cnn.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/model_cnn.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/model_cnn.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/nomad_structures.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/nomad_structures.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/nomad_structures.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/nomad_structures.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/nomad_structures_hdf5.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/nomad_structures_hdf5.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/nomad_structures_hdf5.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/nomad_structures_hdf5.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/nomad_viewer.css b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/nomad_viewer.css
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/nomad_viewer.css
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/nomad_viewer.css
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/patch_names_rs_zb.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/patch_names_rs_zb.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/patch_names_rs_zb.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/patch_names_rs_zb.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/sis.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/sis.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/sis.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/sis.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/soap_kernel.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/soap_kernel.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/soap_kernel.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/soap_kernel.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/soap_model.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/soap_model.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/soap_model.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/soap_model.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/ssh_code.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/ssh_code.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/ssh_code.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/ssh_code.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/structure_retrieval.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/structure_retrieval.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/structure_retrieval.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/structure_retrieval.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/structure_types.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/structure_types.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/structure_types.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/structure_types.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/tensorflowvisu.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/tensorflowvisu.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/tensorflowvisu.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/tensorflowvisu.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/tensorflowvisu_digits.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/tensorflowvisu_digits.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/tensorflowvisu_digits.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/tensorflowvisu_digits.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/tf_autoencoder.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/tf_autoencoder.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/tf_autoencoder.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/tf_autoencoder.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/utils_binaries.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/utils_binaries.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/utils_binaries.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/utils_binaries.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/utils_classify_by_norm_wyckoff.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/utils_classify_by_norm_wyckoff.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/utils_classify_by_norm_wyckoff.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/utils_classify_by_norm_wyckoff.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/utils_crystals.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/utils_crystals.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/utils_crystals.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/utils_crystals.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/utils_data_retrieval.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/utils_data_retrieval.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/utils_data_retrieval.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/utils_data_retrieval.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/utils_mp.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/utils_mp.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/utils_mp.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/utils_mp.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/utils_parsing.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/utils_parsing.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/utils_parsing.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/utils_parsing.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/utils_plotting.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/utils_plotting.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/utils_plotting.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/utils_plotting.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/utils_prototypes.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/utils_prototypes.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/utils_prototypes.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/utils_prototypes.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/viewer.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/viewer.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/viewer.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/viewer.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/nomad_sim/wrappers.py b/3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/wrappers.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/nomad_sim/wrappers.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/nomad_sim/wrappers.py
diff --git a/notebook/nomad_pks/nomad_sim_pks/requirements.txt b/3rdparty/nomad_pks/nomad_sim_pks/requirements.txt
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/requirements.txt
rename to 3rdparty/nomad_pks/nomad_sim_pks/requirements.txt
diff --git a/notebook/nomad_pks/nomad_sim_pks/setup.py b/3rdparty/nomad_pks/nomad_sim_pks/setup.py
similarity index 100%
rename from notebook/nomad_pks/nomad_sim_pks/setup.py
rename to 3rdparty/nomad_pks/nomad_sim_pks/setup.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/ActivateLogging.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/ActivateLogging.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/ActivateLogging.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/ActivateLogging.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/__init__.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/__init__.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/__init__.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/__init__.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/annotator.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/annotator.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/annotator.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/annotator.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/archive.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/archive.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/archive.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/archive.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/atoms2nomad.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/atoms2nomad.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/atoms2nomad.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/atoms2nomad.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/baseclasses.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/baseclasses.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/baseclasses.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/baseclasses.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/basic_meta_info.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/basic_meta_info.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/basic_meta_info.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/basic_meta_info.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/caching_backend.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/caching_backend.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/caching_backend.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/caching_backend.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/compact_sha.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/compact_sha.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/compact_sha.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/compact_sha.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/configurationreading.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/configurationreading.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/configurationreading.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/configurationreading.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/coordinate_reader.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/coordinate_reader.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/coordinate_reader.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/coordinate_reader.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/csvparsing.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/csvparsing.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/csvparsing.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/csvparsing.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/cube_reader.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/cube_reader.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/cube_reader.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/cube_reader.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/elements.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/elements.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/elements.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/elements.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/json_support.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/json_support.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/json_support.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/json_support.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/local_backend.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/local_backend.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/local_backend.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/local_backend.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/local_meta_info.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/local_meta_info.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/local_meta_info.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/local_meta_info.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/match_highlighter.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/match_highlighter.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/match_highlighter.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/match_highlighter.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/GromosTopoObjects.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/GromosTopoObjects.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/GromosTopoObjects.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/GromosTopoObjects.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/LICENSE b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/LICENSE
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/LICENSE
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/LICENSE
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/MDDataAccess.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/MDDataAccess.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/MDDataAccess.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/MDDataAccess.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/__init__.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/__init__.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/__init__.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/__init__.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1CRN.cif b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1CRN.cif
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1CRN.cif
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1CRN.cif
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1blu.mmtf b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1blu.mmtf
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1blu.mmtf
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1blu.mmtf
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1blu.pdb b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1blu.pdb
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1blu.pdb
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1blu.pdb
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1crn.ply b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1crn.ply
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1crn.ply
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1crn.ply
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1lee.ccp4 b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1lee.ccp4
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1lee.ccp4
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/1lee.ccp4
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/3pqr-pot.dxbin b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/3pqr-pot.dxbin
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/3pqr-pot.dxbin
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/3pqr-pot.dxbin
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/3pqr.cns b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/3pqr.cns
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/3pqr.cns
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/3pqr.cns
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/3pqr.pqr b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/3pqr.pqr
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/3pqr.pqr
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/3pqr.pqr
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/3pqr_validation.xml b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/3pqr_validation.xml
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/3pqr_validation.xml
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/3pqr_validation.xml
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/DPDP.nc b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/DPDP.nc
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/DPDP.nc
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/DPDP.nc
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/DPDP.parm7 b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/DPDP.parm7
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/DPDP.parm7
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/DPDP.parm7
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/DPDP.pdb b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/DPDP.pdb
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/DPDP.pdb
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/DPDP.pdb
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/LICENSE b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/LICENSE
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/LICENSE
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/LICENSE
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/README.md b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/README.md
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/README.md
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/README.md
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/adrenalin.mol2 b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/adrenalin.mol2
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/adrenalin.mol2
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/adrenalin.mol2
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/adrenalin.sdf b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/adrenalin.sdf
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/adrenalin.sdf
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/adrenalin.sdf
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/ala3.dcd b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/ala3.dcd
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/ala3.dcd
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/ala3.dcd
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/ala3.pdb b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/ala3.pdb
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/ala3.pdb
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/ala3.pdb
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/ala3.psf b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/ala3.psf
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/ala3.psf
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/ala3.psf
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/betaGal.mrc b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/betaGal.mrc
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/betaGal.mrc
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/betaGal.mrc
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/esp.dx b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/esp.dx
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/esp.dx
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/esp.dx
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/esp.mol b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/esp.mol
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/esp.mol
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/esp.mol
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md.gro b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md.gro
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md.gro
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md.gro
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md.pdb b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md.pdb
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md.pdb
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md.pdb
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md.trr b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md.trr
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md.trr
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md.trr
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md.xtc b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md.xtc
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md.xtc
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md.xtc
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.gro b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.gro
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.gro
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.gro
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.part0001.xtc b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.part0001.xtc
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.part0001.xtc
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.part0001.xtc
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.part0002.xtc b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.part0002.xtc
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.part0002.xtc
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.part0002.xtc
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.part0003.xtc b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.part0003.xtc
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.part0003.xtc
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.part0003.xtc
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.xtc b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.xtc
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.xtc
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_1u19.xtc
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_ascii_trj.gro b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_ascii_trj.gro
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_ascii_trj.gro
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_ascii_trj.gro
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_ascii_trj.pdb b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_ascii_trj.pdb
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_ascii_trj.pdb
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/md_data_access/test/md_ascii_trj.pdb
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/metainfo_storage/MetaData.txt b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/metainfo_storage/MetaData.txt
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/metainfo_storage/MetaData.txt
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/metainfo_storage/MetaData.txt
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/metainfo_storage/MetaInfoStorage.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/metainfo_storage/MetaInfoStorage.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/metainfo_storage/MetaInfoStorage.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/metainfo_storage/MetaInfoStorage.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/metainfo_storage/__init__.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/metainfo_storage/__init__.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/metainfo_storage/__init__.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/metainfo_storage/__init__.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/model_archive.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/model_archive.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/model_archive.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/model_archive.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/model_base.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/model_base.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/model_base.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/model_base.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/model_meta_info.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/model_meta_info.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/model_meta_info.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/model_meta_info.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/nomad_query.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/nomad_query.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/nomad_query.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/nomad_query.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/parse_streamed_dicts.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/parse_streamed_dicts.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/parse_streamed_dicts.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/parse_streamed_dicts.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/parser_backend.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/parser_backend.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/parser_backend.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/parser_backend.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/simple_parser.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/simple_parser.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/simple_parser.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/simple_parser.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/smart_parser/SmartParserCommon.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/smart_parser/SmartParserCommon.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/smart_parser/SmartParserCommon.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/smart_parser/SmartParserCommon.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/smart_parser/SmartParserDictionary.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/smart_parser/SmartParserDictionary.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/smart_parser/SmartParserDictionary.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/smart_parser/SmartParserDictionary.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/smart_parser/__init__.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/smart_parser/__init__.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/smart_parser/__init__.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/smart_parser/__init__.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/structure_types.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/structure_types.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/structure_types.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/structure_types.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/unit_conversion/__init__.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/unit_conversion/__init__.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/unit_conversion/__init__.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/unit_conversion/__init__.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/unit_conversion/constants.txt b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/unit_conversion/constants.txt
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/unit_conversion/constants.txt
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/unit_conversion/constants.txt
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/unit_conversion/unit_conversion.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/unit_conversion/unit_conversion.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/unit_conversion/unit_conversion.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/unit_conversion/unit_conversion.py
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/unit_conversion/units.txt b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/unit_conversion/units.txt
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/unit_conversion/units.txt
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/unit_conversion/units.txt
diff --git a/notebook/nomad_pks/nomadcore_pks/nomadcore/utils.py b/3rdparty/nomad_pks/nomadcore_pks/nomadcore/utils.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/nomadcore/utils.py
rename to 3rdparty/nomad_pks/nomadcore_pks/nomadcore/utils.py
diff --git a/notebook/nomad_pks/nomadcore_pks/requirements.txt b/3rdparty/nomad_pks/nomadcore_pks/requirements.txt
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/requirements.txt
rename to 3rdparty/nomad_pks/nomadcore_pks/requirements.txt
diff --git a/notebook/nomad_pks/nomadcore_pks/setup.py b/3rdparty/nomad_pks/nomadcore_pks/setup.py
similarity index 100%
rename from notebook/nomad_pks/nomadcore_pks/setup.py
rename to 3rdparty/nomad_pks/nomadcore_pks/setup.py
diff --git a/notebook/quip b/3rdparty/quip
similarity index 100%
rename from notebook/quip
rename to 3rdparty/quip
diff --git a/notebook/quip-py2 b/3rdparty/quip-py2
similarity index 100%
rename from notebook/quip-py2
rename to 3rdparty/quip-py2
diff --git a/notebook/sketchmap b/3rdparty/sketchmap
similarity index 100%
rename from notebook/sketchmap
rename to 3rdparty/sketchmap
diff --git a/notebook/spsim b/3rdparty/spsim
similarity index 100%
rename from notebook/spsim
rename to 3rdparty/spsim
diff --git a/notebook/Dockerfile b/Dockerfile
similarity index 100%
rename from notebook/Dockerfile
rename to Dockerfile
diff --git a/notebook/files/GAP_VERSION b/files/GAP_VERSION
similarity index 100%
rename from notebook/files/GAP_VERSION
rename to files/GAP_VERSION
diff --git a/notebook/files/GAP_VERSION-py2 b/files/GAP_VERSION-py2
similarity index 100%
rename from notebook/files/GAP_VERSION-py2
rename to files/GAP_VERSION-py2
diff --git a/notebook/files/GIT_VERSION b/files/GIT_VERSION
similarity index 100%
rename from notebook/files/GIT_VERSION
rename to files/GIT_VERSION
diff --git a/notebook/files/GIT_VERSION-py2 b/files/GIT_VERSION-py2
similarity index 100%
rename from notebook/files/GIT_VERSION-py2
rename to files/GIT_VERSION-py2
diff --git a/notebook/files/Makefile-py2.inc b/files/Makefile-py2.inc
similarity index 100%
rename from notebook/files/Makefile-py2.inc
rename to files/Makefile-py2.inc
diff --git a/notebook/files/Makefile.inc b/files/Makefile.inc
similarity index 100%
rename from notebook/files/Makefile.inc
rename to files/Makefile.inc
diff --git a/jupyterhub/config.yml b/jupyterhub/config.yml
deleted file mode 100644
index 988f11cd..00000000
--- a/jupyterhub/config.yml
+++ /dev/null
@@ -1,130 +0,0 @@
-# The keys with empty values are necessary and they are defined
-# as environmental variables and applied by the helm command.
-
-proxy:
-  secretToken: ''
-  service:
-    type: NodePort
-    nodePorts:
-      http: 31001
-  https:
-    enabled: false
-
-hub:
-  baseUrl: /jupyterhub/
-  db:
-    type: sqlite-pvc
-    pvc:
-      storageClassName: manual
-
-auth:
-  type: dummy
-  dummy:
-    password: ''
-  whitelist:
-    users:
-      - luca
-      - xiangyue
-      - markus
-      - adam
-      - test1
-      - test2
-  admin:
-    users:
-      - luca
-      - xiangyue
-      - markus
-      - adam
-
-singleuser:
-  cpu:
-    limit: 12
-    guarantee: 0.2
-  memory:
-    limit: 10G
-    guarantee: 1G
-  image:
-    name: ''
-    tag: ''
-  imagePullSecret:
-    enabled: true
-    password: ''
-    registry: ''
-    username: ''
-  initContainers:
-    - name: fix-permissions
-      image: busybox
-      imagePullPolicy: IfNotPresent
-      securityContext:
-        runAsUser: 0
-      command: [ '/bin/sh', '-c', 'chown 1000:100 /home/jovyan']
-      volumeMounts:
-        - mountPath: /home/jovyan
-          name: user-data
-  storage:
-    type: 'none'
-    extraVolumeMounts:
-      - mountPath: /home/jovyan
-        name: user-data
-      - mountPath: /home/jovyan/tutorials
-        name: tutorials
-        readOnly: true
-    extraVolumes:
-      - name: user-data
-        hostPath:
-          type: DirectoryOrCreate
-          path: /nomad/nomadlab/jupyter-notebooks/user-data/{username}
-      - name: tutorials
-        hostPath:
-          path: /nomad/nomadlab/jupyter-notebooks/tutorials
-#  defaultUrl: /notebooks/tutorials/Welcome.ipynb
-
-#  Storage using static pvc
-#  initContainers:
-#    - name: fix-permissions
-#      image: busybox
-#      imagePullPolicy: IfNotPresent
-#      securityContext:
-#        runAsUser: 0
-#      command: [ '/bin/sh', '-c', 'chown 1000:100 /home/jovyan']
-#      volumeMounts:
-#        - mountPath: /home/jovyan
-#          name: home
-#          subPath: '{username}'
-#  storage:
-#    type: 'static'
-#    static:
-#      pvcName: 'pvc-user-data'
-#      subPath: '{username}'
-#    extraVolumeMounts:
-#      - mountPath: /home/jovyan/tutorials
-#        name: tutorials
-#        readOnly: true
-#    extraVolumes:
-#      - name: tutorials
-#        hostPath:
-#          path: /nomad/nomadlab/jupyter-notebooks/tutorials
-
-prePuller:
-  hook:
-    enabled: enable
-
-scheduling:
-  userScheduler:
-    enabled: false
-  podPriority:
-    enabled: false
-  userPlaceholder:
-    enabled: false
-    replicas: 0
-  userPods:
-    nodeAffinity:
-      # matchNodePurpose valid options:
-      # - ignore
-      # - prefer (the default)
-      # - require
-      matchNodePurpose: prefer
-
-# debug:
-#   enabled: true
-  
\ No newline at end of file
diff --git a/tools/metainfo/demo_0.json b/tools/metainfo/demo_0.json
deleted file mode 100644
index 436a4ccd..00000000
--- a/tools/metainfo/demo_0.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
-  "authors": [
-    "Ahmetcik, Emre",
-    "Ziletti, Angelo",
-    "Ouyang, Runhai",
-    "Ghiringhelli, Luca",
-    "Scheffler, Matthias"
-  ],
-  "created_at": "2017-11-13T13:56:28.375Z",
-  "description": "This tutorial shows how to find descriptive parameters (short formulas) for the classification of materials properties. As an example, we address the classification of elemental and binary systems Ax\u200b\u200bBy\u200b\u200b into metals and non metals using experimental data extracted from the SpringerMaterials data base. The method is based on the algorithm sure independence screening and sparsifying operator (SISSO), which enables to search for optimal descriptors by scanning huge feature spaces. ",
-  "editLink": "/notebook-edit/data/shared/tutorialsNew/sisso/sisso-metal-nonmetal.bkr",
-  "featured": true,
-  "isPublic": true,
-  "labels": {
-    "application_keyword": [
-      "Binaries",
-      "Metal/insulator",
-      "Classification"
-    ],
-    "application_section": [
-      "Materials property prediction"
-    ],
-    "category": [
-      "Demo"
-    ],
-    "data_analytics_method": [
-      "Compressed Sensing",
-      "SISSO"
-    ],
-    "language": [
-      "python",
-      "javascript"
-    ],
-    "platform": [
-      "beaker"
-    ],
-    "reference": [
-      "https://arxiv.org/abs/1710.03319"
-    ],
-    "visualization": [
-      "NOMAD viewer"
-    ]
-  },
-  "logicalPath": "/data/shared/tutorialsNew/sisso/sisso-metal-nonmetal.bkr",
-  "title": "Predicting the metal-insulator classification of elements and binary systems",
-  "top_of_list": false,
-  "updated_at": "2017-11-13T13:56:28.375Z",
-  "user_update": "2017-11-09",
-  "username": "tutorialsNew"
-}
\ No newline at end of file
diff --git a/tools/metainfo/demo_1.json b/tools/metainfo/demo_1.json
deleted file mode 100644
index 6d53e799..00000000
--- a/tools/metainfo/demo_1.json
+++ /dev/null
@@ -1,58 +0,0 @@
-{
-  "authors": [
-    "Ahmetcik, Emre",
-    "Ziletti, Angelo",
-    "Ouyang, Runhai",
-    "Ghiringhelli, Luca",
-    "Scheffler, Matthias"
-  ],
-  "created_at": "2017-11-13T13:56:35.532Z",
-  "description": "This tutorial introduces from scratch and step by step: Compressed sensing, LASSO, and SISSO for materials property prediction",
-  "editLink": "/notebook-edit/data/shared/tutorialsNew/hands-on/hands-on-tutorial.bkr",
-  "featured": true,
-  "isPublic": true,
-  "labels": {
-    "application_keyword": [
-      "Octet binaries"
-    ],
-    "application_section": [
-      "Crystal structure prediction"
-    ],
-    "application_system": [
-      "Rock salt",
-      "Zinc blende",
-      "CsCl",
-      "CrB",
-      "NiAs"
-    ],
-    "category": [
-      "Tutorial"
-    ],
-    "data_analytics_method": [
-      "Compressed Sensing",
-      "LASSO+l0",
-      "SISSO"
-    ],
-    "language": [
-      "python",
-      "javascript"
-    ],
-    "platform": [
-      "beaker"
-    ],
-    "reference": [
-      "https://doi.org/10.1103/PhysRevLett.114.105503",
-      "https://doi.org/10.1088/1367-2630/aa57bf",
-      "https://arxiv.org/abs/1710.03319"
-    ],
-    "visualization": [
-      "NOMAD viewer"
-    ]
-  },
-  "logicalPath": "/data/shared/tutorialsNew/hands-on/hands-on-tutorial.bkr",
-  "title": "Tutorial on compressed sensing for materials property prediction",
-  "top_of_list": false,
-  "updated_at": "2017-11-13T13:56:35.532Z",
-  "user_update": "2017-09-29",
-  "username": "tutorialsNew"
-}
\ No newline at end of file
diff --git a/tools/metainfo/demo_10.json b/tools/metainfo/demo_10.json
deleted file mode 100644
index dafc2e8e..00000000
--- a/tools/metainfo/demo_10.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
-  "authors": [
-    "Poelking, Carl",
-    "Ziletti, Angelo",
-    "Ghiringhelli, Luca",
-    "Cs\u00e1nyi, G\u00e1bor"
-  ],
-  "created_at": "2017-11-13T13:56:28.355Z",
-  "description": "A tool for mapping and visualizing materials databases using generic kernel- and graph-based similarity measures together with the powerful Smooth Overlap of Atomic Positions (SOAP) descriptor for atomic environments.",
-  "editLink": "/notebook-edit/data/shared/tutorialsNew/soap-similiarity/SOAP_similarity.bkr",
-  "featured": true,
-  "isPublic": true,
-  "labels": {
-    "application_keyword": [
-      "Octet binaries",
-      "GDB molecular database"
-    ],
-    "application_section": [
-      "Crystal structure prediction"
-    ],
-    "application_system": [
-      "Rock salt",
-      "Zinc blende",
-      "GDB7"
-    ],
-    "category": [
-      "Demo"
-    ],
-    "data_analytics_method": [
-      "SOAP",
-      "Global Similarity",
-      "Glosim",
-      "Kernel Principal-Component Analysis",
-      "Kernel PCA",
-      "MultiDimensional Scaling",
-      "MDS"
-    ],
-    "language": [
-      "python",
-      "javascript"
-    ],
-    "platform": [
-      "beaker"
-    ],
-    "reference": [
-      "https://doi.org/10.1039/C6CP00415F",
-      "https://arxiv.org/abs/1601.04077"
-    ],
-    "visualization": [
-      "NOMAD viewer"
-    ]
-  },
-  "logicalPath": "/data/shared/tutorialsNew/soap-similiarity/SOAP_similarity.bkr",
-  "title": "Evaluating the (dis)similarity of crystalline, disordered, and molecular compounds",
-  "top_of_list": false,
-  "updated_at": "2017-11-13T13:56:28.355Z",
-  "user_update": "2017-05-16",
-  "username": "tutorialsNew"
-}
\ No newline at end of file
diff --git a/tools/metainfo/demo_11.json b/tools/metainfo/demo_11.json
deleted file mode 100644
index bbbfe67a..00000000
--- a/tools/metainfo/demo_11.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
-  "authors": [
-    "Regler, Benjamin",
-    "Ghiringhelli, Luca",
-    "Scheffler, Matthias"
-  ],
-  "created_at": "2017-11-13T13:56:28.881Z",
-  "description": "In this notebook, we use the Nomad infrastructure to query a limited number of atomic data collections and to visualize them in the periodic table of elements. There are several filters that can be applied to atomic data collections and a field to select which atomic property should be visualized in the periodic table of elements.",
-  "editLink": "/notebook-edit/data/shared/tutorialsNew/periodic-table/periodic-table.bkr",
-  "featured": true,
-  "isPublic": true,
-  "labels": {
-    "application_keyword": [
-      "Atomic species"
-    ],
-    "application_section": [
-      "Atomic properties"
-    ],
-    "category": [
-      "Demo"
-    ],
-    "language": [
-      "python",
-      "javascript"
-    ],
-    "platform": [
-      "beaker"
-    ]
-  },
-  "logicalPath": "/data/shared/tutorialsNew/periodic-table/periodic-table.bkr",
-  "title": "A periodic table of elements for atomic data collections",
-  "top_of_list": false,
-  "updated_at": "2017-11-13T13:56:28.881Z",
-  "user_update": "2017-06-06",
-  "username": "tutorialsNew"
-}
\ No newline at end of file
diff --git a/tools/metainfo/demo_12.json b/tools/metainfo/demo_12.json
deleted file mode 100644
index d15111dd..00000000
--- a/tools/metainfo/demo_12.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
-  "authors": [
-    "Regler, Benjamin",
-    "Sastre, Alfonso",
-    "Mohamed, Fawzi",
-    "Ghiringhelli, Luca"
-  ],
-  "created_at": "2017-11-27T11:15:03.028Z",
-  "description": "A tutorial introduction on how to perform a query over the NOMAD Archive, by means of a light and intuitive GUI, and browse the results",
-  "editLink": "/notebook-edit/data/shared/tutorialsNew/nomad-query/nomad-query.bkr",
-  "featured": true,
-  "isPublic": true,
-  "labels": {
-    "application_section": [
-      "Archive Query"
-    ],
-    "category": [
-      "Demo"
-    ],
-    "data_analytics_method": [
-      "ElasticSearch"
-    ],
-    "language": [
-      "python",
-      "javascript"
-    ],
-    "platform": [
-      "beaker"
-    ]
-  },
-  "logicalPath": "/data/shared/tutorialsNew/nomad-query/nomad-query.bkr",
-  "title": "Querying and visualizing the content of the NOMAD Archive",
-  "top_of_list": true,
-  "updated_at": "2017-11-27T11:15:03.028Z",
-  "user_update": "2017-11-27",
-  "username": "tutorialsNew"
-}
\ No newline at end of file
diff --git a/tools/metainfo/demo_13.json b/tools/metainfo/demo_13.json
deleted file mode 100644
index bff49d0e..00000000
--- a/tools/metainfo/demo_13.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
-  "authors": [
-    "Rigamonti, Santiago",
-    "Troppenz, Maria",
-    "Draxl, Claudia"
-  ],
-  "created_at": "2017-10-06T16:00:10.746Z",
-  "description": "A tool for predicting ground state configurations of binary alloys. In this tutorial, the ground state configurations of a AlNa surface alloy are found. Starting from a set of ab initio data for random configurations of the alloy, a cluster expansion is performed and the ground states are found through a configurational sampling.",
-  "editLink": "/notebook-edit/data/shared/rsant/clusterX-x1.bkr",
-  "featured": false,
-  "isPublic": true,
-  "labels": {
-    "application_keyword": [
-      "Alloys",
-      "Surfaces"
-    ],
-    "application_section": [
-      "Predicting ground-states of alloys (convex hull construction)"
-    ],
-    "application_system": [
-      "AlNa"
-    ],
-    "category": [
-      "Demo"
-    ],
-    "data_analytics_method": [
-      "Cluster Expansion"
-    ],
-    "language": [
-      "python"
-    ],
-    "platform": [
-      "beaker"
-    ]
-  },
-  "logicalPath": "/data/shared/rsant/clusterX-x1.bkr",
-  "title": "Predicting ground-states of binary alloys through cluster expansion: Example of a AlNa binary surface alloy",
-  "top_of_list": false,
-  "updated_at": "2017-10-06T16:00:10.746Z",
-  "user_update": "2017-05-15",
-  "username": "rsant"
-}
\ No newline at end of file
diff --git a/tools/metainfo/demo_14.json b/tools/metainfo/demo_14.json
deleted file mode 100644
index 58b53901..00000000
--- a/tools/metainfo/demo_14.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
-  "authors": [
-    "Rigamonti, Santiago",
-    "Troppenz, Maria",
-    "Draxl, Claudia"
-  ],
-  "created_at": "2017-10-06T16:00:48.038Z",
-  "description": "A tool for predicting ground state configurations of binary alloys. In this tutorial, the ground state configurations of a SiGe binary alloy are found. Starting from a set of ab initio data for random configurations of the alloy, a cluster expansion is performed and the ground states are found through a configurational sampling.",
-  "editLink": "/notebook-edit/data/shared/rsant/clusterX-x2.bkr",
-  "featured": true,
-  "isPublic": true,
-  "labels": {
-    "application_keyword": [
-      "Alloys"
-    ],
-    "application_section": [
-      "Predicting ground-states of alloys (convex hull construction)"
-    ],
-    "application_system": [
-      "SiGe"
-    ],
-    "category": [
-      "Demo"
-    ],
-    "data_analytics_method": [
-      "Cluster Expansion"
-    ],
-    "language": [
-      "python"
-    ],
-    "platform": [
-      "beaker"
-    ]
-  },
-  "logicalPath": "/data/shared/rsant/clusterX-x2.bkr",
-  "title": "Predicting ground-states of binary alloys through cluster expansion: Example of a SiGe binary alloy",
-  "top_of_list": false,
-  "updated_at": "2017-10-06T16:00:48.038Z",
-  "user_update": "2017-05-15",
-  "username": "rsant"
-}
\ No newline at end of file
diff --git a/tools/metainfo/demo_15.json b/tools/metainfo/demo_15.json
deleted file mode 100644
index 8b0b6748..00000000
--- a/tools/metainfo/demo_15.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
-  "authors": [
-    "Strange, Mikkel",
-    "Thygesen, Kristian S."
-  ],
-  "created_at": "2017-11-13T13:56:28.853Z",
-  "description": "Developed by .A tool that produces compositional phase diagrams. As an example we consider materials made of Li-Fe-P-O. Phase diagrams are generally useful to determine if a given material is thermodynamically stable under certain conditions such as temperature, pressure etc. In this tutorial, we consider only a compositional phase diagram at zero temperature and pressure.",
-  "editLink": "/notebook-edit/data/shared/tutorialsNew/phase-diagram/phasediagram.bkr",
-  "featured": false,
-  "isPublic": true,
-  "labels": {
-    "application_keyword": [
-      "Alloys"
-    ],
-    "application_section": [
-      "Predicting ground-states of alloys (convex hull construction)"
-    ],
-    "application_system": [
-      "LiFePO"
-    ],
-    "category": [
-      "Demo"
-    ],
-    "language": [
-      "python",
-      "javascript"
-    ],
-    "platform": [
-      "beaker"
-    ],
-    "reference": [
-      "https://doi.org/10.1021/cm702327g"
-    ]
-  },
-  "logicalPath": "/data/shared/tutorialsNew/phase-diagram/phasediagram.bkr",
-  "path": "/nomad/nomadlab/beaker-notebooks/user-data/shared/tutorialsNew/phase-diagram/phasediagram.bkr",
-  "title": "Assessing the crystal-structure stability for a material under different synthetic conditions",
-  "top_of_list": false,
-  "updated_at": "2017-11-13T13:56:28.853Z",
-  "user_update": "2017-05-15",
-  "username": "tutorialsNew"
-}
\ No newline at end of file
diff --git a/tools/metainfo/demo_16.json b/tools/metainfo/demo_16.json
deleted file mode 100644
index 24597896..00000000
--- a/tools/metainfo/demo_16.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
-  "authors": [
-    "Ziletti, Angelo",
-    "Ahmetcik, Emre",
-    "Ouyang, Runhai",
-    "Kariryaa, Ankit",
-    "Mohamed, Fawzi",
-    "Ghiringhelli, Luca",
-    "Scheffler, Matthias"
-  ],
-  "created_at": "2017-11-13T13:56:28.391Z",
-  "description": "A tool for predicting the difference in the total energy between different polymorphs for 82 octet binary compounds, which gives an indication of the stability of the material. This is accomplished by identifying a set of descriptive parameters (a descriptor) from the free-atom data for the binary atomic species comprising the material using the Sure Independent Screening (SIS) + l0-norm minimization approach.",
-  "editLink": "/notebook-edit/data/shared/tutorialsNew/sis/sis_cscl.bkr",
-  "featured": true,
-  "isPublic": true,
-  "labels": {
-    "application_keyword": [
-      "Octet binaries"
-    ],
-    "application_section": [
-      "Crystal structure prediction"
-    ],
-    "application_system": [
-      "Rock salt",
-      "Zinc blende",
-      "CsCl",
-      "CrB",
-      "NiAs"
-    ],
-    "category": [
-      "Demo"
-    ],
-    "data_analytics_method": [
-      "Compressed Sensing",
-      "SISSO"
-    ],
-    "language": [
-      "python",
-      "javascript"
-    ],
-    "platform": [
-      "beaker"
-    ],
-    "reference": [
-      "https://arxiv.org/abs/1710.03319"
-    ],
-    "visualization": [
-      "NOMAD viewer"
-    ]
-  },
-  "logicalPath": "/data/shared/tutorialsNew/sis/sis_cscl.bkr",
-  "title": "Predicting energy differences between crystal structures",
-  "top_of_list": false,
-  "updated_at": "2017-11-13T13:56:28.391Z",
-  "user_update": "2017-10-16",
-  "username": "tutorialsNew"
-}
\ No newline at end of file
diff --git a/tools/metainfo/demo_17.json b/tools/metainfo/demo_17.json
deleted file mode 100644
index c6225e57..00000000
--- a/tools/metainfo/demo_17.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
-  "authors": [
-    "Ziletti, Angelo",
-    "Ahmetcik, Emre",
-    "Ouyang, Runhai",
-    "Kariryaa, Ankit",
-    "Mohamed, Fawzi",
-    "Ghiringhelli, Luca",
-    "Scheffler, Matthias"
-  ],
-  "created_at": "2017-11-13T13:56:35.502Z",
-  "description": "A tool for predicting the difference in the total energy between different polymorphs for 82 octet binary compounds, which gives an indication of the stability of the material. This is accomplished by identifying a set of descriptive parameters (a descriptor) from the free-atom data for the binary atomic species comprising the material using LASSO + l0-norm minimization approach.",
-  "editLink": "/notebook-edit/data/shared/tutorialsNew/lasso/LASSO_L0.bkr",
-  "featured": false,
-  "isPublic": true,
-  "labels": {
-    "application_keyword": [
-      "Octet binaries"
-    ],
-    "application_section": [
-      "Crystal structure prediction"
-    ],
-    "application_system": [
-      "Rock salt",
-      "Zinc blende"
-    ],
-    "category": [
-      "Demo"
-    ],
-    "data_analytics_method": [
-      "Compressed Sensing",
-      "LASSO+l0"
-    ],
-    "language": [
-      "python",
-      "javascript"
-    ],
-    "platform": [
-      "beaker"
-    ],
-    "reference": [
-      "https://doi.org/10.1103/PhysRevLett.114.105503",
-      "https://doi.org/10.1088/1367-2630/aa57bf"
-    ],
-    "visualization": [
-      "NOMAD viewer"
-    ]
-  },
-  "logicalPath": "/data/shared/tutorialsNew/lasso/LASSO_L0.bkr",
-  "title": "Predicting energy differences between crystal structures. Smaller feature spaces.",
-  "top_of_list": false,
-  "updated_at": "2017-11-13T13:56:35.502Z",
-  "user_update": "2017-05-10",
-  "username": "tutorialsNew"
-}
\ No newline at end of file
diff --git a/tools/metainfo/demo_18.json b/tools/metainfo/demo_18.json
deleted file mode 100644
index 51e80f05..00000000
--- a/tools/metainfo/demo_18.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
-  "authors": [
-    "Ziletti, Angelo",
-    "Kariryaa, Ankit",
-    "Mohamed, Fawzi",
-    "Ghiringhelli, Luca",
-    "Scheffler, Matthias"
-  ],
-  "created_at": "2017-11-13T13:56:41.082Z",
-  "description": "A tool that produces two-dimensional structure maps for octet binary compounds, starting from a high-dimensional set of coordinates (features) that identify each material (data point), based on free-atom data of the atomic species constituting the binary material.",
-  "editLink": "/notebook-edit/data/shared/tutorialsNew/embedding/Embedding.bkr",
-  "featured": true,
-  "isPublic": true,
-  "labels": {
-    "application_keyword": [
-      "Octet binaries"
-    ],
-    "application_section": [
-      "Crystal structure prediction"
-    ],
-    "application_system": [
-      "Rock salt",
-      "Zinc blende"
-    ],
-    "category": [
-      "Demo"
-    ],
-    "data_analytics_method": [
-      "Dimensionality Reduction",
-      "Principal-Component Analysis",
-      "PCA",
-      "MultiDimensional Scaling",
-      "MDS",
-      "t-Distributed Stochastic Neighbor Embedding",
-      "t-SNE"
-    ],
-    "language": [
-      "python",
-      "javascript"
-    ],
-    "platform": [
-      "beaker"
-    ],
-    "visualization": [
-      "NOMAD viewer"
-    ]
-  },
-  "logicalPath": "/data/shared/tutorialsNew/embedding/Embedding.bkr",
-  "title": "Building structure maps for crystal-structure classification",
-  "top_of_list": false,
-  "updated_at": "2017-11-13T13:56:41.082Z",
-  "user_update": "2017-05-12",
-  "username": "tutorialsNew"
-}
\ No newline at end of file
diff --git a/tools/metainfo/demo_19.json b/tools/metainfo/demo_19.json
deleted file mode 100644
index cdc12c96..00000000
--- a/tools/metainfo/demo_19.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
-  "authors": [
-    "Ziletti, Angelo",
-    "Kariryaa, Ankit",
-    "Mohamed, Fawzi",
-    "Ghiringhelli, Luca",
-    "Scheffler, Matthias"
-  ],
-  "created_at": "2017-11-13T13:56:41.082Z",
-  "description": "This Notebook allows to retrieve your query results from the NOMAD Archive, and subsequently perform state-of-the-art machine learning analysis on this dataset. Given a user-specified query, the structures of the top-5 space groups (for crystals) or point groups (for molecules) within this dataset are returned, and then a structural-similarity model is built on-the-fly.\n",
-  "editLink": "/notebook-edit/data/shared/tutorialsNew/custom-analytics-example/custom-analytics-example.bkr",
-  "featured": true,
-  "isPublic": true,
-  "labels": {
-    "application_keyword": [
-      "Query usage"
-    ],
-    "application_section": [
-      "Crystal structure prediction"
-    ],
-    "category": [
-      "Tutorial"
-    ],
-    "data_analytics_method": [
-      "SOAP",
-      "Global Similarity",
-      "Glosim",
-      "Kernel Principal-Component Analysis",
-      "Kernel PCA",
-      "MultiDimensional Scaling",
-      "MDS"
-    ],
-    "language": [
-      "python",
-      "javascript"
-    ],
-    "platform": [
-      "beaker"
-    ],
-    "visualization": [
-      "NOMAD viewer"
-    ]
-  },
-  "logicalPath": "/data/shared/tutorialsNew/custom-analytics-example/custom-analytics-example.bkr",
-  "title": "On-the-fly data analysis for the NOMAD Archive",
-  "top_of_list": false,
-  "updated_at": "2017-11-13T13:56:41.082Z",
-  "user_update": "2018-01-31",
-  "username": "tutorialsNew"
-}
\ No newline at end of file
diff --git a/tools/metainfo/demo_2.json b/tools/metainfo/demo_2.json
deleted file mode 100644
index 392f89ec..00000000
--- a/tools/metainfo/demo_2.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
-  "authors": [
-    "Bieniek, Bj\u00f6rn",
-    "Strange, Mikkel",
-    "Carbogno, Christian"
-  ],
-  "created_at": "2017-11-13T13:56:39.770Z",
-  "description": "A set of tools to analyze the error in electronic structure calculations due to the choice of numerical settings. We use the NOMAD infrastructure to systematically investigate the deviances in total and relative energies as function of typical settings for basis sets, k-grids, etc. for 71 elemental and 81 binary solids in four different electronic-structure codes.",
-  "editLink": "/notebook-edit/data/shared/tutorialsNew/errorbars/errorbars_html.bkr",
-  "featured": true,
-  "isPublic": true,
-  "labels": {
-    "application_keyword": [
-      "Binaries",
-      "Elemental solids"
-    ],
-    "application_section": [
-      "Error estimates"
-    ],
-    "category": "Demo",
-    "data_analytics_method": [
-      "Linear Least-squares Regression"
-    ],
-    "language": [
-      "python",
-      "javascript"
-    ],
-    "platform": "beaker"
-  },
-  "logicalPath": "/data/shared/tutorialsNew/errorbars/errorbars_html.bkr",
-  "title": "Error estimates from high-accuracy electronic structure reference calculations",
-  "top_of_list": true,
-  "updated_at": "2017-11-13T13:56:39.770Z",
-  "user_update": "2017-09-28",
-  "username": "tutorialsNew"
-}
\ No newline at end of file
diff --git a/tools/metainfo/demo_20.json b/tools/metainfo/demo_20.json
deleted file mode 100644
index 9f8cf358..00000000
--- a/tools/metainfo/demo_20.json
+++ /dev/null
@@ -1,43 +0,0 @@
-{
-  "authors": [
-    "Ziletti, Angelo",
-    "Kumar, Devinder",
-    "Scheffler, Matthias",
-    "Ghiringhelli, Luca"
-  ],
-  "created_at": "2019-01-23T11:56:28.881Z",
-  "description": "In this notebook, we use a machine learning-based approach to automatically classify structures by crystal symmetry; first, we represent crystals by a diffraction image, then use a neural network for classification. The notebook allows to reproduce the main results of: A. Ziletti, D. Kumar, M. Scheffler and L. M. Ghiringhelli, Nature Communications 9, 2775 (2018)",
-  "editLink": "/beaker/cM/start/home/beaker/tutorials/insightful_class_deep_learning_nature_comm2018.bkr?image=analytics-toolkit.nomad-coe.eu:5509/ziletti/face-of-crystals-2017:v2.0.3-squashed",
-  "featured": true,
-  "isPublic": true,
-  "labels": {
-    "application_keyword": [
-      "Crystals",
-      "Structure"
-    ],
-    "application_section": [
-      "Structure classification",
-      "Solids"
-    ],
-    "category": [
-      "Demo"
-    ],
-    "data_analytics_method": [
-      "Neural networks",
-      "Deep learning"
-    ],
-    "language": [
-      "python",
-      "javascript"
-    ],
-    "platform": [
-      "beaker"
-    ]
-  },
-  "logicalPath": "/beaker/cM/start/home/beaker/tutorials/insightful_class_deep_learning_nature_comm2018.bkr?image=analytics-toolkit.nomad-coe.eu:5509/ziletti/face-of-crystals-2017:v2.0.3-squashed",
-  "title": "Insightful classification of crystal structures using deep learning",
-  "top_of_list": false,
-  "updated_at": "2019-01-23T11:56:28.881Z",
-  "user_update": "2019-01-23",
-  "username": "tutorialsNew"
-}
\ No newline at end of file
diff --git a/tools/metainfo/demo_3.json b/tools/metainfo/demo_3.json
deleted file mode 100644
index ba04cd38..00000000
--- a/tools/metainfo/demo_3.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
-  "authors": [
-    "Boley, Mario",
-    "Goldsmith, Bryan",
-    "Kariryaa, Ankit",
-    "Ghiringhelli, Luca"
-  ],
-  "created_at": "",
-  "description": "In this tutorial, Subgroup Discovery (SGD) is used to identify simple descriptors for predicting whether an octet binary material crystallizes in rock-salt or zinc-blende crystal structures. SGD is a data-mining technique that is used to identify and describe local patterns (subgroups) in complex data. SGD will mine the data for subgroups that optimize the utility functions and at the same time cover (contain) as many materials as possible. The groups are described by combining one or more Boolean statements on the features (e.g., \u201cthe electron affinity of atom A (the cation) is smaller than 1.00\u201d).",
-  "editLink": "/Creedo/index.htm",
-  "featured": true,
-  "isPublic": true,
-  "labels": {
-    "application_keywords": [
-      "Octet binaries",
-      "Clusters"
-    ],
-    "application_section": [
-      "Crystal structure prediction"
-    ],
-    "application_system": [
-      "Rock salt",
-      "Zinc blende",
-      "Gold clusters"
-    ],
-    "category": [
-      "Interactive Tour"
-    ],
-    "data_analytics_method": [
-      "Subgroup Discovery"
-    ],
-    "platform": [
-      "creedo"
-    ]
-  },
-  "logicalPath": "/Creedo/cM/start/",
-  "title": "Discovering simple descriptors for crystal-structure classification",
-  "top_of_list": false,
-  "updated_at": "",
-  "user_update": "2017-09-15",
-  "username": "tutorialsNew"
-}
\ No newline at end of file
diff --git a/tools/metainfo/demo_4.json b/tools/metainfo/demo_4.json
deleted file mode 100644
index 215332e2..00000000
--- a/tools/metainfo/demo_4.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
-  "authors": [
-    "Christopher Bartel",
-    "Christopher Sutton",
-    "Bryan Goldsmith",
-    "Runhai Ouyang",
-    "Charles Musgrave",
-    "Luca Ghiringhelli",
-    "Matthias Scheffler"
-  ],
-  "created_at": "",
-  "description": "A tool for predicting the probability that a given chemical formula will crystallize in a perovskite structure. This prediction is made using a newly developed tolerance factor (descriptor) which makes predictions based on automatically assigned ionic radii and oxidation states. Within this notebook, you can also visualize the probability of forming perovskite for any single or double perovskite formula as a function of the cationic radii.",
-  "editLink": "/notebook-edit/data/shared/tutorialsNew/perovskite_prediction_double/perovskite_prediction_double.bkr",
-  "featured": true,
-  "isPublic": true,
-  "labels": {
-    "application_keyword": [
-      "perovskites",
-      "stability",
-      "classification"
-    ],
-    "application_section": [
-      "Crystal structure prediction"
-    ],
-    "category": [
-      "Demo"
-    ],
-    "data_analytics_method": [
-      "SISSO"
-    ],
-    "language": [
-      "python",
-      "javascript"
-    ],
-    "platform": [
-      "beaker"
-    ],
-    "reference": [
-      "arXiv preprint arXiv:1801.07700"
-    ],
-    "visualization": [
-      ""
-    ]
-  },
-  "logicalPath": "/data/shared/tutorials/perovskite_prediction_double/perovskite_prediction_double.bkr",
-  "title": "New tolerance factor for perovskite stability",
-  "top_of_list": false,
-  "updated_at": "",
-  "user_update": "November 12, 2018",
-  "username": "tutorialsNew"
-}
\ No newline at end of file
diff --git a/tools/metainfo/demo_5.json b/tools/metainfo/demo_5.json
deleted file mode 100644
index b2e04b0f..00000000
--- a/tools/metainfo/demo_5.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
-  "authors": [
-    "Cs\u00e1nyi, G\u00e1bor",
-    "Kermode, James R."
-  ],
-  "created_at": "",
-  "description": "In this tutorial, we will use Gaussian process regression, GPR (or equivalently, Kernel Ridge Regression, KRR) to train and predict charges of atoms in small organic molecules.",
-  "editLink": "/jupyter/cM/start/data/shared/afekete/tutorial/learning_atomic_charges.ipynb",
-  "featured": true,
-  "isPublic": true,
-  "labels": {
-    "application_keyword": [
-      "GDB molecular database"
-    ],
-    "application_section": [
-      "Organic molecules"
-    ],
-    "application_system": [
-      "GDB7"
-    ],
-    "category": [
-      "Tutorial"
-    ],
-    "data_analytics_method": [
-      "Gaussian-Process Regression",
-      "GPR",
-      "Kernel Ridge Regression",
-      "KRR"
-    ],
-    "platform": [
-      "jupyter"
-    ]
-  },
-  "title": "Learning atomic charges",
-  "top_of_list": false,
-  "updated_at": "",
-  "user_update": "2017-09-29",
-  "username": "tutorialsNew"
-}
\ No newline at end of file
diff --git a/tools/metainfo/demo_6.json b/tools/metainfo/demo_6.json
deleted file mode 100644
index 4e9a525c..00000000
--- a/tools/metainfo/demo_6.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
-  "authors": [
-    "Fekete, \u00c1d\u00e1m",
-    "Glielmo, Aldo",
-    "Stella, Martina",
-    "De Vita, Alessandro"
-  ],
-  "created_at": "2017-11-13T13:56:37.859Z",
-  "description": "This tutorial makes use of Gaussian process (GP) regression in order to assess the complexity of a given system. This can be defined as the data set size necessary to the GP to predict a target property (eg. atomic forces, total energy of a configuration). The currently available data is the atomic forces in the mono-crystalline silicon at 300K, 1200K and 3000K.",
-  "editLink": "/notebook-edit/data/shared/tutorialsNew/ff-fit/FF-fit.bkr",
-  "featured": true,
-  "isPublic": true,
-  "labels": {
-    "application_keyword": [
-      "Elemental solids"
-    ],
-    "application_section": [
-      "Materials property prediction"
-    ],
-    "application_system": [
-      "monocrystalline Si",
-      "Si"
-    ],
-    "category": [
-      "Demo"
-    ],
-    "data_analytics_method": [
-      "Gaussian-Process Regression",
-      "GPR"
-    ],
-    "language": [
-      "python",
-      "javascript"
-    ],
-    "platform": [
-      "beaker"
-    ],
-    "reference": [
-      "https://arxiv.org/abs/1611.03877"
-    ]
-  },
-  "logicalPath": "/data/shared/tutorialsNew/ff-fit/FF-fit.bkr",
-  "title": "Complexity estimator for accurate-forces learning",
-  "top_of_list": false,
-  "updated_at": "2017-11-13T13:56:37.859Z",
-  "user_update": "2017-05-15",
-  "username": "tutorialsNew"
-}
\ No newline at end of file
diff --git a/tools/metainfo/demo_7.json b/tools/metainfo/demo_7.json
deleted file mode 100644
index 1179acf2..00000000
--- a/tools/metainfo/demo_7.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
-  "authors": [
-    "Fekete, \u00c1d\u00e1m",
-    "Stella, Martina",
-    "Lambert, Henry",
-    "De Vita, Alessandro",
-    "Cs\u00e1nyi, G\u00e1bor"
-  ],
-  "created_at": "",
-  "description": "In this tutorial we will be using a machine learning method (clustering) to analyse results of Grain Boundary (GB) calculations of alpha-iron. Along the way we will learn about different methods to describe local atomic environment in order to calculate properties of GBs. We will use these properties to separate the different regions of the GB using clustering methods. Finally we will determine how the energy of the GB is changing according to the angle difference of the regions.",
-  "editLink": "/jupyterhub/hub/user-redirect/notebooks/tutorials/grain_boundaries/grain_boundaries.ipynb",
-  "featured": true,
-  "isPublic": true,
-  "labels": {
-    "application_keyword": [
-      "Grain boundaries"
-    ],
-    "application_section": [
-      "Materials property prediction"
-    ],
-    "application_system": [
-      "Iron"
-    ],
-    "category": [
-      "Tutorial"
-    ],
-    "data_analytics_method": [
-      "Clustering"
-    ],
-    "platform": [
-      "jupyter"
-    ]
-  },
-  "title": "Grain boundaries of alpha-Fe tutorial",
-  "top_of_list": false,
-  "updated_at": "",
-  "user_update": "2017-09-29",
-  "username": "tutorialsNew"
-}
\ No newline at end of file
diff --git a/tools/metainfo/demo_8.json b/tools/metainfo/demo_8.json
deleted file mode 100644
index eb5fce3c..00000000
--- a/tools/metainfo/demo_8.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
-  "authors": [
-    "Himanen, Lauri",
-    "Huhs, Georg",
-    "Hurtado, Iker",
-    "Kuban, Martin",
-    "Vancea, Ioan",
-    "Draxl, Claudia"
-  ],
-  "created_at": "2018-09-22T11:15:03.028Z",
-  "description": "This tutorial deals mainly with accessing the NOMAD Encyclopedia API (searching for materials, extracting data for specific materials and calculations). It also shows how code developed for the Encyclopedia GUI can be embedded into client applications. ",
-  "editLink": "/notebook-edit/data/shared/tutorialsNew/encyclopedia/encyclopedia.bkr",
-  "featured": true,
-  "isPublic": true,
-  "labels": {
-    "application_section": [
-      "Encyclopedia"
-    ],
-    "category": [
-      "Demo"
-    ],
-    "language": [
-      "python",
-      "javascript"
-    ],
-    "platform": [
-      "beaker"
-    ]
-  },
-  "logicalPath": "/data/shared/ghuhs/encyclopedia.bkr",
-  "title": "Encyclopedia API and code usage",
-  "top_of_list": true,
-  "updated_at": "2018-09-22T11:15:03.028Z",
-  "user_update": "2018-09-22",
-  "username": "tutorialsNew"
-}
\ No newline at end of file
diff --git a/tools/metainfo/demo_9.json b/tools/metainfo/demo_9.json
deleted file mode 100644
index 0e40500d..00000000
--- a/tools/metainfo/demo_9.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
-  "authors": [
-    "Mera Acosta, Carlos",
-    "Ahmetcik, Emre",
-    "Carbogno, Christian",
-    "Ouyang, Runhai",
-    "Fazzio, Adalberto",
-    "Ghiringhelli, Luca",
-    "Scheffler, Matthias"
-  ],
-  "created_at": "2017-11-13T13:56:28.375Z",
-  "description": "This tutorial shows how to find descriptive parameters (short formulas) for the prediction of topological phase transitions. As an example, we address the topological classification of two-dimensional functionalized honeycomb-lattice materials, which are formally described by the Z2 topological invariant, i.e., Z2=0 for trivial (normal) insulators and Z2=1 for two-dimensional topological insulators (quantum spin Hall insulators). Using a recently developed machine learning based on compressed sensing, we then derive a map of these materials, in which metals, trivial insulators, and quantum spin Hall insulators are separated in different spatial domains. The axes of this map are given by a physically meaningful descriptor, i.e., a non-linear analytic function that only depends on the properties of the material's constituent atoms, but not on the properties of the material itself. The method is based on the algorithm sure independence screening and sparsifying operator (SISSO), which enables to search for optimal descriptors by scanning huge feature spaces.\n",
-  "editLink": "/notebook-edit/data/shared/tutorialsNew/topological-quantum-phases/QSHI_trivial.bkr",
-  "featured": true,
-  "isPublic": true,
-  "labels": {
-    "application_keyword": [
-      "Qunatum Phase",
-      "Topological insulator",
-      "Classification"
-    ],
-    "application_section": [
-      "Materials property prediction"
-    ],
-    "category": [
-      "Demo"
-    ],
-    "data_analytics_method": [
-      "Compressed Sensing",
-      "SISSO"
-    ],
-    "language": [
-      "python",
-      "javascript"
-    ],
-    "platform": [
-      "beaker"
-    ],
-    "reference": [
-      "https://arxiv.org/abs/1710.03319"
-    ],
-    "visualization": [
-      "NOMAD viewer"
-    ]
-  },
-  "logicalPath": "/data/shared/tutorialsNew/topological-quantum-phases/QSHI_trivial.bkr",
-  "title": "Prediction of topological quantum phase transitions",
-  "top_of_list": false,
-  "updated_at": "2017-11-13T13:56:28.375Z",
-  "user_update": "2018-01-30",
-  "username": "tutorialsNew"
-}
\ No newline at end of file
diff --git a/tools/metainfo/demos.json b/tools/metainfo/demos.json
deleted file mode 100644
index c0c74c60..00000000
--- a/tools/metainfo/demos.json
+++ /dev/null
@@ -1,1055 +0,0 @@
-{
-  "data": [
-    {
-      "attributes": {
-        "authors": [
-          "Ahmetcik, Emre",
-          "Ziletti, Angelo",
-          "Ouyang, Runhai",
-          "Ghiringhelli, Luca",
-          "Scheffler, Matthias"
-        ],
-        "created_at": "2017-11-13T13:56:28.375Z",
-        "description": "This tutorial shows how to find descriptive parameters (short formulas) for the classification of materials properties. As an example, we address the classification of elemental and binary systems Ax\u200b\u200bBy\u200b\u200b into metals and non metals using experimental data extracted from the SpringerMaterials data base. The method is based on the algorithm sure independence screening and sparsifying operator (SISSO), which enables to search for optimal descriptors by scanning huge feature spaces. ",
-        "editLink": "/notebook-edit/data/shared/tutorialsNew/sisso/sisso-metal-nonmetal.bkr",
-        "featured": true,
-        "isPublic": true,
-        "labels": {
-          "application_keyword": [
-            "Binaries",
-            "Metal/insulator",
-            "Classification"
-          ],
-          "application_section": [
-            "Materials property prediction"
-          ],
-          "category": [
-            "Demo"
-          ],
-          "data_analytics_method": [
-            "Compressed Sensing",
-            "SISSO"
-          ],
-          "language": [
-            "python",
-            "javascript"
-          ],
-          "platform": [
-            "beaker"
-          ],
-          "reference": [
-            "https://arxiv.org/abs/1710.03319"
-          ],
-          "visualization": [
-            "NOMAD viewer"
-          ]
-        },
-        "logicalPath": "/data/shared/tutorialsNew/sisso/sisso-metal-nonmetal.bkr",
-        "title": "Predicting the metal-insulator classification of elements and binary systems",
-        "top_of_list": false,
-        "updated_at": "2017-11-13T13:56:28.375Z",
-        "user_update": "2017-11-09",
-        "username": "tutorialsNew"
-      },
-      "id": "5a09a48480996e0031366351",
-      "type": "demos"
-    },
-    {
-      "attributes": {
-        "authors": [
-          "Ahmetcik, Emre",
-          "Ziletti, Angelo",
-          "Ouyang, Runhai",
-          "Ghiringhelli, Luca",
-          "Scheffler, Matthias"
-        ],
-        "created_at": "2017-11-13T13:56:35.532Z",
-        "description": "This tutorial introduces from scratch and step by step: Compressed sensing, LASSO, and SISSO for materials property prediction",
-        "editLink": "/notebook-edit/data/shared/tutorialsNew/hands-on/hands-on-tutorial.bkr",
-        "featured": true,
-        "isPublic": true,
-        "labels": {
-          "application_keyword": [
-            "Octet binaries"
-          ],
-          "application_section": [
-            "Crystal structure prediction"
-          ],
-          "application_system": [
-            "Rock salt",
-            "Zinc blende",
-            "CsCl",
-            "CrB",
-            "NiAs"
-          ],
-          "category": [
-            "Tutorial"
-          ],
-          "data_analytics_method": [
-            "Compressed Sensing",
-            "LASSO+l0",
-            "SISSO"
-          ],
-          "language": [
-            "python",
-            "javascript"
-          ],
-          "platform": [
-            "beaker"
-          ],
-          "reference": [
-            "https://doi.org/10.1103/PhysRevLett.114.105503",
-            "https://doi.org/10.1088/1367-2630/aa57bf",
-            "https://arxiv.org/abs/1710.03319"
-          ],
-          "visualization": [
-            "NOMAD viewer"
-          ]
-        },
-        "logicalPath": "/data/shared/tutorialsNew/hands-on/hands-on-tutorial.bkr",
-        "title": "Tutorial on compressed sensing for materials property prediction",
-        "top_of_list": false,
-        "updated_at": "2017-11-13T13:56:35.532Z",
-        "user_update": "2017-09-29",
-        "username": "tutorialsNew"
-      },
-      "id": "5a09a48380996e0031366349",
-      "type": "demos"
-    },
-    {
-      "attributes": {
-        "authors": [
-          "Bieniek, Bj\u00f6rn",
-          "Strange, Mikkel",
-          "Carbogno, Christian"
-        ],
-        "created_at": "2017-11-13T13:56:39.770Z",
-        "description": "A set of tools to analyze the error in electronic structure calculations due to the choice of numerical settings. We use the NOMAD infrastructure to systematically investigate the deviances in total and relative energies as function of typical settings for basis sets, k-grids, etc. for 71 elemental and 81 binary solids in four different electronic-structure codes.",
-        "editLink": "/notebook-edit/data/shared/tutorialsNew/errorbars/errorbars_html.bkr",
-        "featured": true,
-        "isPublic": true,
-        "labels": {
-          "application_keyword": [
-            "Binaries",
-            "Elemental solids"
-          ],
-          "application_section": [
-            "Error estimates"
-          ],
-          "category": "Demo",
-          "data_analytics_method": [
-            "Linear Least-squares Regression"
-          ],
-          "language": [
-            "python",
-            "javascript"
-          ],
-          "platform": "beaker"
-        },
-        "logicalPath": "/data/shared/tutorialsNew/errorbars/errorbars_html.bkr",
-        "title": "Error estimates from high-accuracy electronic structure reference calculations",
-        "top_of_list": true,
-        "updated_at": "2017-11-13T13:56:39.770Z",
-        "user_update": "2017-09-28",
-        "username": "tutorialsNew"
-      },
-      "id": "5a09a48280996e0031366345",
-      "type": "demos"
-    },
-    {
-      "attributes": {
-        "authors": [
-          "Boley, Mario",
-          "Goldsmith, Bryan",
-          "Kariryaa, Ankit",
-          "Ghiringhelli, Luca"
-        ],
-        "created_at": "",
-        "description": "In this tutorial, Subgroup Discovery (SGD) is used to identify simple descriptors for predicting whether an octet binary material crystallizes in rock-salt or zinc-blende crystal structures. SGD is a data-mining technique that is used to identify and describe local patterns (subgroups) in complex data. SGD will mine the data for subgroups that optimize the utility functions and at the same time cover (contain) as many materials as possible. The groups are described by combining one or more Boolean statements on the features (e.g., \u201cthe electron affinity of atom A (the cation) is smaller than 1.00\u201d).",
-        "editLink": "/Creedo/index.htm",
-        "featured": true,
-        "isPublic": true,
-        "labels": {
-          "application_keywords": [
-            "Octet binaries",
-            "Clusters"
-          ],
-          "application_section": [
-            "Crystal structure prediction"
-          ],
-          "application_system": [
-            "Rock salt",
-            "Zinc blende",
-            "Gold clusters"
-          ],
-          "category": [
-            "Interactive Tour"
-          ],
-          "data_analytics_method": [
-            "Subgroup Discovery"
-          ],
-          "platform": [
-            "creedo"
-          ]
-        },
-        "logicalPath": "/Creedo/cM/start/",
-        "title": "Discovering simple descriptors for crystal-structure classification",
-        "top_of_list": false,
-        "updated_at": "",
-        "user_update": "2017-09-15",
-        "username": "tutorialsNew"
-      },
-      "id": "creedoMain",
-      "type": "demos"
-    },
-    {
-      "attributes": {
-        "authors": [
-          "Christopher Bartel",
-          "Christopher Sutton",
-          "Bryan Goldsmith",
-          "Runhai Ouyang",
-          "Charles Musgrave",
-          "Luca Ghiringhelli",
-          "Matthias Scheffler"
-        ],
-        "created_at": "",
-        "description": "A tool for predicting the probability that a given chemical formula will crystallize in a perovskite structure. This prediction is made using a newly developed tolerance factor (descriptor) which makes predictions based on automatically assigned ionic radii and oxidation states. Within this notebook, you can also visualize the probability of forming perovskite for any single or double perovskite formula as a function of the cationic radii.",
-        "editLink": "/notebook-edit/data/shared/tutorialsNew/perovskite_prediction_double/perovskite_prediction_double.bkr",
-        "featured": true,
-        "isPublic": true,
-        "labels": {
-          "application_keyword": [
-            "perovskites",
-            "stability",
-            "classification"
-          ],
-          "application_section": [
-            "Crystal structure prediction"
-          ],
-          "category": [
-            "Demo"
-          ],
-          "data_analytics_method": [
-            "SISSO"
-          ],
-          "language": [
-            "python",
-            "javascript"
-          ],
-          "platform": [
-            "beaker"
-          ],
-          "reference": [
-            "arXiv preprint arXiv:1801.07700"
-          ],
-          "visualization": [
-            ""
-          ]
-        },
-        "logicalPath": "/data/shared/tutorials/perovskite_prediction_double/perovskite_prediction_double.bkr",
-        "title": "New tolerance factor for perovskite stability",
-        "top_of_list": false,
-        "updated_at": "",
-        "user_update": "November 12, 2018",
-        "username": "tutorialsNew"
-      },
-      "id": "",
-      "type": "demos"
-    },
-    {
-      "attributes": {
-        "authors": [
-          "Cs\u00e1nyi, G\u00e1bor",
-          "Kermode, James R."
-        ],
-        "created_at": "",
-        "description": "In this tutorial, we will use Gaussian process regression, GPR (or equivalently, Kernel Ridge Regression, KRR) to train and predict charges of atoms in small organic molecules.",
-        "editLink": "/jupyter/cM/start/data/shared/afekete/tutorial/learning_atomic_charges.ipynb",
-        "featured": true,
-        "isPublic": true,
-        "labels": {
-          "application_keyword": [
-            "GDB molecular database"
-          ],
-          "application_section": [
-            "Organic molecules"
-          ],
-          "application_system": [
-            "GDB7"
-          ],
-          "category": [
-            "Tutorial"
-          ],
-          "data_analytics_method": [
-            "Gaussian-Process Regression",
-            "GPR",
-            "Kernel Ridge Regression",
-            "KRR"
-          ],
-          "platform": [
-            "jupyter"
-          ]
-        },
-        "title": "Learning atomic charges",
-        "top_of_list": false,
-        "updated_at": "",
-        "user_update": "2017-09-29",
-        "username": "tutorialsNew"
-      },
-      "id": "/atomic-charges/learning_atomic_charges.demoinfo.yaml",
-      "type": "demos"
-    },
-    {
-      "attributes": {
-        "authors": [
-          "Fekete, \u00c1d\u00e1m",
-          "Glielmo, Aldo",
-          "Stella, Martina",
-          "De Vita, Alessandro"
-        ],
-        "created_at": "2017-11-13T13:56:37.859Z",
-        "description": "This tutorial makes use of Gaussian process (GP) regression in order to assess the complexity of a given system. This can be defined as the data set size necessary to the GP to predict a target property (eg. atomic forces, total energy of a configuration). The currently available data is the atomic forces in the mono-crystalline silicon at 300K, 1200K and 3000K.",
-        "editLink": "/notebook-edit/data/shared/tutorialsNew/ff-fit/FF-fit.bkr",
-        "featured": true,
-        "isPublic": true,
-        "labels": {
-          "application_keyword": [
-            "Elemental solids"
-          ],
-          "application_section": [
-            "Materials property prediction"
-          ],
-          "application_system": [
-            "monocrystalline Si",
-            "Si"
-          ],
-          "category": [
-            "Demo"
-          ],
-          "data_analytics_method": [
-            "Gaussian-Process Regression",
-            "GPR"
-          ],
-          "language": [
-            "python",
-            "javascript"
-          ],
-          "platform": [
-            "beaker"
-          ],
-          "reference": [
-            "https://arxiv.org/abs/1611.03877"
-          ]
-        },
-        "logicalPath": "/data/shared/tutorialsNew/ff-fit/FF-fit.bkr",
-        "title": "Complexity estimator for accurate-forces learning",
-        "top_of_list": false,
-        "updated_at": "2017-11-13T13:56:37.859Z",
-        "user_update": "2017-05-15",
-        "username": "tutorialsNew"
-      },
-      "id": "5a09a48280996e0031366347",
-      "type": "demos"
-    },
-    {
-      "attributes": {
-        "authors": [
-          "Fekete, \u00c1d\u00e1m",
-          "Stella, Martina",
-          "Lambert, Henry",
-          "De Vita, Alessandro",
-          "Cs\u00e1nyi, G\u00e1bor"
-        ],
-        "created_at": "",
-        "description": "In this tutorial we will be using a machine learning method (clustering) to analyse results of Grain Boundary (GB) calculations of alpha-iron. Along the way we will learn about different methods to describe local atomic environment in order to calculate properties of GBs. We will use these properties to separate the different regions of the GB using clustering methods. Finally we will determine how the energy of the GB is changing according to the angle difference of the regions.",
-        "editLink": "/jupyterhub/hub/user-redirect/notebooks/tutorials/grain_boundaries/grain_boundaries.ipynb",
-        "featured": true,
-        "isPublic": true,
-        "labels": {
-          "application_keyword": [
-            "Grain boundaries"
-          ],
-          "application_section": [
-            "Materials property prediction"
-          ],
-          "application_system": [
-            "Iron"
-          ],
-          "category": [
-            "Tutorial"
-          ],
-          "data_analytics_method": [
-            "Clustering"
-          ],
-          "platform": [
-            "jupyter"
-          ]
-        },
-        "title": "Grain boundaries of alpha-Fe tutorial",
-        "top_of_list": false,
-        "updated_at": "",
-        "user_update": "2017-09-29",
-        "username": "tutorialsNew"
-      },
-      "id": "/grain-boundary/GB_tutorial_Berlin_2017.demoinfo.yaml",
-      "type": "demos"
-    },
-    {
-      "attributes": {
-        "authors": [
-          "Himanen, Lauri",
-          "Huhs, Georg",
-          "Hurtado, Iker",
-          "Kuban, Martin",
-          "Vancea, Ioan",
-          "Draxl, Claudia"
-        ],
-        "created_at": "2018-09-22T11:15:03.028Z",
-        "description": "This tutorial deals mainly with accessing the NOMAD Encyclopedia API (searching for materials, extracting data for specific materials and calculations). It also shows how code developed for the Encyclopedia GUI can be embedded into client applications. ",
-        "editLink": "/notebook-edit/data/shared/tutorialsNew/encyclopedia/encyclopedia.bkr",
-        "featured": true,
-        "isPublic": true,
-        "labels": {
-          "application_section": [
-            "Encyclopedia"
-          ],
-          "category": [
-            "Demo"
-          ],
-          "language": [
-            "python",
-            "javascript"
-          ],
-          "platform": [
-            "beaker"
-          ]
-        },
-        "logicalPath": "/data/shared/ghuhs/encyclopedia.bkr",
-        "title": "Encyclopedia API and code usage",
-        "top_of_list": true,
-        "updated_at": "2018-09-22T11:15:03.028Z",
-        "user_update": "2018-09-22",
-        "username": "tutorialsNew"
-      },
-      "id": "5a1bf3b780996e0031366357",
-      "type": "demos"
-    },
-    {
-      "attributes": {
-        "authors": [
-          "Mera Acosta, Carlos",
-          "Ahmetcik, Emre",
-          "Carbogno, Christian",
-          "Ouyang, Runhai",
-          "Fazzio, Adalberto",
-          "Ghiringhelli, Luca",
-          "Scheffler, Matthias"
-        ],
-        "created_at": "2017-11-13T13:56:28.375Z",
-        "description": "This tutorial shows how to find descriptive parameters (short formulas) for the prediction of topological phase transitions. As an example, we address the topological classification of two-dimensional functionalized honeycomb-lattice materials, which are formally described by the Z2 topological invariant, i.e., Z2=0 for trivial (normal) insulators and Z2=1 for two-dimensional topological insulators (quantum spin Hall insulators). Using a recently developed machine learning based on compressed sensing, we then derive a map of these materials, in which metals, trivial insulators, and quantum spin Hall insulators are separated in different spatial domains. The axes of this map are given by a physically meaningful descriptor, i.e., a non-linear analytic function that only depends on the properties of the material's constituent atoms, but not on the properties of the material itself. The method is based on the algorithm sure independence screening and sparsifying operator (SISSO), which enables to search for optimal descriptors by scanning huge feature spaces.\n",
-        "editLink": "/notebook-edit/data/shared/tutorialsNew/topological-quantum-phases/QSHI_trivial.bkr",
-        "featured": true,
-        "isPublic": true,
-        "labels": {
-          "application_keyword": [
-            "Qunatum Phase",
-            "Topological insulator",
-            "Classification"
-          ],
-          "application_section": [
-            "Materials property prediction"
-          ],
-          "category": [
-            "Demo"
-          ],
-          "data_analytics_method": [
-            "Compressed Sensing",
-            "SISSO"
-          ],
-          "language": [
-            "python",
-            "javascript"
-          ],
-          "platform": [
-            "beaker"
-          ],
-          "reference": [
-            "https://arxiv.org/abs/1710.03319"
-          ],
-          "visualization": [
-            "NOMAD viewer"
-          ]
-        },
-        "logicalPath": "/data/shared/tutorialsNew/topological-quantum-phases/QSHI_trivial.bkr",
-        "title": "Prediction of topological quantum phase transitions",
-        "top_of_list": false,
-        "updated_at": "2017-11-13T13:56:28.375Z",
-        "user_update": "2018-01-30",
-        "username": "tutorialsNew"
-      },
-      "id": "/topological-quantum-phases/QSHI_trivial.demoinfo.yaml",
-      "type": "demos"
-    },
-    {
-      "attributes": {
-        "authors": [
-          "Poelking, Carl",
-          "Ziletti, Angelo",
-          "Ghiringhelli, Luca",
-          "Cs\u00e1nyi, G\u00e1bor"
-        ],
-        "created_at": "2017-11-13T13:56:28.355Z",
-        "description": "A tool for mapping and visualizing materials databases using generic kernel- and graph-based similarity measures together with the powerful Smooth Overlap of Atomic Positions (SOAP) descriptor for atomic environments.",
-        "editLink": "/notebook-edit/data/shared/tutorialsNew/soap-similiarity/SOAP_similarity.bkr",
-        "featured": true,
-        "isPublic": true,
-        "labels": {
-          "application_keyword": [
-            "Octet binaries",
-            "GDB molecular database"
-          ],
-          "application_section": [
-            "Crystal structure prediction"
-          ],
-          "application_system": [
-            "Rock salt",
-            "Zinc blende",
-            "GDB7"
-          ],
-          "category": [
-            "Demo"
-          ],
-          "data_analytics_method": [
-            "SOAP",
-            "Global Similarity",
-            "Glosim",
-            "Kernel Principal-Component Analysis",
-            "Kernel PCA",
-            "MultiDimensional Scaling",
-            "MDS"
-          ],
-          "language": [
-            "python",
-            "javascript"
-          ],
-          "platform": [
-            "beaker"
-          ],
-          "reference": [
-            "https://doi.org/10.1039/C6CP00415F",
-            "https://arxiv.org/abs/1601.04077"
-          ],
-          "visualization": [
-            "NOMAD viewer"
-          ]
-        },
-        "logicalPath": "/data/shared/tutorialsNew/soap-similiarity/SOAP_similarity.bkr",
-        "title": "Evaluating the (dis)similarity of crystalline, disordered, and molecular compounds",
-        "top_of_list": false,
-        "updated_at": "2017-11-13T13:56:28.355Z",
-        "user_update": "2017-05-16",
-        "username": "tutorialsNew"
-      },
-      "id": "5a09a48480996e003136634f",
-      "type": "demos"
-    },
-    {
-      "attributes": {
-        "authors": [
-          "Regler, Benjamin",
-          "Ghiringhelli, Luca",
-          "Scheffler, Matthias"
-        ],
-        "created_at": "2017-11-13T13:56:28.881Z",
-        "description": "In this notebook, we use the Nomad infrastructure to query a limited number of atomic data collections and to visualize them in the periodic table of elements. There are several filters that can be applied to atomic data collections and a field to select which atomic property should be visualized in the periodic table of elements.",
-        "editLink": "/notebook-edit/data/shared/tutorialsNew/periodic-table/periodic-table.bkr",
-        "featured": true,
-        "isPublic": true,
-        "labels": {
-          "application_keyword": [
-            "Atomic species"
-          ],
-          "application_section": [
-            "Atomic properties"
-          ],
-          "category": [
-            "Demo"
-          ],
-          "language": [
-            "python",
-            "javascript"
-          ],
-          "platform": [
-            "beaker"
-          ]
-        },
-        "logicalPath": "/data/shared/tutorialsNew/periodic-table/periodic-table.bkr",
-        "title": "A periodic table of elements for atomic data collections",
-        "top_of_list": false,
-        "updated_at": "2017-11-13T13:56:28.881Z",
-        "user_update": "2017-06-06",
-        "username": "tutorialsNew"
-      },
-      "id": "5a09a48480996e003136634a",
-      "type": "demos"
-    },
-    {
-      "attributes": {
-        "authors": [
-          "Regler, Benjamin",
-          "Sastre, Alfonso",
-          "Mohamed, Fawzi",
-          "Ghiringhelli, Luca"
-        ],
-        "created_at": "2017-11-27T11:15:03.028Z",
-        "description": "A tutorial introduction on how to perform a query over the NOMAD Archive, by means of a light and intuitive GUI, and browse the results",
-        "editLink": "/notebook-edit/data/shared/tutorialsNew/nomad-query/nomad-query.bkr",
-        "featured": true,
-        "isPublic": true,
-        "labels": {
-          "application_section": [
-            "Archive Query"
-          ],
-          "category": [
-            "Demo"
-          ],
-          "data_analytics_method": [
-            "ElasticSearch"
-          ],
-          "language": [
-            "python",
-            "javascript"
-          ],
-          "platform": [
-            "beaker"
-          ]
-        },
-        "logicalPath": "/data/shared/tutorialsNew/nomad-query/nomad-query.bkr",
-        "title": "Querying and visualizing the content of the NOMAD Archive",
-        "top_of_list": true,
-        "updated_at": "2017-11-27T11:15:03.028Z",
-        "user_update": "2017-11-27",
-        "username": "tutorialsNew"
-      },
-      "id": "5a1bf3b780996e0031366356",
-      "type": "demos"
-    },
-    {
-      "attributes": {
-        "authors": [
-          "Rigamonti, Santiago",
-          "Troppenz, Maria",
-          "Draxl, Claudia"
-        ],
-        "created_at": "2017-10-06T16:00:10.746Z",
-        "description": "A tool for predicting ground state configurations of binary alloys. In this tutorial, the ground state configurations of a AlNa surface alloy are found. Starting from a set of ab initio data for random configurations of the alloy, a cluster expansion is performed and the ground states are found through a configurational sampling.",
-        "editLink": "/notebook-edit/data/shared/rsant/clusterX-x1.bkr",
-        "featured": false,
-        "isPublic": true,
-        "labels": {
-          "application_keyword": [
-            "Alloys",
-            "Surfaces"
-          ],
-          "application_section": [
-            "Predicting ground-states of alloys (convex hull construction)"
-          ],
-          "application_system": [
-            "AlNa"
-          ],
-          "category": [
-            "Demo"
-          ],
-          "data_analytics_method": [
-            "Cluster Expansion"
-          ],
-          "language": [
-            "python"
-          ],
-          "platform": [
-            "beaker"
-          ]
-        },
-        "logicalPath": "/data/shared/rsant/clusterX-x1.bkr",
-        "title": "Predicting ground-states of binary alloys through cluster expansion: Example of a AlNa binary surface alloy",
-        "top_of_list": false,
-        "updated_at": "2017-10-06T16:00:10.746Z",
-        "user_update": "2017-05-15",
-        "username": "rsant"
-      },
-      "id": "/cluster-x/clusterX-x1.demoinfo.yaml",
-      "type": "demos"
-    },
-    {
-      "attributes": {
-        "authors": [
-          "Rigamonti, Santiago",
-          "Troppenz, Maria",
-          "Draxl, Claudia"
-        ],
-        "created_at": "2017-10-06T16:00:48.038Z",
-        "description": "A tool for predicting ground state configurations of binary alloys. In this tutorial, the ground state configurations of a SiGe binary alloy are found. Starting from a set of ab initio data for random configurations of the alloy, a cluster expansion is performed and the ground states are found through a configurational sampling.",
-        "editLink": "/notebook-edit/data/shared/rsant/clusterX-x2.bkr",
-        "featured": true,
-        "isPublic": true,
-        "labels": {
-          "application_keyword": [
-            "Alloys"
-          ],
-          "application_section": [
-            "Predicting ground-states of alloys (convex hull construction)"
-          ],
-          "application_system": [
-            "SiGe"
-          ],
-          "category": [
-            "Demo"
-          ],
-          "data_analytics_method": [
-            "Cluster Expansion"
-          ],
-          "language": [
-            "python"
-          ],
-          "platform": [
-            "beaker"
-          ]
-        },
-        "logicalPath": "/data/shared/rsant/clusterX-x2.bkr",
-        "title": "Predicting ground-states of binary alloys through cluster expansion: Example of a SiGe binary alloy",
-        "top_of_list": false,
-        "updated_at": "2017-10-06T16:00:48.038Z",
-        "user_update": "2017-05-15",
-        "username": "rsant"
-      },
-      "id": "59fb07f59784de003102087a",
-      "type": "demos"
-    },
-    {
-      "attributes": {
-        "authors": [
-          "Strange, Mikkel",
-          "Thygesen, Kristian S."
-        ],
-        "created_at": "2017-11-13T13:56:28.853Z",
-        "description": "Developed by .A tool that produces compositional phase diagrams. As an example we consider materials made of Li-Fe-P-O. Phase diagrams are generally useful to determine if a given material is thermodynamically stable under certain conditions such as temperature, pressure etc. In this tutorial, we consider only a compositional phase diagram at zero temperature and pressure.",
-        "editLink": "/notebook-edit/data/shared/tutorialsNew/phase-diagram/phasediagram.bkr",
-        "featured": false,
-        "isPublic": true,
-        "labels": {
-          "application_keyword": [
-            "Alloys"
-          ],
-          "application_section": [
-            "Predicting ground-states of alloys (convex hull construction)"
-          ],
-          "application_system": [
-            "LiFePO"
-          ],
-          "category": [
-            "Demo"
-          ],
-          "language": [
-            "python",
-            "javascript"
-          ],
-          "platform": [
-            "beaker"
-          ],
-          "reference": [
-            "https://doi.org/10.1021/cm702327g"
-          ]
-        },
-        "logicalPath": "/data/shared/tutorialsNew/phase-diagram/phasediagram.bkr",
-        "path": "/nomad/nomadlab/beaker-notebooks/user-data/shared/tutorialsNew/phase-diagram/phasediagram.bkr",
-        "title": "Assessing the crystal-structure stability for a material under different synthetic conditions",
-        "top_of_list": false,
-        "updated_at": "2017-11-13T13:56:28.853Z",
-        "user_update": "2017-05-15",
-        "username": "tutorialsNew"
-      },
-      "id": "5a09a48480996e003136634c",
-      "type": "demos"
-    },
-    {
-      "attributes": {
-        "authors": [
-          "Ziletti, Angelo",
-          "Ahmetcik, Emre",
-          "Ouyang, Runhai",
-          "Kariryaa, Ankit",
-          "Mohamed, Fawzi",
-          "Ghiringhelli, Luca",
-          "Scheffler, Matthias"
-        ],
-        "created_at": "2017-11-13T13:56:28.391Z",
-        "description": "A tool for predicting the difference in the total energy between different polymorphs for 82 octet binary compounds, which gives an indication of the stability of the material. This is accomplished by identifying a set of descriptive parameters (a descriptor) from the free-atom data for the binary atomic species comprising the material using the Sure Independent Screening (SIS) + l0-norm minimization approach.",
-        "editLink": "/notebook-edit/data/shared/tutorialsNew/sis/sis_cscl.bkr",
-        "featured": true,
-        "isPublic": true,
-        "labels": {
-          "application_keyword": [
-            "Octet binaries"
-          ],
-          "application_section": [
-            "Crystal structure prediction"
-          ],
-          "application_system": [
-            "Rock salt",
-            "Zinc blende",
-            "CsCl",
-            "CrB",
-            "NiAs"
-          ],
-          "category": [
-            "Demo"
-          ],
-          "data_analytics_method": [
-            "Compressed Sensing",
-            "SISSO"
-          ],
-          "language": [
-            "python",
-            "javascript"
-          ],
-          "platform": [
-            "beaker"
-          ],
-          "reference": [
-            "https://arxiv.org/abs/1710.03319"
-          ],
-          "visualization": [
-            "NOMAD viewer"
-          ]
-        },
-        "logicalPath": "/data/shared/tutorialsNew/sis/sis_cscl.bkr",
-        "title": "Predicting energy differences between crystal structures",
-        "top_of_list": false,
-        "updated_at": "2017-11-13T13:56:28.391Z",
-        "user_update": "2017-10-16",
-        "username": "tutorialsNew"
-      },
-      "id": "5a09a48480996e003136634e",
-      "type": "demos"
-    },
-    {
-      "attributes": {
-        "authors": [
-          "Ziletti, Angelo",
-          "Ahmetcik, Emre",
-          "Ouyang, Runhai",
-          "Kariryaa, Ankit",
-          "Mohamed, Fawzi",
-          "Ghiringhelli, Luca",
-          "Scheffler, Matthias"
-        ],
-        "created_at": "2017-11-13T13:56:35.502Z",
-        "description": "A tool for predicting the difference in the total energy between different polymorphs for 82 octet binary compounds, which gives an indication of the stability of the material. This is accomplished by identifying a set of descriptive parameters (a descriptor) from the free-atom data for the binary atomic species comprising the material using LASSO + l0-norm minimization approach.",
-        "editLink": "/notebook-edit/data/shared/tutorialsNew/lasso/LASSO_L0.bkr",
-        "featured": false,
-        "isPublic": true,
-        "labels": {
-          "application_keyword": [
-            "Octet binaries"
-          ],
-          "application_section": [
-            "Crystal structure prediction"
-          ],
-          "application_system": [
-            "Rock salt",
-            "Zinc blende"
-          ],
-          "category": [
-            "Demo"
-          ],
-          "data_analytics_method": [
-            "Compressed Sensing",
-            "LASSO+l0"
-          ],
-          "language": [
-            "python",
-            "javascript"
-          ],
-          "platform": [
-            "beaker"
-          ],
-          "reference": [
-            "https://doi.org/10.1103/PhysRevLett.114.105503",
-            "https://doi.org/10.1088/1367-2630/aa57bf"
-          ],
-          "visualization": [
-            "NOMAD viewer"
-          ]
-        },
-        "logicalPath": "/data/shared/tutorialsNew/lasso/LASSO_L0.bkr",
-        "title": "Predicting energy differences between crystal structures. Smaller feature spaces.",
-        "top_of_list": false,
-        "updated_at": "2017-11-13T13:56:35.502Z",
-        "user_update": "2017-05-10",
-        "username": "tutorialsNew"
-      },
-      "id": "5a09a48380996e0031366348",
-      "type": "demos"
-    },
-    {
-      "attributes": {
-        "authors": [
-          "Ziletti, Angelo",
-          "Kariryaa, Ankit",
-          "Mohamed, Fawzi",
-          "Ghiringhelli, Luca",
-          "Scheffler, Matthias"
-        ],
-        "created_at": "2017-11-13T13:56:41.082Z",
-        "description": "A tool that produces two-dimensional structure maps for octet binary compounds, starting from a high-dimensional set of coordinates (features) that identify each material (data point), based on free-atom data of the atomic species constituting the binary material.",
-        "editLink": "/notebook-edit/data/shared/tutorialsNew/embedding/Embedding.bkr",
-        "featured": true,
-        "isPublic": true,
-        "labels": {
-          "application_keyword": [
-            "Octet binaries"
-          ],
-          "application_section": [
-            "Crystal structure prediction"
-          ],
-          "application_system": [
-            "Rock salt",
-            "Zinc blende"
-          ],
-          "category": [
-            "Demo"
-          ],
-          "data_analytics_method": [
-            "Dimensionality Reduction",
-            "Principal-Component Analysis",
-            "PCA",
-            "MultiDimensional Scaling",
-            "MDS",
-            "t-Distributed Stochastic Neighbor Embedding",
-            "t-SNE"
-          ],
-          "language": [
-            "python",
-            "javascript"
-          ],
-          "platform": [
-            "beaker"
-          ],
-          "visualization": [
-            "NOMAD viewer"
-          ]
-        },
-        "logicalPath": "/data/shared/tutorialsNew/embedding/Embedding.bkr",
-        "title": "Building structure maps for crystal-structure classification",
-        "top_of_list": false,
-        "updated_at": "2017-11-13T13:56:41.082Z",
-        "user_update": "2017-05-12",
-        "username": "tutorialsNew"
-      },
-      "id": "5a09a48180996e0031366343",
-      "type": "demos"
-    },
-    {
-      "attributes": {
-        "authors": [
-          "Ziletti, Angelo",
-          "Kariryaa, Ankit",
-          "Mohamed, Fawzi",
-          "Ghiringhelli, Luca",
-          "Scheffler, Matthias"
-        ],
-        "created_at": "2017-11-13T13:56:41.082Z",
-        "description": "This Notebook allows to retrieve your query results from the NOMAD Archive, and subsequently perform state-of-the-art machine learning analysis on this dataset. Given a user-specified query, the structures of the top-5 space groups (for crystals) or point groups (for molecules) within this dataset are returned, and then a structural-similarity model is built on-the-fly.\n",
-        "editLink": "/notebook-edit/data/shared/tutorialsNew/custom-analytics-example/custom-analytics-example.bkr",
-        "featured": true,
-        "isPublic": true,
-        "labels": {
-          "application_keyword": [
-            "Query usage"
-          ],
-          "application_section": [
-            "Crystal structure prediction"
-          ],
-          "category": [
-            "Tutorial"
-          ],
-          "data_analytics_method": [
-            "SOAP",
-            "Global Similarity",
-            "Glosim",
-            "Kernel Principal-Component Analysis",
-            "Kernel PCA",
-            "MultiDimensional Scaling",
-            "MDS"
-          ],
-          "language": [
-            "python",
-            "javascript"
-          ],
-          "platform": [
-            "beaker"
-          ],
-          "visualization": [
-            "NOMAD viewer"
-          ]
-        },
-        "logicalPath": "/data/shared/tutorialsNew/custom-analytics-example/custom-analytics-example.bkr",
-        "title": "On-the-fly data analysis for the NOMAD Archive",
-        "top_of_list": false,
-        "updated_at": "2017-11-13T13:56:41.082Z",
-        "user_update": "2018-01-31",
-        "username": "tutorialsNew"
-      },
-      "id": "/custom-analytics-example/custom-analytics-example.demoinfo.yaml",
-      "type": "demos"
-    },
-    {
-      "attributes": {
-        "authors": [
-          "Ziletti, Angelo",
-          "Kumar, Devinder",
-          "Scheffler, Matthias",
-          "Ghiringhelli, Luca"
-        ],
-        "created_at": "2019-01-23T11:56:28.881Z",
-        "description": "In this notebook, we use a machine learning-based approach to automatically classify structures by crystal symmetry; first, we represent crystals by a diffraction image, then use a neural network for classification. The notebook allows to reproduce the main results of: A. Ziletti, D. Kumar, M. Scheffler and L. M. Ghiringhelli, Nature Communications 9, 2775 (2018)",
-        "editLink": "/beaker/cM/start/home/beaker/tutorials/insightful_class_deep_learning_nature_comm2018.bkr?image=analytics-toolkit.nomad-coe.eu:5509/ziletti/face-of-crystals-2017:v2.0.3-squashed",
-        "featured": true,
-        "isPublic": true,
-        "labels": {
-          "application_keyword": [
-            "Crystals",
-            "Structure"
-          ],
-          "application_section": [
-            "Structure classification",
-            "Solids"
-          ],
-          "category": [
-            "Demo"
-          ],
-          "data_analytics_method": [
-            "Neural networks",
-            "Deep learning"
-          ],
-          "language": [
-            "python",
-            "javascript"
-          ],
-          "platform": [
-            "beaker"
-          ]
-        },
-        "logicalPath": "/beaker/cM/start/home/beaker/tutorials/insightful_class_deep_learning_nature_comm2018.bkr?image=analytics-toolkit.nomad-coe.eu:5509/ziletti/face-of-crystals-2017:v2.0.3-squashed",
-        "title": "Insightful classification of crystal structures using deep learning",
-        "top_of_list": false,
-        "updated_at": "2019-01-23T11:56:28.881Z",
-        "user_update": "2019-01-23",
-        "username": "tutorialsNew"
-      },
-      "id": "",
-      "type": "demos"
-    }
-  ]
-}
diff --git a/tools/read_metainfos.py b/tools/read_metainfos.py
deleted file mode 100644
index 8bfe0bf7..00000000
--- a/tools/read_metainfos.py
+++ /dev/null
@@ -1,16 +0,0 @@
-import json
-from pathlib import Path
-
-if __name__ == '__main__':
-    path = Path('../notebook/tutorials/')
-
-    folders = (p for p in path.iterdir() if p.is_dir())
-
-    demos = []
-    for folder in folders:
-        metainfo_file = folder / 'metainfo.json'
-        if metainfo_file.exists():
-            with open(str(metainfo_file)) as file:
-                demos.append(json.load(file))
-
-    print(json.dumps({'data': demos}, indent=2))
diff --git a/tools/split_metainfos.py b/tools/split_metainfos.py
deleted file mode 100644
index 209e53cb..00000000
--- a/tools/split_metainfos.py
+++ /dev/null
@@ -1,9 +0,0 @@
-import json
-
-if __name__ == '__main__':
-    with open('metainfo/demos.json') as file:
-        infos = json.load(file)
-
-    for ind, info in enumerate(infos['data']):
-        with open(f'metainfo/demo_{ind}.json', 'w') as file:
-            json.dump(info['attributes'], file, indent=2)
-- 
GitLab