diff --git a/packages/acpype/package.py b/packages/acpype/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..5b52b2d7cf46a7b85b131f679da2fb3f7a5cddcc
--- /dev/null
+++ b/packages/acpype/package.py
@@ -0,0 +1,21 @@
+from spack import *
+
+class Acpype(PythonPackage):
+    """A tool based in Python to use Antechamber to generate topologies for chemical 
+    compounds and to interface with others python applications like CCPN and ARIA"""
+
+    # Homepage and download url
+    homepage = "https://github.com/alanwilter/acpype"
+    git = 'https://github.com/alanwilter/acpype.git'
+
+    # Set the gitlab accounts of this package maintainers
+    maintainers = ['dbeltran']
+
+    # Versions
+    version('2022.7.21', branch='master')
+
+    # Dependencies
+    depends_on('python@3.8:', type=('build', 'run'))
+    depends_on('ambertools')
+    depends_on('openbabel')
+    depends_on('py-poetry-core')
diff --git a/packages/ambertools/package.py b/packages/ambertools/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..8f479cf57433828801aa7f68bc110ac326df2d24
--- /dev/null
+++ b/packages/ambertools/package.py
@@ -0,0 +1,79 @@
+from spack import *
+
+class Ambertools (CMakePackage):
+    """AmberTools is a free, useful standalone package and a prerequisite for installing Amber itself.
+    The AmberTools suite is free of charge, and its components are mostly released under the GNU General Public License (GPL).
+    A few components are included that are in the public domain or which have other, open-source, licenses.
+    The libsander and libpbsa libraries use the LGPL license."""
+
+    # Set the homepage and download url
+    homepage = "https://ambermd.org/AmberTools.php"
+    url      = "https://ambermd.org/downloads/AmberTools22jlmrcc.tar.bz2"
+
+    # Set the gitlab accounts of this package maintainers
+    maintainers = ['dbeltran', 'elmath']
+
+    version('22jlmrcc', sha256='1571d4e0f7d45b2a71dce5999fa875aea8c90ee219eb218d7916bf30ea229121')
+
+    # Dependencies
+    depends_on("flex",                      type="build") # This is necessary for sure (experimentally tested)
+    depends_on("bison",                     type="build") # This is necessary for sure (experimentally tested)
+    depends_on("tcsh",                      type="build")
+    depends_on("zlib",                      type=("build", "run"))
+    depends_on("bzip2",                     type=("build", "run"))
+    depends_on("blas",                      type=("build", "run"))
+    depends_on("lapack",                    type=("build", "run"))
+    depends_on("arpack-ng",                 type=("build", "run"))
+    depends_on("netcdf-c",                  type=("build", "run"))
+    depends_on("netcdf-fortran",            type=("build", "run"))
+    depends_on("fftw",                      type=("build", "run"))
+    depends_on("readline",                  type=("build", "run"))
+    depends_on("netlib-xblas~plain_blas",   type=("build", "run"))
+    # specific variants needed for boost - from the build log "Could NOT find Boost (missing: thread system program_options iostreams regex timer chrono filesystem graph)"
+    depends_on("boost+thread+system+program_options+iostreams+regex+timer+chrono+filesystem+graph", type=("build", "run"))
+
+    # Python dependencies
+    # WARNING: If a python 3.8 version is already installed in spack then the '+tkinter' variant makes spack ignore the version
+    # WARNING: Spack may try to install the preferred python version (i.e. python 3.10.8)
+    # WARNING: The soultion is uninstall python and reinstall with this variant
+    depends_on('python@3.8: +tkinter',      type=('build', 'run'))
+    depends_on("py-numpy",                  type=("build", "run"))
+    depends_on("py-matplotlib",             type=("build", "run"))
+    depends_on("py-scipy",                  type=("build", "run"))
+
+    def cmake_args(self):
+        # Translated from ambertools build/run_cmake script
+        # We also add the TRUST_SYSTEM_LIBS argument that is mentioned in the ambertools CMake guide
+        #   https://ambermd.org/pmwiki/pmwiki.php/Main/CMake-Guide-to-Options
+        args = [
+            self.define("COMPILER", "GNU"),
+            self.define("MPI", False),
+            self.define("CUDA", False),
+            self.define("INSTALL_TESTS", True),
+            self.define("DOWNLOAD_MINICONDA", False),
+            self.define("TRUST_SYSTEM_LIBS", True),
+            # This is to avoid the x11 (X11_Xext_LIB) error
+            # It is equivalent to the '-noX11' flag accoridng to the docs:
+            # https://ambermd.org/pmwiki/pmwiki.php/Main/CMake-Common-Options
+            self.define("BUILD_GUI", False)
+        ]
+        return args
+
+    def setup_run_environment(self, env):
+        env.set("AMBER_PREFIX", self.prefix)
+        env.set("AMBERHOME", self.prefix)
+
+    def setup_build_environment(self, env):
+        env.set("AMBER_PREFIX", self.prefix)
+        env.set("AMBERHOME", self.prefix)
+
+    @run_after('install')
+    @on_package_attributes(run_tests=True)
+    def check_install(self):
+        make("test.serial")
+
+    # temporarily copy netcdf.h header file to netcdf-fortran/include to pass the Ambertools cmake check (quickest fix, will probably cause problems, needs to change)
+    @run_before("cmake")
+    def fix_check(self):
+        cp = Executable("cp")
+        cp(self.spec["netcdf-c"].headers.directories[0]+"/netcdf.h", self.spec["netcdf-fortran"].headers.directories[0])
diff --git a/packages/biobb-analysis/package.py b/packages/biobb-analysis/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..68b45f4e28e905d728efcfb65e804af480b10d44
--- /dev/null
+++ b/packages/biobb-analysis/package.py
@@ -0,0 +1,21 @@
+from spack import *
+
+class BiobbAnalysis(PythonPackage):
+    """Biobb_analysis is the Biobb module collection to perform analysis 
+    of molecular dynamics simulations"""
+
+    # Homepage and download url
+    homepage = "https://github.com/bioexcel/biobb_analysis"
+    git = 'https://github.com/bioexcel/biobb_analysis.git'
+
+    # Set the gitlab accounts of this package maintainers
+    maintainers = ['dbeltran']
+
+    # Versions
+    version('4.0.1', branch='master')
+
+    # Dependencies
+    depends_on('python@3.8:', type=('build', 'run'))
+    depends_on('biobb-common')
+    depends_on('gromacs')
+    depends_on('ambertools')
diff --git a/packages/biobb-chemistry/package.py b/packages/biobb-chemistry/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..323ec74089f709dc76fe83bb0725d4b60b525010
--- /dev/null
+++ b/packages/biobb-chemistry/package.py
@@ -0,0 +1,22 @@
+from spack import *
+
+class BiobbChemistry(PythonPackage):
+    """Biobb_chemistry is the Biobb module collection to perform chemistry 
+    over molecular dynamics simulations."""
+
+    # Homepage and download url
+    homepage = "https://github.com/bioexcel/biobb_chemistry"
+    git = 'https://github.com/bioexcel/biobb_chemistry.git'
+
+    # Set the gitlab accounts of this package maintainers
+    maintainers = ['dbeltran']
+
+    # Versions
+    version('4.0.0', branch='master')
+
+    # Dependencies
+    depends_on('python@3.8:', type=('build', 'run'))
+    depends_on('biobb-common')
+    depends_on('openbabel')
+    depends_on('ambertools')
+    depends_on('acpype')
diff --git a/packages/biobb-common/.gitkeep b/packages/biobb-common/.gitkeep
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/packages/biobb-common/package.py b/packages/biobb-common/package.py
index 6a5aa81ff00a3327a0e5cd519bde6a48e70824fc..f9996ae582f75b15219379ef07ab6598c962dda2 100644
--- a/packages/biobb-common/package.py
+++ b/packages/biobb-common/package.py
@@ -1,9 +1,3 @@
-# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
-# Spack Project Developers. See the top-level COPYRIGHT file for details.
-#
-# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-
-
 from spack import *
 
 class BiobbCommon(PythonPackage):
