Mascot: The trusted reference standard for protein identification by mass spectrometry for 25 years

Mascot Server version 2.8

Updating and upgrading procedures

Known Issues

Installing on Windows 10

Mascot Server 2.8 is fully compatible with Windows 10.

Installing on Windows 11

Mascot Server 2.8 is fully compatible with Windows 11.

TMTpro 16-plex and 18-plex ‘required’ modification group

Mascot Server 2.8.1 includes new quantitation methods for TMTpro 16-plex and 18-plex. The shipped version incorrectly enables the ‘required’ attribute for the fixed modification group containing TMTpro (K) and TMTpro (N-term). The attribute should only be enabled if labelling has been done prior to tryptic digestion. As a result, the search report fails to quantitate peptides without a lysine. The search results themselves are not affected, as Mascot applies fixed modifications during the database search the same way regardless of the ‘required’ attribute.

The default configuration will be fixed in the next version of Mascot, and the fix in your local configuration is very simple. Go to the Mascot configuration editor, Quantitation, and edit the TMTpro 16-plex method. In the Method tab, open the “TMT fixed” modification group. Uncheck the Required checkbox, then click OK and Save changes. Repeat for TMTpro 18-plex.

Database recompression on updating to Mascot Server 2.8.3

The internal data structures for compressed index files were changed in version 2.8.1 to fix bug 13874 – “Mascot cannot use NCBI nr larger than about 370 million sequences”. This fix is included in version 2.8.3. After updating to Mascot 2.8.3 from 2.8.0, all databases will be recompressed. Databases are recompressed in order from smallest to largest, then spectral libraries are recompressed from smallest to largest. Once a database has been compressed, it can be searched, even if other databases are still being compressed. It is best to schedule a suitable amount of downtime. You can check the time it takes to compress a given database from monitor.log.

Depending on system limits, and if a large number of database test searches are run simultaneously, some of the test searches may fail to complete. If this happens, wait until all the databases have finished compressing and there are no test searches running. Then choose Retry Compression in Database Status to repeat the failed test search.

Preferred taxonomy selection and viewing quant results in Peptide Summary after updating to Mascot Server 2.8.1

After updating to patch 2.8.1, exporting search results with preferred taxonomy selected may halt with an error: Can't use an undefined value as a HASH reference at ExportDat/ line 746. Protein Family Summary ( is not affected.

