//Copyright 2017 Ryan Wick //This file is part of Bandage //Bandage is free software: you can redistribute it and/or modify //it under the terms of the GNU General Public License as published by //the Free Software Foundation, either version 3 of the License, or //(at your option) any later version. //Bandage is distributed in the hope that it will be useful, //but WITHOUT ANY WARRANTY; without even the implied warranty of //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //GNU General Public License for more details. //You should have received a copy of the GNU General Public License //along with Bandage. If not, see . #include "settings.h" #include Settings::Settings() { doubleMode = false; nodeLengthMode = AUTO_NODE_LENGTH; autoNodeLengthPerMegabase = 1000.0; manualNodeLengthPerMegabase = FloatSetting(1000.0, 0, 1000000.0); meanNodeLength = 40.0; minTotalGraphLength = 500.0; graphLayoutQuality = IntSetting(2, 0, 4); linearLayout = false; minimumNodeLength = FloatSetting(5.0, 1.0, 100.0); edgeLength = FloatSetting(5.0, 0.1, 100.0); doubleModeNodeSeparation = FloatSetting(2.0, 0.0, 100.0); nodeSegmentLength = FloatSetting(20.0, 1.0, 1000.0); componentSeparation = FloatSetting(50.0, 0, 1000.0); averageNodeWidth = FloatSetting(5.0, 0.5, 1000.0); depthEffectOnWidth = FloatSetting(0.5, 0.0, 1.0); depthPower = FloatSetting(0.5, 0.0, 1.0); edgeWidth = FloatSetting(1.5, 0.1, 100); outlineThickness = FloatSetting(0.0, 0.0, 100.0); selectionThickness = 1.0; arrowheadSize = 0.01; arrowheadsInSingleMode = false; textOutlineThickness = FloatSetting(1.5, 0.0, 10.0); blastRainbowPartsPerQuery = 100; graphScope = WHOLE_GRAPH; nodeDistance = IntSetting(0, 0, 100); startingNodesExactMatch = true; startingNodes = ""; blastQueryFilename = ""; unnamedQueryDefaultName = "unnamed"; minZoom = 0.01; minZoomOnGraphDraw = 0.2; maxZoom = 100.0; maxAutomaticZoom = 10.0; zoomFactor = 1.0005; textZoomScaleFactor = 0.7; dragStrength = 100.0; displayNodeCustomLabels = false; displayNodeNames = false; displayNodeLengths = false; displayNodeDepth = false; displayNodeCsvData = false; displayNodeCsvDataCol = 0; displayBlastHits = false; labelFont = QFont(); textOutline = false; antialiasing = true; positionTextNodeCentre = false; nodeDragging = NEARBY_PIECES; nodeColourScheme = RANDOM_COLOURS; uniformPositiveNodeColour = QColor(178, 34, 34); uniformNegativeNodeColour = QColor(128, 0, 0); uniformNodeSpecialColour = QColor(0, 128, 0); randomColourPositiveOpacity = IntSetting(255, 0, 255); randomColourNegativeOpacity = IntSetting(255, 0, 255); randomColourPositiveSaturation = IntSetting(127, 0, 255); randomColourNegativeSaturation = IntSetting(127, 0, 255); randomColourPositiveLightness = IntSetting(150, 0, 255); randomColourNegativeLightness = IntSetting(90, 0, 255); edgeColour = QColor(0, 0, 0, 180); outlineColour = QColor(0, 0, 0); selectionColour = QColor(0, 0, 255); textColour = QColor(0, 0, 0); textOutlineColour = QColor(255, 255, 255); contiguitySearchSteps = IntSetting(15, 1, 50); contiguousStrandSpecificColour = QColor(0, 155, 0); contiguousEitherStrandColour = QColor(0, 155, 0); maybeContiguousColour = QColor(190, 240, 190); notContiguousColour = QColor(220, 220, 220); contiguityStartingColour = QColor(0, 255, 0); noBlastHitsColour = QColor(220, 220, 220); autoDepthValue = true; lowDepthValue = FloatSetting(5.0, 0.0, 1000000.0); lowDepthColour = QColor(0, 0, 0); highDepthValue = FloatSetting(50.0, 0.0, 1000000.0); highDepthColour = QColor(255, 0, 0); pathHighlightShadingColour = QColor(0, 0, 0, 60); pathHighlightOutlineColour = QColor(0, 0, 0); defaultCustomNodeColour = QColor(190, 190, 190); minAutoFindEdgeOverlap = 10; maxAutoFindEdgeOverlap = 200; maxHitsForQueryPath = IntSetting(100, 0, 1000000); maxQueryPathNodes = IntSetting(6, 1, 50); minQueryCoveredByPath = FloatSetting(0.9, 0.3, 1.0); minQueryCoveredByHits = FloatSetting(0.9, 0.3, 1.0, true); minMeanHitIdentity = FloatSetting(0.5, 0.0, 1.0, true); maxEValueProduct = SciNotSetting(SciNot(1.0, -10), SciNot(1.0, -999), SciNot(9.9, 1), true); minLengthPercentage = FloatSetting(0.95, 0.0, 10000.0, true); maxLengthPercentage = FloatSetting(1.05, 0.0, 10000.0, true); minLengthBaseDiscrepancy = IntSetting(-100, -1000000, 1000000, false); maxLengthBaseDiscrepancy = IntSetting(100, -1000000, 1000000, false); blastSearchParameters = ""; blastAlignmentLengthFilter = IntSetting(100, 1, 1000000, false); blastQueryCoverageFilter = FloatSetting(50.0, 0.0, 100.0, false); blastIdentityFilter = FloatSetting(90.0, 0.0, 100.0, false); blastEValueFilter = SciNotSetting(SciNot(1.0, -10), SciNot(1.0, -999), SciNot(9.9, 1), false); blastBitScoreFilter = FloatSetting(1000.0, 0.0, 1000000.0, false); minDepthRange = FloatSetting(10.0, 0.0, 1000000.0); maxDepthRange = FloatSetting(100.0, 0.0, 1000000.0); }