compomics / peptide-shaker

Interpretation of proteomics identification results
http://compomics.github.io/projects/peptide-shaker.html
48 stars 19 forks source link

Factorial only implemented for n <= 20. Reached the maximal capacoty of a long. #453

Closed CarlaCristinaUranga closed 3 years ago

CarlaCristinaUranga commented 3 years ago

Hi, here is the log of an error I am getting with Peptide Shaker. Any ideas? Thank you!

Carla

Java version: 14.0.1. 1714 script command tokens (C) 2009 Jmol Development Jmol Version: 12.0.43 2011-05-03 14:21 java.vendor: Oracle Corporation java.version: 14.0.1 os.name: Mac OS X memory: 57.8/134.2 processors available: 8 useCommandThread: false java.lang.IllegalArgumentException: Factorial only implemented for n <= 20. Reached the maximal capacoty of a long. at com.compomics.util.math.BasicMathFunctions.factorial(BasicMathFunctions.java:80) at com.compomics.util.math.BasicMathFunctions.getCombination(BasicMathFunctions.java:156) at com.compomics.util.experiment.identification.modification.ModificationLocalizationScore.getRandomThreshold(ModificationLocalizationScore.java:160) at eu.isas.peptideshaker.ptm.ModificationLocalizationScorer.modificationSiteInference(ModificationLocalizationScorer.java:2103) at eu.isas.peptideshaker.processing.PsmProcessorRunnable.processPsm(PsmProcessorRunnable.java:217) at eu.isas.peptideshaker.processing.PsmProcessorRunnable.run(PsmProcessorRunnable.java:151) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) at java.base/java.lang.Thread.run(Thread.java:832)

mvaudel commented 3 years ago

Hi Carla,

Thanks for reporting this issue. This problem happens when a given modification has over 20 possible modification sites, which we never encountered before. Can you share with us the search parameters that were used? In the meantime, if you are not interested in modification localization, I recommend disabling the modification scores, that should solve the problem.

Hope it helps,

Marc

CarlaCristinaUranga commented 3 years ago

Of course this helps, Marc! I am a big compomics fan so I am happy to do what I can to help with proteomics efforts, which are so important! I am currently having to process 100 proteomics files, so any help is of course very much appreciated. I have included my search parameters. If you find any glaring mistakes please let me know :)

Best wishes, Carla

On Thu, Apr 22, 2021 at 12:57 AM Marc Vaudel @.***> wrote:

Hi Carla,

Thanks for reporting this issue. This problem happens when a given modification has over 20 possible modification sites, which we never encountered before. Can you share with us the search parameters that were used? In the meantime, if you are not interested in modification localization, I recommend disabling the modification scores, that should solve the problem.

Hope it helps,

Marc

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/compomics/peptide-shaker/issues/453#issuecomment-824627562, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFK6HC6XQFIXNRV6PIL3VY3TJ7JGXANCNFSM43K7V6NA .

hbarsnes commented 3 years ago

Hi Carla,

I'm afraid that your search parameters get lost if you reply via email and add the as attachment (assuming that is what you did?). You need to upload them directly in the issue tracker.

Best regards, Harald

CarlaCristinaUranga commented 3 years ago

Sorry about that. I converted the .par file to a .txt file, and here it is. Thank you, Harald and Marc!

saliva_10ppm_6-50.txt

CarlaCristinaUranga commented 3 years ago

Ok I disabled the PTM scoring and now it is working. How odd! Thank you for the tip. I guess for now this is fine unless reviewers make it an issue and insist on PTMs, but this is not our goal. I am sure there are better ways of studying specific PTMs and I would design an experiment just for that :). Cheers and I hope you are all staying healthy.

Best wishes, Carla

Carla

veitveit commented 3 years ago

I can report the same error for data searched for phosphorylations on S, T and Y, oxidation of M and deamidation of N, on top of some iTRAQ fixed modifications which should not have an influence.

Could be a long peptide with many PTMs.

hbarsnes commented 3 years ago

@veitveit Any chance that you can share the data? I will then forward it to @mvaudel so that he can hopefully solve the problem.

veitveit commented 3 years ago

I am running it another time with Phophorylation of STY as the phosphorylations were specified individually. Maybe this could be an issue?

The identification files are downloadable here: http://computproteomics.bmb.sdu.dk/tmp/Phosphorylation_a_searchgui_out.zip

Do you also need to the mzML files?

veitveit commented 3 years ago

OK, forget about the phosphorylation part. It seems that there is no variable modification "Phosphorylation of STY"

veitveit commented 3 years ago

Update: No error when running the database search without Phosphorylation of Y, so the error should come from a heavily modified peptide.

hbarsnes commented 3 years ago

@veitveit Thanks for sharing the data! No need to send the mzML files separately. They are already included in the SearchGUI zip file. :)

I note that you have a fragment ion tolerance of 0.5 Da. Are you sure this is correct? Would that not make it difficult to separate the individual fragment ions?

I can also confirm that the bug is quickly reproduced on my side as well. @mvaudel Any chance you can take a closer look and hopefully come up with a fix? :)

veitveit commented 3 years ago

@hbarsnes You are fully right, actually both tolerances were out of place. I will pass the information further :-)

This should solve at least our problem.

hbarsnes commented 3 years ago

@veitveit The peptide causing the issue is this one: CSSYSYSDSSSSSSSNNSSSSTSSRSSSR. Note that it has 23 possible phospho sites if considering S, T and Y residues! Hence it makes sense that PhosphoRS struggles I think? But hopefully @mvaudel can come up with a workaround.

veitveit commented 3 years ago

Yes, there are a few options, particularly when the peptide contains 2 or more PTMs :-)

A workaround for too large numbers due to factorials could be changing to the log scale and represent them by Stirling's or other approximations.

hbarsnes commented 3 years ago

We've just released PeptideShaker v2.0.26 with should solve the problem. If this is not the case, please let us know and we'll reopen the issue.

CarlaCristinaUranga commented 3 years ago

Very interesting! Did you guys correct the spelling of "capacity"? Did I ever send my dataset to find out which peptide it was? I would be happy to, if you would like.

Best wishes and stay healthy, Carla Uranga

On Wed, May 19, 2021 at 4:02 AM Harald Barsnes @.***> wrote:

We've just released PeptideShaker v2.0.26 with should solve the problem. If this is not the case, please let us know and we'll reopen the issue.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/compomics/peptide-shaker/issues/453#issuecomment-843993139, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFK6HC3NHH4TUCYT66CUVZTTOOLFHANCNFSM43K7V6NA .

hbarsnes commented 3 years ago

@CarlaCristinaUranga Yes, the typo has also been fixed. :) No, I do not think you shared your data, but there is no need for that anymore now that the issue has been fixed. I would assume that the peptide was something similar to the example above though.