Nesvilab / MSFragger

Ultrafast, comprehensive peptide identification for mass spectrometry–based proteomics
https://msfragger.nesvilab.org
97 stars 7 forks source link

ExecutionException: java.lang.NegativeArraySizeException #130

Closed singjc closed 3 years ago

singjc commented 3 years ago

Hi,

I am getting an error when running MSFragger on a cluster (65Gb of ram and 4 threads), and I'm not entirely sure what the issue is.

Shell Command

java -XX:+UseContainerSupport -jar /MSFragger.jar params/fragger_closed.params

Error Message

Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.simontuffs.onejar.Boot.run(Boot.java:340)
        at com.simontuffs.onejar.Boot.main(Boot.java:166)
Caused by: java.util.concurrent.ExecutionException: java.lang.NegativeArraySizeException
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:192)
        at edu.umich.andykong.msfragger.H.a(Unknown Source)
        at edu.umich.andykong.msfragger.F.a(Unknown Source)
        at edu.umich.andykong.msfragger.MSFragger.b(Unknown Source)
        at edu.umich.andykong.msfragger.MSFragger.main(Unknown Source)
        ... 6 more
Caused by: java.lang.NegativeArraySizeException
        at edu.umich.andykong.msfragger.H.a(Unknown Source)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

log file

MSFragger version MSFragger-2.3
Batmass-IO version 1.17.2
(c) University of Michigan
RawFileReader reading tool. Copyright (c) 2016 by Thermo Fisher Scientific, Inc. All rights reserved.
System OS: Linux, Architecture: amd64
Java Info: 1.8.0_241, Java HotSpot(TM) 64-Bit Server VM, Oracle Corporation
JVM started with 26 GB memory