@@ -11,17 +5,17 @@ class BiobbCommon(PythonPackage):
 
     # Homepage and download url
     homepage = "https://github.com/bioexcel/biobb_common"
-    url      = "https://github.com/bioexcel/biobb_common/archive/refs/tags/v3.8.1.tar.gz"
+    git = 'https://github.com/bioexcel/biobb_common.git'
 
+    # Set the gitlab accounts of this package maintainers
     maintainers = ['dbeltran']
 
     # Versions
-    version('3.8.1', sha256='b6c939c1445ea2f8282e491e0414cc15f4934466ca24ecd77e24cef2e7df49e4')
+    version('4.0.0', branch='master')
 
     # Dependencies
-    depends_on('python@3.8:')
-    depends_on('py-setuptools', type=('build'))
+    depends_on('py-setuptools')
+    depends_on('python@3.8:', type=('build', 'run'))
     depends_on('py-pyyaml', type=('build', 'run'))
     depends_on('py-requests', type=('build', 'run'))
     depends_on('py-biopython@1.78:1.80', type=('build', 'run'))
-
diff --git a/packages/biobb-gromacs/.gitkeep b/packages/biobb-gromacs/.gitkeep
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/packages/biobb-gromacs/package.py b/packages/biobb-gromacs/package.py
index c99d49af3ab3f472c62f07d8a1057ab24e22df8a..5e7341bd82aacefd1355d17aa28097bad994f6d7 100644
--- a/packages/biobb-gromacs/package.py
+++ b/packages/biobb-gromacs/package.py
@@ -1,9 +1,3 @@
-# Copyright 2013-2023 Lawrence Livermore National Security, LLC and other
-# Spack Project Developers. See the top-level COPYRIGHT file for details.
-#
-# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-
-
 from spack import *
 
 class BiobbGromacs(PythonPackage):
