def macs2_call_peaks(
                self, treatment_bams, output_dir, sample_name, genome,
                control_bams=None, broad=False, paired=False,
                pvalue=None, qvalue=None, include_significance=None):
        """
        Use MACS2 to call peaks.

        :param str | Iterable[str] treatment_bams: Paths to files with data to
            regard as treatment.
        :param str output_dir: Path to output folder.
        :param str sample_name: Name for the sample involved.
        :param str genome: Name of the genome assembly to use.
        :param str | Iterable[str] control_bams: Paths to files with data to
            regard as control
        :param bool broad: Whether to do broad peak calling.
        :param bool paired: Whether reads are paired-end
        :param float | NoneType pvalue: Statistical significance measure to
            pass as --pvalue to peak calling with MACS
        :param float | NoneType qvalue: Statistical significance measure to
            pass as --qvalue to peak calling with MACS
        :param bool | NoneType include_significance: Whether to pass a
            statistical significance argument to peak calling with MACS; if
            omitted, this will be True if the peak calling is broad or if
            either p-value or q-value is specified; default significance
            specification is a p-value of 0.001 if a significance is to be
            specified but no value is provided for p-value or q-value.
        :return str: Command to run.
        """
        sizes = {"hg38": 2.7e9, "hg19": 2.7e9, "mm10": 1.87e9, "dr7": 1.412e9, "mm9": 1.87e9}

        # Whether to specify to MACS2 a value for statistical significance
        # can be either directly indicated, but if not, it's determined by
        # whether the mark is associated with broad peaks. By default, we
        # specify a significance value to MACS2 for a mark associated with a
        # broad peak.
        if include_significance is None:
            include_significance = broad

        cmd = self.tools.macs2 + " callpeak -t {0}".format(treatment_bams if type(treatment_bams) is str else " ".join(treatment_bams))

        if control_bams is not None:
            cmd += " -c {0}".format(control_bams if type(control_bams) is str else " ".join(control_bams))

        if paired:
            cmd += " -f BAMPE "

        # Additional settings based on whether the marks is associated with
        # broad peaks
        if broad:
            cmd += " --broad --nomodel --extsize 73"
        else:
            cmd += " --fix-bimodal --extsize 180 --bw 200"

        if include_significance:
            # Allow significance specification via either p- or q-value,
            # giving preference to q-value if both are provided but falling
            # back on a default p-value if neither is provided but inclusion
            # of statistical significance measure is desired.
            if qvalue is not None:
                cmd += " --qvalue {}".format(qvalue)
            else:
                cmd += " --pvalue {}".format(pvalue or 0.00001)
        cmd += " -g {0} -n {1} --outdir {2}".format(sizes[genome], sample_name, output_dir)

        return cmd
def macs2_call_peaks ( self , treatment_bams , output_dir , sample_name , genome , control_bams = None , broad = False , paired = False , pvalue = None , qvalue = None , include_significance = None ) : sizes = { "hg38" : 2.7e9 , "hg19" : 2.7e9 , "mm10" : 1.87e9 , "dr7" : 1.412e9 , "mm9" : 1.87e9 } if include_significance is None : include_significance = broad cmd = self . tools . macs2 + " callpeak -t {0}" . format ( treatment_bams if type ( treatment_bams ) is str else " " . join ( treatment_bams ) ) if control_bams is not None : cmd += " -c {0}" . format ( control_bams if type ( control_bams ) is str else " " . join ( control_bams ) ) if paired : cmd += " -f BAMPE " if broad : cmd += " --broad --nomodel --extsize 73" else : cmd += " --fix-bimodal --extsize 180 --bw 200" if include_significance : if qvalue is not None : cmd += " --qvalue {}" . format ( qvalue ) else : cmd += " --pvalue {}" . format ( pvalue or 0.00001 ) cmd += " -g {0} -n {1} --outdir {2}" . format ( sizes [ genome ] , sample_name , output_dir ) return cmd
Use MACS2 to call peaks.

        :param str | Iterable[str] treatment_bams: Paths to files with data to
            regard as treatment.
        :param str output_dir: Path to output folder.
        :param str sample_name: Name for the sample involved.
        :param str genome: Name of the genome assembly to use.
        :param str | Iterable[str] control_bams: Paths to files with data to
            regard as control
        :param bool broad: Whether to do broad peak calling.
        :param bool paired: Whether reads are paired-end
        :param float | NoneType pvalue: Statistical significance measure to
            pass as --pvalue to peak calling with MACS
        :param float | NoneType qvalue: Statistical significance measure to
            pass as --qvalue to peak calling with MACS
        :param bool | NoneType include_significance: Whether to pass a
            statistical significance argument to peak calling with MACS; if
            omitted, this will be True if the peak calling is broad or if
            either p-value or q-value is specified; default significance
            specification is a p-value of 0.001 if a significance is to be
            specified but no value is provided for p-value or q-value.
        :return str: Command to run.