"""Hard-coded parameters for CNVkit. These should not change between runs."""

# Filter thresholds used in constructing the reference (log2 scale)
MIN_REF_COVERAGE = -5.0
MAX_REF_SPREAD = 1.0
NULL_LOG2_COVERAGE = -20.0

# Thresholds used in GC-content masking of bad bins at 'fix' step
GC_MIN_FRACTION = 0.3
GC_MAX_FRACTION = 0.7

# Fragment size for paired-end reads
INSERT_SIZE = 250

# Target/bin names that are not meaningful gene names
# (In some UCSF panels, "CGH" probes denote selected intergenic regions)
IGNORE_GENE_NAMES = ("-", ".", "CGH")
ANTITARGET_NAME = "Antitarget"
ANTITARGET_ALIASES = (ANTITARGET_NAME, "Background")

# PAR1/2 start/end definitions
PSEUDO_AUTSOMAL_REGIONS = {
    "grch37": {
        "PAR1X": [60000, 2699520],
        "PAR2X": [154931043, 155260560],
        "PAR1Y": [10000, 2649520],
        "PAR2Y": [59034049, 59363566],
    },
    "grch38": {
        "PAR1X": [10000, 2781479],
        "PAR2X": [155701382, 156030895],
        "PAR1Y": [10000, 2781479],
        "PAR2Y": [56887902, 57217415],
    },
}
SUPPORTED_GENOMES_FOR_PAR_HANDLING = PSEUDO_AUTSOMAL_REGIONS.keys()