@@ -12,15 +6,12 @@ class BiobbGromacs(PythonPackage):
 
     # Homepage and download url
     homepage = "https://github.com/bioexcel/biobb_gromacs"
-    url      = "https://github.com/bioexcel/biobb_gromacs/archive/refs/tags/v3.8.1.tar.gz"
-
-    maintainers = ['dbeltran']
+    git = 'https://github.com/bioexcel/biobb_gromacs.git'
 
     # Versions
-    version('3.8.1', sha256='6da49b691b14a8bcf7ffca08c898fe9affd258ca2f8c7be4981df840a6907efa')
+    version('4.0.0', branch='master')
 
     # Dependencies
-    depends_on('python@3.8:')
-    depends_on('py-setuptools', type=('build'))
-    depends_on('biobb-common@3.8.1', type=('build', 'run'), when='@3.8.1')
+    depends_on('python@3.8:', type=('build', 'run'))
+    depends_on('biobb-common')
     depends_on('gromacs')
diff --git a/packages/biobb-io/package.py b/packages/biobb-io/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..1b6f1a44d03dc0567dd3d0a4b91aba58e8f6b668
--- /dev/null
+++ b/packages/biobb-io/package.py
@@ -0,0 +1,16 @@
+from spack import *
+
+class BiobbIo(PythonPackage):
+    """Biobb_io is the Biobb module collection to fetch data to be
+    consumed by the rest of the Biobb building blocks"""
+
+    # Homepage and download url
+    homepage = "https://github.com/bioexcel/biobb_io"
+    git = 'https://github.com/bioexcel/biobb_io.git'
+
+    # Versions
+    version('4.0.0', branch='master')
+
+    # Dependencies
+    depends_on('biobb-common')
+    depends_on('python@3.8:', type=('build', 'run'))
diff --git a/packages/biobb-model/package.py b/packages/biobb-model/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..999ce8faa400686e3cdb27bbac86bcfd5a1696d8
--- /dev/null
+++ b/packages/biobb-model/package.py
@@ -0,0 +1,17 @@
+from spack import *
+
+class BiobbModel(PythonPackage):
+    """Biobb_model is the Biobb module collection to check and model 3d structures,
+    create mutations or reconstruct missing atoms"""
+
+    # Homepage and download url
+    homepage = "https://github.com/bioexcel/biobb_model"
+    git = 'https://github.com/bioexcel/biobb_model.git'
+
+    # Versions
+    version('4.0.0', branch='master')
+
+    # Dependencies
+    depends_on('python@3.8:', type=('build', 'run'))
+    depends_on('biobb-common')
+    depends_on('biobb-structure-checking')
diff --git a/packages/biobb-structure-checking/package.py b/packages/biobb-structure-checking/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..4719d65fa962c06d1d7b9f83f61d5e11f5344db5
--- /dev/null
+++ b/packages/biobb-structure-checking/package.py
@@ -0,0 +1,20 @@
+from spack import *
+
+class BiobbStructureChecking(PythonPackage):
+    """Biobb_structure_checking performs a checking of the quality of a 
+    3D structure intended to facilitate the setup of molecular dynamics 
+    simulation of protein or nucleic acids systems"""
+
+    # Homepage and download url
+    homepage = "https://github.com/bioexcel/biobb_structure_checking"
+    git = 'https://github.com/bioexcel/biobb_structure_checking.git'
+
+    # Versions
+    version('3.12.1', branch='master')
+
+    # Dependencies
+    depends_on('py-setuptools')
+    depends_on('python@3.8:', type=('build', 'run'))
+    depends_on('py-psutil', type=('build', 'run'))
+    depends_on('py-numpy', type=('build', 'run'))
+    depends_on('py-biopython@1.78:1.80', type=('build', 'run'))
diff --git a/packages/biobb-structure-utils/package.py b/packages/biobb-structure-utils/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..b9ed8b575c0e36f6d1772adeeb8265c8d2216788
--- /dev/null
+++ b/packages/biobb-structure-utils/package.py
@@ -0,0 +1,17 @@
+from spack import *
+
+class BiobbStructureUtils(PythonPackage):
+    """Biobb_structure_utils is the Biobb module collection to modify 
+    or extract information from a PDB structure file."""
+
+    # Homepage and download url
+    homepage = "https://github.com/bioexcel/biobb_structure_utils"
+    git = 'https://github.com/bioexcel/biobb_structure_utils.git'
+
+    # Versions
+    version('4.0.0', branch='master')
+
+    # Dependencies
+    depends_on('python@3.8:', type=('build', 'run'))
+    depends_on('biobb-common')
+    depends_on('biobb-structure-checking')
diff --git a/packages/nest/.gitkeep b/packages/nest/.gitkeep
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/packages/nest/package.py b/packages/nest/package.py
index 5eb8ec3fc4ff7d9d3598360994819c790c56c022..54724904c7d33e0ff2bd50acd3c2190389209faf 100644
--- a/packages/nest/package.py
+++ b/packages/nest/package.py
@@ -101,7 +101,7 @@ class Nest(CMakePackage):
 
     depends_on('mpi',               when='+mpi')
     depends_on('py-mpi4py',         when='+python+mpi', type=('run', 'test'))
