NEWS
TargetSearch 2.8.0
NEW FEATURES
- Allow incompatible data when combining objects 'tsLib' and 'tsSample'.
The idea is if the column names of the 'data' slots are different,
the 'c' operator do not fail. There are, however, limitations with some
data types (like lists or matrices). If this is the case, then throw
a more meaningful error message. (commit 6fb2f59)
BUG FIXES
- Fix 'FAMEoutliers' manual grouping: The comparison should use character
vectors instead of numeric. Also, an error was thrown due to an 'if'
condition not having an scalar return (due to using 'is.na').
Note that since this version, the default values of startDay and endDay
have been set as NULL. (commit 69e8a2f).
INTERNAL
- Add tests for 'FAMEoutliers'.
TargetSearch 2.6.2
BUG FIXES
- Use \providecommand for missing defines in vignettes instead
TargetSearch 2.6.1
BUG FIXES
- Fix vignettes building by adding missing latex commands due to
an incompatibility between BiocStyle and knitr
TargetSearch 2.6.0
NEW FEATURES
- New options for 'ImportFameSettings': New parameter 'standard'
can take the RI values. The input file can be also a matrix.
Column names can now be specified.
- A function to plot reference spectra for 'tsLib' objects in a
similar style of other visualization tools.
BUG FIXES
- Check for out-of-bounds in binary search.
DOCUMENTATION
- Add note of arguments passed to 'plot' via the 'dots' operator.
The functions 'ri_plot_peak' and 'ncdf4_plot_peak' accept extra
arguments passed to 'plot' and others via the '...' argument.
However, not all parameters, in particular 'panel.first' and
'panel.last', will have an effect.
- Fix misplaced dot man page ('RIcorrrect').
- Fix wrong braces in man page ('tsSample-class').
INTERNAL
- Tidy up 'NAMESPACE' file.
- Add tests for function 'ImportFameSettings'.
- Refactor internal code of 'ImportLibrary' and improve the spectrum
parser algorithm (allow NA and make sure the format is valid).
Add tests cases.
- Improve 'tsLib' spectrum handling by ensuring the internal data
is consistent. Also allow for empty spectra.
- Improve validity checks for 'tsProfile' and 'tsMSdata' objects.
Add tests cases.
TargetSearch 2.4.2
BUG FIXES
- Fix 'maybe-uninitialized' warning in some platforms. Set the struct
elements to 'NULL'.
- Fix RI files format incompatibility (affected versions: 2.4.0 and .1).
Starting from 2.4.0, these files allow for empty spectra data, but
older version raise an error. Therefore, we enforce non empty
spectra data to keep compatibility.
TargetSearch 2.4.1
BUG FIXES
- An error is thrown if all parameters passed to 'FindAllPeaks' are
integers (a rare occurrence). Make sure that arguments are doubles
before passing them to the C interface. Also add a test for it.
TargetSearch 2.4.0
NEW FEATURES
- 'plotPeakRI': new option to plot by RT. This, however, needs the
parameter 'dev' because the relationship between RI and RT is unknown.
- 'FindPeaksAll': new option to search by RT. Basically this change
implements the functionality of 'plotPeakRI'.
- C code: refactor or most part of the code that deals with file parsing,
in particular the text parser. The parser is now based on regular
expressions, which should be more robust in detecting errors.
- Tests: though is not relevant to the user, TargetSearch include more
unit testing for several internal functions.
BUG FIXES
- Add assertion that the option 'TS_RI_columns' has three elements and
that it is a character or integer vector.
TargetSearch 2.2.0
BUG FIXES
- C code: Refactor the function get_line due to failures in files
with CR line terminators, commonly found in MacOS systems.
TargetSearch 2.0.0
NEW FEATURES
- Despite being a 2.0 release, the new features are minimal as
this release contains mostly documentation improvements,
code refactoring and clean-ups, and bug fixes.
- New methods for combining 'tsLib', 'tsRim' and 'tsSample' objects.
These objects can be combined with the 'c' operator. The method
'length' reports the number of markers for objects of class 'tsRim'.
- The function ‘quantMatrix' has been fixed and now it accepts
three methods to generate its output. 'quantmass' uses the library’s
quantification mass (QM), 'maxint' takes the most abundant mass as
QM, and 'maxobs' takes the QM with the most observations. In
addition the parameter 'selmass' allows for selection of selective
masses only if turned on.
- The function 'Write.Results' has a new parameter 'selmass' that is
passed to 'quantMatrix', and the argument 'quantMatrix' accepts
the value 'quantmass', also passed to 'quantMatrix'. The argument
'prefix' changed its default value from 'NA' to 'NULL'.
BUG FIXES
- C code: use variables of same size (size_t vs int)
- C code: replace and update user-controlled memory interface macros.
- Baseline quantiles. Update quantiles computation with partially sorted
data instead of sorted data. This yields a three-fold speed increase.
- Function 'Profile': set correct rownames. The slots of the 'msProfile'
object did not have correct rownames.
- Example data: fix object inconsistencies due to incorrect rownames.
- Plotting functions: they should return 'invisible()'.
- Modernize the DESCRIPTION file.
- Import the whole 'stats' package instead of listing each function.
- Replace instances of T/F with TRUE/FALSE in functions and vignettes.
- Add examples to functions that lacked them.
- Fix 'quantMatrix'. The function has been broken for years as it did
not work as intended. Nevertheless, the default option 'quantmass'
means that the output is now correct (formerly, the options 'maxint'
and 'maxobs' were simply ignored).
TargetSearch 1.52.0
SIGNIFICANT USER-VISIBLE CHANGES
- Deprecate parameter 'libId' and replace it with 'libID'
The parameter 'libId' conflicts with the method libId, and in other
functions we already use a variable 'libID' that correspond with the
library identifier. Therefore, we replace it for consistency.
This change affects the functions 'plotRIdev' and 'plotSpectra'.
BUG FIXES
- plotRIdev: use near equality for comparison.
The function compares the selective or top masses against the columns
of the intensity matrix. However, their lengths are variable, so the
for ‘if' condition threw a warning if the lengths didn’t match.
- Refactor functions binsearch and find_peaks.
Minor optimization to the function binsearch in which the starting
RT scan is found directly. This will reduce a couple of CPU cycles.
- Extra CDF integrity checks. Check that the length of the variables
are all greater than zero and replace logical OR operator for its
longer form.
TargetSearch 1.50.1
BUG FIXES
- Fixes the gcc warning produced by passing a pointer and with an incorrect
size to the function 'swapb'. This went undiscovered for years because
the code is only executed in big-endian machines.
TargetSearch 1.50.0
NEW FEATURES
- FindAllPeaks: Allow for asymmetric RT deviations. Formerly, the window
search parameter was plus o minus a tolerance; now it can be different on either
side of the expected RT.
- ncdf4_convert_from_path: New flag to convert CDF files recursively.
- checkRimLim: show multiple samples at the same time, as opposed to a
single sample in previous versions.
BUG FIXES
- Make sure that the assertion that checks for NULL or NA is operating in a
scalar. For vectors use another assertion.
- Code clean-up. Remove unneeded files.
TargetSearch 1.48.0
NEW FEATURES
- Function 'ri_data_extract' allows for a time range for each searched m/z,
instead of a single range for all masses.
- Man-pages typos and clarifications. No more user-significant changes.
BUG FIXES
- Add extra assertions on 'ncdf4_convert'.
- The dependency package 'ncdf4' should be on 'Imports' rather than 'Depends'
on the DESCRIPTION file.
TargetSearch 1.46.3
BUG FIXES
- Function 'ri_plot_peak': Correct description of arguments on man-page and
fix typos.
- Update NEWS for version 1.46.2
TargetSearch 1.46.2
BUG FIXES
- Baseline correction: Cast window parameter as double rather than integer.
- Fix off-by-line error in quantile-based baseline calculation. This bug
caused an out-of-bound memory access on edge cases, which it was why it
took long to be found.
TargetSearch 1.46.1
BUG FIXES
- Functions 'plotPeakSimple', 'plotPeakRI', and 'plotRIdev' now correctly
reset the graphics parameters by 'on.exit()' calls.
TargetSearch 1.46.0
NEW FEATURES
- New function 'ri_data_extract' to extract peaks from RI files. It works
similar to 'FindAllPeaks' but uses different (simpler) input parameters,
comparable to ncdf4_data_extract.
- New function 'ri_plot_peak' to plot peaks from RI files, built upon
'ri_data_extract'. It can be used as an alternative to 'plotPeakRI' as it
has a simple interface.
- New function 'ncdf4_plot_peak'. An alternative to function 'plotPeakSimple'
with a simple interface to plot peaks from NetCDF format 4. This function
supersedes 'plotPeakSimple'.
BUG FIXES
- Remove unneeded ICO file.
- Man pages improvements. Mostly grammar and spelling changes.
SIGNIFICANT USER-VISIBLE CHANGES
- The function 'peakPlotSimple' is considered deprecated, and its
use should be avoided. Use the function 'ncdf4_plot_peak' instead.
- The parameter 'column' in many columns is now 'NULL' by default. To
change the column names use the global option 'TS_RI_columns' instead
TargetSearch 1.44.0
NEW FEATURES
- The class tsRim allows subsetting by the '[' operator. This makes
possible to choose specific marker for plotting, eg, in 'checkRimLim'.
- New function 'updateRI' to update/correct/force the time of the RI
markers. Just like the old function 'fixRI', but it also corrects
CDF files.
BUG FIXES
- Make sure matrix dimensions are not dropped in NCDF extraction.
- Fix check warnings due to plot() being moved to 'base'.
- Clean-up NAMESPACE
TargetSearch 1.42.0
SIGNIFICANT USER-VISIBLE CHANGES
- As announced in version 1.40.0, the graphical user interface is
gone for good (i.e., defunct). The source code is available in
my github repository.
NEW FEATURES
- The most interesting feature is the introduction of a custom CDF-4 format
which hold the same data as a normal CDF-3 (as exported by the software
vendors), but allows faster read-access (specially for plotting) and
compression (among other features). This is at the cost of compatibility
as the CDF-4 files are unlikely to be used outsied TargetSearch
- A new baseline correction method based on quantiles around a retention
time window. In addition, the new CDF-4 file format allows storing
of baseline-corrected values so it is not needed to recompute the baseline
each time like in older TargetSearch versions.
- New function to transform to nominal mass. Some GC instruments export
CDF not in nominal mass format (some even export high mass accuracy).
Formerly, this type of files were not supported and TargetSearch would
refuse to process them. Now, all types of mass accuracy are allowed,
obviously at the cost of losing that accuracy.
BUG FIXES
- Mostly code refactoring and house-keeping.
TargetSearch 1.40.0
SIGNIFICANT USER-VISIBLE CHANGES
- The graphical user interface (TargetSearchGUI) is being deprecated.
This is due to old source code, lack of time for maintenance, and
lack of interest. The GUI it is still part of this release and it
will be removed in the next release, ie, 1.42.0
BUG FIXES
- Fix NA handling in quantMass method.
TargetSearch 1.38.0
NEW FEATURES
- New function 'checkRimLim' to visualise a retention index markers
before the actual time correction. It can be useful to fix the search
limits.
- Peak detection method (NetCDFPeakFinding) has the option to use a gaussian
smoothing in addition to usual moving average.
- Detects if CDF files are not found during sample description import. In
addition, search for column names matching a pattern if the expected names
are not found.
- Add support for a custom CDF file for faster data retrieval.
SIGNIFICANT USER-VISIBLE CHANGES
- The parameter 'massRange' (m/z mass range) which used to be needed in
some functions is deprecated. It was used mostly as a hint and usually
detected automatically. If it is passed, there would be no effect.
BUG FIXES
- Big refactor of C code to eliminate duplicated code and to separate
what is R-C code (ie, SEXP structs) out of the C code that actually does
something.
- General R code refactoring and housekeeping.
TargetSearch 1.36.0
NEW FEATURES
- New dataset object TSExample. This dataset contains data that used to
be stored in package TargetSearchData.
- New low-level function to search peaks (FindAllPeaks). This allows advanced
users to refine peak-searches.
- New function to plot peaks across samples (plotPeakRI). Used for quality
checks of peak annotation and fine-tunning search parameters.
SIGNIFICANT USER-VISIBLE CHANGES
- Add extra checks when manipulating tsLib objects. Extra care needs to
be taken if changes to the quant/selective/top masses are done.
- Sample IDs (names) must be unique. These might generate errors when
loading old TargetSearch workspaces.
BUG FIXES
- tsLib: ensure that every slot in the object contain a library ID.
- Fix warnings during R CMD check.
- Refactor C code for finding peaks. It is possible to return all peaks
instead of only the most abundant. No visible changes for the end user.
- Refactor C code for NetCDF manipulation and peak finding to reduce
code duplication. No visible changes for the end user.
- General R code housekeeping: Removal of mixed tabs and spaces, fix
tabulation, add Rbuildignore.
TargetSearch 1.26.0
SIGNIFICANT USER-VISIBLE CHANGES
- TargetSearch now depends on "ncdf" rather than mzR.
BUG FIXES
- Fix potential potential pearson correlation errors that occur when the
standard is deviation zero. If that is the case, replace the resulting
NA/NaN by zero.
- Fix R check warnings.
TargetSearch 1.24.0
BUG FIXES
- Add clarification note for "Window" parameter in "RIcorrect" function.
TargetSearch 1.22.0
BUG FIXES
- Fix bug in quantMatrix. make sure that selection mass IDs match
the library IDs. Add an attribute to indicate that the quantification
mass is also a correlation mass.
TargetSearch 1.20.0
BUG FIXES
- Write the actual retention index value instead of the work 'RI' in
'ProfileCleanUp'.
TargetSearch 1.18.0
NEW FEATURES
- New options for function 'ProfileCleanUp' that allow fine tuning of the
suggested metabolite in case of redundancy. This problem occurs when the
reference library contains two or more metabolites in the same
retention time window.
- The function 'Write.Results' can create a quantification matrix based
in one quantification mass. This mass can be selected automatically or
specified by the user.
- The above options have been incorporated in the GUI as well.
TargetSearch 1.16.0
SIGNIFICANT USER-VISIBLE CHANGES
- Function 'fixRIcorrection' is now defunct (previously was deprecated).
Use 'fixRI'.
BUG FIXES
- Removed references to deprecated R functions.
- Fixed bug in 'ImportLibrary.msp' that occurs if there is only one
metabolite.
TargetSearch 1.14.0
NEW FEATURES
- New function 'fixRI'. This function can be used to correct RI markers
or to manually force their location to specific retention times if,
for example, the RI markers were not co-injected with the biological
samples. Replaces the now deprecated 'fixRIcorrection'.
- New function 'riMatrix'. This function searches RI markers in RI
files instead of CDF files.
- Improvements in CDF import functions:
- Automatic detection of m/z range.
- Detection and correction of CDF files with non-integer m/z values.
These values are converted to nominal mass.
- ImportLibrary:
- New parameter 'file.opt'. A list containing arguments to
be passed to 'read.delim'.
- It can take a data frame instead of a file to create a library
object.
SIGNIFICANT USER-VISIBLE CHANGES
- Function 'fixRIcorrection' is deprecated. Use 'fixRI'.
BUG FIXES
- The .Call function in FindPeaks.R would incorrectly coerce RI limits
to integers instead of double.
- ImportLibrary:
- Fixed bug when reading one-metabolite libraries.
- Check for unexpected quotation mark characters in input file or
input data.frame. They will be removed.
- Profile: check for at least three top masses to calculate spectra
similarity scores.
- quantMatrix: use character indices instead of numeric indices.
TargetSearch 1.12.0
SIGNIFICANT USER-VISIBLE CHANGES
- New binary file format for the peak-list files, a.k.a. RI files.
This speeds up metabolite searches by 5-10 fold. The old TEXT format
is kept for compatibility. See method 'fileFormat'. Also see
'bin2text' and 'text2bin' functions.
- New plot peak function 'plotPeak'. The old function was renamed as
plotPeakSimple. The function show also the regions in which the
searches were performed to provide better quality controls.
BUG FIXES
- Changed to check.names=TRUE in 'read.delim' call in functions
TargetSearchGUI() and ImportLibrary(). This prevents empty column names
that might produce errors in downstream functions.
TargetSearch 1.10.0
NEW FEATURES
- New function "writeLibText" to save "tsLib" objects in a tab-delimited
text file (which can consecuently be re-imported). It might be also used to
convert a MSP file into a TEXT file.
BUG FIXES
- Added some 'drop=FALSE' in plotSpectra function.
- Calls to 'pdf' are now followed by 'on.exit(dev.off())' to make sure that
the device is closed after unexpected errors or user interruption.
TargetSearch 1.8.2
BUG FIXES
- bug fixed error due to changes in TargetSearch object definitions in
function writeMSP.
TargetSearch 1.8.1
BUG FIXES
- 'sampleRI' and 'Profile' functions would return NA if the minPairCor
parameter was greater than the number of samples.
- Change GUI message to a more suitable one.
- 'FAMEoutliers' failed if only one sample was analyzed.
- 'ProfileCleanUP' accepts a minPairObs parameter like 'Profile'
- The parameter minPairObs is now checked so that cannot take a value
lower than 5 in 'sampleRI', 'Profile', and 'ProfileCleanUP' functions.
TargetSearch 1.6.0
NEW FEATURES
- The Retention Time information is now imported from the RI files.
This means that the RT slot of the "tsMSdata" object contains the R.T.
values (formerly it was just an empty slot).
BUG FIXES
- Several fixes, improvements, and code cleaning.
TargetSearch 1.4.3
NEW FEATURES
- Function NetCDFPeakFinding: 'ppc' is now the default peak picking
method.
TargetSearch 1.4.2
BUG FIXES
- Bug creating a new library in GUI. Fixed.
TargetSearch 1.4.1
BUG FIXES
- Fixed bug in "[" method, "tsLib" object.
TargetSearch 1.3.7
- Column Sample_Count of metabolite Profile renamed to
Sample_Count_per_Mass.
TargetSearch 1.3.6
NEW FEATURES
- ImportLibrary.tab() now have a new parameter 'libdata'.
BUG FIXES
- Fixed bug with corrupted CDF files. Now TS will try to process it
and issue a warning to the user.
- Fixed bugs in the GUI:
- Quantitative masses were not loaded into the tsLib object.
- Fixed bug ExcludedMasses parameter.
TargetSearch 1.3.5
NEW FEATURES
- New method 'sampleData<-' for 'tsSample' class.
- New method 'libData<-' for 'tsLib' class.
DOCUMENTATION
- Vignette corrections and rewriting.
BUG FIXES
- plotFAME(): plot title changed to 'RI marker' to be consistent
with the manual.
- Fixed examples that did not pass R CMD check.
- Object validation bug fixes and new checks (all classes).
TargetSearch 1.3.4
BUG FIXES
- Fixed GUI error that occurred when creating/editing a library.
- Fixed Write.Result() file format output: columns were missing and
column names were wrong. The file format should be compatible with older
versions.
TargetSearch 1.3.3
NEW FEATURES
- New function ImportSamplesFromDir. It makes easier to create a
tsSample object from CDF files in a directory.
- A new GUI layout and new features: Now it is not required to
have all the files in the working directory. Baseline, Peak detection,
and RI correction options gray out when 'Apex data' is selected.
TargetSearch 1.3.2
NEW FEATURES
- New 'tsProfile' and 'tsMSdata' definitions. Many functions were
internally changed to conform to the changes, however, the changes
should be (more or less) transparent for the user.
- classes.R:
- new 'quantMass' slot in class 'tsLib'
- class 'tsMSdata': slots changed from matrix to list
- class 'tsProfile': new slots profInt, profRI and ProfRT
- Function FindPeaks: Now the parameter refLib can be either a list
or a 3-column matrix. If it is a list, the function will iterate for
every component, given that the components are 3-column matrices.
- Function ImportLibrary: code changed to incorporate the 'quantMass'
slot.
- methods-tsLib.R: new methods to access quantMass slot. Also, new
methods profileInt, profileRI and profileRT to access slots profInt,
profRI and ProfRT. New method as.list
- Write.Results: Same as before, but the parameter peakData was
removed, since the raw data is now included in the 'tsProfile' object.
- The following files were changed to conform to the new definicions.
No changes in terms of functionality: dayNorm.R, peakFind.R, plot.R,
profile.R, profileCleanUp.R, and sampleRI.R.
- new function quantMatrix.
- Changes in the GUI. Now two new parameters are accepted: topMasses
and ExcludedMasses.
TargetSearch 1.3.1
BUG FIXES
- Fixed NetCDFPeakFinding and tsSample-class manpages because
of an error caused by wrong regular expressions in the example
section at check.
DOCUMENTATION
- CITATION file of TargetSearch paper at BMC bioinformatics.