diff --git a/phasecalculator/runners/phasecalculatorrunner.py b/phasecalculator/runners/phasecalculatorrunner.py
index 037eb6367c61121f7d50f999b2630a42837a376a..fc6ff20dcdcccade2ca4d3f47a40920d78eb17d0 100755
--- a/phasecalculator/runners/phasecalculatorrunner.py
+++ b/phasecalculator/runners/phasecalculatorrunner.py
@@ -34,8 +34,23 @@ LOGGER.setLevel(logging.WARN)
 
 
 def run_all_analysis(system_info, **kwargs):
-    
-    # TODO Logging output of analysis
+    """Generate required solvent and phase XML then run all relevant analysis.
+
+    Parameters
+    ----------
+    system_info : System
+        System information.
+    output_filename : str, optional
+        output file location for similarity matrix. The default is
+        "similaritymatrix.csv".
+    memory_req : str, optional
+        Memory settings for jar executable. The default is None.
+
+    Returns
+    -------
+    None.
+
+    """
     phase_filename, solvent_list = create_phase_and_solvent_xml_files(system_info, **kwargs)
     if system_info.calc_vle():
         run_vle_analysis(system_info, phase_filename, **kwargs)
@@ -45,21 +60,26 @@ def run_all_analysis(system_info, **kwargs):
         run_similarity_analysis(system_info, solvent_list, **kwargs)
     
 def run_fgip_analysis(system_info, solvent_filename_dict_list, **kwargs):
-    """
-    
+    """Run FGIP analysis.
 
     Parameters
     ----------
-    system_info : TYPE
-        DESCRIPTION.
-    solvent_filename_dict_list : TYPE
-        DESCRIPTION.
-    **kwargs : TYPE
-        DESCRIPTION.
+    system_info : System
+        System information.
+    solvent_filename_dict_list : dict
+        dictionary of solvent filenames with temperature information.
+    output_filename : str, optional
+        output file location for similarity matrix. The default is
+        "similaritymatrix.csv".
+    memory_req : str, optional
+        Memory settings for jar executable. The default is None.
 
     Returns
     -------
-    None.
+    combined_results : list
+        combined results of FGIP generation.
+    combined_latex_blocks : str
+        combined latex blocks for figures.
 
     """
     # TODO: for each solvent file/temp combo in dict
@@ -81,16 +101,19 @@ def run_fgip_analysis(system_info, solvent_filename_dict_list, **kwargs):
         combined_latex_blocks += latex_blocks
     return combined_results, combined_latex_blocks
 def run_similarity_analysis(system_info, solvent_filename_dict, **kwargs):
-    """
+    """Run similarity analysis.
 
     Parameters
     ----------
-    system_info : TYPE
-        DESCRIPTION.
-    solvent_filename_dict : TYPE
-        DESCRIPTION.
-    **kwargs : TYPE
-        DESCRIPTION.
+    system_info : System
+        System information.
+    solvent_filename_dict : dict
+        dictionary of solvent filenames with temperature information.
+    output_filename : str, optional
+        output file location for similarity matrix. The default is
+        "similaritymatrix.csv".
+    memory_req : str, optional
+        Memory settings for jar executable. The default is None.
 
     Returns
     -------
@@ -115,25 +138,30 @@ def run_similarity_analysis(system_info, solvent_filename_dict, **kwargs):
     output_type = system_info.output_information.similarity_output_type
     out_res, poly_filename_list = simrun.extract_all_solvents_and_generate_polynomials(solvent_filename_dict_list,
                                                                                        output_dir)
-    simrun.run_similarity_analysis(poly_filename_list, output_type, output_dir)
-    #
+    simrun.run_similarity_analysis(poly_filename_list, output_type, output_dir, **kwargs)
+
     
 def run_vle_analysis(system_info, phase_filename, **kwargs):
-    """
+    """Run VLE phase calculation.
 
     Parameters
     ----------
-    system_info : TYPE
-        DESCRIPTION.
-    phase_filename : TYPE
-        DESCRIPTION.
-    **kwargs : TYPE
-        DESCRIPTION.
+    system_info : System
+        System information.
+    phase_filename : str
+        Filename for phase XML.
+    memory_req : str, optional
+        Memory settings for jar executable. The default is None.
+
+    Raises
+    ------
+    FileNotFoundError
+        If jar file is not found.
 
     Returns
     -------
-    TYPE
-        DESCRIPTION.
+    CompletedProcess
+        result of system call.
 
     """
     jar_path = system_info.runtime_information.phasetransfer_jar
@@ -158,32 +186,32 @@ def create_output_dir(system_info):
     return output_path.as_posix()
 
 def create_free_energy_output_filename(solvent_filename):
-    """
+    """Create free energy filename for solvent file. 
 
     Parameters
     ----------
-    solvent_filename : TYPE
-        DESCRIPTION.
+    solvent_filename : str
+        Input solvent filename.
 
     Returns
     -------
