diff --git a/modules/mol/alg/doc/chain_mapping.rst b/modules/mol/alg/doc/chain_mapping.rst
new file mode 100644
index 0000000000000000000000000000000000000000..bda91c72d2b259cb85d90a206eb515b9e3d3d7d0
--- /dev/null
+++ b/modules/mol/alg/doc/chain_mapping.rst
@@ -0,0 +1,7 @@
+:mod:`chain_mapping <ost.mol.alg.chain_mapping>` -- Chain Mapping
+--------------------------------------------------------------------------------
+
+.. automodule:: ost.mol.alg.chain_mapping
+   :members:
+   :member-order: bysource
+   :synopsis: Chain mapping in assemblies
diff --git a/modules/mol/alg/doc/contact_score.rst b/modules/mol/alg/doc/contact_score.rst
new file mode 100644
index 0000000000000000000000000000000000000000..184c2f8c5586135cb14017a5f5e44dc79736695b
--- /dev/null
+++ b/modules/mol/alg/doc/contact_score.rst
@@ -0,0 +1,7 @@
+:mod:`contact_score <ost.mol.alg.contact_score>` -- Contact based scores
+--------------------------------------------------------------------------------
+
+.. automodule:: ost.mol.alg.contact_score
+   :members:
+   :member-order: bysource
+   :synopsis: Contact based scores
diff --git a/modules/mol/alg/doc/dockq.rst b/modules/mol/alg/doc/dockq.rst
new file mode 100644
index 0000000000000000000000000000000000000000..f0b9d52e425f3251930bd5c0f5eb53f09c432632
--- /dev/null
+++ b/modules/mol/alg/doc/dockq.rst
@@ -0,0 +1,7 @@
+:mod:`dockq <ost.mol.alg.dockq>` -- DockQ implementation
+--------------------------------------------------------------------------------
+
+.. module:: ost.mol.alg.dockq
+  :synopsis: DockQ implementation
+
+.. autofunction:: ost.mol.alg.dockq.DockQ
diff --git a/modules/mol/alg/doc/helix_kinks.rst b/modules/mol/alg/doc/helix_kinks.rst
new file mode 100644
index 0000000000000000000000000000000000000000..b845f2ffa3cbf93617979a956055d9657ddb030b
--- /dev/null
+++ b/modules/mol/alg/doc/helix_kinks.rst
@@ -0,0 +1,6 @@
+:mod:`helix_kinks <ost.mol.alg.helix_kinks>` -- Algorithms to calculate Helix Kinks
+---------------------------------------------------------------------------------------------------------------
+
+.. automodule:: ost.mol.alg.helix_kinks
+   :synopsis: Algorithms to calculate Helix Kinks
+   :members:
\ No newline at end of file
diff --git a/modules/mol/alg/doc/ligand_scoring.rst b/modules/mol/alg/doc/ligand_scoring.rst
new file mode 100644
index 0000000000000000000000000000000000000000..5e10e873a302a7f3ae0f16853f3d65aae678c2da
--- /dev/null
+++ b/modules/mol/alg/doc/ligand_scoring.rst
@@ -0,0 +1,20 @@
+:mod:`ligand_scoring <ost.mol.alg.ligand_scoring>` -- Ligand scoring functions
+-----------------------------------------------------------------------------------
+
+.. module:: ost.mol.alg.ligand_scoring
+   :synopsis: Ligand scoring functions
+
+.. automodule:: ost.mol.alg.ligand_scoring_base
+   :members:
+   :member-order: bysource
+   :synopsis: Scoring of ligands
+
+.. automodule:: ost.mol.alg.ligand_scoring_lddtpli
+   :members:
+   :member-order: bysource
+   :synopsis: Scoring of ligands with lDDT-PLI
+
+.. automodule:: ost.mol.alg.ligand_scoring_scrmsd
+   :members:
+   :member-order: bysource
+   :synopsis: Scoring of ligands with Symmetry-corrected RMSD
\ No newline at end of file
diff --git a/modules/mol/alg/doc/molalg.rst b/modules/mol/alg/doc/molalg.rst
index 0210375dbe3bb43c8f394c5baeb4e03c7ab49836..c6e676a1b6827c2a648a5e2cce0c0469f7cab847 100644
--- a/modules/mol/alg/doc/molalg.rst
+++ b/modules/mol/alg/doc/molalg.rst
@@ -4,6 +4,21 @@
 .. module:: ost.mol.alg
    :synopsis: Algorithms operating on molecular structures
 
+Submodules
+--------------------------------------------------------------------------------
+
+* :doc:`chain_mapping`
+* :doc:`contact_score`
+* :doc:`dockq`
+* :doc:`helix_kinks`
+* :doc:`ligand_scoring`
+* :doc:`qsscore`
+* :doc:`scoring`
+* :doc:`stereochemistry`
+* :doc:`structure_analysis`
+* :doc:`trajectory_analysis`
+
+
 Local Distance Test scores (lDDT, DRMSD)
 --------------------------------------------------------------------------------
 