There is no spectral file. Generating pepindex only.
Parameters:
num_threads = 4
database_name = results/library/library.fasta
decoy_prefix = DECOY_
precursor_mass_lower = -50.0
precursor_mass_upper = 50.0
precursor_mass_units = 1
precursor_true_tolerance = 20.0
precursor_true_units = 1
fragment_mass_tolerance = 20.0
fragment_mass_units = 1
calibrate_mass = 0
write_calibrated_mgf = false
isotope_error = 0/1/2
mass_offsets = 0
precursor_mass_mode = SELECTED
localize_delta_mass = false
delta_mass_exclude_ranges = (-1.5,3.5)
fragment_ion_series = b,y
search_enzyme_name = Trypsin
search_enzyme_cutafter = KR
search_enzyme_butnotafter = P
num_enzyme_termini = 2
allowed_missed_cleavage = 1
clip_nTerm_M = true
allow_multiple_variable_mods_on_residue = false
max_variable_mods_per_peptide = 3
max_variable_mods_combinations = 5000
output_file_extension = pepXML
output_format = pepXML
output_report_topN = 1
output_max_expect = 50.0
report_alternative_proteins = true
override_charge = false
precursor_charge_low = 1
precursor_charge_high = 4
digest_min_length = 7
digest_max_length = 50
digest_mass_range_low = 500.0
digest_mass_range_high = 5000.0
max_fragment_charge = 2
deisotope = 1
track_zero_topN = 0
zero_bin_accept_expect = 0.0
zero_bin_mult_expect = 1.0
add_topN_complementary = 0
minimum_peaks = 15
use_topN_peaks = 150
minIonsScoring = 2
min_matched_fragments = 4
minimum_ratio = 0.01
intensity_transform = 0
remove_precursor_peak = 0
remove_precursor_range = -1.5,1.5
clear_mz_range_low = 0.0
clear_mz_range_high = 0.0
excluded_scan_list_file = 
mass_diff_to_variable_mod = false
variable_mod_01 = 15.99490 M 3
variable_mod_02 = 42.01060 CS[^T 1
variable_mod_03 = 79.96633 STY 3
variable_mod_04 = 42.04695 K[A 3
variable_mod_05 = 28.03130 RN[P 3
variable_mod_06 = 14.01565 CHKNQRL[^DEST 3
add_A_alanine = 0.000000
add_B_user_amino_acid = 0.000000
add_C_cysteine = 57.021464
add_Cterm_peptide = 0.0
add_Cterm_protein = 0.0
add_D_aspartic_acid = 0.000000
add_E_glutamic_acid = 0.000000
add_F_phenylalanine = 0.000000
add_G_glycine = 0.000000
add_H_histidine = 0.000000
add_I_isoleucine = 0.000000
add_J_user_amino_acid = 0.000000
add_K_lysine = 0.000000
add_L_leucine = 0.000000
add_M_methionine = 0.000000
add_N_asparagine = 0.000000
add_Nterm_peptide = 0.0
add_Nterm_protein = 0.0
add_O_user_amino_acid = 0.000000
add_P_proline = 0.000000
add_Q_glutamine = 0.000000
add_R_arginine = 0.000000
add_S_serine = 0.000000
add_T_threonine = 0.000000
add_U_user_amino_acid = 0.000000
add_V_valine = 0.000000
add_W_tryptophan = 0.000000
add_X_user_amino_acid = 0.000000
add_Y_tyrosine = 0.000000
add_Z_user_amino_acid = 0.000000
Number of unique peptides
        of length 7: 225525
        of length 8: 210495
        of length 9: 200878
        of length 10: 186115
        of length 11: 170763
        of length 12: 156943
        of length 13: 147989
        of length 14: 131983
        of length 15: 123691
        of length 16: 112773
        of length 17: 103262
        of length 18: 96772
        of length 19: 88779
        of length 20: 81442
        of length 21: 75540
        of length 22: 69100
        of length 23: 64657
        of length 24: 60374
        of length 25: 55470
        of length 26: 51113
        of length 27: 48379
        of length 28: 44776
        of length 29: 41201
        of length 30: 38374
        of length 31: 35026
        of length 32: 32588
        of length 33: 30184
        of length 34: 27630
        of length 35: 25148
        of length 36: 23860
        of length 37: 21320
        of length 38: 19717
        of length 39: 17625
        of length 40: 16769
        of length 41: 15781
        of length 42: 14121
        of length 43: 12235
        of length 44: 9951
        of length 45: 7829
        of length 46: 5225
        of length 47: 3377
        of length 48: 2110
        of length 49: 1155
        of length 50: 666
In total 2908711 peptides.

fragger_closed.params

num_threads = 4                             # Number of CPU threads to use. 
database_name = results/library/library.fasta                  # Path to the protein database file in FASTA format.

precursor_mass_lower = -50                  # Lower bound of the precursor mass window.
precursor_mass_upper = 50                   # Upper bound of the precursor mass window.
precursor_mass_units = 1                    # Precursor mass tolerance units (0 for Da, 1 for ppm).
precursor_true_tolerance = 20               # True precursor mass tolerance (window is +/- this value).
precursor_true_units = 1                    # True precursor mass tolerance units (0 for Da, 1 for ppm).
fragment_mass_tolerance = 20                # Fragment mass tolerance (window is +/- this value).
fragment_mass_units = 1                     # Fragment mass tolerance units (0 for Da, 1 for ppm).
calibrate_mass = 0                          # Perform mass calibration (0 for OFF, 1 for ON, 2 for ON and find optimal parameters).
write_calibrated_mgf = 0                    # Write calibrated MS2 scan to a MGF file (0 for No, 1 for Yes).
decoy_prefix = DECOY_                         # Prefix added to the decoy protein ID.

isotope_error = 0/1/2                       # Also search for MS/MS events triggered on specified isotopic peaks.
mass_offsets = 0                            # Creates multiple precursor tolerance windows with specified mass offsets.
precursor_mass_mode = selected              # One of isolated/selected/recalculated.

localize_delta_mass = 0                     # Include fragment ions mass-shifted by unknown modifications (recommended for open
                                            # and mass offset searches) (0 for OFF, 1 for ON).
delta_mass_exclude_ranges = (-1.5,3.5)      # Exclude mass range for shifted ions searching.
fragment_ion_series = b,y                   # Ion series used in search, specify any of a,b,c,x,y,z (comma separated).

search_enzyme_name = Trypsin                # Name of enzyme to be written to the pepXML file.
search_enzyme_cutafter = KR                 # Residues after which the enzyme cuts.
search_enzyme_butnotafter = P               # Residues that the enzyme will not cut before.

num_enzyme_termini = 2                      # 0 for non-enzymatic, 1 for semi-enzymatic, and 2 for fully-enzymatic.
allowed_missed_cleavage = 1                 # Allowed number of missed cleavages per peptide. Maximum value is 5.

clip_nTerm_M = 1                            # Specifies the trimming of a protein N-terminal methionine as a variable modification (0 or 1).

# maximum of 16 mods - amino acid codes, * for any amino acid,
# [ and ] specifies protein termini, n and c specifies
# peptide termini
variable_mod_01 = 15.99490 M 3
variable_mod_02 = 42.01060 CS[^T 1
variable_mod_03 = 79.96633 STY 3
variable_mod_04 = 42.04695 K[A 3
variable_mod_05 = 28.03130 RN[P 3
variable_mod_06 = 14.01565 CHKNQRL[^DEST 3
# variable_mod_04 = -17.02650 nQnC 1
# variable_mod_05 = -18.01060 nE 1
# variable_mod_06 = 0.00000 site_06 3
# variable_mod_07 = 0.00000 site_07 3

allow_multiple_variable_mods_on_residue = 0 # Allow each residue to be modified by multiple variable modifications (0 or 1).
max_variable_mods_per_peptide = 3           # Maximum total number of variable modifications per peptide.
max_variable_mods_combinations = 5000       # Maximum number of modified forms allowed for each peptide (up to 65534).

output_file_extension = pepXML              # File extension of output files.
output_format = pepXML                      # File format of output files (pepXML or tsv).
output_report_topN = 1                      # Reports top N PSMs per input spectrum.
output_max_expect = 50                      # Suppresses reporting of PSM if top hit has expectation value greater than this threshold.
report_alternative_proteins = 1             # Report alternative proteins for peptides that are found in multiple proteins (0 for no, 1 for yes).

precursor_charge = 1 4                      # Assumed range of potential precursor charge states. Only relevant when override_charge is set to 1.
override_charge = 0                         # Ignores precursor charge and uses charge state specified in precursor_charge range (0 or 1).

digest_min_length = 7                       # Minimum length of peptides to be generated during in-silico digestion.
digest_max_length = 50                      # Maximum length of peptides to be generated during in-silico digestion.
digest_mass_range = 500.0 5000.0            # Mass range of peptides to be generated during in-silico digestion in Daltons.
max_fragment_charge = 2                     # Maximum charge state for theoretical fragments to match (1-4).
# excluded_scan_list_file =                 # Text file containing a list of scan names to be ignored in the search.

track_zero_topN = 0                         # Track top N unmodified peptide results separately from main results internally for boosting features. Should be
                                            # set to a number greater than output_report_topN if zero bin boosting is desired.
zero_bin_accept_expect = 0.00               # Ranks a zero-bin hit above all non-zero-bin hit if it has expectation less than this value.
zero_bin_mult_expect = 1.00                 # Multiplies expect value of PSMs in the zero-bin during  results ordering (set to less than 1 for boosting).
add_topN_complementary = 0                  # Inserts complementary ions corresponding to the top N most intense fragments in each experimental spectra.

minimum_peaks = 15                          # Minimum number of peaks in experimental spectrum for matching.
use_topN_peaks = 150                        # Pre-process experimental spectrum to only use top N peaks.
deisotope = 1                               # Perform deisotoping or not (0=no, 1=yes and assume singleton peaks single charged, 2=yes and assume singleton
                                            # peaks single or double charged).
min_fragments_modelling = 2                 # Minimum number of matched peaks in PSM for inclusion in statistical modeling.
min_matched_fragments = 4                   # Minimum number of matched peaks for PSM to be reported.
minimum_ratio = 0.01                        # Filters out all peaks in experimental spectrum less intense than this multiple of the base peak intensity.
clear_mz_range = 0.0 0.0                    # Removes peaks in this m/z range prior to matching.
remove_precursor_peak = 0                   # Remove precursor peaks from tandem mass spectra. 0 = not remove; 1 = remove the peak with precursor charge;
                                            # 2 = remove the peaks with all charge states.
remove_precursor_range = -1.5,1.5           # m/z range in removing precursor peaks. Unit: Da.
intensity_transform = 0                     # Transform peaks intensities with sqrt root. 0 = not transform; 1 = transform using sqrt root.

# Fixed modifications
add_Cterm_peptide = 0.000000
add_Nterm_peptide = 0.000000
add_Cterm_protein = 0.000000
add_Nterm_protein = 0.000000
add_G_glycine = 0.000000
add_A_alanine = 0.000000
add_S_serine = 0.000000
add_P_proline = 0.000000
add_V_valine = 0.000000
add_T_threonine = 0.000000
add_C_cysteine = 57.021464
add_L_leucine = 0.000000
add_I_isoleucine = 0.000000
add_N_asparagine = 0.000000
add_D_aspartic_acid = 0.000000
add_Q_glutamine = 0.000000
add_K_lysine = 0.000000
add_E_glutamic_acid = 0.000000
add_M_methionine = 0.000000
add_H_histidine = 0.000000
add_F_phenylalanine = 0.000000
add_R_arginine = 0.000000
add_Y_tyrosine = 0.000000
add_W_tryptophan = 0.000000
add_B_user_amino_acid = 0.000000
add_J_user_amino_acid = 0.000000
add_O_user_amino_acid = 0.000000
add_U_user_amino_acid = 0.000000
add_X_user_amino_acid = 0.000000
add_Z_user_amino_acid = 0.000000

Is there an issue with my parameter file, or could it be an issue with resources (not enough threads)?

Best,

Justin

fcyu commented 3 years ago

Hi Justin,

First of all, you didn't put any spectral files in your shell command. Second, could you upgrade MSFragger to the latest version and try with the right command?

Best,

Fengchao

singjc commented 3 years ago

Hi Fengchao,

Thank you for the fast response!

I didn't supply any spectral files to the shell command because I just wanted to generate the pepindex file. This is part of a snakemake workflow, I do the actual MSFragger search a little later in the workflow where I supply it the spectral files.

Using MSFragger v3.1.1/v3.1

I upgraded my MSFragger to version 3.1.1, and created a docker image. For some reason, when running the docker container of this version (same issue with version 3.1), it's not able to find the libtimsdata-2-7-0.so object. I have the bruker and thermo folders with their contents in the same directory as MSFragger.jar.

Located at root (/) in docker image

Singularity> ls -ltrh /
-rw-rw-r--   1 root     root      39M Oct  1 10:32 MSFragger.jar
drwxr-xr-x   2 root     root     4.6K Feb 11 00:53 thermo
drwxr-xr-x   2 root     root      151 Feb 11 00:53 bruker

Verify libtimsdata-2-7-0.so is in bruker folder

Singularity> ls -ltrh /bruker/
total 43M
-rw-rw-r-- 1 root root  41K Sep 11  2019 THIRD-PARTY-LICENSE-README.txt
-rw-rw-r-- 1 root root  342 Sep 11  2019 redist.txt
-rw-rw-r-- 1 root root  27M Jan  9  2020 libtimsdata-2-7-0.so
-rw-rw-r-- 1 root root 9.3K Jan  9  2020 timsdata-2-7-0.lib
-rw-rw-r-- 1 root root  16M Jan  9  2020 timsdata-2-7-0.dll

Error message when just calling MSFragger

Singularity> java -jar /MSFragger.jar 
MSFragger version MSFragger-3.1.1
Batmass-IO version 1.19.5
[main] ERROR umich.ms.fileio.filetypes.bruker.Timsdata - JNA could not load native Bruker library
[main] ERROR umich.ms.fileio.filetypes.bruker.Timsdata - The ext folder with timsdata-2-7-0.dll (Win) or libtimsdata-2-7-0.so (Linux) is needed. If you are using an old ext folder, please upgrade.
java.lang.UnsatisfiedLinkError: Unable to load library 'timsdata-2-7-0':
libtimsdata-2-7-0.so: cannot open shared object file: No such file or directory
libtimsdata-2-7-0.so: cannot open shared object file: No such file or directory
Native library (linux-x86-64/libtimsdata-2-7-0.so) not found in resource path (/MSFragger.jar)
    at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:302)
    at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:455)
    at com.sun.jna.Library$Handler.<init>(Library.java:192)
    at com.sun.jna.Native.load(Native.java:596)
    at com.sun.jna.Native.load(Native.java:570)
    at umich.ms.fileio.filetypes.bruker.Timsdata$Instance.<clinit>(Timsdata.java:174)
    at umich.ms.fileio.filetypes.bruker.Timsdata.getLoadedLibName(Timsdata.java:197)
    at edu.umich.andykong.msfragger.MSFragger.a(Unknown Source)
    at edu.umich.andykong.msfragger.MSFragger.main(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.simontuffs.onejar.Boot.run(Boot.java:340)
    at com.simontuffs.onejar.Boot.main(Boot.java:166)
    Suppressed: java.lang.UnsatisfiedLinkError: libtimsdata-2-7-0.so: cannot open shared object file: No such file or directory
        at com.sun.jna.Native.open(Native Method)
        at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:191)
        ... 14 more
    Suppressed: java.lang.UnsatisfiedLinkError: libtimsdata-2-7-0.so: cannot open shared object file: No such file or directory
        at com.sun.jna.Native.open(Native Method)
        at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:204)
        ... 14 more
    Suppressed: java.io.IOException: Native library (linux-x86-64/libtimsdata-2-7-0.so) not found in resource path (/MSFragger.jar)
        at com.sun.jna.Native.extractFromResourcePath(Native.java:1095)
        at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:276)
        ... 14 more
timsdata library version 
(c) University of Michigan
RawFileReader reading tool. Copyright (c) 2016 by Thermo Fisher Scientific, Inc. All rights reserved.
System OS: Linux, Architecture: amd64
Java Info: 1.8.0_241, Java HotSpot(TM) 64-Bit Server VM, Oracle Corporation
Usage:
    To perform a search either use a parameter file:
        1) java -jar MSFragger.jar <parameter file> <list of mzML/mzXML/MGF/RAW/.d files>
    Or specify options on the command line:
        2) java -jar MSFragger.jar <options> <list of mzML/mzXML/MGF/RAW/.d files>
To generate default parameter files use --config flag. E.g. "java -jar MSFragger.jar --config"
To list all the available options, run with --help or -h flag.

Using MSFragger v3.0

Using version 3.0 doesn't have the issue of not being able to finding the libtimsdata-2-4-4.so object.

Output when calling MSFragger without anything

Singularity> java -jar /MSFragger.jar 
MSFragger version MSFragger-3.0
Batmass-IO version 1.17.4
(c) University of Michigan
RawFileReader reading tool. Copyright (c) 2016 by Thermo Fisher Scientific, Inc. All rights reserved.
System OS: Linux, Architecture: amd64
Java Info: 1.8.0_241, Java HotSpot(TM) 64-Bit Server VM, Oracle Corporation
Usage:
    To perform a search either use a parameter file:
        1) java -jar MSFragger.jar <parameter file> <list of mzML/mzXML/MGF/RAW/.d files>
    Or specify options on the command line:
        2) java -jar MSFragger.jar <options> <list of mzML/mzXML/MGF/RAW/.d files>
