8000 segmentation fault in 3.06 · Issue #352 · percolator/percolator · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

segmentation fault in 3.06 #352

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
timosachsenberg opened this issue Apr 20, 2023 · 7 comments 8000
Open

segmentation fault in 3.06 #352

timosachsenberg opened this issue Apr 20, 2023 · 7 comments

Comments

@timosachsenberg
Copy link
timosachsenberg commented Apr 20, 2023

Hi,
might be a user problem ;) but I get a segmentation fault while parsing this file: https://pastebin.com/02JyPmx5
Anything obvious that seems wrong?
Best,
Timo

@lazear
Copy link
lazear commented Apr 27, 2023

I can reproduce this as well. I have attached lldb backtrace below

(lldb) thread backtrace
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
  * frame #0: 0x00007ff81f5c6f56 libc++.1.dylib`std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 4
    frame #1: 0x000000010006f501 percolator`TabFileValidator::LongestCommonSubsequence(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >) + 49
    frame #2: 0x000000010006fccd percolator`TabFileValidator::findDecoyPrefix(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, int, int) + 1117
    frame #3: 0x000000010006f044 percolator`TabFileValidator::detectDecoyPrefix(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) + 132
    frame #4: 0x00000001000700b1 percolator`TabFileValidator::validateTabFiles(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) + 97
    frame #5: 0x0000000100054b75 percolator`Caller::parseOptions(int, char**) + 39829
    frame #6: 0x0000000100003026 percolator`main + 54
    frame #7: 0x000000020057852e dyld`start + 462

@lazear
Copy link
lazear commented May 1, 2023

Unfortunately I have another bug to add here:

$ percolator -Y -Q perpxml.pepXML PRM/results.sage.pin
Protein decoy-preix used is rev_
All files have been read
Percolator version 3.06.0, Build Date May 11 2022 12:40:18
Copyright (c) 2006-9 University of Washington. All rights reserved.
Written by Lukas Käll (lukall@u.washington.edu) in the
Department of Genome Sciences at the University of Washington.
Issued command:
percolator -Y -Q perpxml.pepXML PRM/results.sage.pin
Started Mon May  1 11:57:57 2023
Hyperparameters: selectionFdr=0.01, Cpos=0, Cneg=0, maxNiter=10
Reading tab-delimited input from datafile PRM/results.sage.pin
Features:
rank z=2 z=3 z=4 z=5 z=6 z=other peptide_len missed_cleavages isotope_error ln(precursor_ppm) fragment_ppm ln(hyperscore) ln(delta_next) ln(delta_best) aligned_rt predicted_rt sqrt(delta_rt_model) matched_peaks longest_b longest_y longest_y_pct ln(matched_intensity_pct) scored_candidates ln(-poisson)
Reading line 1000000
Reading line 2000000
Reading line 3000000
Found 3813731 PSMs
Separate target and decoy search inputs detected, using target-decoy competition on Percolator scores.
Train/test set contains 2223402 positives and 1590329 negatives, size ratio=1.39808 and pi0=1
Selecting Cpos by cross-validation.
Selecting Cneg by cross-validation.
Split 1:        Selected feature 22 as initial direction. Could separate 185212 training set positives with q<0.01 in that direction.
Split 2:        Selected feature 22 as initial direction. Could separate 198115 training set positives with q<0.01 in that direction.
Split 3:        Selected feature 22 as initial direction. Could separate 196641 training set positives with q<0.01 in that direction.
Found 285004 test set positives with q<0.01 in initial direction
Reading in data and feature calculation took 79.7216 cpu seconds or 51 seconds wall clock time.
---Training with Cpos selected by cross validation, Cneg selected by cross validation, initial_fdr=0.01, fdr=0.01
Iteration 1:    Estimated 425222 PSMs with q<0.01
Iteration 2:    Estimated 467885 PSMs with q<0.01
Iteration 3:    Estimated 484517 PSMs with q<0.01
Iteration 4:    Estimated 490633 PSMs with q<0.01
Iteration 5:    Estimated 493783 PSMs with q<0.01
Iteration 6:    Estimated 495191 PSMs with q<0.01
Iteration 7:    Estimated 495905 PSMs with q<0.01
Iteration 8:    Estimated 496281 PSMs with q<0.01
Iteration 9:    Estimated 496420 PSMs with q<0.01
Iteration 10:   Estimated 496666 PSMs with q<0.01
Learned normalized SVM weights for the 3 cross-validation splits:
 Split1  Split2  Split3 FeatureName
 0.2429  0.2564  0.2521 rank
 0.6460  0.6395  0.6571 z=2
 0.1325  0.1371  0.1497 z=3
-0.6172 -0.6168 -0.6422 z=4
 0.0000  0.0000  0.0000 z=5
 0.0000  0.0000  0.0000 z=6
 0.0000  0.0000  0.0000 z=other
-0.3459 -0.3690 -0.3922 peptide_len
-0.4797 -0.4987 -0.5061 missed_cleavages
 0.0000  0.0000  0.0000 isotope_error
 0.0351  0.0597  0.0522 ln(precursor_ppm)
-0.6293 -0.6032 -0.6215 fragment_ppm
-0.4705 -0.4672 -0.4627 ln(hyperscore)
 0.3950  0.3722  0.3864 ln(delta_next)
 0.0000  0.0000  0.0000 ln(delta_best)
 0.1986  0.2010  0.1983 aligned_rt
 0.0191  0.0256 -0.0082 predicted_rt
-1.2531 -1.2226 -1.2402 sqrt(delta_rt_model)
-0.5627 -0.4961 -0.5292 matched_peaks
-0.1750 -0.1811 -0.1716 longest_b
 1.5856  1.5353  1.6293 longest_y
-0.2934 -0.2819 -0.3335 longest_y_pct
-0.0412 -0.0117 -0.0078 ln(matched_intensity_pct)
-0.2784 -0.2921 -0.2818 scored_candidates
 2.1085  2.0524  2.0562 ln(-poisson)
-4.6583 -4.5782 -4.7188 m0
Found 496250 test set PSMs with q<0.01.
Selected best-scoring PSM per scan+expMass (target-decoy competition): 186531 target PSMs and 87530 decoy PSMs.
Exception caught: basic_string::substr: __pos (which is 18446744073709551614) > this->size() (which is 1)

@MatthewThe
Copy link
Collaborator

Looks like the first problem could be caused by the fact that there are no decoy PSMs. I will create better error handling for this.

The second problem might be related, but could you share a minimum breaking example so we can do some tests?

@timosachsenberg
Copy link
Author
timosachsenberg commented May 2, 2023

Not 100% sure, but I think I had decoy PSMs in the larger file... @lazear did you reproduce this with a file that contains decoys?

Update: I ran it successfully with proper target/decoy information. So maybe my problem was indeed only related to missing decoys.

@lazear
Copy link
lazear commented May 2, 2023

First problem I reproduced with the example Timo provided.

Second example has decoys - let me try and generate an example on data I can share.

@jordancurrie
Copy link

sage_test.zip

Adding an example here with decoys from the issue @lazear mentioned above.

@jordancurrie
Copy link

sage_test.zip

Adding an example here with decoys from the issue @lazear mentioned above.

Never mind! Was using an old version of crux percolator, so probably not relevant here after all.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants
0