-    depends_on('doxygen',           type='build')
+    # depends_on('doxygen',           type='build')
     depends_on('gsl',               when='+gsl')
     depends_on('readline',          type=('build', 'run', 'test'))
     depends_on('ncurses',          type=('build', 'run', 'test'))
diff --git a/packages/nglview/package.py b/packages/nglview/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..fda735651d9d1bd0c80dd647d2524a63d72064b1
--- /dev/null
+++ b/packages/nglview/package.py
@@ -0,0 +1,23 @@
+from spack import *
+
+class Nglview(PythonPackage):
+    """An IPython/Jupyter widget to interactively view molecular structures and trajectories. 
+    Utilizes the embeddable NGL Viewer for rendering."""
+
+    # Homepage and download url
+    homepage = "https://github.com/nglviewer/nglview"
+    git = 'https://github.com/nglviewer/nglview.git'
+
+    # Set the gitlab accounts of this package maintainers
+    maintainers = ['dbeltran']
+
+    # Versions
+    version('3.0.4', branch='master')
+
+    # Dependencies
+    depends_on('python@3.8:', type=('build', 'run'))
+    depends_on('py-setuptools')
+    depends_on('py-jupyter-packaging')
+    depends_on('py-versioneer')
+    depends_on('py-numpy', type=('run'))
+    depends_on('py-ipywidgets', type=('run'))
\ No newline at end of file
diff --git a/packages/simpletraj/package.py b/packages/simpletraj/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..373665bffa3ed3c29409ca5952a2e6ebe79f7ed4
--- /dev/null
+++ b/packages/simpletraj/package.py
@@ -0,0 +1,19 @@
+from spack import *
+
+class Simpletraj(PythonPackage):
+    """Lightweight coordinate-only trajectory reader based on code from GROMACS, MDAnalysis and VMD."""
+
+    # Homepage and download url
+    homepage = "https://github.com/arose/simpletraj"
+    git = 'https://github.com/arose/simpletraj.git'
+
+    # Set the gitlab accounts of this package maintainers
+    maintainers = ['dbeltran']
+
+    # Versions
+    version('0.3', branch='master')
+
+    # Dependencies
+    depends_on('python@3.8:', type=('build', 'run'))
+    depends_on('py-setuptools')
+    depends_on('py-numpy')
diff --git a/spack.yaml b/spack.yaml
index 08ff558d4cbc134982513c233578263315c3c632..e1aa0a3732a84e4cb20ef9ebec059f8df22e1c4c 100644
--- a/spack.yaml
+++ b/spack.yaml
@@ -1,70 +1,77 @@
 spack:
   specs:
     # Notebook