Another regression introduced in patch 2.8.1 is when viewing Reporter or Multiplex quantitation results in Peptide Summary ( For example, viewing iTRAQ search results may result in a blank page with the following error in web server logs: Not a SCALAR reference at ./ line 232. Protein Family Summary ( is not affected.

If you encounter either error, please update to patch 2.8.3.

Custom modifications when updating from 2.4 or earlier

The list of modifications used by Mascot is taken from Unimod by downloading the database contents in XML format (unimod.xml). In Mascot 2.4 and earlier, if you wanted to change a modification or add a new one, this could be done using the Mascot Configuration Editor or, if you were very brave, by editing unimod.xml. The unsatisfactory aspect of this was that any changes were lost if you downloaded a fresh copy of unimod.xml.

This was improved in 2.5 by saving all changes to a separate file and merging this with the downloaded file to create the working copy of unimod.xml. The Modifications module of the Configuration Editor has a button (Check Unimod) which looks to see whether a newer unimod.xml file is available. If so, you can choose to download it. The downloaded file is re-named to master.xml and saved to the mascot/config/unimod directory. Any local changes you make using the Configuration Editor are saved to a separate file called usermod.xml in the same directory. When the Mascot Monitor service sees that either file has changed, it merges the two files to create a new unimod.xml in the mascot/config directory. (Note that this means you should never edit or update unimod.xml … your changes could disappear at any time.)

If you are updating to Mascot 2.8 from Mascot 2.4 or earlier, and only have a small number of changes to your local list of modifications, the easiest solution is to re-enter them one final time using the Configuration Editor. If you have a large number of changes, rename your old unimod.xml file to usermod.xml and copy it to mascot/config/unimod, over-writing the existing file. A few seconds later, a new unimod.xml will be created automatically in mascot/config. The only time this won’t work is if you had edited unimod.xml to create a new entry in the elements or mod_bricks sections. If this is the case, please contact support for guidance.

Installation Tips

Windows: It is essential that IIS is correctly configured before installing Mascot. Refer to Chapter 3 of the Mascot Server Installation & Setup Manual for details.

Linux: If you are unsure how to mount the ISO file, try something like this:

sudo mkdir /mnt/mount_point
sudo mount -o loop mascot_2_8_0_linux.iso /mnt/mount_point

Windows update procedure

All 2.8 patches have been collected into a single executable file. This will update from 2.8.0, 2.8.1 and 2.8.2 to 2.8.3. It will not update version 2.7 or earlier to version 2.8.

Note: If the service pack needs to replace any configuration files or Perl scripts that you have modified, it will move your modified file to a Mascot sub-directory called _install_backup. Inspect any files placed in this directory to see whether you wish to merge your changes into the updated files.

  • On the Mascot Server PC, as a user with Administrator privileges, click on the download link and either choose Run or Save the file to your local hard drive and then execute it.
    MascotServer_x64_SvcPack_2_8_3.exe (54 MB)
  • After the patches have been installed you can delete the executable.

Linux update procedure

All 2.8 patches have been collected into a single archive. This will update from 2.8.0, 2.8.1 and 2.8.2 to 2.8.3. It will not update version 2.7 or earlier to version 2.8.

Note: If the service pack needs to replace any configuration files or Perl scripts that you have modified, the previous files are renamed by tar --backup using a simple Unix naming convention. For example, cgi/ could be backed up to cgi/ Inspect any files ending in tilde (~) to see whether you wish to merge your changes into the updated files.

  • Determine where Mascot Server is installed. The default is /usr/local/mascot
  • Download the archive to /usr/local/mascot (or to wherever Mascot is installed)
    mascot_2_8_3_patch_x86_64-linux.tar.bz2 (117 MB)
  • Check that there are no searches running on the server
  • Kill ms-monitor.exe
  • Unpack the files in the ‘mascot’ directory, replacing those from the earlier version, (the –backup option creates backups of the files that are overwritten)
    tar -jpx --backup -f mascot_2_8_3_patch_x86_64-linux.tar.bz2
  • The -p (–preserve-permissions) flag is essential to preserve permissions unless tar is executed by root. Ensure that the ownership of the files matches the user ID that your web server is configured to use. The .tar file has been created using root:root. The required ID when Apache is installed from a RedHat RPM will be apache:apache, and when installed on Ubuntu or Debian, it will be www-data:www-data
    find . -user root | xargs chown apache:apache
  • These steps will be sufficient if Mascot Monitor is to be run as root. If this is not the case, refer to the blog article Improved security for Mascot Installations under Linux.
  • Launch a web browser, and navigate to the URL corresponding to install.html, e.g. http://your.domain/mascot/install.html
  • Follow the instructions to perform some simple system checks and create or update the Mascot configuration file (mascot.dat).
  • Start ms-monitor.exe

Fixes included in this cumulative patch

  • 6453: .exe cgi scripts should output charset=UTF-8
  • 11325: Fixed mods specified in quantitation method shouldn’t be listed under search parameters
  • 11388: test for daily data directory getting confused by multiple symbolic links
  • 11575: Cannot remove FASTA URL in some cases
  • 11864: New progress page is still less informative than the old when ms-createpip.exe running.
  • 12011: PSI mzIdentMLValidator warnings against mzIdentML exported from Mascot
  • 12075: Adverts and MascotMessage not being displayed on public web site
  • 12543: Unable to display locally defined modifications from the quantitation section of a result file
  • 12698: Updated taxonomy files should go into taxonomy/incoming and have indexes built there before being moved to ./taxonomy
  • 12837: Update mzIdentML export to 1.2
  • 12839: Line numbering for error M00031 is confusing
  • 12845: No visible warning of library import failure
  • 12880: Search form doesn’t honour CLE=0
  • 12907: Usage information for splitter utility out-of-date
  • 13008: Retention time is missing from spectral annotation in library
  • 13027: Better taxonomy for UniProt
  • 13116: HTML tags are being displayed by search status
  • 13202: NCBIprot takes approximately 50 times longer than TrEMBL to compress.
  • 13238: Unassigned queries do not line up with column headers when exporting to CSV with no proteins
  • 13263: ERR_TOO_MANY_REDIRECTS when trying to export library search results
  • 13287: Rename “Weighted” to “Summed intensities” in the quantitation config editor
  • 13300: Need to disable repeat search for a fileset
  • 13302: Replace protein_abundance_assay[] in mzTab with opt_study_variable[]_numerator and denominator
  • 13306: If taxonomy exclude/include exceeds 20 Mascot crashes without an error message
  • 13338: UniGene dropdown shown in export form for SL+AA+NA search
  • 13346: Add support for semi-specific enzymes in crosslink searches
  • 13413: Omit sessionID parameter from URLs
  • 13429: Ion mobility field is missing when exporting as MGF
  • 13430: Can’t use string (taskID”) as an ARRAY ref” when viewing peptide match import history for a crawled library
  • 13563: Error 587 in integrated SL search: “Inconsistent peptide length : 34 provided, 19 in use”
  • 13572: Modification statistics for Protein Family Summary mislabels a modification if there are multiple fixed mods with multiple specificities
  • 13591: ION_MOBILITY parsing should check the field matches PEPMASS
  • 13613: Confusing error when top-down search and SaveEveryLastQueryAsc is disabled
  • 13658: Non-persistent cross-site scripting (XSS) exploit in Peptide View
  • 13675: Uploading updated files via DB manager sometimes fails.
  • 13705: Firefox says “Cookie MASCOT_DEFAULT_NAMES will soon be rejected … without the secure attribute”
  • 13713: No reason to display “Precursor m/z” in the repeat search form when there is no precursor value
  • 13747: MaxConcurrentSearches is ineffective
  • 13766: 502.2 – Bad Gateway on opening search results, caused by segfault while reading empty protein description
  • 13783: usermod.xml could become truncated/filled with null bytes and unimod.xml should not be written in place
  • 13817: Incorrect importing of query-level mods in spectral library (off-by-one error)
  • 13819: mzTab spectra_ref field should include scan number
  • 13820: mzTab export is missing some quant format settings
  • 13864: Sorting unassigned list fails if filtering is active, caused by findPeptides() always returning results in query order
  • 13868: mascot_search_results_2.xsd schema missing ITOLU=ppm support
  • 13874: Mascot cannot use NCBI nr larger than about 370 million sequences
  • 13894: Change FTP URLs to HTTP or HTTPS in databases_1.xml and libraries_1.xml
  • 13937: Clean obsolete taxonomy files
  • 13942: Review PC hardware specs page, recommended amount of RAM
  • 13951: Make sure .inp file is always kept on master if nph-mascot.exe crashes on cluster node
  • 13957: Add description to “Query title” checkbox in export form to make it clear it exports retention time
  • 13961: Error message 539 lacks information
  • 13962: Dodgy protein inference when two interlinked proteins have the same very short beta peptide
  • 13963: Add TMTpro 18plex quant method
  • 13964: Add EAD as new instrument type
  • 13968: Add a warning that DecoyTypeSpecific 4 may introduce cutting sites in decoy peptides
  • 13969: Handle node crashes on the master
  • 13982: Print search stage as well as progress in ms-searchcontrol.exe
  • 13883: Error tolerant top-down search with >1000 queries fails in cluster mode
  • 13985: Add Moose to Mascot Perl distribution
  • 13989: Xml configuration files should not be written in place
  • 13991: Put hidden REPORT field into search form to avoid breaking GeneData Expressionist
  • 13996: Change full-text report URL for predefined EST databases to /Tools/dbfetch/dbfetch
  • 14000: Increase limit of taxonomy choice include/exclude line length
  • 14007: Update example crosslink searches shipped with Mascot
  • 14014: Fatal error when exporting as pepXML
  • 14038: Chimeric spectrum peaklist with some dodgy precursors causes Mascot to crash almost immediately
  • 14042: Missing schema documentation for crosslinking_1.xsd
  • 14061: Licensing fault (11:00000000) [M00419] on Linux when kernel patch level exceeds 255
  • 14085: Exporting results when preferred taxonomy is selected fails with: Can’t use an undefined value as a HASH reference at ExportDat/ line 746.
  • 14086: Use of uninitialized value in subroutine entry at cgi/ line 469.
  • 14095: ShowSubSets in is probably broken in 2.8.1
  • 14105: Crash from chimeric spectra MGF when decoy selected
  • 14107: Error when opening results with Reporter or Multiplex quantitation in
  • 14142: Scoring of N-terminal and C-terminal crosslinks occasionally too low, caused by fragment mass miscalculation when linking terminus to residue
  • 14174: Warning “Remote source does not exist” after creating database using a template, preventing scheduled database updates
  • 14184: If remote source returns neither Last-Modified nor ETag HTTP header, Database Manager fails to download updated data
  • 14189: Can’t call method “resetKeepAlive” on an undefined value at ./ line 667.
  • 14246: MaxConcurrentSearches not respected evenly on the master and the node
  • 14270: “Prepare ../taxonomy/acc_to_taxid.mapping.txt_*.cdb” even though nothing needs to be done
  • 14291: Disulfide crosslink search hangs at 67% due to number of open filehandles
  • 14340: Executable aborts immediately on AMD EPYC 7763 if creating an ms_processors object
  • 14366: xiView column CalcMz calculated using a hydrogen rather than a proton
  • 14367: Prevent PMF with Big Mascot
  • 14403: Peptide View reports C-terminal modification on wrong residue