@staticmethod
def _get_container_string(cont_dict, pid):
    """ Returns the nextflow containers string from a dictionary object

        If the dictionary has at least on of the container directives, these
        will be compiled for each process in the dictionary and returned
        as a string read for injection in the nextflow config file template.

        This dictionary should be::

            dict = {"processA": {"container": "asd", "version": "1.0.0"},
                    "processB": {"container": "dsd"}}

        Parameters
        ----------
        cont_dict : dict
            Dictionary with the containers for processes.
        pid : int
            Unique identified of the process

        Returns
        -------
        str
            nextflow config string
        """
    config_str = ''
    for p, directives in cont_dict.items():
        container = ''
        if 'container' in directives:
            container += directives['container']
            if 'version' in directives:
                container += ':{}'.format(directives['version'])
            else:
                container += ':latest'
        config_str += '\n\t${}_{}.container = "{}"'.format(p, pid, container)
    return config_str
