Nesvilab / philosopher

PeptideProphet, PTMProphet, ProteinProphet, iProphet, Abacus, and FDR filtering
https://philosopher.nesvilab.org
GNU General Public License v3.0
111 stars 19 forks source link

TMT Pipeline throwing error at Peptide Prophet #139

Closed ciarajudge closed 4 years ago

ciarajudge commented 4 years ago

Hi, I'm following the pipeline for TMT analysis tutorial to perform an analysis on files which I have converted to mzML from raw using MSConvert on linux. I am getting the following error at the Peptide Prophet stage, I am wondering what I am doing wrong? My parameters file looks identical to the tutorial (with my own info where applicable of course), and I have followed the instructions closely.

`INFO[15:21:48] Running the validation and inference on PXD015536_1 INFO[15:21:48] Executing PeptideProphet on PXD015536_1
panic: runtime error: index out of range [0] with length 0

goroutine 1 [running]: philosopher/lib/ext/peptideprophet.interactParser(0xc00017e180, 0x38, 0xc00017e200, 0x37, 0xc00017e280, 0x3e, 0xc00017e300, 0x3c, 0xc00017e380, 0x3b, ...) /workspace/philosopher/lib/ext/peptideprophet/peptideprophet.go:218 +0x224d philosopher/lib/ext/peptideprophet.PeptideProphet.Execute(0xc00017e180, 0x38, 0xc00017e200, 0x37, 0xc00017e280, 0x3e, 0xc00017e300, 0x3c, 0xc00017e380, 0x3b, ...) /workspace/philosopher/lib/ext/peptideprophet/peptideprophet.go:125 +0x1cd philosopher/lib/ext/peptideprophet.Run(0xc0001121e0, 0x24, 0xc000118040, 0x17, 0xc000112210, 0x29, 0xc000112240, 0x26, 0xc000118060, 0x1d, ...) /workspace/philosopher/lib/ext/peptideprophet/peptideprophet.go:70 +0x4ec philosopher/lib/pip.PeptideProphet(0xc000112480, 0x24, 0xc0000220a4, 0x17, 0xc0001127b0, 0x29, 0xc000112750, 0x26, 0xc000118c40, 0x1d, ...) /workspace/philosopher/lib/pip/pip.go:304 +0x607 philosopher/cmd.glob..func13(0x86dd540, 0xc0001a17d0, 0x1, 0x3) /workspace/philosopher/cmd/pipeline.go:83 +0xc3f github.com/spf13/cobra.(Command).execute(0x86dd540, 0xc0001a1770, 0x3, 0x3, 0x86dd540, 0xc0001a1770) /home/prvst/go/pkg/mod/github.com/spf13/cobra@v0.0.6/command.go:844 +0x29d github.com/spf13/cobra.(Command).ExecuteC(0x86ddfc0, 0x0, 0x0, 0x0) /home/prvst/go/pkg/mod/github.com/spf13/cobra@v0.0.6/command.go:945 +0x317 github.com/spf13/cobra.(*Command).Execute(...) /home/prvst/go/pkg/mod/github.com/spf13/cobra@v0.0.6/command.go:885 philosopher/cmd.Execute() /workspace/philosopher/cmd/root.go:35 +0x2d main.main() /workspace/philosopher/main.go:22 +0x6e

`

If i need to provide any additional context to shed light on the issue please let me know.

prvst commented 4 years ago

Could you show me the commands you executed and the complete log, including the previous steps?

ciarajudge commented 4 years ago

Could you show me the commands you executed and the complete log, including the previous steps?

