Mercurial > repos > jjohnson > spectrast
view spectrast_params.py @ 5:274fdc50169b draft default tip
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/spectrast commit e5b5b15b0a995c8588ff62f92fd0a2329fb7a6a5-dirty
author | jjohnson |
---|---|
date | Wed, 25 Jul 2018 15:05:34 -0400 |
parents | c9bfe6adb7cd |
children |
line wrap: on
line source
#!/usr/bin/env python from __future__ import print_function import argparse import re import sys create_opts = [ 'outputFileName', 'useProbTable', 'useProteinList', 'printMRMTable', 'remark', 'binaryFormat', 'writeDtaFiles', 'writeMgfFile', 'writePAIdent', 'removeDecoyProteins', 'plotSpectra', 'minimumProbabilityToInclude', 'maximumFDRToInclude', 'datasetName', 'setFragmentation', 'setDeamidatedNXST', 'addMzXMLFileToDatasetName', 'centroidPeaks', 'rawSpectraNoiseThreshold', 'rawSpectraMaxDynamicRange', 'minimumNumAAToInclude', 'minimumNumPeaksToInclude', 'skipRawAnnotation', 'minimumDeltaCnToInclude', 'maximumMassDiffToInclude', 'bracketSpectra', 'mergeBracket', 'filterCriteria', 'combineAction', 'buildAction', 'refreshDatabase', 'reduceSpectra', 'refreshDeleteUnmapped', 'refreshDeleteMultimapped', 'reannotatePeaks', 'minimumMRMQ3MZ', 'maximumMRMQ3MZ', 'refreshTrypticOnly', 'minimumNumReplicates', 'removeDissimilarReplicates', 'peakQuorum', 'maximumNumPeaksUsed', 'maximumNumReplicates', 'maximumNumPeaksKept', 'replicateWeight', 'recordRawSpectra', 'minimumNumReplicates', 'qualityLevelRemove,', 'qualityPenalizeSingletons', 'qualityImmuneProbThreshold', 'qualityImmuneMultipleEngines', 'useBayesianDenoiser', 'trainBayesianDenoiser', 'denoiserMinimumSignalProb', 'denoiserParamFile', 'decoyConcatenate', 'decoySizeRatio', 'decoyPrecursorSwap', 'normalizeRTWithLandmarks', 'normalizeRTLinearRegression', 'unidentifiedClusterIndividualRun', 'unidentifiedClusterMinimumDot', 'unidentifiedRemoveSinglyCharged', 'unidentifiedMinimumNumPeaksToInclude', 'unidentifiedSingletonXreaThreshold', 'allowableModTokens' ] filter_opts = [ 'outputFileName', 'useProbTable', 'useProteinList', 'printMRMTable', 'remark', 'binaryFormat', 'writeDtaFiles', 'writeMgfFile', 'writePAIdent', 'removeDecoyProteins', 'plotSpectra', 'minimumProbabilityToInclude', 'maximumFDRToInclude', 'datasetName', 'setFragmentation', 'setDeamidatedNXST', 'addMzXMLFileToDatasetName', 'centroidPeaks', 'rawSpectraNoiseThreshold', 'rawSpectraMaxDynamicRange', 'minimumNumAAToInclude', 'minimumNumPeaksToInclude', 'skipRawAnnotation', 'minimumDeltaCnToInclude', 'maximumMassDiffToInclude', 'bracketSpectra', 'mergeBracket', 'filterCriteria', 'combineAction', 'buildAction', 'refreshDatabase', 'reduceSpectra', 'refreshDeleteUnmapped', 'refreshDeleteMultimapped', 'reannotatePeaks', 'minimumMRMQ3MZ', 'maximumMRMQ3MZ', 'refreshTrypticOnly', 'minimumNumReplicates', 'removeDissimilarReplicates', 'peakQuorum', 'maximumNumPeaksUsed', 'maximumNumReplicates', 'maximumNumPeaksKept', 'replicateWeight', 'recordRawSpectra', 'minimumNumReplicates', 'qualityLevelRemove,', 'qualityPenalizeSingletons', 'qualityImmuneProbThreshold', 'qualityImmuneMultipleEngines', 'useBayesianDenoiser', 'trainBayesianDenoiser', 'denoiserMinimumSignalProb', 'denoiserParamFile', 'decoyConcatenate', 'decoySizeRatio', 'decoyPrecursorSwap', 'normalizeRTWithLandmarks', 'normalizeRTLinearRegression', 'unidentifiedClusterIndividualRun', 'unidentifiedClusterMinimumDot', 'unidentifiedRemoveSinglyCharged', 'unidentifiedMinimumNumPeaksToInclude', 'unidentifiedSingletonXreaThreshold', 'allowableModTokens' ] search_opts = [ 'libraryFile', 'databaseFile', 'databaseType', 'indexCacheAll', # 'filterSelectedListFileName', 'precursorMzTolerance', 'precursorMzUseAverage', 'searchAllCharges', 'detectHomologs', 'fvalFractionDelta', 'useSp4Scoring', 'fvalUseDotBias', 'usePValue', 'useTierwiseOpenModSearch', # 'expectedCysteineMod', # 'ignoreSpectraWithUnmodCysteine', # 'ignoreChargeOneLibSpectra', # 'ignoreAbnormalSpectra', 'outputExtension', 'outputDirectory', 'hitListTopHitFvalThreshold', 'hitListLowerHitsFvalThreshold', 'hitListShowHomologs', 'hitListShowMaxRank', 'hitListOnlyTopHit', 'hitListExcludeNoMatch', 'enzymeForPepXMLOutput', 'printFingerprintingSummary', 'filterMinPeakCount', 'filterAllPeaksBelowMz', 'filterMaxIntensityBelow', 'filterMinMzRange', 'filterCountPeakIntensityThreshold', 'filterRemovePeakIntensityThreshold', 'filterMaxPeaksUsed', 'filterMaxDynamicRange', 'peakScalingMzPower', 'peakScalingIntensityPower', 'peakScalingUnassignedPeaks', 'peakNoBinning', 'peakBinningNumBinsPerMzUnit', 'peakBinningFractionToNeighbor', 'filterLibMaxPeaksUsed', 'filterLightIonsMzThreshold', 'filterITRAQReporterPeaks', 'filterTMTReporterPeaks', # 'filterRemoveHuge515Threshold', ] def __main__(): parser = argparse.ArgumentParser( description='Parse SpectraST search.params files' + ' to create an updated search.params') parser.add_argument( 'param_files', nargs='*', help='A SpectraST search.params files') parser.add_argument( '-m', '--mode', choices=['search', 'create', 'filter'], help='') parser.add_argument( '-o', '--output', help='Output file (-) for stdout') args = parser.parse_args() output_wtr = open(args.output, 'w')\ if args.output and args.output != '-' else sys.stdout optpat = re.compile('^([a-z]\w+)\s*[=:]\s*([^=]+)$') valid_opts = search_opts if args.mode == 'search'\ else create_opts if args.mode == 'create' else filter_opts valid_params = dict() # Collect all valid_params def parse_params(param_file, fh, valid_opts): for i, line in enumerate(fh): try: m = optpat.match(line.rstrip()) if m: k, v = m.groups() if k in valid_opts: valid_params[k] = v except Exception, e: print('%s(%d): %s %s' % (param_file, i, line, e), file=sys.stderr) if args.param_files: for param_file in args.param_files: try: with open(param_file, 'r') as fh: parse_params(param_file, fh, valid_opts) except Exception, e: print('parse_params: %s' % e, file=sys.stderr) else: try: parse_params('stdin', sys.stdin) except Exception, e: print('parse_params: %s' % e, file=sys.stderr) # Write valid_params for valid_opt in valid_opts: if valid_opt in valid_params: print('%s = %s' % (valid_opt, valid_params[valid_opt]), file=output_wtr) if __name__ == "__main__": __main__()