Defines location of Reduce output files relative to input files.

def reduce_output_path(path=None, pdb_name=None):
    """Defines location of Reduce output files relative to input files."""
    if not path:
        if not pdb_name:
            raise NameError(
                "Cannot save an output for a temporary file without a PDB"
                "code specified")
        pdb_name = pdb_name.lower()
        output_path = Path(global_settings['structural_database']['path'],
                           pdb_name[1:3].lower(), pdb_name[:4].lower(),
                           'reduce', pdb_name + '_reduced.mmol')
    else:
        input_path = Path(path)
        if len(input_path.parents) > 1:
            output_path = input_path.parents[1] / 'reduce' / \
                (input_path.stem + '_reduced' + input_path.suffix)
        else:
            output_path = input_path.parent / \
                (input_path.stem + '_reduced' + input_path.suffix)
    return output_path