def __init__(self,
                 row_names,
                 col_names,
                 thresholds_size,
                 thresholds_colour,
                 alt_colours,
                 template="screen",
                 max_pvalue=None,
                 max_qvalue=None,
                 mark_columns=None,
                 ):

        self.mElements = []
        self.mTemplate = template

        # save row names
        self.mRowNames = row_names
        self.mColNames = col_names

        # colours
        self.startColour = RED
        self.mMiddleColour = YELLOW
        self.mStopColour = GREEN
        self.mAltColours = alt_colours

        # a space
        self.mSeparator = 10

        # info
        self.mMaxPValue = max_pvalue
        self.mMaxQValue = max_qvalue

        # width and height of a row/column
        # GAL changed; was 200
        self.mRowHeight = 150
        self.mColWidth = 200

        # maximum size of a box
        self.mMaxBoxSize = 140
        self.mRevertSize = True

        # Height and width get set
        # GAL changed; was 2.0
        self.mHeaderFontSize = self.mRowHeight / 1.5
        self.mHeaderFont = "Verdana"

        self.mThresholdsSize = thresholds_size
        self.mThresholdsSizeTitle = "P-Values"
        self.mThresholdsColour = thresholds_colour
        self.mThresholdsColourTitle = "Fold change"

        # write a grid line every five rows
        self.mRowTicks = 5
        self.mColTicks = 5

        # footer
        self.mFooterFrom = 10
        self.mFooterFontSize = self.mRowHeight / 1.5
        self.mFooterFont = "Verdana"
        self.mFooter = None

        # page margin
        self.mBottomMargin = 300

        # Title
        self.mTitleFontSize = self.mRowHeight
        self.mTitleFont = "Verdana"
        self.mTitle = None

        if self.mTemplate == "screen":
            # screen is default
            pass
        elif self.mTemplate == "publication":
            self.startColour = RED
            self.mMiddleColour = WHITE
            self.mStopColour = BLUE

        self.mMarkColumns = mark_columns
        if self.mMarkColumns:
            assert len(self.mMarkColumns) == len(self.mColNames), \
                "length of mark_columns must equal length of columns"

        self.initializePlot()
If max_pvalue and max_qvalue are given, they are
dataset/ETHPy150Open CGATOxford/cgat/scripts/go2svg.py/GoPlot.__init__