To generate default parameter files use --config flag. E.g. "java -jar MSFragger.jar --config"
To list all the available options, run with --help or -h flag.
Singularity> ls /bruker/
libtimsdata-2-4-4.so  redist.txt  THIRD-PARTY-LICENSE-README.txt  timsdata-2-4-4.dll  timsdata-2-4-4.lib

When I use this version to run MSFragger (providing a spectral file or not) it still leads to the same error as the initial error I was getting.

shell command

java -XX:+UseContainerSupport -jar /MSFragger.jar params/fragger_closed.params results/library/SWATH_ESCs_RA_treated_rep-2-20170718_histone_SWATH_manual_human_H9_cell__RAtreated_3ug_02_Q2.mzXML

Error message

Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.simontuffs.onejar.Boot.run(Boot.java:340)
        at com.simontuffs.onejar.Boot.main(Boot.java:166)
Caused by: java.util.concurrent.ExecutionException: java.lang.NegativeArraySizeException
        at java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.util.concurrent.FutureTask.get(FutureTask.java:192)
        at edu.umich.andykong.msfragger.K.a(Unknown Source)
        at edu.umich.andykong.msfragger.I.a(Unknown Source)
        at edu.umich.andykong.msfragger.n.a(Unknown Source)
        at edu.umich.andykong.msfragger.A.<init>(Unknown Source)
        at edu.umich.andykong.msfragger.MSFragger.b(Unknown Source)
        at edu.umich.andykong.msfragger.MSFragger.main(Unknown Source)
        ... 6 more
