def full_analysis(self, ncpus=<NUM_LIT:1>, **kwargs):
self.molecular_weight()<EOL>self.calculate_centre_of_mass()<EOL>self.calculate_maximum_diameter()<EOL>self.calculate_average_diameter()<EOL>self.calculate_pore_diameter()<EOL>self.calculate_pore_volume()<EOL>self.calculate_pore_diameter_opt(**kwargs)<EOL>self.calculate_pore_volume_opt(**kwargs)<EOL>self.calculate_windows(ncpus=ncpus, **kwargs)<EOL>return self.properties<EOL>
Perform a full structural analysis of a molecule.

This invokes other methods:

    1. :attr:`molecular_weight()`

    2. :attr:`calculate_centre_of_mass()`

    3. :attr:`calculate_maximum_diameter()`

    4. :attr:`calculate_average_diameter()`

    5. :attr:`calculate_pore_diameter()`

    6. :attr:`calculate_pore_volume()`

    7. :attr:`calculate_pore_diameter_opt()`

    8. :attr:`calculate_pore_volume_opt()`

    9. :attr:`calculate_pore_diameter_opt()`

    10. :attr:`calculate_windows()`

Parameters
----------
ncpus : :class:`int`
    Number of CPUs used for the parallelised parts of
    :func:`pywindow.utilities.find_windows()`. (default=1=serial)

Returns
-------
:attr:`Molecule.properties`
    The updated :attr:`Molecule.properties` with returns of all
    used methods.