@staticmethod
def _get_resources_string(res_dict, pid):
    """ Returns the nextflow resources string from a dictionary object

        If the dictionary has at least on of the resource 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": {"cpus": 1, "memory": "4GB"},
                    "processB": {"cpus": 2}}

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

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