chromConverter (development version)
- Fixed
write_mzmlto write DAD spectra correctly. - Added chromatograms to mzML files written by
write_mzml. - Fixed bug causing failure to write chromatograms with missing attributes to
.cdf(thanks to @pbulsink for PR #37). - Fixed bug causing failure to write existing timestamp data to
.cdffiles. - Added more metadata fields to exported CDF files.
- Added additional test for writing CDF files with missing attributes.
- Added preliminary support for reading “Chromatotec”
.Chromfiles through theread_chromatotecfunction.
chromConverter 0.8.0
- Improved support for ‘Agilent Openlab’
.dxfiles: extraction of DAD and auxiliary instrumental data (stored in.ITfiles). - Refactored
read_shimadzu_qgdfor a 1.4x speedup in the parsing of Shimadzu.qgdfiles, cutting execution time by 30%. - Refactored
read_shimadzu_lcdfor a 2.4x speedup in the parsing of Shimadzu.lcdfiles, cutting execution time by 60%. - Refactored
write_mzmlfor massive speed-up when writing mzML files, especially for large MS data. - Fixed ‘Shimadzu’ metadata time zone offsets.
- Fixed misplaced parentheses in
read_agilent_dcausing possible bug. - Fixed bug in
read_chemstation_uvcausing error for long format data. - Added more informative error messages for
read_agilent_d. - Added additional tests for retention times and
data_formatattribute. - Added
data_formatandread_metadataarguments forread_chemstation_csv. - Fixed incorrect
data_formatattributes for MS data to reflect that they are always returned in long format. - Fixed documentation to accurately reflect the fact that MS data is always returned in long format.
- Automatically return long format when
data.tableoutput is selected since data.tables do not have rownames. - Fixed error due to fractional timezones in Shimadzu metadata (e.g., India +05:30).
- Fixed bug in
write_mzmlcausing retention time shifts for BPC and TIC. - Rewrote
configure_python_environmentfunction to facilitate configuration of a chromConverter virtual environment or conda environment, though a dedicated environment is no longer required (as of chromConverter v0.7.4). - Fixed bug in
collapseargument causing functions to return vector whenformat_outisdata.frame. - Fixed bug causing elimination of retention times when
format_outisdata.table. - Enabled
data.tableformat inread_shimadzu_ascii. - Enabled automatic recognition of ‘Agilent OpenLab’
.dxfile byread_chroms. - Fixed long format output for
read_shimadzu(‘Shimadzu’ ASCII files). - Fixed timezone issue in some ‘Agilent ChemStation’ files.
chromConverter 0.7.5
CRAN release: 2025-03-31
-
Changes to
sample_namesargument inread_chroms: This argument can no longer be supplied with a vector of names. Instead,sample_namescan be provided with one of two arguments:basenameorsample_name. The default setting (basename) will use the basename of the file, whilesample_namewill instead use the sample name encoded in the file’s metadata. - Fixed bug in
extract_metadatawhen sub-setting metadata elements. - Added more informative error and warning messages to
extract_metadata. - Added
data.tableformat option toextract_metadata. - Fixed path issue in
call_openchrom. - Updated documentation in README and
call_openchrommanual concerning OpenChrom installation.
chromConverter 0.7.4
- Use updated syntax for reticulate (hopefully this will solve some of the issues with python configuration failure).
- Invisibly return paths to exported CDF files.
- Small updates to documentation (e.g., addition of functional families, standardization of function titles and descriptions).
- Fixed Windows path issue when R is installed locally.
- Fixed error reading Shimadzu metadata on Windows (due to “Extra content at end of document”).
chromConverter 0.7.3
- Updated
read_shimadzu_lcdto infer retention times in Shimadzu 3D Data fromMax Plotstream since it is always (?) present. - Updated
read_shimadzu_lcdto skip parsing of metadata from 3D Data Item when it is not present. - Updated
read_shimadzu_lcdto includeMax Plotstream when parsing 2D chromatograms. - Fixed bug in
read_chromeleonrelated to inference of decimal separators. - Added
decimal_markargument toread_chromeleonto manually set decimal separator.
chromConverter 0.7.2
- Added preliminary support for extraction of peak tables from ‘Shimadzu’
.lcdfiles. - Added support for inference of retention times from ‘Shimadzu’
.lcdfiles lackingData Itemstreams. - Added support for raw format File Properties stream in ‘Shimadzu’
.lcdfiles. - Added support for parsing 3D data field from ‘Chromeleon’ ascii files.
chromConverter 0.7.1
- Fixed automatic file detection for directories (e.g., Waters
.rawand Agilent.D) - Fixed bug preventing extraction of
Waterschromatograms with lowercase filenames. - Added support for extracting metadata from ‘Waters’
.rawheader files. - Added support for extraction of detector units from ‘Waters’ chromatograms.
chromConverter 0.7.0
Major features
- Added preliminary support for ‘Varian Worktation’ (
.sms) format throughread_varian_smsfunction. - Added preliminary support for ‘Shimadzu QGD’ GC-MS files through the
read_shimadzu_qgdfunction. - Added preliminary support for ‘Allotrope Simple Model’ (ASM) 2D chromatography date files.
- Added support for reading multiple files from ‘Agilent’
.Ddirectories throughread_agilent_dfunction. - Added internal parser for ‘Agilent ChemStation’ MS files through
read_agilent_ms. - Added option to write mzML files (MS1 and DAD).
- Added option to write ANDI MS netCDF files.
UI changes
- Changed order of arguments in
read_chromsso thatformat_incomes second afterpath. - Removed extraneous
exportargument fromread_chroms. To export files, you now only need to provide an argument toexport_format. - Updated handling of multiple chromatograms by
read_shimadzu_lcd. The function now returns a list of named chromatograms ifdata_format == "wide"and returns multiple chromatograms in a singledata.frameifdata_format == "long". - Added
scaleargument toread_chemstation_uvandread_shimadzu_asciito toggle scaling of chromatograms. - Harmonized file path arguments across parser functions by changing
filearguments topath. - Harmonized column names in output across parsers.
- Small changes in
read_cdfUI:whatnow defaults toNULLand defaults are coded into downstreamread_andi_chromandread_andi_msfunctions. - Added extra verbosity in
read_chromswhenverboseisTRUE.
Other improvements
- Fixed bug causing reticulate to attempt reinstallation of Aston every time the package is loaded (due to case sensitivity of packages names in
reticulate::configure_environment). - Added
data.tableas an option forformat_out. - Improved speed of
read_shimadzu_lcdby dealing with twos-complements more sensibly. - Start ‘Shimadzu LCD’ chromatogram retention times at dwell time (DLT).
- Give temp files generated from Shimadzu OLE files informative names.
- Use ‘Output Date’ field instead of ‘Type’ to find ‘Shimadzu’ ASCII delimiter. (This seems to be a more generalizable solution since some files do not contain the ‘Type’ field).
- Allow relative paths for
path_outwhen using ‘ThermoRawFileParser’ and ‘OpenChrom’ parsers. - Allow creation of new directories by
read_chromsifpath_outdoes not exist. - Fixed bug affecting some
mdffiles lacking null bytes after the file header. - Eliminated ‘magrittr’ dependency by using xpath to parse XML in a more straightforward fashion.
- Fixed bug causing truncation of sample names at the first period by
read_chroms. - Modified
export_csvfunction to label first column for wide-format chromatograms. - Improved handling of metadata from rainbow parsers.
- Fixed error when providing single chromatogram to .
- Added metadata field for source checksum (SHA1) and source file format.
- Other minor changes to metadata fields.
- Return all times in Coordinated Univeral Time (UTC) for consistency across systems.
chromConverter 0.6.4
- Added support for ‘Agilent ChemStation’ version 8 (
.ch) files throughread_chemstation_ch. - Fixed failure to return units in some
Agilent Chemstationfiles due to typo. - Fixed bug causing “spill-over” of Agilent metadata fields.
- Fixed bug causing failure to read
ChemStationCSV files on (some) mac machines by specifying little-endian format in call toread.csv.
chromConverter 0.6.3
- Added parser for total ion chromatogram (TIC) stream in ‘Shimadzu’ LCD files.
- Added additional support for extraction of metadata from ‘Shimadzu’ LCD and GCD files.
- Updated docs for
read_shimadzu_lcd_2dto more accurately reflect file structure. - Added
scaleargument toread_chemstation_chandread_shimadzu_lcdto toggle scaling of chromatograms resolving (#30).
chromConverter 0.6.2
- Updated
read_shimadzu_lcdfunction to correctly determine the number of blocks in the “Shimadzu” LCD PDA stream (thanks to kco-hereon). - Added preliminary support for 2D data streams from “Shimadzu LCD” files.
- Added parser for ‘Shimadzu GCD’ files (from GC-FID).
chromConverter 0.6.1
- Added support for ‘Shimadzu’ ASCII files with ‘[LC Chromatogram…]’ sub-header.
- Correct ‘Shimadzu’ ASCII chromatograms by ‘Intensity Multiplier’ if it is provided.
- Fixed bug in logic in
export_cdfsfunction to permit conversion of files lacking metadata. - Minor, cosmetic changes to documentation.
chromConverter 0.6.0
- Added parser for reading ANDI MS (
.cdf) files. - Fixed parsing of Agilent MS files with ‘entab’ reader.
- Fixed
read_chemstation_chparser to correctly read “Mustang Chemstation” 179 files with 8-byte encoding. - Re-factored
read_shimadzufunction and added support for new types of chromatograms (e.g. status, uv and total ion chromatograms). Added support for reading multiple types of chromatograms at once. - Added support for reading MS spectra from ‘Shimadzu’ ascii files using
read_shimadzu. - Exported
write_cdfand added additional arguments (lambdaandforce) for greater control by users. - Added internal parser for 1D ‘Waters RAW’ chromatograms (
read_waters_raw). - Added
collapseargument tocall_rainbowand to collapse superfluous lists. - Added
...argument toread_chromsfor supplying additional arguments to parsers. - Added alias to
read_chromsfor readingmzxmlfiles withRaMS. - Added
precisionargument tocall_rainbowto control number of digits “mz” values are rounded to. (Also changed default behavior so values are rounded to one decimal by default). - Fixed bug in
read_shimadzu_lcdon Windows due to issue with passing escaped paths to Python. - Updated documentation of various functions.
chromConverter 0.5.0
New features
- Added support for parallel processing through
pbapplypackage. (Note: Thepbapplypackage must be manually installed to enable parallel processing). - Added internal parser for ‘Agilent ChemStation’ version 31 files (through
read_chemstation_uvfunction). - Added support for ‘Agilent OpenLab’ version 131 files through internal parser.
- Added preliminary support for reading ‘Agilent’ (
.dx) files (throughread_agilentdxfunction). - Added support for reading ‘ChemStation’ REPORT files.
- Added parser for Shimadzu
.lcdfiles through theread_shimadzu_lcdfunction. Only the PDA stream (not MS) is currently supported. - Added
read_peaklistfunction for reading peak lists. Currently ‘Agilent ChemStation’ and ‘Shimadzu ASCII’ formats are supported. - Added
verboseargument to control console output for external parsers (‘OpenChrom’ and ‘ThermoRawFileParser’).
Other Improvements
- Improved automatic file type detection by
read_chroms. - Refactored
read_thermorawfunction to simplify paths. - The
thermorawandopenchromparsers now use a proper temp directory if an export directory is not specified through thepath_outargument. - Re-factored
reshape_chroms, speeding up conversion from wide to long format. - Added additional tests, attaining 82% test coverage.
- Changed default
openchromexport format tomzml. - Minor changes to some metadata fields to better standardize results across different file formats and parsers.
Bug fixes
- Corrected ‘Shimadzu’ DAD parser so it reads wavelengths from the file instead of inferring them.
- Fixed bug causing failure of ‘Shimadzu’ ascii parser (when
what == "peak_table"andread_metadata == TRUE). - Fixed bug causing ‘MDF’ files to export as data.frames when
format_out == "matrix". - Fixed misleading
data_formatattributes in ‘Waters ARW’ and ‘Chromeleon’ parsers.
chromConverter 0.4.3
- Fixed bug in
chemstation_chparser (version 130) (#17)
chromConverter 0.4.1
chromConverter 0.4.0
New features
- Added parser for ANDI chrom
cdffiles through theread_cdffunction. - Added parser for ‘Lumex’
.mdffiles through theread_mdffunction. - Added additional options for file exports. New options for writing
chemstation_csv(utf-16) and ANDI chromcdffiles throughread_chroms. - Added preliminary support for automatic filetype detection by
read_chromswhen providing direct paths to files (i.e. whenfind_files == FALSE). - Added
read_varian_peaklistfunction for reading peak lists from ‘Varian MS Workstation’.
Other improvements and bug fixes:
- Added
wideandlongdata_formatoptions for 2D data, such that thewideformat option writes retention times as rownames of the matrix or data.frame. while thelongformat writes retention times as the first column of the object. - Updated
configure_openchromfor better discovery of ‘OpenChrom’ path and addedpathargument for directly specifying the path to ‘OpenChrom’. - Slightly restructured metadata fields. Added
source_filefield to track data origin. - Standardized datetime stamps so they are always converted to POSIXct format.
- Now use
fspackage for parsing paths, eliminating buggycheck_pathsfunction. - Fixed bug causing sloppy ‘ChemStation’ FID metadata.
- Fixed bug that caused padding of ‘ChemStation 130’ files with extra zeros.
- Added additional tests.
chromConverter 0.3.3
- Added R-based parser for “ChemStation” UV (
.uv) files (version 131) through theread_chemstation_uvfunction. - Added
extract_metadatafunction for extracting metadata from a list of chromatograms and returning it as adata.frameortibble. - Added
progress_baroption inread_chroms. - Updated
reshape_chromsandreshape_chromto allow switching between “wide” and “long” formats. - Added wide format option in
read_mzml. - Added automatic detection of file formats by
read_chroms. - Minor changes to storage of metadata in attributes for the purpose of simplification.
- Fixed bug preventing removal of file extensions for ‘Agilent’ data when using
read_chroms. - Standardized run date/time in metadata to
POSIXctformat. - Minor updates to documentation.
chromConverter 0.3.2
- Fix ‘Shimadzu’ ascii parser so it can cope with variable entries in PDA header.
chromConverter 0.3.1
- Added support for “ChemStation” UV (
.ch) files (version 130). - Added provisional support for “ChemStation” FID (version 8).
- Changed name of
read_chemstation_fidfunction toread_chemstation_ch. - Ignore case when matching file extensions in
read_chroms. - Added note to README about configuring RStudio correctly for accessing python parsers.
chromConverter 0.3.0
- Fixed bug causing “Chromeleon” metadata parser to fail.
- Fixed bug in “ChemStation” metadata parser.
- Changed
format_dataargument todata_formatto select wide or long format. - Added support for parsing
mzMLfiles withRaMS. - Added support for parsing “Agilent” (
.D) and “Waters” (.raw) files with rainbow. - Made
data_formatoption available consistently for choosingwideorlongformat. - Added parser in R for “ChemStation” FID (
.ch) data (versions 81, 179 & 181). - Improved error handling when loading python modules.
- Improved error-handling for parsing metadata so small problems no longer error out the whole program.
chromConverter 0.2.2
- Fixed bug in
call_openchromso that it can actually find ‘OpenChrom’ path. - Fixed bug in
call_openchromto allow ‘animl’ as validexport_format. - Allow ‘Thermo RAW’ files to be parsed using ‘Entab’.
chromConverter 0.2.1
CRAN release: 2022-07-11
- Added
configure_astonfunction for configuration of Aston parsers and fixed issues with configuration of Aston.
chromConverter 0.2.0
New features and formats
- Added
read_shimadzufunction for parsing ‘Shimadzu’ ascii files. - Added
read_chromeleonfunction for parsing ‘Chromeleon’ ascii files. - Added
read_thermorawfunction to convert ‘Thermo Raw’ files by calling the ‘ThermoRawFileParser’. - Added
read_mzmlfunction to extract UV data from mzML files using mzR. - Added
call_entabfunction for calling Entab parsers. - Added
call_openchromto call OpenChrom parsers through the command-line interface.
(All of the new functions described above can be called from the read_chroms function by setting the format_in and parser arguments).
- New option to read and attach instrumental metadata to chromatograms by setting
read_metadata = TRUEinread_chroms.
Simplification of read_chroms syntax
-
read_chromswill now automatically assign a parser if the parser isn’t specified. -
read_chromswill throw more informative errors for mismatch betweenformat_inandparserarguments. -
read_chromswill try to automatically determine if files or directories are being provided.
Other changes to read_chroms syntax:
Dots were replaced with underscores in all arguments to read_chroms for internal syntactical consistency across the package. Thus:
- The argument to specify the format of R objects was changed from
R.formattoformat_out. - The argument to specify the format for exported files was changed from
format.outtoexport_format.
