-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathRevisionHistory.txt
More file actions
248 lines (186 loc) · 10.6 KB
/
RevisionHistory.txt
File metadata and controls
248 lines (186 loc) · 10.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
UIMFLibrary Revision History
Version 3.6.3.0; January 23, 2019
- Fix a math int vs. object problem in UpdateGlobalStats that only appeared at runtime
- Mark DataReader.GetIntensityBlockForDemultiplexing as obsolete, to reduce code duplication and encourage such functions to be located in the project that uses them.
Version 3.6.2.0; November 6, 2018
- Replace UpdateGlobalFrameCount with UpdateGlobalStats
Version 3.6.1.0; January 9, 2018
- Consolidate some code to text templates, and separate the RlzEncoding and Compression
- Add a couple reader functions to get bin-intensity values without expanding to the full array
Version 3.6.0.0; October 13, 2017
- Fix a bug in the zero run length encoding (affecting the zero suppression, the count would be one too high for a gap)
- Handle the bug when reading files that were encoded with the buggy zero suppression
Version 3.5.7.5; September 26, 2017
- Add drift tube length and drift tube gas global parameters
Version 3.5.7.1; September 7, 2017
- Use CLZF2 instead of custom class LZFCompressionUtil
- Add NetStandard 2.0 support
Version 3.4.2; August 31, 2017
- Add method RenumberFrames
- Add Version_Info table
Version 3.4.1; August 26, 2017
- Fix MzCalibrator when used on non-1GHz files
Version 3.4.0; April 27, 2017
- Expand unit tests
- Configure for Appveyor to auto-build
Version 3.1.0; March 31, 2017
- Use new .csproj format and push to NuGet
Version 3.0.6270; March 2, 2017
- Update the DataReader to allow reading .uimf files with empty Frame_Params and/or Frame_Parameters
- Add method ValidateLegacyHPFColumnsExist to DataWriter
- Add method ValidateLegacyHPFColumnsExist
Version 3.0.6220; January 11, 2017
- Update CloneUIMF to copy views
Version 3.0.6215; January 6, 2017
- Preferentially use lists of Tuples instead of lists of KeyValuePair
- Raise an exception if binToIntensityMap is passed to InsertScan with intensity values of 0
Version 3.0.6180; December 2, 2016
- Update TableExists to check for views in addition to tables
- Add method GetTableColumnNames
- Add unit tests
Version 3.0.6043; July 18, 2016
- Fix bug in the SQL used by GetFrameNumbers that was not returning any results.
Version 3.0.6019; June 24, 2016
- Add pagingFilterStartBin and pagingFilterCount to GetIntensityBlockForDemultiplexing
Version 3.0.5996; June 1, 2016
- Add properties HasFrameParamsTable, HasGlobalParamsTable, and HasLegacyParameterTables
Version 3.0.5989; May 25, 2016
- Update mz calibrator to contain virtual methods that can be overriden by derived classes.
Version 3.0.5988; May 24, 2016
- Now defining the ScanNum field as a 32-bit integer instead of a 16-bit integer in the Frame_Scans table
- Add custom exception handlers to the reader
Version 3.0.5980; May 16, 2016
- Update InsertScan to no longer return an int but to instead have output parameter nonZeroCount
Version 3.0.5970; May 6, 2016
- Fix bug that failed to populate the cached GlobalParams when the writer opens an existing .uimf file
Version 3.0.5961; April 27, 2016
- Update to SQLite v1.0.97 (previously used 1.0.93)
- Update to .NET 4.5.1
- Add ReaderWriterExtensions.cs to UIMFLibrary.csproj (was already used by UIMFLibraryAsync.csproj)
Version 3.0.5940; April 6, 2016
- Update GetSpectrum to avoid an index out of range exception if the requested scan number does not exist in the spectrum cache
Version 3.0.5842; December 30, 2015
- Add m/z-bin conversion functions to MzCalibrator
Version 3.0.5744; September 23, 2015
- Add new GlobalParams: InstrumentClass, PpmBinBasedStartMz, and PpmBinBasedEndMz
- Add property IsPpmBinBased to GlobalParams
Version 3.0.5654; June 25, 2015
- Added check for out-of-range bin values in GetSpectrum in the reader
- Errors reported via new event, ErrorEvent
- Added check for out-of-range bin values in InsertScan in the writer
Version 3.0.5653; June 24, 2015
- Update several AddUpdate functions to return the instance of the class, thus allowing chaining function calls (i.e. the Fluent way)
Version 3.0.5652; June 23, 2015
- The reader now explicitly uses the "en-US" CultureInfo for string to number conversions
- MSConvert-specific version now uses SQLite v1.0.97 (previously used 1.0.90)
Version 3.0.5583; April 15, 2015
- GetSpectrum will now always use GetSpectrumBinCentric if bin-centric tables are present
- Previous only used the Bin-centric method if the number of bins being retrieved was greater than numFrames * numScans
Version 3.0.5564; March 27, 2015
- Update AccumulateFrameData to not use compression if yCompression is 1 or smaller
Version 3.0.5556; March 19, 2015
- Reader will now always report DateStarted with format code M/d/yyyy h:mm:ss tt, regardless of how the date is stored in the UIMF file
- Fix bug storing DriftTime in GetFrameScans
Version 3.0.5540; March 3, 2015
- Added method PreCacheAllFrameParams, which speeds up AddLegacyParameterTablesUsingExistingParamTables
Version 3.0.5536; February 27, 2015
- The writer now has the option (enabled by default) to populate the legacy parameter tables (Global_Parameters and Frame_Parameters)
Version 3.0.5532; February 23, 2015
- Updated GetDriftTime to have required parameter normalizeByPressure
- Added PressureUnits frameter parameter
Version 3.0.5504; January 26, 2015
- Reduced memory footprint by updating SpectrumCache to use a SortedList instead of a Dictionary
Version 3.0.5450; December 3, 2014
- Added support for Agilent .D folders where the first scan is 1 instead of 0
- Added frame parameters ScanNumFirst and ScanNumLast
Version 3.0.5442; November 25, 2014
- Removed legacy InsertScan functions
- Updated GetTicOrBpiByFrame to support the Frame_Params table
- Added version of FlushUimf that supports closing/reopening the active transaction a minimum of 5 seconds apart
Version 3.0.5441; November 24, 2014
- Refactored the global parameters and frame parameters into key-value pairs
- New tables: Global_Params, Frame_Params, and Frame_Param_Keys
- The reader supports both v2.0 and v3.0 .UIMF files
- Added .NET 4.5.1 project with an asynchronous InsertFrame function
- Extensive code and unit test cleanup
Version 2.1.5288; June 24, 2014
- Standardized data type names for database fields to conform to standard SqLite types
- Refactored shared code in UIMFWriter.CreateTables
- Resharper code cleanup
Version 2.1.5287; June 23, 2014
- UpdateGlobalParameter now supports updating a string field in Global_Parameters
- Updated the UIMFLibrary_Demo to use the latest DataReader and DataWriter classes
- Expanded the code documentation throughout
Version 2.1.5214; April 11, 2014
- Updated the DataWriter to implement System.IDisposable and to use a constructor that requires the UIMF file string
- Removed the CloseUIMF() and OpenUIMF() methods
Version 2.0.4891; May 23, 2013
- Added bin-centric functions
Version 2.0.4450; March 8, 2012
- Added overloaded version of InsertScan that takes an integer array of intensities
Version 2.0.4434; February 21, 2012
- Added xml file for 64-bit System.Data.SQLite
Version 2.0.4429; February 16, 2012
- Replaced IMSCOMP.dll with LZFCompressionUtil
Version 2.0.4419; February 6, 2012
- Fixed bug that causes an error if a bin value was seen that exceeded the maximum bin value of the file
Version 2.0.4373; December 22, 2011
- Updated UIMFLibrary to automatically handle FrameType of 0 or 1
Version 2.0.4365; December 14, 2011
- More code cleanup, including renaming enum iFrameType to FrameTye
Version 2.0.4358; December 7, 2011
- Removed all references of FrameIndex
Version 1.3.4212; July 14, 2011
- Added support for the pressure columns in the Frame_Parameters having values with units of milliTorr instead of Torr
- Auto-converting values to Torr when reading data with PopulateFrameParameters
- Example dataset is Sarc_ctrl_1ugul_Run2_4bit_23Sep11_Frodo from IMS_TOF_6
- Renamed the voltEntrance and voltExit fields:
voltEntranceIFTOut -> voltEntranceHPFOut
voltEntranceIFTIn -> voltEntranceHPFIn
voltExitIFTOut -> voltExitHPFOut
voltExitIFTIn -> voltExitHPFIn
Version 1.3.4200; July 2, 2011
- Overloaded AddFrameParameter to support defining a default integer or string value when adding a column
Version 1.3.4199; July 1, 2011
- Added support to TryGetFrameParam and TryGetFrameParamInt32 for Null values
Version 1.3.4195; June 27, 2011
- Added column Decoded to the Frame_Parameters table
- Added functions IsCalibrated and TableHasColumn to the reader
Version 1.3.4178; June 10, 2011
- Renamed description for FrameType 3 to be "MS/MS" instead of "Fragmentation"
- Added ability to update the CalibrationDone column when calling update_CalibrationCoefficients or updateAll_CalibrationCoefficients
- Added PostLogEntry function to the DataReader class
Version 1.3.4170; June 2, 2011
- Overloaded CloneUIMF to include versions with parameter eFrameScanFrameTypeDataToAlwaysCopy
Version 1.3.4135; April 28, 2011
- Updated CloneUIMF to skip the sqlite_sequence table (auto-generated by SQLite)
- Updated CloneUIMF to attach the source DB to the target DB (instead of attaching the target DB to the source DB)
Version 1.3.4132; April 25, 2011
- Changed the Entry_ID column in the Log_Entries table to INTEGER PRIMARY KEY
- Was previously INTEGER PRIMARY KEY AUTOINCREMENT, which results in the creation of table sqlite_sequence
Version 1.3.4130; April 23, 2011
- Added CloneDB() method to the UIMFReader
- Copies all tables and data, though, by default, skips the data in the Frame_Scans table
Version 1.3.4128; April 21, 2011
- Updated DataReader to reference frames using frame_index instead of FrameNum
- Use set_FrameType() to change the frame type; it will return the number of frames of the given type
- Then, obtain frame-related data by frame index instead of frame num
- Cleaned up code in reader
- Created FrameType enum (and constants):
MS = 0
Fragmentation = 1
Prescan = 2
Calibration = 3
- Added UIMFViewer utility functions
- Now building both 32-bit and 64-bit versions of the UIMFLibrary
Version 1.2; July 16, 2010
- Added caching of spectra
- Added caching of t values (used for converting bins to m/z values)
- Added more prepared statements
Version 1.1; June 24, 2010
- Updated to System.Data.SQLite
- Created lib in project folders to store dlls (note: IMSCOMP.dll doesn't play nice with this method)
- Reformated connection strings for new dll.
Version 1.0; June 23, 2010
- Added Revision History
- Updated to NUnit tests