Mercurial > repos > jjohnson > spectrast
diff spectrast_params.py @ 2:e67b0cc10377 draft
planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/spectrast commit af2d54a900c86c6b9926b87b514517c0f0f0a975-dirty
author | jjohnson |
---|---|
date | Wed, 20 Jun 2018 12:58:33 -0400 |
parents | |
children | 7f02fc51bddf |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/spectrast_params.py Wed Jun 20 12:58:33 2018 -0400 @@ -0,0 +1,111 @@ +#!/usr/bin/env python + +from __future__ import print_function + +import argparse +import re +import sys + +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( + '-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*([^=]+)$') + search_params = dict() + + # Collect all search_params + def parse_params(param_file, fh): + for i, line in enumerate(fh): + try: + m = optpat.match(line.rstrip()) + if m: + k, v = m.groups() + if k in search_opts: + search_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) + 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 search_params + for search_opt in search_opts: + if search_opt in search_params: + print('%s = %s' % (search_opt, search_params[search_opt]), file=output_wtr) + + +if __name__ == "__main__": + __main__()