def _buildParameterSet(parameterSetName, nameValuePairs): chem, modelName = parameterSetName.split(".")[:2] if modelName == "AllQVsModel": model = AllQVsModel elif modelName == "NoMergeQVModel": model = NoMergeQVModel elif modelName == "NoQVsModel": model = NoQVsModel elif modelName == "AllQVsMergingByChannelModel": model = AllQVsMergingByChannelModel elif modelName == "NoQVsMergingByChannelModel": model = NoQVsMergingByChannelModel else: logging.error("Found parameter set for unrecognized model: %s" % modelName) return None if map(fst, nameValuePairs) != model.parameterNames: die("Malformed parameter set file") qvModelParams = cc.QvModelParams(chem, modelName, *[ float(snd(pair)) for pair in nameValuePairs ]) # # Dirty hack for --diploid support, diploid model is scaled # differently. Needs further work. # if parameterSetName == "unknown.NoQVsModel": bandingOptions = cc.BandingOptions(4, 24) fastScoreThreshold = -50 else: bandingOptions = cc.BandingOptions(4, 6) fastScoreThreshold = -12.5 quiverConfig = cc.QuiverConfig(qvModelParams, cc.ALL_MOVES, bandingOptions, fastScoreThreshold) return ParameterSet(parameterSetName, model, chem, quiverConfig)
def _buildParameterSet(parameterSetName, nameValuePairs): chem, modelName = parameterSetName.split(".")[:2] if modelName == "AllQVsModel": model = AllQVsModel elif modelName == "NoMergeQVModel": model = NoMergeQVModel elif modelName == "NoQVsModel": model = NoQVsModel elif modelName == "AllQVsMergingByChannelModel": model = AllQVsMergingByChannelModel elif modelName == "NoQVsMergingByChannelModel": model = NoQVsMergingByChannelModel else: logging.error("Found parameter set for unrecognized model: %s" % modelName) return None if map(fst, nameValuePairs) != model.parameterNames: die("Malformed parameter set file") qvModelParams = cc.QvModelParams( chem, modelName, *[float(snd(pair)) for pair in nameValuePairs]) # # Dirty hack for --diploid support, diploid model is scaled # differently. Needs further work. # if parameterSetName == "unknown.NoQVsModel": bandingOptions = cc.BandingOptions(4, 24) fastScoreThreshold = -50 else: bandingOptions = cc.BandingOptions(4, 6) fastScoreThreshold = -12.5 quiverConfig = cc.QuiverConfig(qvModelParams, cc.ALL_MOVES, bandingOptions, fastScoreThreshold) return ParameterSet(parameterSetName, model, chem, quiverConfig)