-    - r-irkernel
-    - py-ipython
+    - py-ipycanvas
     - py-ipykernel
+    - py-ipython
     - py-notebook
-    - py-ipycanvas
+    - r-irkernel
     # "collab"-specific constraint to match ("jupyterlab_widgets") in the base image
     - py-ipywidgets@:7.7
     # Collab utils
     - clb-nb-utils@0.1.0
     # EBRAINS tools
-    - nest@3.4
+    - apbs@3.4.0
     - arbor@0.8.1 +python +mpi
+    - biobb-analysis@4.0.1
+    - biobb-chemistry@4.0.0
+    - biobb-common@4.0.0
+    - biobb-gromacs@4.0.0
+    - biobb-io@4.0.0
+    - biobb-model@4.0.0
+    - biobb-structure-checking@3.12.1
+    - biobb-structure-utils@4.0.0
+    - hxtorch@5.0-rc1
+    - nest@3.4
     - neuron@8.2.2 +mpi
-    - py-pynn@0.11.0 +mpi
+    - nglview@3.0.4
     - py-brian2@2.5.0.2
-    - py-tvb-data@2.7
-    - py-tvb-gdist@2.2
-    - py-tvb-library@2.8.1
-    - py-tvb-storage@2.8.1
-    - py-tvb-framework@2.8.1.1
-    - pynn-brainscales@5.0-rc1
-    - hxtorch@5.0-rc1
-    - py-nestml@5.2.0
-    - py-neo@0.12.0
-    - py-hdmf@3.4.6
-    - py-pynwb@2.1.0
-    - py-nixio@1.5.3
     - py-cerebrus@1.3.4
-    - py-sciunit@0.2.5.1
-    - py-quantities@0.14.1
-    - py-quantities-scidash@0.12.4.3
-    - py-ebrains-kg-core@0.9.14
     - py-ebrains-drive@0.5.1
+    - py-ebrains-kg-core@0.9.14
+    - py-efel@4.0.4
+    - py-elephant@0.12.0
     - py-fairgraph@0.10.0
-    - py-nameparser@1.1.1
-    - py-lazyarray@0.5.2
+    - py-frites@0.4.2
     - py-hbp-archive@1.1.1
-    - py-viziphant@0.3.0
-    - py-hippounit@1.3.6
-    - py-efel@4.0.4
     - py-hbp-neuromorphic-platform@0.10.1
     - py-hbp-validation-client@0.8.2
+    - py-hdmf@3.4.6
+    - py-hippounit@1.3.6
+    - py-lazyarray@0.5.2
     - py-lfpy@2.3
-    - py-elephant@0.12.0
-    - py-frites@0.4.2
-    - py-snudda@1.4.0
-    - py-pyunicore@0.14.1
+    - py-nameparser@1.1.1
+    - py-neo@0.12.0
+    - py-nestml@5.2.0
     - py-neuror@1.4.2
-    - biobb-common@3.8.1
-    - biobb-gromacs@3.8.1
-    - apbs@3.4.0
+    - py-neurom@3.2.2
+    - py-nixio@1.5.3
     - py-pdb2pqr@3.5.2
-    - sda@7.3.3d
-    - r-uqsa@2.2
+    - py-pynn@0.11.0 +mpi
+    - py-pynwb@2.1.0
+    - py-pyunicore@0.14.1
+    - py-quantities-scidash@0.12.4.3
+    - py-quantities@0.14.1
+    - py-sciunit@0.2.5.1
+    - py-snudda@1.4.0
+    - py-tvb-data@2.7
+    - py-tvb-framework@2.8.1.1
+    - py-tvb-gdist@2.2
+    - py-tvb-library@2.8.1
+    - py-tvb-storage@2.8.1
+    - py-viziphant@0.3.0
+    - pynn-brainscales@5.0-rc1
     - r-rgsl@0.1
     - r-sbtabvfgen@0.1
-    #- py-version-query
-    #- py-cerebstats
-    #- py-cerebunit
-    #- py-morphounit@1.0.4
-    #- py-neurom@1.4.10
-    #- py-morphio@3.1.1
+    - r-uqsa@2.2
+    - sda@7.3.3d
+    - simpletraj@0.3
     # Workflows (meta-packages)
     - wf-uq-akar4@0.1
     - wf-multi-area-model@0.1
+    #- py-cerebstats
+    #- py-cerebunit
+    #- py-morphounit@1.0.4
+    #- py-version-query
   concretizer:
     unify: true