@@ -83,106 +98,6 @@ Local Distance Test scores (lDDT, DRMSD)
     :rtype:  :class:`str`
 
 
-:mod:`stereochemistry <ost.mol.alg.stereochemistry>` -- Stereochemistry Checks
---------------------------------------------------------------------------------
-
-.. warning::
-
-  Stereochemistry checks described in
-  `Mariani et al. <https://dx.doi.org/10.1093/bioinformatics/btt473>`_ are
-  considered deprecated. They have been re-implemented and now support
-  nucleotides. The old code is still available and documented
-  :doc:`here <stereochemistry_deprecated>`.
-
-.. automodule:: ost.mol.alg.stereochemistry
-   :members:
-   :member-order: bysource
-   :synopsis: Stereochemistry checks
-
-.. currentmodule:: ost.mol.alg
-
-
-:mod:`scoring <ost.mol.alg.scoring>` -- Specialized scoring functions
---------------------------------------------------------------------------------
-
-.. autoclass:: ost.mol.alg.scoring.lDDTBSScorer
-   :members:
-
-.. autoclass:: ost.mol.alg.scoring.Scorer
-   :members:
-   :member-order: bysource
-
-.. currentmodule:: ost.mol.alg
-
-
-:mod:`ligand_scoring <ost.mol.alg.ligand_scoring_base>` -- Ligand scoring functions
------------------------------------------------------------------------------------
-
-.. automodule:: ost.mol.alg.ligand_scoring_base
-   :members:
-   :member-order: bysource
-   :synopsis: Scoring of ligands
-
-.. automodule:: ost.mol.alg.ligand_scoring_lddtpli
-   :members:
-   :member-order: bysource
-   :synopsis: Scoring of ligands
-
-.. automodule:: ost.mol.alg.ligand_scoring_scrmsd
-   :members:
-   :member-order: bysource
-   :synopsis: Scoring of ligands
-
-
-:mod:`chain_mapping <ost.mol.alg.chain_mapping>` -- Chain Mapping
---------------------------------------------------------------------------------
-
-.. automodule:: ost.mol.alg.chain_mapping
-   :members:
-   :member-order: bysource
-   :synopsis: Chain mapping in assemblies
-
-.. currentmodule:: ost.mol.alg
-
-
-:mod:`qsscore <ost.mol.alg.qsscore>` -- New QS score implementation
---------------------------------------------------------------------------------
-
-.. note::
-
-  This is a new implementation of QS Score, introduced in OpenStructure 2.4 and
-  tightly integrated with the chain mapping algorithms.
-  The :doc:`previous qsscoring code <qsscoring_deprecated>` that comes with
-  `Bertoni et al. <https://www.nature.com/articles/s41598-017-09654-8>`_ is
-  considered deprecated.
-
-.. automodule:: ost.mol.alg.qsscore
-   :members:
-   :member-order: bysource
-   :synopsis: QS Score implementation
-
-.. currentmodule:: ost.mol.alg
-
-
-:mod:`DockQ <ost.mol.alg.dockq>` -- DockQ implementation
---------------------------------------------------------------------------------
-
-.. autofunction:: ost.mol.alg.dockq.DockQ
-
-.. currentmodule:: ost.mol.alg
-
-
-:mod:`Contact Scores <ost.mol.alg.contact_scores>` -- Contact based scores
---------------------------------------------------------------------------------
-
-.. automodule:: ost.mol.alg.contact_score
-   :members:
-   :member-order: bysource
-   :synopsis: Contact Scores
-
-.. currentmodule:: ost.mol.alg
-
-
 GDT - Global Distance Test
 --------------------------
 
@@ -1153,26 +1068,7 @@ used to skip frames in the analysis.
   :param view_ring2: Second group of atoms
   :type view_ring2: :class:`~ost.mol.EntityView`.
   :param stride: Size of the increment of the frame's index between two 
-     consecutive frames analyzed.  
-
-
-:mod:`helix_kinks <ost.mol.alg.helix_kinks>` -- Algorithms to calculate Helix Kinks
----------------------------------------------------------------------------------------------------------------
-
-.. automodule:: ost.mol.alg.helix_kinks
-   :members:
-
-:mod:`trajectory_analysis <ost.mol.alg.trajectory_analysis>` -- DRMSD, pairwise distances and more
----------------------------------------------------------------------------------------------------------------
-
-.. automodule:: ost.mol.alg.trajectory_analysis
-   :members:
-
-:mod:`structure_analysis <ost.mol.alg.structure_analysis>` -- Functions to analyze structures
----------------------------------------------------------------------------------------------------------------
-
-.. automodule:: ost.mol.alg.structure_analysis
-   :members:
+     consecutive frames analyzed.
 
 
 .. _mapping-functions:
@@ -1180,8 +1076,6 @@ used to skip frames in the analysis.
 Mapping functions
 --------------------------------------------------------------------------------
 
-.. currentmodule:: ost.mol.alg
-
 The following functions help to convert one residue into another by reusing as
 much as possible from the present atoms. They are mainly meant to map from
 standard amino acid to other standard amino acids or from modified amino acids