Caused by: java.lang.NegativeArraySizeException
        at edu.umich.andykong.msfragger.K.a(Unknown Source)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

Thank you for your time!

Best,

Justin

fcyu commented 3 years ago

Hi Justin,

Regarding the error in loading Bruker library from version 3.1.1, the directory structure should be <msfragger folder>/ext/bruker, <msfragger folder>/ext/thermo, and <msfragger folder>/MSFragger-3.1.1.jar. I think moving bruker and thermo out of ext causing the error.

Regarding your NegativeArraySizeException exception, I have no clue. Your fragger_closed.params does not cause any error from my test.

Best,

Fengchao

singjc commented 3 years ago

Hi Fengchao,

Version 3.1.1 Docker Container Cannot find Bruker library

I moved the entire ext/ as suggested

/
├── /ext
│   ├── /ext/bruker
│   │   ├── /ext/bruker/libtimsdata-2-7-0.so
│   │   ├── /ext/bruker/redist.txt
│   │   ├── /ext/bruker/THIRD-PARTY-LICENSE-README.txt
│   │   ├── /ext/bruker/timsdata-2-7-0.dll
│   │   └── /ext/bruker/timsdata-2-7-0.lib
│   └── /ext/thermo [126 entries exceeds filelimit, not opening dir]
└── /MSFragger.jar

This still complains about it not being able to find the Bruker library, but this just might be an issue of the docker container itself, because it does work fine on my local machine.

NegativeArraySizeException exception

Using version3.0 and a smaller set of amino acids for variable mods, I don't get the NegativeArraySizeException error.

Reduced Variable Mod Amino Acid params

# maximum of 16 mods - amino acid codes, * for any amino acid,
# [ and ] specifies protein termini, n and c specifies
# peptide termini
variable_mod_01 = 15.99490 M 3
variable_mod_02 = 42.01060 K[^ 1
variable_mod_03 = 79.96633 STY 3
variable_mod_04 = 42.04695 KR 3
variable_mod_05 = 28.03130 KR 3
variable_mod_06 = 14.01565 KR 3

Log

In total 2908711 peptides.
Generated 396262375 modified peptides.
Number of peptides with more than 5000 modification patterns: 250
*******************************TOTAL TIME 12.678 MIN********************************

Best,

Justin

singjc commented 3 years ago

I guess we can close this now. If there is anything else you want to add or want me to check, then just let me know.

Thank you for the help Fengchao!