Mercurial > repos > jjohnson > spectrast
comparison 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 |
comparison
equal
deleted
inserted
replaced
1:390a3c4a7f6b | 2:e67b0cc10377 |
---|---|
1 #!/usr/bin/env python | |
2 | |
3 from __future__ import print_function | |
4 | |
5 import argparse | |
6 import re | |
7 import sys | |
8 | |
9 search_opts = [ | |
10 'libraryFile', | |
11 'databaseFile', | |
12 'databaseType', | |
13 'indexCacheAll', | |
14 # 'filterSelectedListFileName', | |
15 'precursorMzTolerance', | |
16 'precursorMzUseAverage', | |
17 'searchAllCharges', | |
18 'detectHomologs', | |
19 'fvalFractionDelta', | |
20 'useSp4Scoring', | |
21 'fvalUseDotBias', | |
22 'usePValue', | |
23 'useTierwiseOpenModSearch', | |
24 # 'expectedCysteineMod', | |
25 # 'ignoreSpectraWithUnmodCysteine', | |
26 # 'ignoreChargeOneLibSpectra', | |
27 # 'ignoreAbnormalSpectra', | |
28 'outputExtension', | |
29 'outputDirectory', | |
30 'hitListTopHitFvalThreshold', | |
31 'hitListLowerHitsFvalThreshold', | |
32 'hitListShowHomologs', | |
33 'hitListShowMaxRank', | |
34 'hitListOnlyTopHit', | |
35 'hitListExcludeNoMatch', | |
36 'enzymeForPepXMLOutput', | |
37 'printFingerprintingSummary', | |
38 'filterMinPeakCount', | |
39 'filterAllPeaksBelowMz', | |
40 'filterMaxIntensityBelow', | |
41 'filterMinMzRange', | |
42 'filterCountPeakIntensityThreshold', | |
43 'filterRemovePeakIntensityThreshold', | |
44 'filterMaxPeaksUsed', | |
45 'filterMaxDynamicRange', | |
46 'peakScalingMzPower', | |
47 'peakScalingIntensityPower', | |
48 'peakScalingUnassignedPeaks', | |
49 'peakNoBinning', | |
50 'peakBinningNumBinsPerMzUnit', | |
51 'peakBinningFractionToNeighbor', | |
52 'filterLibMaxPeaksUsed', | |
53 'filterLightIonsMzThreshold', | |
54 'filterITRAQReporterPeaks', | |
55 'filterTMTReporterPeaks', | |
56 # 'filterRemoveHuge515Threshold', | |
57 ] | |
58 | |
59 | |
60 def __main__(): | |
61 parser = argparse.ArgumentParser( | |
62 description='Parse SpectraST search.params files' + | |
63 ' to create an updated search.params') | |
64 parser.add_argument( | |
65 'param_files', nargs='*', | |
66 help='A SpectraST search.params files') | |
67 parser.add_argument( | |
68 '-o', '--output', | |
69 help='Output file (-) for stdout') | |
70 args = parser.parse_args() | |
71 | |
72 output_wtr = open(args.output, 'w')\ | |
73 if args.output and args.output != '-' else sys.stdout | |
74 | |
75 optpat = re.compile('^([a-z]\w+)\s*[=:]\s*([^=]+)$') | |
76 search_params = dict() | |
77 | |
78 # Collect all search_params | |
79 def parse_params(param_file, fh): | |
80 for i, line in enumerate(fh): | |
81 try: | |
82 m = optpat.match(line.rstrip()) | |
83 if m: | |
84 k, v = m.groups() | |
85 if k in search_opts: | |
86 search_params[k] = v | |
87 except Exception, e: | |
88 print('%s(%d): %s %s' % (param_file, i, line, e), | |
89 file=sys.stderr) | |
90 | |
91 if args.param_files: | |
92 for param_file in args.param_files: | |
93 try: | |
94 with open(param_file, 'r') as fh: | |
95 parse_params(param_file, fh) | |
96 except Exception, e: | |
97 print('parse_params: %s' % e, file=sys.stderr) | |
98 else: | |
99 try: | |
100 parse_params('stdin', sys.stdin) | |
101 except Exception, e: | |
102 print('parse_params: %s' % e, file=sys.stderr) | |
103 | |
104 # Write search_params | |
105 for search_opt in search_opts: | |
106 if search_opt in search_params: | |
107 print('%s = %s' % (search_opt, search_params[search_opt]), file=output_wtr) | |
108 | |
109 | |
110 if __name__ == "__main__": | |
111 __main__() |