diff --git a/modules/mol/alg/doc/qsscore.rst b/modules/mol/alg/doc/qsscore.rst
new file mode 100644
index 0000000000000000000000000000000000000000..59a2f19d347a712cac5a3dc20b7f0d4f5ed60f50
--- /dev/null
+++ b/modules/mol/alg/doc/qsscore.rst
@@ -0,0 +1,15 @@
+:mod:`qsscore <ost.mol.alg.qsscore>` -- New QS score implementation
+--------------------------------------------------------------------------------
+
+.. note::
+
+  This is a new implementation of QS Score, introduced in OpenStructure 2.4 and
+  tightly integrated with the chain mapping algorithms.
+  The :doc:`previous qsscoring code <qsscoring_deprecated>` that comes with
+  `Bertoni et al. <https://www.nature.com/articles/s41598-017-09654-8>`_ is
+  considered deprecated.
+
+.. automodule:: ost.mol.alg.qsscore
+   :members:
+   :member-order: bysource
+   :synopsis: New QS score implementation
diff --git a/modules/mol/alg/doc/scoring.rst b/modules/mol/alg/doc/scoring.rst
new file mode 100644
index 0000000000000000000000000000000000000000..057088560e98bf804b0214466b5b677a47e95478
--- /dev/null
+++ b/modules/mol/alg/doc/scoring.rst
@@ -0,0 +1,12 @@
+:mod:`scoring <ost.mol.alg.scoring>` -- Specialized scoring functions
+--------------------------------------------------------------------------------
+
+.. module:: ost.mol.alg.scoring
+   :synopsis: Specialized scoring functions
+
+.. autoclass:: ost.mol.alg.scoring.lDDTBSScorer
+   :members:
+
+.. autoclass:: ost.mol.alg.scoring.Scorer
+   :members:
+   :member-order: bysource
diff --git a/modules/mol/alg/doc/stereochemistry.rst b/modules/mol/alg/doc/stereochemistry.rst
new file mode 100644
index 0000000000000000000000000000000000000000..1238fd74b17da95177426e6cb2f5b887af06b5c6
--- /dev/null
+++ b/modules/mol/alg/doc/stereochemistry.rst
@@ -0,0 +1,15 @@
+:mod:`stereochemistry <ost.mol.alg.stereochemistry>` -- Stereochemistry Checks
+--------------------------------------------------------------------------------
+
+.. warning::
+
+  Stereochemistry checks described in
+  `Mariani et al. <https://dx.doi.org/10.1093/bioinformatics/btt473>`_ are
+  considered deprecated. They have been re-implemented and now support
+  nucleotides. The old code is still available and documented
+  :doc:`here <stereochemistry_deprecated>`.
+
+.. automodule:: ost.mol.alg.stereochemistry
+   :members:
+   :member-order: bysource
+   :synopsis: Stereochemistry checks
diff --git a/modules/mol/alg/doc/structure_analysis.rst b/modules/mol/alg/doc/structure_analysis.rst
new file mode 100644
index 0000000000000000000000000000000000000000..caf3c51f5170cba4d424414c59bab33fac987092
--- /dev/null
+++ b/modules/mol/alg/doc/structure_analysis.rst
@@ -0,0 +1,6 @@
+:mod:`structure_analysis <ost.mol.alg.structure_analysis>` -- Functions to analyze structures
+---------------------------------------------------------------------------------------------------------------
+
+.. automodule:: ost.mol.alg.structure_analysis
+   :synopsis: Functions to analyze structures
+   :members:
\ No newline at end of file
diff --git a/modules/mol/alg/doc/trajectory_analysis.rst b/modules/mol/alg/doc/trajectory_analysis.rst
new file mode 100644
index 0000000000000000000000000000000000000000..296b535dfafc81e13f532d885b49c4af0f111c1e
--- /dev/null
+++ b/modules/mol/alg/doc/trajectory_analysis.rst
@@ -0,0 +1,6 @@
+:mod:`trajectory_analysis <ost.mol.alg.trajectory_analysis>` -- DRMSD, pairwise distances and more
+---------------------------------------------------------------------------------------------------------------
+
+.. automodule:: ost.mol.alg.trajectory_analysis
+   :synopsis: DRMSD, pairwise distances and more
+   :members:
\ No newline at end of file
diff --git a/modules/mol/base/doc/mol.rst b/modules/mol/base/doc/mol.rst
index a416911491999891f73e81cfa6de2c9ef085b944..b6833b05054bd4397244d4ea11180a7a93a3e344 100644
--- a/modules/mol/base/doc/mol.rst
+++ b/modules/mol/base/doc/mol.rst
@@ -14,3 +14,14 @@ The mol module implements data structures to work with molecular datasets. At it
   query
   surface
   traj
+  ../alg/molalg
+  ../alg/chain_mapping
+  ../alg/contact_score
+  ../alg/dockq
+  ../alg/helix_kinks
+  ../alg/ligand_scoring
+  ../alg/qsscore
+  ../alg/scoring
+  ../alg/stereochemistry
+  ../alg/structure_analysis
+  ../alg/trajectory_analysis
\ No newline at end of file