18 |
|
self.name_ = "PyMsXML" |
19 |
|
self.majorVer = 0 |
20 |
|
self.minorVer = 5 |
21 |
< |
self.revVer = 1 |
21 |
> |
self.revVer = 2 |
22 |
|
def version(self): |
23 |
|
return "%d.%d.%d"%(self.majorVer,self.minorVer,self.revVer) |
24 |
|
def name(self): |
1160 |
|
self.context = ':msRun' |
1161 |
|
elif name == 'scanOrigin': |
1162 |
|
self.scanmd['scanOrigin'] = attrs |
1163 |
+ |
elif self.context.endswith(':scan:nameValue'): |
1164 |
+ |
self.scanmd['nameValue.%s:%%s'%attrs['name']] = attrs['value'] |
1165 |
|
|
1166 |
|
def characters(self, content): |
1167 |
|
if self.scancount >= self.scanstart: |
1173 |
|
if self.scancount >= self.scanstart: |
1174 |
|
if self.context.endswith('scan:peaks'): |
1175 |
|
|
1176 |
< |
spec = array('f') |
1176 |
> |
self.spec = array('f') |
1177 |
|
# print >>sys.stderr, len(self.content), len(b64decode(self.content)), self.content |
1178 |
< |
spec.fromstring(b64decode(self.content)) |
1178 |
> |
self.spec.fromstring(b64decode(self.content)) |
1179 |
|
if sys.byteorder != 'big': |
1180 |
< |
spec.byteswap() |
1180 |
> |
self.spec.byteswap() |
1181 |
> |
elif self.context.endswith(':scan'): |
1182 |
|
d = {'msLevel':self.scanlevel} |
1183 |
|
# Optional ('scan.' and prefixformat spec. needed) |
1184 |
|
if hasattr(self,'rt'): |
1193 |
|
d.update({'precursorMz':self.precursorMz}) |
1194 |
|
if self.scanmd.has_key('scanOrigin'): |
1195 |
|
d.update({'scanOrigin.parentFileID:%s': self.scanmd['scanOrigin']['parentFileID'], |
1196 |
< |
'scanOrigin.num:%d': self.scanmd['scanOrigin']['num']}) |
1196 |
> |
'scanOrigin.num:%d': int(self.scanmd['scanOrigin']['num'])}) |
1197 |
|
for (k,v) in self.scanmd.items(): |
1198 |
|
if not d.has_key(k): |
1199 |
|
d[k] = v |
1200 |
< |
self.spectra.append((spec,d)) |
1200 |
> |
self.spectra.append((self.spec,d)) |
1201 |
|
if len(self.spectra) >= self.scanmax: |
1202 |
|
self.scanstart = self.scancount+1 |
1203 |
|
raise SAXException("Early termination") |