-    TYPE
-        DESCRIPTION.
+    str
+        Output energy filename.
 
     """
     return solvent_filename.replace(".xml","free.xml")
 def create_binding_energy_output_filename(solvent_filename):
-    """
+    """Create binding energy filename for solvent file.
 
     Parameters
     ----------
-    solvent_filename : TYPE
-        DESCRIPTION.
+    solvent_filename : str
+        Input solvent filename.
 
     Returns
     -------
-    TYPE
-        DESCRIPTION.
+    str
+        Output energy filename.
 
     """
     return solvent_filename.replace(".xml", "binding.xml")
@@ -192,35 +220,41 @@ def create_phase_output_filename(phase_filename):
 
     Parameters
     ----------
-    phase_filename : TYPE
-        DESCRIPTION.
+    phase_filename : str
+        Input phase filename.
 
     Returns
     -------
-    TYPE
-        DESCRIPTION.
+    str
+        phase output filename.
 
     """
     return phase_filename.replace(".xml", "calculated.xml")
 
 def create_phase_and_solvent_xml_files(system_info, **kwargs):
-    """
+    """Create solvent and phase files for given system.
 
     Parameters
     ----------
-    system_info : TYPE
-        DESCRIPTION.
-    filestem : TYPE, optional
-        DESCRIPTION. The default is "system".
-    **kwargs : TYPE
-        DESCRIPTION.
+    system_info : System
+        System object.
+    filestem : str, optional
+        filename stem. The default is "system".
+    solvent_info_filename : str, optional
+        Filename for file containing solvent information. Defaults to file in
+        phasexmlcreator module.
+    name_inchikey_map : dict, optional
+        inchikey: name pairs. Defaults to names of solvents in pureinformation
+        module.
+
 
     Returns
     -------
-    phase_file : TYPE
-        DESCRIPTION.
-    solvent_list : TYPE
-        DESCRIPTION.
+    phase_file : str
+        Phase filename.
+    solvent_list : list of dict
+        List of dictionaries containing solvent filename and temperature information.
+
 
     """
     return phasexmlrun.create_phase_and_solvent_files(system_info, **kwargs)
\ No newline at end of file
diff --git a/phasecalculator/runners/similarityanalysisrunner.py b/phasecalculator/runners/similarityanalysisrunner.py
index 97926d197eb0c5ce5568cb1ad21171c1a6b8fd64..a2573643739746c56a051057dcfa6b112fe4ccfc 100755
--- a/phasecalculator/runners/similarityanalysisrunner.py
+++ b/phasecalculator/runners/similarityanalysisrunner.py
@@ -32,18 +32,19 @@ LOGGER = logging.getLogger(__name__)
 LOGGER.setLevel(logging.WARN)
 
 def run_similarity_analysis(poly_filename_list, output_type, output_dir, output_filename="similaritymatrix.csv"):
-    """
+    """Run similarity analysis.
 
     Parameters
     ----------
-    poly_filename_list : TYPE
-        DESCRIPTION.
-    output_type : TYPE
-        DESCRIPTION.
-    output_dir : TYPE
-        DESCRIPTION.
-    output_filename : TYPE, optional
-        DESCRIPTION. The default is "similaritymatrix.csv".
+    poly_filename_list : list of str
+        list of polynomial filenames.
+    output_type : str
+        Output type. Three options: "all", "mixturecomparison" or "purecomparison".
+    output_dir : str
+        output directory for results.
+    output_filename : str, optional
+        output file location for similarity matrix. The default is
+        "similaritymatrix.csv".
 
     Returns
     -------
@@ -59,21 +60,21 @@ def run_similarity_analysis(poly_filename_list, output_type, output_dir, output_
 
 
 def extract_all_solvents_and_generate_polynomials(solv_energy_dict_list, directory_base):
-    """
+    """Extract results for all solvents, and partition results based on temperature.
 
     Parameters
     ----------
-    solv_energy_dict_list : TYPE
-        DESCRIPTION.
-    directory_base : TYPE
-        DESCRIPTION.
+    solv_energy_dict_list : list of dicts
+        Solvation energy files .
+    directory_base : str
+        Base output directory.
 
     Returns
     -------
-    combined_out_res : TYPE
-        DESCRIPTION.
-    combined_filename_list : TYPE
-        DESCRIPTION.
+    combined_out_res : list
+        List of polynomial generation results.
+    combined_filename_list : list of str
+        Polynomial filename list.
 
     """
     combined_out_res = []
@@ -120,8 +121,8 @@ def extract_solvents_and_generate_polynomials(solvent_filename, energy_xml_filen
     ----------
     solvent_filename : str
         filename for solvent XML.
-    energy_xml_filename : TYPE
-        DESCRIPTION.
+    energy_xml_filename : str
+        energy XML filename.
     directory : str
         Directory to put files.