Skip to content

Commit 72a1087

Browse files
committed
add string_length_or_precision and Ms
1 parent 8c7f18b commit 72a1087

2 files changed

Lines changed: 27 additions & 3 deletions

File tree

native/ThermoNativeReader/NativeApi.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1009,7 +1009,7 @@ public static unsafe int GetStatusLogHeader(byte* buffer, int bufferSize)
10091009
{
10101010
var info = _rawFile.GetStatusLogHeaderInformation();
10111011
if (info == null) return 0;
1012-
var res = string.Join("|", info.Select(x => x.Label + "###TYPE###" + (int)x.DataType));
1012+
var res = string.Join("|", info.Select(x => x.Label + "###TYPE###" + (int)x.DataType + "###LEN###" + x.StringLengthOrPrecision));
10131013
var bytes = System.Text.Encoding.UTF8.GetBytes(res);
10141014
int count = Math.Min(bytes.Length, bufferSize - 1);
10151015
for (int i = 0; i < count; i++) buffer[i] = bytes[i];
@@ -1251,7 +1251,7 @@ public static unsafe int GetTrailerExtraHeader(byte* buffer, int bufferSize)
12511251
{
12521252
var info = _rawFile.GetTrailerExtraHeaderInformation();
12531253
if (info == null) return 0;
1254-
var res = string.Join("|", info.Select(x => x.Label + "###TYPE###" + (int)x.DataType));
1254+
var res = string.Join("|", info.Select(x => x.Label + "###TYPE###" + (int)x.DataType + "###LEN###" + x.StringLengthOrPrecision));
12551255
var bytes = System.Text.Encoding.UTF8.GetBytes(res);
12561256
int count = Math.Min(bytes.Length, bufferSize - 1);
12571257
for (int i = 0; i < count; i++) buffer[i] = bytes[i];

native_fisher_py/python/native_fisher_py/data/classes.py

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,7 @@ class MsOrderType(EnumBase):
411411
setattr(MsOrderType, name, MsOrderType(["Any", "Ms1", "Ms2", "Ms3", "Ms4", "Ms5", "Ms6", "Ms7", "Ms8", "Ms9", "Ms10", "Ng", "Nl", "Par"].index(name)))
412412
getattr(MsOrderType, name).name = name
413413
MSOrder = MsOrderType
414+
MsOrderType.Ms = MsOrderType.Ms1
414415

415416
class MassAnalyzer(EnumBase):
416417
Any = 0; ITMS = 1; TQMS = 2; SQMS = 3; TOFMS = 4; FTMS = 5; Sector = 6; MassAnalyzerFTMS = 5; MassAnalyzerITMS = 1; MassAnalyzerSQMS = 3; MassAnalyzerSector = 6; MassAnalyzerTOFMS = 4; MassAnalyzerTQMS = 2
@@ -721,10 +722,19 @@ def get(self, key, default=None):
721722

722723
class HeaderItem(CommonCoreDataObject):
723724
def __init__(self, data):
725+
self._string_length_or_precision = 0
724726
if "###TYPE###" in data:
725727
parts = data.split("###TYPE###")
726728
self._label = parts[0]
727-
try: self._data_type = GenericDataTypes(int(parts[1]))
729+
rest = parts[1]
730+
if "###LEN###" in rest:
731+
subparts = rest.split("###LEN###")
732+
type_val = subparts[0]
733+
try: self._string_length_or_precision = int(subparts[1])
734+
except: pass
735+
else:
736+
type_val = rest
737+
try: self._data_type = GenericDataTypes(int(type_val))
728738
except: self._data_type = GenericDataTypes.NULL
729739
else:
730740
self._label = data
@@ -733,6 +743,8 @@ def __init__(self, data):
733743
@property
734744
def label(self): return self._label
735745
@property
746+
def string_length_or_precision(self): return self._string_length_or_precision
747+
@property
736748
def data_type(self): return self._data_type
737749
@property
738750
def is_numeric(self):
@@ -892,6 +904,18 @@ def __init__(self, masses=None, intensities=None, baselines=None, noises=None, c
892904
self._base_peak_resolution = base_peak_resolution
893905
self._scan_number = scan_number
894906

907+
def clear(self):
908+
self._masses = np.array([])
909+
self._intensities = np.array([])
910+
self._baselines = np.array([])
911+
self._noises = np.array([])
912+
self._charges = np.array([])
913+
914+
def clone(self): return self
915+
def deep_clone(self):
916+
import copy
917+
return copy.deepcopy(self)
918+
895919
@property
896920
def base_intensity(self): return np.max(self._intensities) if self._intensities.size > 0 else 0.0
897921
@property

0 commit comments

Comments
 (0)