Matrix Science Mascot Parser toolkit
 
Loading...
Searching...
No Matches
Release notes and version history

Version 3.0.0 - released with Mascot Server 3.0.0

IDTitle
11568 Remove references to Integra and Insight in Mascot Security. Mascot Insight is no longer available.
12892 Zero value for Observed in unassigned list for query whose only match is a chimeric duplicate
13106 Add new method ms_inputquery::getQueryNumber().
13447 Add ms_inputquery::getPeakCharge() method
13480 get_ms_mascotresults_params() defaults to old protein grouping for sequence tag searches
13531 Reduce the time spent in caching search results
13678 Support new .msr file format
14068 Remove directory gnu/7.2.0 from Linux shipper image. The directory duplicated the contents of the gnu/lib directory.
14109 MascotFileProcessingThreads set to -1 should automatically use all possible threads. The default value is 4.
14111 Rename ms_mascotresfile to ms_mascotresfile_dat. Only the class name changes. The rest of the methods and class members are identical to Parser 2.8. Please see the migration instructions in Upgrading to Mascot Parser 3.0.x from 2.8.x.
14121 New API for .msr results files, and implement parsing and interpretation of MSR v0.9 files. Mascot Search Results (MSR) is a new format in Mascot Server 3.0. MSR v0.9 was an intermediate format leading up to MSR v1.0.
14127 Support for Visual Studio 2012 and 2013 has now been dropped. This change only affects the statically linked msparser.lib. If you are still using these compilers, please link dynamically against msparser.dll.
14157 Undefined behaviour in ms_fdr_query_processor::getThresholdForFDR() when comparing pointer address to integer zero. Fixed due to a compiler warning. The fault made no observable difference to the algorithm.
14179 MinGW instructions have been reviewed and tested using MinGW GCC 12.1.
14192 C++ shippers on Linux are now compiled width GCC 5.5.0, and MinGW on Windows with GCC 7.1.0. If you are using the Parser static C++ library, please upgrade your compiler to GCC 5.5 or newer (Linux) or GCC 7.1 or newer (MinGW). If you are using the shared library, earlier compiler versions may be compatible.
14208 ms_searchparams::getVarModsNeutralLosses() doesn't return satellite NLs.
14217 Failing to read query-level mods NL string, fault introduced in Parser 2.7.0.
14240 New mascot.dat option SearchSubmitOutputFormat. The setting is used by the Mascot Server web-based search form (search_form.pl). The setting defaults to 'msr', which is the new file format in Mascot Server 3.0.
14247 New mascot.dat option to diagnose MSR generation.
14257 Move Quantlib/Distiller time alignment code to Parser and save/load in cdb/xml
14262 TMTpro 16-plex and 18-plex mod groups should be required=false
14274 Methods and classes not wrapped properly by SWIG for Perl, Python, Java and C#
14285 Implement New Imputation Methods in Parser. ms_imputation is experimental in Parser 3.0 and may be changed in a future release.
14293 Further thread safety issues : matrix_science::ms_mascotresults::getPeptideThreshold. This method is now safe to call from multiple threads.
14315 Add getStage method to ms_http_client_search
14320 Update Doxygen to version 1.9.6.
14323 ms_ms1quantitation should allow a search without a quantitation method to load replicate or average results.
14337 Roll-up of changes to API doc and release notes for 3.0
14361 ms_inputquery::getPeakMass(): Ions2 and Ions3 lines are missing the first peak. Ions2 and Ions3 lines in .dat format contain data entered with the rarely used ions(b-...) and ions(y-...) qualifiers. ms_inputquery::getPeakMass() and getPeakIntensity() accidentally skipped the first mass in the list.
14377 getQmatch() returns INT_MAX if called with non-existent query number, should return 0.
14389 Implement schema changes for MSR v0.99; implement MSR parsing/processing for v0.99; fix bugs in MSR parsing/processing; implement schema changes for SDB v0.99; implement SDB writing/processing for v0.99; fix bugs in SDB parsing/processing; rename headers
14392 Add MSR files to the Parser test harness
14422 Support MSR file download in new method ms_http_client_search::downloadResultsFileMSR()
14432 Add streaming decompression to ms_zip
14433 Parser should give a warning if reading a file from future version of Mascot
14441 New Parser class for retrieving MSR file in .dat format
14445 New option AlwaysCreateDat28ResultsFile. The setting is used by the Mascot Server search engine (nph-mascot.exe). The setting defaults to 0 (false) – Mascot Server 3.0 and later default to writing search results in MSR format.
14481 All methods of ms_inputquery should be const.
14483 Documentation for ms_inputquery::getNumUsed() was incorrect. This method always returns 0.
14544 Change ms_modfile private member std::auto_ptr<ms_masses> to std::unique_ptr
14549 Display emPAI in integrated error tolerant searches
14551 ms_searchparams::getLIBRARY_SEARCH() returns -1 when LIBRARY_SEARCH=1 in search params
14553 Remove ms_mascotoptions::getSeparateLockMem()
14554 Compile SWIG modules with GCC11 and VS2019 (Perl, Python, C#, Java)
14558 Update SWIG to 4.2.1
14571 Unstable order of sameset accessions in integrated SL searches
14577 Add wrapper for Perl 5.36 on Linux
14578 Add new method ms_mascotresfilebase::getSLExecCommand()
14588 Add accessor method ms_ms2quantitation::getPeptideSummary()
14590 Update ms_ms1quantitation::mergeQuantitationResults() to support MSR
14636 ms_fileutilities::getLastModificationTime() fails on Windows if the file has been opened without shared read access
14637 Drop version-specific Python libraries and ship a single 'universal' library
14647

New argument to ms_mascotresfilebase::setPercolatorFeatures(): a vector of ML adapter parameters. The argument is optional and defaults to empty vector.

A new argument is also introduced for ms_mascotresfilebase::staticGetPercolatorFileNames(). The new argument is not optional, so if you use staticGetPercolatorFileNames(), this is a breaking change. Please pass an empty vector as argument.

14649 ms_mascotresfilebase constructor, if XMLschemaDirectory is empty string, treat it the same as null pointer
14665 Add a ms_modification::getClassification() method
14673 ms_linker_site_vector fails to initialise alpha and beta peptide lengths to zero
14674 Add quantitation option to choose type of time alignment
14692 Internal shipper for Perl 5.38 built with VS2019 and GCC 11
14707 ms_datfile::updateForInstaller(), replace ResultsCache with a default
14748 New methods ms_searchparams::getPERCOLATE() and ms_searchparams::getML_ADAPTER_PARAM()
14749 When setting Percolator flag in ms_mascotresfilebase::get_ms_mascotresults_params(), check the new search param PERCOLATE, then mascot.dat options
14750 ms_mascotresfilebase::get_ms_mascotresults_params() treats DECOY=-1 as DECOY=1 when deciding whether to set MSPEPSUM_PERCOLATOR
14752 ms_mascotresfilebase::get_ms_mascotresults_params() should not set MSPEPSUM_PERCOLATOR for error tolerant search
14766 Update unimod.xml and unimod_xl.xml to the latest versions for 3.0
14775 Python msparser library cannot be used with xgboost or tensorflow libraries
14776 ms_datfile::updateForInstaller(), change SplitNumberOfQueries from 1000 to 2000
14777 New option CreateLegacyModAndSubstitutionFiles
14778 New option AlwaysEnableAutoDecoySearch
14785 ms_datfile::updateForInstaller(), set PercolatorUseRT to 0
14789 New mascot.dat option SearchSubmitAcceptedFileTypes
14795 ms_ms1quant_time_align::getRToffset() looks in wrong part of array in some cases
14797 LabelAll option is obsolete
14811 Quantitation method for TMT 32/35-plex
14820 Default to sequence FDR in ms_mascotresfilebase::get_ms_mascotresults_params()
14821 ms_ms1quant_time_align::getRToffset() code is not treating the "to" consensus and "from" consensus properly
14833 Change behavior of ms_mascotresfilebase::get_ms_mascotresults_params() to set the target FDR
14844 Add new method ms_masses::saveToString()

Version 2.8.1 - released with Mascot Server 2.8.1

IDTitle
13751 Add shippers for Python 3.7, 3.8, 3.9
13766 502.2 - Bad Gateway on opening search results, caused by segfault while reading empty protein description
13864 Sorting unassigned list fails if filtering is active, caused by findPeptides() always returning results in query order
13927 Start and end of quantitation match range can be reversed causing out of memory
13961 Error message 539 lacks information - relevant taxonomy node files now added to error message
13962 Dodgy protein inference when two interlinked proteins have the same very short beta peptide
13963 Add TMTpro 18plex quant method
13989 Xml configuration files should not be written in place
14000 Increase limit of taxonomy choice include/exclude line length - new limit is 32kB

Version 2.8.0 - released with Mascot Server 2.8

IDTitle
12447 Calculate an expect value for error tolerant matches. See Error tolerant searches.
13357 End of 32-bit Parser on Windows. Parser 2.8 and later are now 64-bit only on all platforms.
13378 Section title "Using STL classes" should mention vectord, vectori, VectorString
13406 getThresholdForFDRAboveIdentity() doesn't always work when Percolator is enabled
13514 Parser 2.7.0 C# is built with VS2015, not VS2012
13604 New setting for number of input file parsing threads
13633 updateForInstaller: replace PercolatorFeatures with new feature set
13634 New options PercolatorTargetRankScoreThreshold and PercolatorTargetRankRelativeThreshold
13639 Add static and shared libraries for VS2017. Parser 2.8 ships with libraries compiled for VS2012, VS2013, VS2015 and VS2017.
13663 ms_aahelper never returns internal ions over 700 Da
13673 ms_proteinsummary needs to check inference flags
13696 New parameter for ms-createpip.exe multithreading
13715 Only return false from getThresholdForFDRAboveHomology() if closest FDR is not within a factor of 2 of target FDR
13716 Make ms_searchparams thread safe and more efficient
13726 Logging and error handling documentation is mostly missing
13730 Allow zero child elements in mxm:accessions, mxm:filters, mxm:scope, mxm:settings
13746 Remove ICC2016 shippers. The GCC 4.8.5 static and shared libraries now shipped with Parser can be used with both GCC 4.8.5 and later, and Intel® Compiler 2016 and later. See C++ toolkit installation on Unix.
13759 New ms_peptidesummary parameters: target FDR and FDR type. See Target-decoy searches and false discovery rate.
13763 Add willCreateCache methods which take a ms_mascotresults_params argument
13769 Update unimod.xml and unimod_xl.xml for 2.8.0
13806 Target FDR algorithm: maximise the number of target matches if FDR is 0%
13808 Update element descriptions in crosslinking schema for the crosslinking configuration editor
13818 If alpha and beta are in different proteins, one of them is not assigned to any protein
13848 Add Parser targets for Perl 5.32 and 5.34 (Linux) and Perl 5.32 (Windows).

Version 2.7.1 - released with Mascot Distiller 2.8

IDTitle
11666 Add MS1 quantitation result reading to msparser
12409 ms_ms1quantitation needs to handle normalisation
13548 ms_http_client_session::submitSearch should be able to use -batch option
13556 Schema changes required for Mascot Distiller 2.8
13607 Multiple issues with ms_quant_helper::isPeptideQuantifiable for MS1 based quantitation
13614 MS1 quantitation, XML output, Hit ratio set to invalid when it should be valid
13667 ms_quant_helper VarModStringToVector doesn't handle letters correctly
13686 ms_xic is not thread safe
13702 Memory leak in mshandle
13725 HTTP authentication fails if POST request redirects to GET (e.g. search with -batch mode)
13743 More problems with ms_quant_helper
13760 Missing and additional protein ratios for Precursor quantitation when mass-time-match is enabled

Version 2.7.0 - released with Mascot Server 2.7

IDTitle
10427 ms_aahelper needs argument to generate mass values for all neutral losses
10714 Parser error handling is not thread safe
10752 Satellite ions should not be restricted to fragments containing R
10793 findPeptides() with FT_PEPTIDE_EXP_MZ and FC_SEARCH_ALL_RANKS returns all ranks with no match
11802 Python example script emits "query out of range" errors and crashes
12100 single underscore character identifier is #defined in des.h
12326 Add switch to mascot.dat to over-ride asynchronous search submission (batch mode)
12493 Add an internal interface for fast conversions between strings and numbers
12496 Disallow creating a database whose name differs from an existing one only by case
12624 Use cache files from 2.4 and 2.5 in test harness to ensure backwards compatibility won't break
12672 ms_mascotoptions setters should check the limits or be removed
12753 ms_tinycdb openIndexFile uses string comparison on gmt timestamps to check file dates
12808 ms_umod_configfile::findModification should be optimised with a lookup table
12820 Add a clear() method to ms_progress_info
12832 Expand parser test harness with files combining, mod search and ambiguity groups
12857 Potential crash when sorting peptides
12860 willCreateCache adds errors to the ms_mascotresfile object, resulting in duplicates
12863 Search modification by name with findPeptides returns only one value on Windows
12888 Add a documentation page for the FDR procedure
12891 Test harness scripts should be converted to python
12895 Add a utility function to compare XML files
12902 Modification statistics for error tolerant search can be highly misleading
12913 Revert to just saving rank 1 in percolator pip file
12921 Add PSM and sequences used for ID to proteinHit element of quant XML export
12924 Peptide summary cache file name is different between master_results and ms-searchcontrol
12932 Support for Visual Studio 2005, 2008 and 2010 has now been dropped.
12959

Added XML export to ms_ms2quantitation and cdb file export and import to record user protein-peptide ratio selections. The following methods have been renamed and moved to ms_quantitation from ms_ms1quantitation: addHeaderInfo renamed to addHeaderField, addRawFileInfo renamed to addRawFileField, clearHeaderInfo renamed to clearHeaderFields and clearRawFileInfo renamed to clearRawFileFields.

For examples, see: ms_ms2quantitation::saveXmlFile, ms_ms2quantitation::saveCdbFile, ms_ms2quantitation::loadCdbFile, ms_ms2quantitation::loadCdbFiles, ms_quantitation::addHeaderField, ms_quantitation::clearHeaderFields, ms_quantitation::addRawFileField and ms_quantitation::clearRawFileFields

12936 Report of Error tolerant search does not display all matches when None is selected
12937 Update from SWIG 2.0.12 to SWIG 3.0.12 for ALL languages supported by Parser
12950 Compile Parser with GCC 4.8.5
12951 Support for GCC 4.1 and Intel Parallel Studio XE 2013 has now been dropped. Static libraries on Linux are compiled with GCC 4.8.5 and Intel Parallel Studio XE 2016. Support for 32-bit Linux has been dropped.
12977 Support for Perl 5.8 to Perl 5.14 has been dropped on Linux. Support for Perl 5.28 and 5.30 has been added on Linux.
Support for Perl 5.8 to Perl 5.16 has been dropped on Windows. Support for Perl 5.24, 5.26, 5.28 and 5.30 has been added on Windows.
12990 Logging: Improvements for ms_loggingmonitor required including better documentation
13020 I don't believe PSM and PepSeq counts for Percolated results
13029 Add ActivePerl 5.24, 5.26, 5.28, 5.30 build targets on Linux
13033 .MSP File Format Issues (Was Error message text for ERR_MSP_NIST_MSP_NO_SPECTRA is misleading)
13047 Crosslinking changes for protein inference and Parser results file API
13048 Why are a third of the tests slower on Windows compared to Linux?
13101 Add support for Python 3.6
13108 .MSP File Format Issues #2
13122 Mascot Server reporters error with ms-ms data when variable reporter ion modifications are selected
13124 Segfault when caching an iTRAQ 4-plex file with variable mod group
13200 New ms_peptidesummary constructor parameter: minimum number of significant unique sequences
13203 Make ms_mascotresfile more const
13230 ms_mascotresfile::appendResfile() generates lots of XML errors unless used on Mascot Server
13234 Crosslinking method definition API and class structure
13241 Description of getMaxPepModArrangements method in the documentation is confusing
13243 Update unimod.xml to the latest one
13268 ms_peptidesummary::isDataCached() returns false for BUGFIX_12740
13276 ms_mascotresfile::getMasses() sets electron mass to 0.0 for results files from 1.9 and earlier
13278 ms_aahelper must support ET and library mods
13284 DEFAULT_MINPEPLENINPEPSUMMARY should be 7
13288 ms_fragment needs a constructor for precursor NL peaks
13294 Replace Numerical Recipes code with ALGLIB
13301 Add flanking residues to the distiller xml MS1 quantitation results export
13310 Peptide without required fixed mod for Reporter quant incorrectly has quant ratios
13312 Add new option in ms_mascotoptions for suppressing PIP file creation during the search
13315 Review default crosslinking methods in crosslinking.xml
13324 New method ms_mascotresults::getDiscoveredLocalModDeltas(), and output order of getDiscoveredErrTolModDeltas() is ambiguous
13409 ms_peptide::getIonsScore() and ms_mascoresults::getIonsScore() return different values with same args.
13437

Add Options: DechargeFragmentPeaks

Version 2.6.2 - released with Mascot Server 2.6.2

IDTitle
10731 ms_processors produces bogus results for more than 64 logical CPUs
12944 Last pretty rank 2 peptide incorrectly assigned to a protein in ms_peptidesummary cache file, caused by dangerous map deletion during iteration. Occasional exception thrown in debug mode.
13064 New option UseHTTPProxyForHTTPS available from ms_mascotoptions::isUseHTTPProxyForHTTPS and ms_connection_settings::isUseHTTPProxyForHTTPS

Version 2.6.1 - released with Mascot Server 2.6.1

IDTitle
12276 Documentation changes for schema paths with spaces. See, for example: ms_distiller_data::loadXmlFile .
12538 Performance improvements when expanding proteins etc. in a 3GB results file. Used to take several minutes with some files.
12606 The rank argument of ms_mascotresults::getHomologyThreshold has been changed from an int to an enum.
12642 Add functionality to allow a specified range of spectra in an MSP file to be exported/saved. Additional parameters for ms_spectral_lib_file::saveAs.
12643

Add Parameter in the options section of mascot.dat to specify max number of spectra in a block. See ms_mascotoptions::getSpectraPerLibraryBlock.

12656 Segmentation fault if you pass null as filename to ms_mascotresfile has been fixed.
12657 New parameter in options section: number of peaks per 100 Da to choose from observed spectrum when creating library spectrum. See ms_mascotoptions::getCrawlerNumPeaksPer100Da.
12683 User entered sensitivity count or significance threshold not working as expected for low scores in library-only search.
12689 Fixed small memory leaks in ms_datfile, ms_mascotoptions and ms_processors.
12695 Supply additional schema files to support reading of Distiller xml files:
  • distiller_data_1.xsd
  • distiller_preferences_1.xsd
  • distiller_massdelta_1.xsd
  • distiller_master_project_1.xsd
  • distiller_quantitation_1.xsd
  • distiller_quantitation_2.xsd
12704 New functions, ms_mascotresfile::getSLFragmentTolerance and ms_mascotresfile::getSLFragmentToleranceUnit for reading spectral library fragment tolerance.
12717 Minor peptide sorting changes for duplicate peptides from spectral libraries.
12721 Calling the function willCreateCache used to create the directory if it didn't exist.
12724 Change default value for ms_mascotoptions::getPepSearchTool
12729 When searching two or more spectral libraries mapped to the same reference, all the proteins reported are to the same SL in master_results_2
12731 Added a new methods for annotating an MSP spectrum : ms_spectral_lib_entry::annotatePeaks and ms_spectral_lib_peak_list::annotatePeaks.
12737 Fixed a segmentation fault if you call setReferenceFasta() before setToleranceInDa() or setToleranceInPPM()
12740 With Percolator enabled get "Protein: KLH40_HUMAN has 1 cached, but 0 from the re-load"
12749 Added support for std::wstring in C#

Version 2.6.0 - released with Mascot Server 2.6

IDTitle
11481 Improvements to ms_peptidesummary::getThresholdForFDRAboveHomology and ms_peptidesummary::getThresholdForFDRAboveIdentity
12026 More progress reports when building cache files for ms_peptidesummary with hundreds of thousands of protein hits.
12036 Changes to ms_peptidesummary::findPeptides to support finding error tolerant modifications
12037 Added ms_mascotoptions::getSpectrumViewerColourSchemeString
12053 Improved examples for using ms_peptidesummary
12101 Support for C# under Windows. See C# toolkit installation and Using the toolkit from Perl, Java, Python and C#
12121 Mascot security doesn't allow multiple Fasta files to be specified in multiple groups. The ms_security_tasks::addTask function was just adding the first item in the array.
12172 Implement protein inference for both database and library matches. See Spectral libraries
12173 New mascot.dat configuration values for spectral libraries. Primarily adding a new DATABASE_TYPE
12174 New mascot.dat Options for library search and compression tool configuration. See ms_mascotoptions::getCompressToolSL
12212 Fixed index error in ms_mascotoptions::isDefaultTargetFDRPercentage
12222 The module for HTTP Communication to a Mascot Server could not be used from Perl and the documentation needed improving.
12244 Occasional failure to write session files in cases where the authentication type was IP address or computer name
12331 Support for Perl 5.20 and 5.22 on Linux
12232 Chimeric duplicate peptide matches missing from some queries in merged results
12244 Occasional failure to write session files for IP address and computer name
12265 matrix_science::ms_http_helper class needs to support https
12291 Added a new matrix_science::ms_loggingmonitor class
12349 Extend Percolator calculations to all ranks
12364 Some Error tolerant search reports junk matches and average threshold score of 0
12391 Added ms_mascotresults_params
12405 mzIdentML export of fragment matches fails if ITOL is ppm
12408 Add XML_SCHEMA_DIRECTORY option to ms_mascotresfile::getXMLschemaFilePath
12414 Support Python 3
12428 Create Python scripts for the Parser Documentation
12430 Score distribution does not include ET matches and the values look wrong
12431 Support Visual Studio 2015
12433 matrix_science::ms_http_client now works properly on Linux
12438 Supply Perl, Python and Java modules built using VS2012 rather VS2005/VS2008. See Installation on Windows, Python toolkit installation, Installation on Windows for details of Visual Studio Runtime Library requirements.
12448 Cache file with missing quantitation if errors due to missing xsd file causes missing quantitation information
12456 Added an additional bool parameter (addMissingResidueMasses)to the matrix_science::ms_masses constructor that takes a ms_umod_configfile parameter.
12458 Inconsistent handling of whitespace in user parameters between cache and non-cache mode
12468 Add ms_umod_modification::isSameAs comparison method and ms_umod_modification::getSpecificityBySiteAndPosition
12497 New overloaded method ms_inputquery::getRetentionTimes for reading all rtinseconds values
12508 New mascot.dat setting for ions score cutoff checkbox / edit box ms_mascotoptions::getDisplayNonSignificantMatches
12578 Changes to updateForInstaller for Mascot Server 2.6
12604 ms_inputquery fails to parse a peak list if it contains no colons

Version 2.5.2 - released with Mascot Server 2.5.1 and Mascot Insight 2.5.2

IDTitle
11333 The default value returned by ms_mascotoptions::getPercolatorMinQueries is 100 and this is too low for when there are 15 features. Increased the value to 750.
11806 Make getProteinRatio() return negative standard deviation, standard error and p-values when protein ratio type is weighted, and add a new interface to ms_protein_quant_ratio for querying the reason why the values are unavailable.
11825 Performance improvements for ms_inputquery.
11856 The function getNumDiscoveredErrTolMods filters peptides based on Ions score below a significance threshold. This was also being applied to the Error Tolerant peptides as well and so erroneously filtered out some error tolerant peptides and their modifications.
11858 The Mascot Server Windows installer should now always set ForkForUnixApache to 0. If the IFLG_UPDATEAPACHEFORKOPT flag is set when calling updateForInstaller then the value passed in wst is ignored and setForkForUnixApache is always called with 'false'. This change is for Windows only.
11862 Support filtering of peptides using decimal mass values as doubles rather than strings. See ms_mascotresults::findPeptides.
11863 Use correct Xerces encoding transcoder when loading and saving xml files. Supports UTF-8 correctly now so that some latin characters are parsed correctly.
11883 Add support to ms_ms2quantitation::normaliseIntensities to allow for normalisation to selected peptides or proteins when using summed intensities.
11884 ms_ms2quantitation::getCombinedReportRatioNames now returns unique ratio names in file order rather than alphabetical order.
11885 Warning message : Attempting to call function matrix_science::ms_peptidesummary::getPeptide before createSummary() has completed with some files where _ignoreiosscorebelow is non-zero and it is an error tolerant search.
11888 Support for Visual Studio 2013, Update 3.
11892 Specificity visibility class was not allowing for multiple sites of the same name that differ by position.
11899 ms_umod_modification::findSpecGroup sorts modification sites incorrectly. For example, it does not find the correct spec group for Phospho (ST) if the input string is "Phospho (ST)" and the T specificity preceeds S in in the list of specificities. This is because the method doesn't sort the sites, so its internal string ends up as "Phospho (TS)", which is of course different from "Phospho (ST)".
11907 ms_peptidesummary::getQuantitationComponentForPeptide, should exclude a peptide if it matches more than one component. Added code to identify ambiguous components.
11937 Implementation of willCreateCache function that doesn't require a ms_mascotresfile object and checks both cache files.
11959 Performance improvements for ms_mascotresfile::getRepeatSearchString.
11960 Open cache files for writing as soon as possible to reduce potential problems with multiple processes trying to create at the same time

Version 2.5.1 - Released with Mascot Server 2.5

IDTitle
6930 Error tolerant match with exactly the 'same' score as a standard match is not discarded.
10671 New function: ms_mascotresults::getQuantitationComponentForPeptide
11467 Add a new MSPEPSUM flag to specify using homology threshold for ignore ions score below. See: matrix_science::ms_peptidesummary::MSPEPSUM_USE_HOMOLOGY_THRESH
11486 Support Perl 5.16 under Windows and Linux, and Perl 5.18 under Linux.
11545 Cron and ExecAfterSearch in mascot.dat cannot cope with spaces in paths.
11547 matrix_science::ms_peptidesummary::getProtein() fails to return null when dbIdx is incorrect
11622 A residue mass of zero is not permitted in mod_file. It is allowed in a unimod file.
11634 Report standard error as well as standard deviation. Added function: matrix_science::ms_protein_quant_ratio::getStandardError
11686 Added support for global and per-group modification visibility for matrix_science::ms_umod_configfile
11705 Improved behaviour for chimeric spectra. New flag: matrix_science::ms_peptidesummary::MSPEPSUM_REMOVE_CHIMERIC_DUPES
11708 ms_peptide::getAnyMatch was broken and always returned true in version 2.4.4 and version 2.5.0
11718 Added new functions: getNumDistinctPeptideRepeats and getDistinctPeptide
11797 ms_datfile::updateForInstaller shouldn't update parse rules if Database Manager is being used.

Version 2.5.0.1, 27th February 2014, released with Mascot Insight 2.5.1

IDTitle
11679 ms_ms2quantitation is not taking uniquePepseq value from the passed quantitation method
11717 If peptide ratios are manually excluded from a protein ratio then values from duplicate same query are used

Version 2.5.0, 26th November 2013, released with Mascot Distiller 2.5 and Mascot Insight 2.5

IDTitle
10290 Added support for HTTP Communication to a Mascot Server
11234 Move quantitation support from the perl cgi scripts to Mascot Parser. See Peptide and protein quantitation
11235 Added a new function: ms_mascotresults::getProteinEmPAI
11358 When combining results files, need to check that quantitation methods match rather than just comparing names. Added a new function isMethodCompatible
11392 Need to be able to return std::string & parameters in Java. SWIG supports returning references to native types in Java by passing a single element array of, for example an int. However, it doesn't support this for std::string. Where a parameter is a std::string & it is now necessary to supply a StringBuffer object which will be modified by Parser. Note that const std::string & parameters are unaffected, and still expect a Java String
11399 Simplify the requirements for specifying the location of the unimod and quantitation schema files when using ms_mascotresfile. See Specifying xml schema file locations
11409 Temporary cdb file created even when MSPEPSUM_DISCARD_RELOADABLE not specified. Minor performance issue, but no other side effects.
11411 Save qmatch and qploghole in the cdb file to improve performance.
11415 ms_mascotresfile now inherits from the ms_errors class. See ms_mascotresfile now inherits from ms_errors
11422 Under Windows, file sizes stored in cdb files are limited to 32 bits. Larger files had 'wrapped around' values and cdb files will be rebuilt automatically for these files.
11425 New function ms_mascotresults::getIonsScore to return an ions score more rapidly than calling ms_mascotresults::getPeptide and then ms_peptide::getIonsScore
11438 The functions ms_mascotresfile::getObservedCharge and ms_mascotresfile::getObservedMrValue need an optional parameter for specifying the summary or decoy summary section
11513 Save the values returned by ms_protein::getCoverage in the cache
11568 Remove support for Mascot Integra
11631 Sign the msparser.jar file using a CA trusted certificate

Version 2.4.4, 4th November 2013. Released with Mascot Server 2.4.2

IDTitle
10873 Support Python 2.7
11559 Add MISECTASK_ flags for Mascot Insight to the security_tasks.xml file
11560 MSPEPSUM_DISCARD_RELOADABLE and MSRES_INTEGRATED_ERR_TOL are incompatible.

Version 2.4.3, 1st October 2012. Released with Mascot Server 2.4.1

IDTitle
11115 Provide interface to the tree/hierarchical cluster method of the C Clustering library: ms_treecluster.
11266 New function: ms_mascotresfile::getNumEtSeqsSearched().
11190 The function getProteinTaxonomyIDs() now also returns taxonomy IDs for PMF results where they are available for Mascot 2.4.1 and later. In version 2.4.0, it only returned values from the proteins section (for ms-ms searches).
11269 Incorrect return value for getObservedCharge() when the charge state is greater than 8+.
11275 Additional return values for getThresholdForFDRAboveIdentity() and getThresholdForFDRAboveHomology()
11305 Get error: "Requested query 1, hit -64 in function ms_proteinsummary::getPeptide" with some PMF mixture results when creating a ms_proteinsummary

Version 2.4.2, 26th July 2012. Released with Mascot Distiller 2.4.3

IDTitle
11182 Support streaming of compression date using ms_zip
11185 Support for multiple modifications on one site in ms_aahelper. See: Multiple modifications for the same site for details.
11201 ms_aahelper constructor using a results file needs path(s) to unimod schema and needs to report errors when the schema cannot be found.

Version 2.4.1, 23rd April 2012. Released with Mascot Server 2.4.0

IDTitle
10471 Load and save mascot.dat using matrix_science::ms_datfile can move comments around. Also added functions: matrix_science::ms_datfile::getHeaderComments matrix_science::ms_datfile::setHeaderComments matrix_science::ms_customproperty::getPreceedingComments matrix_science::ms_customproperty::setPreceedingComments
10797 Added functions to save and load custom parameters for ms_group and ms_user. See: matrix_science::ms_group::saveStringParam and matrix_science::ms_user::saveStringParam
10798 New functions matrix_science::ms_mascotoptions::getReportBuilderColumnArrangement and matrix_science::ms_mascotoptions::setReportBuilderColumnArrangement
10823 New function matrix_science::ms_peptide::getSummedModsStr for improved support in Mascot 2.4 for modifications on labelled residues. See also Multiple modifications for the same site
10874 New function matrix_science::ms_taxonomyrules::getSpeciesFormatRegex() for additional regular expression in the Taxonomy_n section to read speclist.txt
10906 New function matrix_science::ms_mascotresults::getThresholdForFDRAboveIdentity returns false and fails to find reasonable values for some Percolator files
10943 Cron emulator improvements including new ms_cronoptions functions: getLoggingLevel(), setLoggingLevel(), getLogFileName() , setLogFileName() , deleteCronJob() and setCronJob() and new ms_cronjob functions: isEnabled() and setEnabled()
10979 Add support for RAWFILE and LOCUS to matrix_science::ms_inputquery
10991 ms_mascotresfile::versionGreaterOrEqual returns incorrect value.
10995 Internal change to allowed values for identity threshold.
11002 Change minPepLenInPepSummary functionality. Don't show proteins in which the only significant peptides have length < MinPepLenInPepSummary.
11018 matrix_science::ms_mascotresults::getThresholdForFDRAboveIdentity and matrix_science::ms_mascotresults::getThresholdForFDRAboveHomology can fail to get the best values.
11042 ms_mascotresfile doesn't fail safely if a cache file cannot be created due to incorrect permissions. Issue was introduced when Bug 10745 was fixed in version 2.4.0.
11041 On 64 bit Linux only, the function matrix_science::int ms_mascotresults::getQmatch() can return a 'wrapped' negative number in the extremely rare case of the qmatch_x= value being > INT_MAX. In such cases, it now returns INT_MAX on all platforms.
11094 Using matrix_science::ms_peptidesummary::MSPEPSUM_NO_PROTEIN_GROUPING can cause a crash when creating a ms_peptidesummary object.

Version 2.4.0, 9th August 2011. Released with Mascot Distiller 2.4

IDTitle
10536 IgnoreIonsScoreBelow is converted to a score and rounded to an integer internally. First fixed as bug #567 in version 2.3, but this minor issue was re-introduced in version 2.3.1
10610 "Possible duplicate accession string" errors caused by two accessions that only differ in upper/lower case.
10611 Memory efficient mode for large search results. See matrix_science::ms_peptidesummary::freeHit and matrix_science::ms_peptidesummary::MSPEPSUM_DISCARD_RELOADABLE
10621 Added new class: matrix_science::ms_taxonomytree and function: matrix_science::ms_mascotresults::getProteinTaxonomyIDs to support additional taxonomy information available in Mascot 2.4 and later.
10622 Added functions matrix_science::ms_mascotresults::createSummary, matrix_science::ms_mascotresults::getCreateSummaryProgress and matrix_science::ms_mascotresults::cancelCreateSummary to enable an application to cancel creating an ms_peptidesummary object.
10623 Confusing error messages if ExecAfterSearch logging level set incorrectly.
10624 Increase 2Gb CDB file size limit to 4Gb for 32 bit applications.
10626 Font size in chm (help) file is too large.
10627 On Windows, NTFS, cache files get re-created when going to/from daylight savings. Cache directory names also change.
10628 New function: ms_mascotresfile::resetKeepAlive and added a %f tag for displaying the filename, which is useful with Combining multiple results files
10629 Small memory leak in protein family grouping.
10630 New function: matrix_science::ms_connection_settings::setUserAgent() and matrix_science::ms_connection_settings::getUserAgent()
10631 Rare crash when using results cache with family summary and minPepLenInSearch < minPepLenInPepSummary.
10632 ms_protein copy constructor is not reliable when using the results cache
10634 ms_protein copy constructor is not reliable when using the results cache
10652 Cannot load protein description line from ms_mascotresfile when protein accessions contain an = sign.
10657 matrix_science::ms_peptide::getProteins() can return incomplete list when lead protein in a family is not the highest scoring.
10668 Added function ms_mascotresfile::getMultiFileQueryNumber useful with Combining multiple results files
10673 Added function matrix_science::ms_mascotresults::findProteins and added flags for searching for modifications.
10682 Added functions: matrix_science::ms_mascotoptions::setIgnoreDupeAccession() and matrix_science::ms_mascotoptions::setReportNumberChoice()
10704 Add support for a taxonomy rule where TaxID explicitly given.
10711 Make matrix_science::ms_tinycdb thread safe.
10712 Add a method to matrix_science::ms_session to return the timeout value.
10716 New functions matrix_science::ms_mascotresults::getThresholdForFDRAboveIdentity and matrix_science::ms_mascotresults::getThresholdForFDRAboveHomology.
10734

Use only the filename part of result files when constructing the cache filename for a multi-file peptide summary.

10745 Creating an ms_mascotresfile object with a 'junk' file when specifying RESFILE_USE_CACHE creates a (tiny) cache file. The second time the ms_mascotresfile object is created with the same parameters, it reads the tiny cache file but fails to set the INVALID_RESFILE error.
10749 ms_mascotresfile::getNumQueries() incorrectly returned -1 for the last file in a multi-file result set.
10780 Change definition of matrix_science::ms_mascotresults::isPeptideUnique to be unique per family member rather than per family.
10804 Change matrix_science::ms_mascotresults::getPeptideThreshold() to allow return of either homology or identity threshold as double.

Version 2.3.3, 11th October 2010. Released with Mascot 2.3.02

IDTitle
461 matrix_science::ms_umod_configfile::getElementByName() hangs if called with null argument. Now just returns NULL.
596 Documentation improvements and restructuring of some of the help.
614 matrix_science::ms_aahelper::createPeptide now supports more than 9 variable modifications.
629 Added matrix_science::ms_peptidesummary::FC_SEARCH_ALL_RANKS for use with matrix_science::ms_peptidesummary::findPeptides
630 Accession strings with spaces in are truncated when loading proteins from cache.
632 Added new function matrix_science::ms_peptidesummary::getFlags2()
633 MinPepLenInPepSummary not used for family gouping. Also added function matrix_science::ms_peptide::getPeptideLength.
634 matrix_science::ms_datfile error message says that 'mascot.dat. file does not exist even when opening file with different name, for example 'not.mascot.dat'. Change message to output the name of the file.
635 Added support for Combining multiple results files
638 ms_mascotresfile::getRepeatSearchString does not include scans, rawscans, rtinseconds and index
639 Added ms_mascotresfile::enumerateQuerySectionKeys
641 Unigene reports too slow. A cache file is now created and used automatically. See matrix_science::ms_unigene
644 Added tags to pass through session_id and task_id in matrix_science::ms_mascotoptions::getExecAfterSearch
645 Can't load family report for an ET search with ignoreIonsScoreBelow >0 and < 1
647 Add Support for Python under Linux. See Python toolkit installation
649 Performance improvements for matrix_science::ms_mascotresults::getProteinDescription and matrix_science::ms_mascotresults::getProteinMass
653 Very slow to create cache files when > 100k potential proteins in the results file.
654 Concurrency issue on Windows when using matrix_science::ms_session
655 matrix_science::ms_fragment::getLabel returns an string with a truncated rather than a rounded neutral loss. For MetOx, this reports -63 rather than -64.
656 Concurrency issue: if two processes try to create a directory using matrix_science::ms_fileutilities::createDirectory at the same time, one process may fail.

Version 2.3.2, 11th May 2010. Released with Mascot 2.3.01

IDTitle
624 Family grouping no longer requires that the top scoring protein for a group appears as a lead protein. There are cases where more compact grouping can be obtained by making the highest scoring protein a subset/intersection.
626 In rare cases, a protein could be marked as a subset when it should have been another family member. This is because the algorithm defined a protein as a subset when all of the peptides were found in any other protein, rather than any other family member protein.
627 Change to matrix_science::ms_aahelper::ms_aahelper constructor when creating from a ms_mascotresfile. Added an additional optional parameter to pass a quantitation schema that will be used before calling ms_mascotresfile::getQuantitation
628 Functions matrix_science::ms_protein::getNumDisplayPeptides and matrix_science::ms_protein::getNumDistinctPeptides return incorrect values for an error tolerant search when the flag for aboveThreshold is set to true. Error tolerant matches are now ignored in this case.

Version 2.3.1, 29th March 2010. Released with Mascot 2.3

See Upgrading to Mascot Parser 2.3.x from 2.2.x For a summary of changes required to scripts using Mascot Parser 2.2,

IDTitle
17 Would like to collapse peptides that only differ with Isoleucine <-> Leucine. For the new protein grouping, peptides with the same same score and same query are considered to be the same, so, for example, Q <-> K will also collapse if the tolerances are wide enough.
117 matrix_science::ms_mascotresults::getNextSubsetProtein is now significantly faster.
511 Increase maximum number of enzyme cutters from 5 to 20 and improve error message and documentation.
523 Mascot security doesn't work when specifying user_type=computer_name on Apache. This was because the session file names are case sensitive under unix.
531 Allowed p value for significance threshold has been changed from 0 < p < 0.1 to 1E-18 < p < 1.
569 Change homology threshold reporting. Can now report a homology threshold value where the qmatch value is less than 100 and the version is Mascot 2.3 or later.
575 Session timeout fails to give an error if the session file has been deleted and guest is enabled.
582 Support 64 bit Java for Windows.
583 Better support for AMD processors.
584 Added a flag to matrix_science::ms_umod_configfile::save_buffer() for whether to validate.
585 Added matrix_science::ms_tinycdb for giving access to tinycdb files.
586 Cache the ms_peptidesummary results. See Caching Mascot Results
587 matrix_science::ms_mascotresults::isNA() should look in peptide matches and not protein matches. It used to return incorrect results in cases where there were no significant protein matches.
588 Add a function to return a 'histogram' for all ions scores. Added: matrix_science::ms_mascotresults::getIonsScoreHistogram()
589 matrix_science::ms_aahelper::calcFragmentsEx() used to not take fixed modifications into account for searches where a quantitation method was specified.
590 Added functions: Added additional parameter to:
593 Add a function: matrix_science::ms_protein::getNumUniquePeptides()
594 Add a function: matrix_science::ms_umod_modification::getRecordID()
595 Add functions to find accessions, descriptions, masses, sequences:
598 Add Using Percolator scores
600 Add function to retrieve flags and other parameters required for creating an ms_peptidesummary or ms_proteinsummary.
601 Quantitation: Support Multiplex with multiple ions series (e.g. for IPTL)
Deprecated functions: New funtions: Updated schema from 2.0 to 2.1
606 matrix_science::ms_protein::isShowSubsets() does not read the value from mascot.dat because it is looking for ShowSubsets rather than ShowSubSets
607 Call to delete should be delete [] in ms_mascotresfile destructor. Will show up in valgrind as
          Mismatched free() / delete / delete []
            at 0x4C20A6E: operator delete(void*) (vg_replace_malloc.c:346)
            by 0x5B89ACB: matrix_science::ms_mascotresfile::~ms_mascotresfile() 
613 The only way to be able to get an ms_peptide object is to have an ms_mascotresults object which can be slow, so add a new flag to create an ms_peptidesummary object with no proteins. New flag added: matrix_science::ms_peptidesummary::MSPEPSUM_NO_PROTEIN_GROUPING
615 Support for EMBL EST Taxonomy and Unigene. New enumeration: matrix_science::TAX_SPECIES_ACC2TAXID

Version 2.3, 17th June 2009. Used with Mascot Distiller 2.3

IDTitle
198 Added matrix_science::ms_protein::getPepNumber() function, for when you're working bottom to top
456 Added ms_mascotresfile::getMasses() function to create an ms_masses object from ms_mascotresfile.
465 Additional function for PMF iteration: matrix_science::ms_protein::getMasses
471 Added the function matrix_science::ms_peptidesummary::getQueryList(QL_FLAG flag) for an easier repeat search. Requires Mascot 2.3
474 In security, add parameter to restrict spoofing. Additional security task: matrix_science::ms_security_tasks::SECTASK_SPOOFNAMEDGROUPSONLY and function matrix_science::ms_session::getSpoofableUsers() that is used in Mascot 2.3 ms-status.exe for the Show=MS_USERS command.
497 matrix_science::ms_umod_element::setMonoMass and setAvgMass now check input parameters correctly
514 Added a new matrix_science::ms_aahelper::ms_aahelper constructor to create an object based on the masses and modifications in a results file. Makes it easier to produce the tables found, for example in the peptide view table.
530 Initial implementation of new protein grouping for Mascot 2.3.
Warning: This code is experimental and there may be further changes before Mascot 2.3 is released
Additional flag: matrix_science::ms_peptidesummary::MSRES_CLUSTER_PROTEINS and additional function: matrix_science::ms_peptidesummary::getNextFamilyProtein
Added matrix_science::ms_mascotresults::getTreeClusterNodes which is used to provide values for producing the dendrograms in the Mascot 2.3 reports. Note that new license C Clustering library needs to be included in applications that use Mascot Parser
536 Added a function: matrix_science::ms_peptidesummary::getAllProteinsWithThisPepMatch
538 Added ms_mascotresfile::getFastaPath to retrieve the path to the fasta file(s) used in a search
540 Support Perl 5.10. See Perl toolkit installation for details of which versions of Perl are supported on which platforms
542 h1_q1_et_mods_pep and reqpep were not retrieved properly. This only affected protein summary, where they are are not used in the standard Mascot protein summary reports which don't show error tolerant matches
545 Added support for searches against multiple databases (introduced in Mascot 2.3). Existing functions just have an added optional parameter.
551 Added functions matrix_science::ms_umod_configfile::getMajorVersion() and matrix_science::ms_umod_configfile::getMinorVersion().
552 Added matrix_science::ms_mascotoptions::getMinEtagMassDelta and matrix_science::ms_mascotoptions::getMaxEtagMassDelta .
556 Memoryleak in ms_modfile fixed
557 Added matrix_science::ms_mascotoptions::getMaxDatabases function.
558 Support for Quantitation version 2 schema. A number of functions have been added and some deprecated:
559 Added Caching Mascot Results
560 Add basic support for ontology files in the .obo format. See matrix_science::ms_obofile .
561 Added a function matrix_science::ms_mascotresults::getQmatch to retrieve the the qmatch value from the results file.
564 The default value for matrix_science::ms_mascotoptions::getInterFileBasePath was C:/InetPub/Mascot/data for Linux and Unix platforms.
565 For Java, throw an exception if out of memory
566 Added a security task matrix_science::ms_security_tasks::SECTASK_MAXNOENZQUERIES that enforces a separate query limit for no enzyme searches
567 IgnoreIonsScoreBelow was converted to a score and rounded to an integer internally. No internal rounding performed now.
568 Add simple_ratio to integration in quantitation_2
573 Quantitation reporter protocol: need to be able to specify a mod as required. Added functions:
574 Added matrix_science::ms_peptidesummary::isPeptideUnique for quantitation support
577 Finer control over progress reports. See ms_mascotresfile::outputKeepAlive
578 Experimentatl support for Python. Windows only for now. See Python toolkit installation
579 More security tasks: matrix_science::ms_security_tasks::SECTASK_MAXFASTAFILES and matrix_science::ms_security_tasks::SECTASK_DENYQUANT

Version 2.2.8, 25th June 2009 - Used by Mascot Server 2.2.06

IDTitle
581 Patch for Dunnington, i7 and Nehalem processors for Linux. (Bug #562 only supported Windows)

Version 2.2.7, 8th January 2009 - Patch for Dunnington, i7 and Power5+ processors. Used by Mascot 2.2.05

IDTitle
562 Support for Dunnington and Intel i7 processors.
563 Support for Power5+ processors.
458 matrix_science::ms_processors class may give incorrect information about number of cores per cpu in 64 bit Windows. (Linux and 32 bit Windows unaffected).

Version 2.2.6, 5th September 2008 - Used by Mascot Distiller 2.2.0

IDTitle
546 The function matrix_science::ms_masses.copyFrom leaves a dangling pointer.
550 Added statistical algroithm for use by Distiller to the Mascot utilities and tools module.

Version 2.2.5, 26th June 2008

IDTitle
509 matrix_science::ms_mascotresults::createUnassignedList did not free some memory when the ms_mascot_results object was deleted.
539 Add support for UltraSPARC T1 and T2, and IV+ processors
543 Corrupt text could be caused by unicode characters in reference fields in unimod.xml. Error returns from Windows functions are now handled properly.

Version 2.2.4, 5th March 2008

IDTitle
532 Support mingw and a more recent version of gcc. See Using the MinGW compiler
526 Performance improvements in calls to getHomologyThreshold()
522 The example code, create_mgf.pl misses last peak
520 Add matrix_science::ms_peptide::getNum13C function
519 Support Java 6. Previous releases would occasionally crash with Java 6 on Windows
518 Need to escape spaces in schema file paths that are passed to Xerces.
493 ms_proteinsummary is wrong for NA searches where there are hits from different frames. Instead of reporting a separate protein hit for each frame, the results are merged into one hit.

Version 2.2.3, 22nd June 2007

The following items were fixed in this release which was shipped with Mascot Server 2.2.02

IDTitle
512 Calls to matrix_science::ms_fileutilities::setAccessRights can result in security tokens being repeated multiple times. (Only visible using command line cacls)
508 matrix_science::ms_modification::setNeutralLoss could not be called from java or perl
507 Trailing tabs in database definition line caused problems for some 3rd party software

Version 2.2.2, 18th April 2007

The following items were fixed in this release which was shipped with Mascot Distiller 2.1.1

IDTitle
504 Failed to retrieve a remote configuration file when using an https Mascot server
502 Failed to retrieve a remote configuration file when a proxy server requires a username and password to be specified

Version 2.2.1, 26th March 2007

The following items were fixed in this release which was shipped with Mascot 2.2.1

IDTitle
482
489
Changes to matrix_science::ms_datfile::updateForInstaller for Windows installer

Version 2.2.0, 15th March 2007

The following items were fixed in this release which was shipped with Mascot 2.2

IDTitle
485 Change matrix_science::ms_databases::findDatabase to allow searching of inactive databases
473 The limit of 64 databases should only count active databases
481 Added a function for Mascot installers to perform all required changes to mascot.dat. See matrix_science::ms_datfile::updateForInstaller()
480 ms_license fails to report an error message in some cases
476 Add support for a feature string in the mascot license file (required for BigMascot)
470 standalone="no" is now omitted in xml-documents
466 Add new function: matrix_science::ms_processors::getNumCores()
462 Bugs in plpa library for 64 bit Linux fixed.
460 Increase limit on number of parse rules from 64 to 256
449 Homology threshold now uses the significance threshold value
447 Mudpit score now decreases when the significance threshold is decreased
453 Added matrix_science::ms_mascotoptions::getMaxVarMods() and matrix_science::ms_mascotoptions::getMaxEtVarMods()
451 Errors now detected while saving config files
448 Issue with leading space in comments when modifying mascot.dat fixed
446 There are no longer and unicode versions of the Parser library for Windows. Applications that are compiled with unicode support should still be able to link against the non-unicode versions of Parser
444 If modification is missing from ms_modvector, ms_aahelper crashes and burns
370 Download of unimod.xml (0.5Mb) will be too slow over the internet. Parser now downloads the compressed unimod.xml, using the matrix_science::ms_zip class
442 Curl support has never worked on 64 bit AIX and possibly other platforms
441 Unigene support has never worked properly on 64 bit AIX release, (and possibly SGI/Sun/Tru64). The 64 bit Linux versions were not affected by this issue
440 Add a new option to mascot.dat - access through matrix_science::ms_mascotoptions::getMaxPepNumVarMods
439 ShowSubSets is now a double rather than a boolean. Add matrix_science::ms_mascotoptions::getShowSubsets and allow matrix_science::ms_mascotoptions::setShowSubsets to take a double as well as a boolean value
414 64 Bit Windows in now supported using Visual Studio 2005, service pack 1. This is available as a separate package
320 Support for files > 2Gb introduced a file handle leak bug when accessing parameters in the query sections.
438 Add matrix_science::ms_mascotresults::MSRES_MAXHITS_OVERRIDES_MINPROB. See matrix_science::ms_peptidesummary::ms_peptidesummary for details.
437 Add security task matrix_science::ms_security_tasks::SECTASK_SEESEARCHINANYGROUP for the right to view searches for all users in all groups belonged to. Shouldn't require any changes to any third party applications that call matrix_science::ms_session::canResultsFileBeViewed
436 File Handle Leak in ms_mascotresfile with a zero byte file
435 Spaces at the start of all configuration files are now stripped.
434 A database name that starts with End is treated as the end of the database section.
433 Preliminary support for UniGene section in mascot.dat: See matrix_science::ms_unigeneoptions. The main aim purpose of this change is to get the mascot.dat file to save correctly for the installation program.
427 matrix_science::ms_enzyme::verifyEnzyme doesn't complain about numbers in restrict and and also allows lower case letters.
423 Integrated error tolerant - numerous further changes, but may be complete now?
424 ms_fragmentationrules::verifyRule - further additions to rules
427 verifyEnzyme doesn't complain about numbers in restrict and and also allows lower case letters.
430 Added z+2 series
154 Sort order for peptide summary with single etag - now sorted by delta.
253 Integra session files now get deleted properly. They now use the default timeout period.
293 When logging in using the 'guest' username, guest session files, such as guest_12312312313 session no longer get created.
295 Show Sub-sets is now a fraction, not boolean. See Grouping proteins together
298 matrix_science::ms_aahelper::createPeptide documentation improved.
320 File larger than 2Gb can now be read on 32bit parser.
335 Calling matrix_science::ms_mascotresults::createUnassignedList for a protein summary when there is no protein summary no longer gives errors, but just creates an empty list.
337 Mascot Integra users can no longer log in through Mascot - they must login through Integra.
343 Taxonomy strings can now contains commas.
391 Add method to ms_umod_modification to generate ms_modification objects.
393 Threshold cut-offs have changed. Old behaviour was to suppress the homology threshold if there were less than 1000 sequences in the search. New behaviour is to supress the threshold if qmatch is less than 100. There is also now a minimum for identity threshold of 13.
409 Verify enzyme used to return false if Restrict was empty
420 matrix_science::ms_mascotresults::getIonsScoreCorrected was incorrect if ITOL units were mmu rather than Da
421 Added matrix_science::ms_mascotoptions::getMudpitSwitch() and matrix_science::ms_mascotoptions::getSelectSwitch()
415 Support for minInternalMass and maxInternalMass. See matrix_science::ms_fragmentationrules::getMinInternalMass() matrix_science::ms_searchparams::getMinInternalMass() and matrix_science::ms_inputquery::getMinInternalMass()
413 New security params - varmods, varmods ET, num accessions. See matrix_science::ms_security_tasks::SECTASK_MAXVARMODS matrix_science::ms_security_tasks::SECTASK_MAXETVARMODS matrix_science::ms_security_tasks::SECTASK_MAXETACCESSIONS
410 Add PSI_MS_Name ( ex_code_name) and maybe Approved. See matrix_science::ms_umod_modification::getExCodeName() and matrix_science::ms_umod_modification::isApproved
408 Remove limit of 1024 mods - make it unlimited
407 msparser class ms_umod_xref needs to have url-property
397 Speed up ms_inputquery
396 Output keep alives in matrix_science::ms_peptidesummary::createUnassignedList()
394 Example C++ projects have the wrong compiler options for debug DLL versions
385 Added matrix_science::ms_inputquery::getScanNumbers() and matrix_science::ms_inputquery::getRetentionTimes()
384 mascot.dat Options functions missing: SortUnassigned etc.
358 getTagStart, getTagEnd, getTagSeries stuck in infinite loop
313 Unigene file parsing not quite right. File format change in unigene files now processed properly
402 add validation precedures to fragrules and enzymes
395 Keep alives need to be flushed. On Linux, the keep alive html comments are kept in a buffer and not flushed. This means, assuming that the standard text and default time of 5 seconds is used, that it takes 20 minutes for something to appear.
386 Support for mulitple neutral losses. The function matrix_science::ms_searchparams::getVarModsNeutralLosses which returns an array of neutral losses has been added.
matrix_science::ms_searchparams::getVarModsPepNeutralLoss and matrix_science::ms_searchparams::getVarModsReqPepNeutralLoss have also been added.
387 The functions: matrix_science::ms_searchparams::getFixedModsName matrix_science::ms_searchparams::getFixedModsDelta matrix_science::ms_searchparams::getFixedModsNeutralLoss matrix_science::ms_searchparams::getFixedModsResidues have been added.
329 Return the new parts of the results file required for quantitation
332 Support decoy search results
338 New option ResultsFileFormatVersion in mascot.dat
339 ICAT mods mapping accepts only modnames without spaces
355 Need to escape text in ms_inputquery::getINSTRUMENT() and ms_inputquery::getIT_MODS()
356 Need to read enzyme and taxonomy sections of resfile
373 getSeriesName returns empty string for ion series 19,20
376 setDelta() for unimod modification disables mod delta
326 If an old ICAT search is repeated with Mascot 2.2 or later, then the ICAT=ON should be translated to QUANTITATION=ICAT. The name 'ICAT' is retrieved from the options section of mascot.dat using getICATQuantitationMethod()
327 If the require bold red flag is set, then the wrong protein number used to appear in the yellow popup. The protein accession string was correct.
328 Further changes to quantitation.xml design. [Remove from 2.2 changes list]
330 Support MODS and INSTRUMENT at the query level. See getINSTRUMENT(), getRULES() and getIT_MODS(). Needed for instruments that, for example, can switch between ETD and CID.
329 Support more than 9 variable mods. See Increase in the number of variable modifications for details on the impact of this to existing clients using Mascot Parser.
333 Add 3 new search parameters: getQUANTITATION() , getPEP_ISOTOPE_ERROR() and getDECOY()
248 Support for new PMF iterations introduced in Mascot 2.2
See: ms_proteinsummary::isPmfQueryUsed()
297 A Java or Perl application calling matrix_science::ms_aahelper::calcFragments can now access the fragments array.

Version 2.1.03, 9th March 2006

The following items were fixed in this release which was shipped with Mascot 2.1.04

IDTitle
300 Support high charge state fragments in aa_helper. Mascot only matches singly and doubly charged fragments, and there are no plans to change this. However, if someone wants to label peaks with higher charge states in Mascot Distiller or any other product that uses Mascot Parser, they can now do this.
301 aa_helper used to give a negative peptide mz value for negative charge.
302 calcPeptideMz() now gives correct mz values for higher charges.
307 A dual core Xeon system with HT disabled in the bios was not detected correctly. The work-around was to enable HT in the bios.
310 Process Affinity was not working on some 2.6 kernels (Linux). This has been fixed by using the PLPA library from Open-MPI.

Version 2.1.02, 18th October 2005

The following items were fixed in this release which was shipped with Mascot 2.1.02

IDTitle
263 If a search was run using 'MONOISOTOPIC' rather than 'Monoisotopic', then a repeat search using search_form.pl would submit the second search using average masses because it doesn't recognise MONOISOTOPIC. This has been fixed in this parser release.
270 The Tru64 release of parser 1.x sometimes gives a different sort order for the concise protein summary due to a bug in the Tru64 compiler. This problem has been fixed in this release by using a patched Tru64 compiler.
276 Advanced topic! MSRES_DUPE_REMOVE_A will always be set which causes incorrect filtering when modifying these advanced flags. This does not affect any standard reports.
280 getNextSubsetProtein() now always returns false unless MSRES_SHOW_SUBSETS is set. This makes coding for the client a little easier and more transparent.
281 In cases where the highest scoring protein has no bold red peptides, selecting REQUIRE_BOLD_RED used to return no hits. Obviously, it is very rare for the highest scoring protein to not have any rank 1 peptide hits.
282 Add SECTASK_BIOTOOLSBATCH in preparation for next Bruker Biotools release. Added this task to the PowerUsers group.
283 Some customers still have systems with the electron mass being incorrect from the Mascot 1.9 installation. 'Fudge' the code by returning the correct value (0.000549) if the value in the file is 0.00549.
If, so some bizarre reason, you really want the electron mass to be 0.00549, then specify it as 0.005490 in the masses file.
285 The matrix_science::ms_processors class now supports dual core AMD Opteron and reports that process affinity is available on Linux 2.6 kernels. Additional functions are now available to determine the name of the processor manufacturer and a description of the hyperthreading/multi-core/SMT functionality on the processor.
286 matrix_science::ms_protein::getFrame used to return -1 for protein database if the search was PMF. It now returns 0 as specified in the documentation.
287 and 290 Using the require bold red flag, it was possible to get occasional matches to proteins without any bold red peptides.

Version 2.1.01, 24th June 2005

The following items were fixed in this release which was shipped with Mascot 2.1.01

IDTitle
261 Java version of ms_aahelper fails. C++ and Perl worked OK.
262 Passing a directory name rather than a file name caused a crash.
266 ms_searchparams::getUSERID returns -1 for old searches - meaning that it is impossible to see old searches unless the view all searches token is set.
267 In rare circumstances, a single peptide match generates multiple protein hits. Only happens at the random matching level and if minPepLenInPepSummary is non-zero.
267 getErrTolModMasterNeutralLoss() returned an incorrect value.
272 Java Parser on Linux fails to run.
273 Performance improvement for results files with matches to a large number of ambiguous residues

Version 2.1.0, 30th April 2005

The following items were fixed in this release which was shipped with Mascot 2.1

IDTitle
2 Read and parse the Mascot configuration files. See Mascot configuration files module
122 Ambiguous residues coped with transparently. matrix_science::ms_peptide::getPeptideStr now takes an optional argument to specify whether ambiguous residues are reported with the substituted value
126 Documentation - ms_searchparams class reference had multiple references to MASS=
142 ms_protein::getFrame() is now a const function
143 Documentation - now specifies that oneInXProb has lower limit of 10
144 Documentation - now specifies that 0 is returned for auto in matrix_science::ms_searchparams::getREPORT()
145 Documentation - matrix_science::ms_peptide::getIonsIntensity() is now clearer
146 Documentation - matrix_science::ms_peptide::getNumIonsMatched() is now clearer
151 Provide functions to calculate peptide and fragment masses. See Mascot utilities and tools module
162 Example perl script for protein summary and peptide summary have incorrect tag calls.
164 C++ test harness: peptide_list.cpp only builds on Windows.
173 Performing a search in the Windows msparser help no longer gives the same 'Title' for all pages.
175 Documentation - Ions series are now correct in matrix_science::ms_searchparams::getRULES()
183 Peptides with and without ambigious residues are now split into two entries. When decides whether to check if one protein is a sub-set of another it now compares the substituted peptide strings instead of original.
186 Mascot User authentication and login. See Mascot security and authentication module
187 Re-organise the help into separate modules, and provide example code in the examples directory as well as the online help.
199 Huge results files loaded and parsed using less memory.
200 AutoSelectCharge is a new parameter in the options section of mascot.dat See: matrix_science::ms_mascotoptions::getAutoSelectCharge()
206 Before loading whole results file, check it really is a Mascot result file.
218 Support for negative charge state.
221 In the help, remove the class and class hierachy menu in the tree. These are now grouped together under the separate modules.

Version 1.2.2, 19th January 2004

The following items were fixed in this release which was shipped with Mascot 2.0:

IDTitle
134 Support non-threaded build of Perl on Linux. Perl supplied with RedHat Linux is normally built with threads support. The default build of Perl (and therefore the one supplied with most other Linux distributions) has thread support disabled. See Installation on Linux platforms for details of which version of msparser.so is required for your system
135 If a query contains a tag or an etag, then the homology threshold is now suppressed.
137 New protein scoring for MudPIT type searches. See matrix_science::ms_mascotresults::MSRES_MUDPIT_PROTEIN_SCORE
139 Version string format in msparser.pm changed from, for example:
$VERSION = "1.2.1"
to
$VERSION = 1.002001;
for more reliable version checking with different versions of perl.
140 Add matrix_science::ms_mascotresults::getProteinExpectationValue() and matrix_science::ms_mascotresults::getPeptideExpectationValue()

Version 1.2.1, 15th December 2003

The following items were fixed in this release:

IDTitle
121 Support for tag and etag additions in Mascot 2.0 result files has been added. See for example, matrix_science::ms_peptidesummary::getTagString() , matrix_science::ms_peptidesummary::getTagDeltaRangeStart() and matrix_science::ms_peptidesummary::getTagDeltaRangeEnd()
125 The C++ documentation referred to msparser.h where it should have been 'msparser.hpp'
127 DLLMain is no longer defined in the Windows static C++ libraries.
128 Added ms_mascotresfile::getUniqueTaskID() to support taskid's used by Mascot Daemon in Mascot 2.0
129 Fixed a crash for a faulty results file with the incorrect number of queries.
130 Sort order for proteins with identical scores used to be incorrect with .NET 2003 compiler, and Linux Intel compiler. Code generated by all other compilers was working properly.
132 getAvePeptideIdentityThreshold used to be incorrect for a search that has queries with no matches. Also, added matrix_science::ms_mascotresults::getMaxPeptideIdentityThreshold() as a safer option to display above the histogram on the Mascot 2.0 reports.

Version 1.2.0, 20th October 2003

Support for Java has now been added. See Java toolkit installation for details.

Windows Visual C++ .NET 2003 is now supported along with Visual C++ 6.0. Separate directories are provided for each compiler. The DLLs no longer require Perl to be installed on the computer.

Important Windows Perl users please note that the msparser.dll file is now located in a perl56 or perl58 directory. Do not use the one in the lib directory as this no longer provides any perl support.

The following items were fixed in this release:

IDTitle
5 Proteins with identical scores are now sorted by accesion number. If the accessions contain numbers (e.g. gi numbers), then the sorting is by the actual number. Otherwise, it sorts lexicographically. See also issue #48 below.
15 A warning message is now provided for duplicate accessions. Duplicate accessions are normally an indication of a faulty database, or incorrect parse rules, and should be investigated by the Mascot Administrator.
16 A new function matrix_science::ms_mascotresults::isNA can be called to determine if the search was against a protein database or a nucleic acid database.
36 Peptide mass fingerprint mixture mode is now supported. See Peptide mass fingerprint mixtures
40 and 102 Version information can now be found using the standard perl and java interfaces. Further information can be found at: ms_mascotresfile::getMSParserVersion()
42 Added a function to find number of proteins in the results. see matrix_science::ms_mascotresults::getNumberOfHits()
43 Added two new functions: ms_mascotresfile::enumerateSectionKeys matrix_science::ms_searchparams::getAllUSERParams to get 'user' parameters.
48 For a full protein summary report, the sort order now has a one to one correspondence with the entries in the results file. See also issue #5 above, which affects concise summary and peptide summaries.
49 Added a new function matrix_science::ms_mascotresults::getProteinScoreForHistogram to return the top 50 scores.
50 Issue with symbol log10: referenced symbol not found on some Solaris systems has been resolved.
54 A number of minor problems with the unassigned list have been resolved
56 Added two new functions: matrix_science::ms_inputquery::getPepTol() matrix_science::ms_inputquery::getPepTolUnits()
57 Changed matrix_science::ms_peptidesummary::getProteinsWithThisPepMatch to have an extra default parameter that returns quotes around the accession strings. This is required to allow accessions with spaces.
58 Add matrix_science::ms_protein::getUnmatchedMasses to get the list of observed mass values that failed to get a match to a protein hit in a PMF (listed at end of each hit in a protein summary report).
59 For a peptide summary, the probability cutoff calculation was not the same as in the Mascot 1.9 results reports, which use the average peptide probability. This is always a very minor difference.
60 Calculation for protein score in peptide summary is now exactly the same as in the Mascot 1.9 results reports. This resulted in very rare minor differences.
61 Error handler changes. IsValid() no longer returns false if there are only warning messages. Messages are now classified by severity. The test harness shows new code to print out warnings if the file is valid. Messages no longer have the file name at the beginning.
62 Added new function: matrix_science::ms_searchparams::getElectronMass().
71 Changes to the output of matrix_science::ms_mascotresults::getReadableVarMods for error tolerant search results.
72 Calling getProteinMass used to fail for hit number 50.
74 Option to 'leak bytes' to keep browser connection alive when a report is taking a long time to produce. See: ms_mascotresfile::ms_mascotresfile and ms_mascotresfile::outputKeepAlive()
76 Added a method for getting a protein or peptide summary for single hit very quickly. A parameter 'singleHit' has been added to both matrix_science::ms_peptidesummary::ms_peptidesummary and matrix_science::ms_proteinsummary::ms_proteinsummary.
77 Any SQ always used to return false - even for a sequence query.
78 Added matrix_science::ms_protein::getRMSDeltas to return RMS error for a protein.
79 Proteins in a protein summary are now collapsed by query number rather than peptide string. See Grouping proteins together for further information. This should give compatible results with Mascot 1.9 reports.
81 Key names in the results files are now always matched case insensitively.
82 Sample code for repeating a search is now provided in Perl, Java and C++ in the relevant 'test_' directory. See also Automated repeating of searches
83 Trying to read a result files from Mascot versions earlier than 1.02.00 will now produce an error. These files are not supported.
84 and 85 ms_mascotresfile::getRepeatSearchString used to fail to return the peptol() parameter in cases where an override peptide tolerance had been specified. It also returned seq() instead of comp() for a composition query.
86 Minor differences in the output for an error tolerant search have been fixed.
91 Changed matrix_science::ms_peptidesummary::getProteinsWithThisPepMatch() is now considerably faster
92 Added matrix_science::ms_inputquery::getPepTolString()
93 The parameter minPepLenInPepSummary now behaves in the same way as the Mascot 1.9 reports. In the previous version, peptides shorter than this were totally ignored. Now, they are just ignored for Grouping proteins together purposes.
103 OneInXprobRnd is now a a double rather than an int - it was previously possible to overflow this value.
104 Added a new function: matrix_science::ms_mascotresults::getSequenceMass to calculate the relative mass of a sequence.
110 The function: matrix_science::ms_peptide::getPrettyRank has changed. The ordering of the numbers is now slightly different and is consistent with the original Mascot reports.
113 and 116 A bug in: matrix_science::ms_protein::getCoverage that caused to large a value to be reported (particularly with error tolerant searches) has been fixed. The getCoverage function is not supported for Mixture mode and Unigene - and will return 0 for these results.

Known bugs in Version 1.2.0
39 - Installer required for installing the perl package



Version 1.01, 5th March 2003

The following items were fixed in this release

IDTitle
1

Unigene indexes are now fully supported. Simply pass the name of the Unigene index file when creating a results object.

28

ms_mascotresfile::anyMSMS() always used to return false if there was just one query. It now functions properly.

29

ms_mascotresfile::getRepeatSearchString used to have a line feed at the end of the string, making it inconvenient to use.

30

matrix_science::ms_peptide::getMrExperimental() can return 0. This is "by design", since it is calculated from getMrCalc() + getDelta(). It is generally recommended that ms_mascotresfile::getObservedMrValue() is used, since this will always return the relative mass, even for no match. Documentation has been updated.

31

matrix_science::ms_mascotresults::MSRES_REQUIRE_BOLD_RED now functions properly. In version 1.0, supplying the flag had no effect.

32

The C++ test harness now (optionally) loads parameters from a configuration file. This functionality is solely designed to help in-house testing of the library.

35

Error messages: ERR_UNASSIGNED_??? were all reported incorrectly. (Message numbers were all out by one).

37

The documentation is no longer supplied as a pdf file. This help is only available in html format now.
The image for the UML diagram was poor quality in the PDF document - a separate PDF file is now supplied.

38

"Corrupt" title strings could sometimes be returned by matrix_science::ms_inputquery::getStringTitle(true). Spaces were treated correctly, but other characters such as a parenthesis were not handled correctly. The unescaped string was always returned correctly.

Solaris and Linux versions now available.

Known bugs in Version 1.01
39 - Installer required for installing the perl package



Version 1.0, 28th November 2002

The following items were fixed in this release

IDTitle
22

Duplicate accession strings in database or repeated peptides in a protein cause confusion. Added matrix_science::ms_protein::getNumDisplayPeptides()

23

Add function to get the string for a repeat search. See: ms_mascotresfile::getRepeatSearchString()

24

Documentation addition. Added requirement for

      #define _MATRIX_USE_STATIC_LIB

when compiling under Windows using static library. See Compiler Options

25

Add "summary" example C++ test file. This outputs a list of of the top matching proteins. C++ example only.

26

Failure to get protein mass from proteins section. If a protein was in the proteins section, but not in the summary section, then the protein mass was not returned when calling matrix_science::ms_mascotresults::getProteinMass()

27

Added ms_mascotresfile::getMSParserVersion() to return the Mascot Parser version.

Known bugs in Version 1.0
Bug 1 - Unigene support. Interfaces available, but not yet implemented.

Beta 7, 10th November 2002

The following items were fixed in this release

IDTitle
14

Supply all (or nearly all!) combinations of C++ static and DLL libraries for Microsoft Windows.

21

Update the C++ example code documentation.

18

Infinite loop in perl test harness.

Beta 6, 24th September 2002

The following items were fixed in this release

IDTitle
4

Backward compatibility - need to know if there is a peptides block. Two new functions should enable this:

6

Need MinPepLenInPepSummary. There is a new parameter to matrix_science::ms_peptidesummary::ms_peptidesummary.

7

How to do AUTO. Improved documentation. See the examples.

9

Null accessions now create an error. See ms_mascotresfile::ERR_NULL_ACC_PEP_SUM and ms_mascotresfile::ERR_NULL_ACC_PROT_SUM.

10

Error reporting - instead of just keeping one error, have a list of errors. See Error Handling for details.

11

There is now a way of getting the list of unassigned peptides. See Unassigned peptides list for details.

12

Need an IsBold function.
See matrix_science::ms_protein::getPeptideIsBold()

13 Need a IsDisplayCheckBox function See matrix_science::ms_protein::getPeptideIsBold()

Beta 5, 13th September 2002

First release with these help pages.