Yes absolutely:

  1. the command I am using to initiate the pipeline is " philosopher pipeline --config params/philosopher2.yaml PXD015536_1 "

  2. My workspace is set up as follows: WORKINGDIRECTORY -- MSFragger
    --MSFragger
    -- philosopher
    -- params
    -- philosopher2.yaml
    --proteomes . -- 2020-06-24-decoys-contam-s_cerevisiae.fa

    --PXD015536_1 | --- mzML files x10

  3. The complete log:

    
    gwips@baileys:/home/DATA2/trips/scamp$ philosopher pipeline --config params/philosopher2.yaml PXD015536_1
    INFO[15:47:27] Executing Pipeline  v3.2.7                   
    INFO[15:47:27] Initiating the workspace on PXD015536_1      
    INFO[15:47:27] Creating workspace                           
    WARN[15:47:27] A meta data folder was found and will not be overwritten.  
    INFO[15:47:27] Processing database                          
    INFO[15:47:28] Running the Database Search on all data      
    WARN[15:47:28] Workspace not detected                       
    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_201, Java HotSpot(TM) 64-Bit Server VM, Oracle Corporation
    JVM started with 14 GB memory
    Checking database...
    There is no spectral file. Generating pepindex only.
    Checking database...
    Parameters:
    num_threads = 24
    database_name = /home/DATA2/trips/scamp/proteomes/2020-06-24-decoys-contam-s_cereviseae_proteome.fa
    decoy_prefix = rev_
    precursor_mass_lower = -20.0
    precursor_mass_upper = 20.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 = -1/0/1/2/3
    mass_offsets = 0
    labile_search_mode = OFF
    precursor_mass_mode = SELECTED
    localize_delta_mass = false
    delta_mass_exclude_ranges = (-1.5, 3.5)
    fragment_ion_series = b,y
    diagnostic_intensity_filter = 0.0
    Y_type_masses = 0/203.07937/406.15874/568.21156/730.26438/892.3172/349.137279
    diagnostic_fragments = 204.086646/186.076086/168.065526/366.139466/144.0656/138.055/126.055/163.060096/512.197375/292.1026925/274.0921325/657.2349/243.026426/405.079246/485.045576/308.09761
    search_enzyme_name = Trypsin
    search_enzyme_cutafter = KR
    search_enzyme_butnotafter = P
    num_enzyme_termini = 2
    allowed_missed_cleavage = 2
    clip_nTerm_M = true
    allow_multiple_variable_mods_on_residue = true
    max_variable_mods_per_peptide = 3
    max_variable_mods_combinations = 5000
    output_file_extension = pepXML
    output_format = pepXML
    output_report_topN = 3
    output_max_expect = 50.0
    report_alternative_proteins = false
    override_charge = false
    precursor_charge_low = 1
    precursor_charge_high = 6
    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 = 0
    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 = 3
    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 = 125.5
    clear_mz_range_high = 131.5
    excluded_scan_list_file = 
    mass_diff_to_variable_mod = 0
    variable_mod_01 = 15.99490 M 3
    variable_mod_02 = 42.01060 [^ 1
    variable_mod_03 = 229.162932 n^ 1
    variable_mod_04 = 229.162932 S 1
    add_A_alanine = 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_K_lysine = 229.162932
    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_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_V_valine = 0.000000
    add_W_tryptophan = 0.000000
    add_Y_tyrosine = 0.000000
    *******************************TOTAL TIME 0.043 MIN********************************
    INFO[15:47:35] Running the validation and inference on PXD015536_1 
    INFO[15:47:35] Executing PeptideProphet on PXD015536_1      
    panic: runtime error: index out of range [0] with length 0

goroutine 1 [running]: philosopher/lib/ext/peptideprophet.interactParser(0xc0000322c0, 0x38, 0xc000032340, 0x37, 0xc0000323c0, 0x3e, 0xc000032440, 0x3c, 0xc0000324c0, 0x3b, ...) /workspace/philosopher/lib/ext/peptideprophet/peptideprophet.go:218 +0x224d philosopher/lib/ext/peptideprophet.PeptideProphet.Execute(0xc0000322c0, 0x38, 0xc000032340, 0x37, 0xc0000323c0, 0x3e, 0xc000032440, 0x3c, 0xc0000324c0, 0x3b, ...) /workspace/philosopher/lib/ext/peptideprophet/peptideprophet.go:125 +0x1cd philosopher/lib/ext/peptideprophet.Run(0xc0033e84b0, 0x24, 0xc0000224a0, 0x17, 0xc0033e84e0, 0x29, 0xc0033e8510, 0x26, 0xc0000224c0, 0x1d, ...) /workspace/philosopher/lib/ext/peptideprophet/peptideprophet.go:70 +0x4ec philosopher/lib/pip.PeptideProphet(0xc0000285a0, 0x24, 0xc0000220a4, 0x17, 0xc0000288d0, 0x29, 0xc000028870, 0x26, 0xc000022da0, 0x1d, ...) /workspace/philosopher/lib/pip/pip.go:304 +0x607 philosopher/cmd.glob..func13(0x86dd540, 0xc00019f7d0, 0x1, 0x3) /workspace/philosopher/cmd/pipeline.go:83 +0xc3f github.com/spf13/cobra.(Command).execute(0x86dd540, 0xc00019f770, 0x3, 0x3, 0x86dd540, 0xc00019f770) /home/prvst/go/pkg/mod/github.com/spf13/cobra@v0.0.6/command.go:844 +0x29d github.com/spf13/cobra.(Command).ExecuteC(0x86ddfc0, 0x0, 0x0, 0x0) /home/prvst/go/pkg/mod/github.com/spf13/cobra@v0.0.6/command.go:945 +0x317 github.com/spf13/cobra.(*Command).Execute(...) /home/prvst/go/pkg/mod/github.com/spf13/cobra@v0.0.6/command.go:885 philosopher/cmd.Execute() /workspace/philosopher/cmd/root.go:35 +0x2d main.main() /workspace/philosopher/main.go:22 +0x6e`

prvst commented 4 years ago

Can you share your pipeline configuration file as well, please?

ciarajudge commented 4 years ago

Yes, here it is:

`

 Philosopher pipeline configuration file.
#
# The pipeline mode automates the processing done by Philosopher. First, check
# the steps you want to execute in the commands section and change them to
# 'yes'. For each selected command, go to its section and adjust the parameters
# accordingly to your analysis.
#
# If you want to include MSFragger and TMT-Integrator into your analysis, you will
# haver o download them separately and then add their location tot their configuration
#
# Usage:
# philosopher pipeline --config <this_configuration_file> [list_of_data_set_folders]

analytics: true                                # reports when a workspace is created for usage estimation (default true)
slackToken:                                    # specify the Slack API token
slackChannel:                                  # specify the channel name

commands:
  workspace: yes                               # manage the experiment workspace for the analysis
  database: yes                                # target-decoy database formatting
  comet: no                                    # peptide spectrum matching with Comet
  msfragger: yes                               # peptide spectrum matching with MSFragger
  peptideprophet: yes                          # peptide assignment validation
  ptmprophet: no                               # PTM site localization
  proteinprophet: no                           # protein identification validation
  filter: yes                                  # statistical filtering, validation and False Discovery Rates assessment
  freequant: yes                               # label-free Quantification
  labelquant: yes                              # isobaric Labeling-Based Relative Quantification
  bioquant: no                                 # protein report based on Uniprot protein clusters
  report: yes                                  # multi-level reporting for both narrow-searches and open-searches
  abacus: yes                                  # combined analysis of LC-MS/MS results
  tmtintegrator: yes                           # integrates channel abundances from multiple TMT samples

database:
  protein_database: /home/DATA2/trips/scamp/proteomes/2020-06-24-decoys-contam-s_cereviseae_proteome.fa   # path to the target-decoy protein database
  decoy_tag: rev_                              # prefix tag used added to decoy sequences

comet:
  noindex: true                                # skip raw file indexing
  param:                                       # comet parameter file (default "comet.params.txt")
  raw: mzML                                    # format of the spectra file

msfragger:                                     # v2.3
  path: /home/DATA2/trips/scamp/MSFragger/MSFragger.jar  # path to MSFragger jar
  memory: 16                                   # how much memory in GB to use
  param:                                       # MSFragger parameter file
  raw: mzML                                    # spectra format
  num_threads: 0                               # 0=poll CPU to set num threads; else specify num threads directly (max 64)
  precursor_mass_lower: -20                    # lower bound of the precursor mass window
  precursor_mass_upper: 20                     # upper bound of the precursor mass window
  precursor_mass_units: 1                      # 0=Daltons, 1=ppm
  precursor_true_tolerance: 20                 # true precursor mass tolerance (window is +/- this value)
  precursor_true_units: 1                      # 0=Daltons, 1=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                            # 0=Off, 1=On, 2=On and find optimal parameters
  deisotope: 0                                 # activates deisotoping.
  isotope_error: -1/0/1/2/3                    # 0=off, -1/0/1/2/3 (standard C13 error)
  mass_offsets: 0                              # allow for additional precursor mass window shifts. Multiplexed with isotope_error. mass_offsets = 0$
  precursor_mass_mode: selected                # selected or isolated
  localize_delta_mass: 0                       # this allows shifted fragment ions - fragment ions with mass increased by the calculated mass differ$
  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
  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                        # 2 for enzymatic, 1 for semi-enzymatic, 0 for nonspecific digestion
  allowed_missed_cleavage: 2                   # maximum value is 5
  clip_nTerm_M: 1                              # specifies the trimming of a protein N-terminal methionine as a variable modification (0 or 1)
  variable_mod_01: 15.99490 M 3                # variable modification
  variable_mod_02: 42.01060 [^ 1               # variable modification
  variable_mod_03: 229.162932 n^ 1             # variable modification
  variable_mod_04: 229.162932 S 1              # variable modification
  variable_mod_05:                             # variable modification
  variable_mod_06:                             # variable modification
  variable_mod_07:                             # variable modification
  allow_multiple_variable_mods_on_residue: 1   # static mods are not considered
  max_variable_mods_per_peptide: 3             # maximum of 5
  max_variable_mods_combinations: 5000         # maximum of 65534, limits number of modified peptides generated from sequence
  output_file_extension: pepXML                # file extension of output files
  output_format: pepXML                        # file format of output files (pepXML or tsv)
  output_report_topN: 3                        # reports top N PSMs per input spectrum
  output_max_expect: 50                        # suppresses reporting of PSM if top hit has expectation greater than this threshold
  report_alternative_proteins: 0               # 0=no, 1=yes
  precursor_charge: 1 6                        # assume range of potential precursor charge states. Only relevant when override_charge is set to 1
  override_charge: 0                           # 0=no, 1=yes to override existing precursor charge states with precursor_charge parameter
  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)
  track_zero_topN: 0                           # in addition to topN results, keep track of top results in zero bin
  zero_bin_accept_expect: 0                    # boost top zero bin entry to top if it has expect under 0.01 - set to 0 to disable
  zero_bin_mult_expect: 1                      # disabled if above passes - multiply expect of zero bin for ordering purposes (does not affect repor$
  add_topN_complementary: 0                    # inserts complementary ions corresponding to the top N most intense fragments in each experimental s$
  minimum_peaks: 15                            # required minimum number of peaks in spectrum to search (default 10)
  use_topN_peaks: 150                          # pre-process experimental spectrum to only use top N peaks
  min_fragments_modelling: 3                   # 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 int$
  clear_mz_range: 125.5 131.5                  # for iTRAQ/TMT type data; will clear out all peaks in the specified m/z range
  remove_precursor_peak: 0                     # remove precursor peaks from tandem mass spectra. 0=not remove; 1=remove the peak with precursor cha$
  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.
  add_Cterm_peptide: 0.000000                  # c-term peptide fixed modifications
  add_Cterm_protein: 0.000000                  # c-term protein fixed modifications
  add_Nterm_peptide: 0.000000                  # n-term peptide fixed modifications
  add_Nterm_protein: 0.000000                  # n-term protein fixed modifications
  add_A_alanine: 0.000000                      # alanine fixed modifications
  add_C_cysteine: 57.021464                    # cysteine fixed modifications
  add_D_aspartic_acid: 0.000000                # aspartic acid fixed modifications
  add_E_glutamic_acid: 0.000000                # glutamic acid fixed modifications
  add_F_phenylalanine: 0.000000                # phenylalanine fixed modifications
  add_G_glycine: 0.000000                      # glycine fixed modifications
  add_H_histidine: 0.000000                    # histidine fixed modifications
  add_I_isoleucine: 0.000000                   # isoleucine fixed modifications
  add_K_lysine: 229.162932                     # lysine fixed modifications
  add_L_leucine: 0.000000                      # leucine fixed modifications
  add_M_methionine: 0.000000                   # methionine fixed modifications
  add_N_asparagine: 0.000000                   # asparagine fixed modifications
  add_P_proline: 0.000000                      # proline fixed modifications
  add_Q_glutamine: 0.000000                    # glutamine fixed modifications
  add_R_arginine: 0.000000                     # arginine fixed modifications
  add_S_serine: 0.000000                       # serine fixed modifications
  add_T_threonine: 0.000000                    # threonine fixed modifications
  add_V_valine: 0.000000                       # valine fixed modifications
  add_W_tryptophan: 0.000000                   # tryptophan fixed modifications
  add_Y_tyrosine: 0.000000                     # tyrosine fixed modifications

peptideprophet:                                # v5.2
  extension: pepXML                            # pepXML file extension
  clevel: 0                                    # set Conservative Level in neg_stdev from the neg_mean, low numbers are less conservative, high numb$
  accmass: true                                # use Accurate Mass model binning
  decoyprobs: true                             # compute possible non-zero probabilities for Decoy entries on the last iteration
  enzyme: trypsin                              # enzyme used in sample (optional)
  exclude: false                               # exclude deltaCn*, Mascot*, and Comet* results from results (default Penalize * results)
  expectscore: true                            # use expectation value as the only contributor to the f-value for modeling
  forcedistr: false                            # bypass quality control checks, report model despite bad modeling
  glyc: false                                  # enable peptide Glyco motif model
  icat: false                                  # apply ICAT model (default Autodetect ICAT)
  instrwarn: false                             # warn and continue if combined data was generated by different instrument models
  leave: false                                 # leave alone deltaCn*, Mascot*, and Comet* results from results (default Penalize * results)
  maldi: false                                 # enable MALDI mode
  masswidth: 5                                 # model mass width (default 5)
  minpeplen: 7                                 # minimum peptide length not rejected (default 7)
  minpintt: 2                                  # minimum number of NTT in a peptide used for positive pI model (default 2)
  minpiprob: 0.9                               # minimum probability after first pass of a peptide used for positive pI model (default 0.9)
  minprob: 0.05                                # report results with minimum probability (default 0.05)
  minrtntt: 2                                  # minimum number of NTT in a peptide used for positive RT model (default 2)
  minrtprob: 0.9                               # minimum probability after first pass of a peptide used for positive RT model (default 0.9)
  neggamma: false                              # use Gamma distribution to model the negative hits
  noicat: false                                # do no apply ICAT model (default Autodetect ICAT)
  nomass: false                                # disable mass model
  nonmc: false                                 # disable NMC missed cleavage model
  nonparam: true                               # use semi-parametric modeling, must be used in conjunction with --decoy option
  nontt: false                                 # disable NTT enzymatic termini model
  optimizefval: false                          # (SpectraST only) optimize f-value function f(dot,delta) using PCA
  phospho: false                               # enable peptide Phospho motif model
  pi: false                                    # enable peptide pI model
  ppm: true                                    # use PPM mass error instead of Dalton for mass modeling
  zero: false                                  # report results with minimum probability 0

ptmprophet:                                    # v5.2
  autodirect: false                            # use direct evidence when the lability is high, use in combination with LABILITY
  cions:                                       # use specified C-term ions, separate multiple ions by commas (default: y for CID, z for ETD)
  direct: false                                # use only direct evidence for evaluating PTM site probabilities
  em: 2                                        # set EM models to 0 (no EM), 1 (Intensity EM Model Applied) or 2 (Intensity and Matched Peaks EM Models Applied)
  static: false                                # use static fragppmtol for all PSMs instead of dynamically estimates offsets and tolerances
  fragppmtol: 15                               # when computing PSM-specific mass_offset and mass_tolerance, use specified default +/- MS2 mz tolerance on fragment ions
  ifrags: false                                # use internal fragments for localization
  keepold: false                               # retain old PTMProphet results in the pepXML file
  lability: false                              # compute Lability of PTMs
  massdiffmode: false                          # use the Mass Difference and localize
  massoffset: 0                                # adjust the massdiff by offset (0 = use default)
  maxfragz: 0                                  # limit maximum fragment charge (default: 0=precursor charge, negative values subtract from precursor charge)
  maxthreads: 4                                # use specified number of threads for processing
  mino: 0                                      # use specified number of pseudo-counts when computing Oscore (0 = use default)
  minprob: 0                                   # use specified minimum probability to evaluate peptides
  mods:                                        # specify modifications
  nions:                                       # use specified N-term ions, separate multiple ions by commas (default: a,b for CID, c for ETD)
  nominofactor: false                          # disable MINO factor correction when MINO= is set greater than 0 (default: apply MINO factor correction)
  ppmtol: 1                                    # use specified +/- MS1 ppm tolerance on peptides which may have a slight offset depending on search parameters
  verbose: false                               # produce Warnings to help troubleshoot potential PTM shuffling or mass difference issues

proteinprophet:                                # v5.2
  accuracy: false                              # equivalent to --minprob 0
  allpeps: false                               # consider all possible peptides in the database in the confidence model
  confem: false                                # use the EM to compute probability given the confidence
  delude: false                                # do NOT use peptide degeneracy information when assessing proteins
  excludezeros: false                          # exclude zero prob entries
  fpkm: false                                  # model protein FPKM values
  glyc: false                                  # highlight peptide N-glycosylation motif
  icat: false                                  # highlight peptide cysteines
  instances: false                             # use Expected Number of Ion Instances to adjust the peptide probabilities prior to NSP adjustment
  iprophet: false                              # input is from iProphet
  logprobs: false                              # use the log of the probabilities in the Confidence calculations
  maxppmdiff: 20                               # maximum peptide mass difference in PPM (default 20)
  minprob: 0.05                                # peptideProphet probabilty threshold (default 0.05)
  mufactor: 1                                  # fudge factor to scale MU calculation (default 1)
  nogroupwts: false                            # check peptide's Protein weight against the threshold (default: check peptide's Protein Group weight against threshold)
  nonsp: false                                 # do not use NSP model
  nooccam: false                               # non-conservative maximum protein list
  noprotlen: false                             # do not report protein length
  normprotlen: false                           # normalize NSP using Protein Length
  protmw: false                                # get protein mol weights
  softoccam: false                             # peptide weights are apportioned equally among proteins within each Protein Group (less conservative protein count estimate)
  unmapped: false                              # report results for UNMAPPED proteins

filter:
  psmFDR: 0.01                                 # psm FDR level (default 0.01)
  peptideFDR: 0.01                             # peptide FDR level (default 0.01)
  ionFDR: 0.01                                 # peptide ion FDR level (default 0.01)
  proteinFDR: 0.01                             # protein FDR level (default 0.01)
  peptideProbability: 0.7                      # top peptide probability threshold for the FDR filtering (default 0.7)
  proteinProbability: 0.5                      # protein probability threshold for the FDR filtering (not used with the razor algorithm) (default 0.5)
  peptideWeight: 0.9                           # threshold for defining peptide uniqueness (default 1)
  razor: true                                  # use razor peptides for protein FDR scoring
  picked: true                                 # apply the picked FDR algorithm before the protein scoring
  mapMods: true                                # map modifications acquired by an open search
  models: true                                 # print model distribution
  sequential: true                             # alternative algorithm that estimates FDR using both filtered PSM and Protein lists

freequant:
  peakTimeWindow: 0.4                          # specify the time windows for the peak (minute) (default 0.4)
  retentionTimeWindow: 3                       # specify the retention time window for xic (minute) (default 3)
  tolerance: 10                                # m/z tolerance in ppm (default 10)
  isolated: true                               # use the isolated ion instead of the selected ion for quantification

labelquant:
  annotation: annotation.txt                   # annotation file with custom names for the TMT channels
  bestPSM: true                                # select the best PSMs for protein quantification
  level: 2                                     # ms level for the quantification
  minProb: 0.7                                 # only use PSMs with a minimum probability score
  plex: 10                                     # number of channels
  purity: 0.5                                  # ion purity threshold (default 0.5)
  removeLow: 0.05                              # ignore the lower 3% PSMs based on their summed abundances
  tolerance: 20                                # m/z tolerance in ppm (default 20)
  uniqueOnly: false                            # report quantification based on only unique peptides

report:
  msstats: false                               # create an output compatible to MSstats
  withDecoys: false                            # add decoy observations to reports
  mzID: false                                  # create a mzID output

bioquant:
  organismUniProtID:                           # UniProt proteome ID
  level: 0.9                                   # cluster identity level (default 0.9)

abacus:
  protein: true                                # global level protein report
  peptide: false                               # global level peptide report
  proteinProbability: 0.05                     # minimum protein probability (default 0.9)
  peptideProbability: 0.5                      # minimum peptide probability (default 0.5)
  uniqueOnly: false                            # report TMT quantification based on only unique peptides
  reprint: false                               # create abacus reports using the Reprint format

tmtintegrator:                                 # v1.1.2
  path:                                        # path to TMT-Integrator jar
  memory: 100                                  # memory allocation, in Gb
  output:                                      # the location of output files
  channel_num: 10                              # number of channels in the multiplex (e.g. 10, 11)
  ref_tag: pool                                # unique tag for identifying the reference channel (Bridge sample added to each multiplex)
  groupby: -1                                  # level of data summarization(0: PSM aggregation to the gene level; 1: protein; 2: peptide sequence; 3: PTM site; -1: generate reports at all $
  psm_norm: false                              # perform additional retention time-based normalization at the PSM level
  outlier_removal: true                        # perform outlier removal
  prot_norm: -1                                # normalization (0: None; 1: MD (median centering); 2: GN (median centering + variance scaling); -1: generate reports with all normalization o$
  min_pep_prob: 0.9                            # minimum PSM probability threshold (in addition to FDR-based filtering by Philosopher)
  min_purity: 0.5                              # ion purity score threshold
  min_percent: 0.05                            # remove low intensity PSMs (e.g. value of 0.05 indicates removal of PSMs with the summed TMT reporter ions intensity in the lowest 5% of all $
  unique_pep: false                            # allow PSMs with unique peptides only (if true) or unique plus razor peptides (if false), as classified by Philosopher and defined in PSM.tsv$
  unique_gene: 0                               # additional, gene-level uniqueness filter (0: allow all PSMs; 1: remove PSMs mapping to more than one GENE with evidence of expression in the$
  best_psm: true                               # keep the best PSM only (highest summed TMT intensity) among all redundant PSMs within the same LC-MS run
  prot_exclude: sp|,tr|                        # exclude proteins with specified tags at the beginning of the accession number (e.g. none: no exclusion; sp|,tr| : exclude protein with sp| o$
  allow_overlabel: false                       # allow PSMs with TMT on S (when overlabeling on S was allowed in the database search)
  allow_unlabeled: false                       # allow PSMs without TMT tag or acetylation on the peptide n-terminus
  mod_tag: none                                # PTM info for generation of PTM-specific reports (none: for Global data; S(79.9663),T(79.9663),Y(79.9663): for Phospho; K(42.0106): for K-Ace$
  min_site_prob: -1                            # site localization confidence threshold (-1: for Global; 0: as determined by the search engine; above 0 (e.g. 0.75): PTMProphet probability, $
  ms1_int: true                                # use MS1 precursor ion intensity (if true) or MS2 summed TMT reporter ion intensity (if false) as part of the reference sample abundance esti$
  top3_pep: true                               # use top 3 most intense peptide ions as part of the reference sample abundance estimation
  print_RefInt: false                          # print individual reference sample abundance estimates for each multiplex in the final reports (in addition to the combined reference sample $

`

prvst commented 4 years ago

Your command and your parameter file seem OK, but it appears that MSFragger is not running correctly. The error you reported in your first message is telling you that there are no files to be processed. Could you enlist the content of the PXD015536_1 folder?

ciarajudge commented 4 years ago

I just checked the PXD015536_1 folder and for some reason it was empty. However I then tried to run the pipeline with a different folder which I know is full (PXD015536_0) and it came back with the same error. The contents of that folder are 10 mzML files and an empty annotation.txt. Could the annotation file be causing the issue?


gwips@baileys:/home/DATA2/trips/scamp$ ls PXD015536_0
annotation.txt                     EXP18005295_01.mzML  EXP18005295_02.mzML  EXP18005295_04.mzML  EXP18005295_06.mzML  EXP18005295_08.mzML
EXP1800529501_20181117233722.mzML  EXP1800529501.mzML   EXP18005295_03.mzML  EXP18005295_05.mzML  EXP18005295_07.mzML
prvst commented 4 years ago

The empty annotation file will give you issues at a later stage, not during the database search. Which MSFragger version are you using?

ciarajudge commented 4 years ago

I'm working with release 3.0 according to version.txt

ciarajudge commented 4 years ago

Just to update, I deleted and redownloaded philosopher and came up with the same error unfortunately.

ciarajudge commented 4 years ago

Another update: I tried on a new dataset and did not find the issue - therefore I believe the issue may have been with the dataset itself. Unfortunately I am now finding a new issue with the transition to protein prophet, but I will conclude this issue and start a new one for the sake of ease of navigation for others who might come across the issue. Thank you for your help!