Skip to content
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

[PerseusR] PlugIn only returns "Error Output" #43

Open
FlorianProdinger opened this issue Oct 3, 2023 · 1 comment
Open

[PerseusR] PlugIn only returns "Error Output" #43

FlorianProdinger opened this issue Oct 3, 2023 · 1 comment

Comments

@FlorianProdinger
Copy link

Thank you for the hard work you are putting into Perseus and Maxquant. We appreciate the software, however I am struggling with using the PerseusR interloper that we would really like to use in our lab in the future.

Bug descripiton
I would like to use PerseusR, however running custom scripts always reports "Output Error" (screenshot) without generating anything in Perseus. In the "pipeline viewer" a green box saying "External" quickly appears before the error message, the green box disappears with the error box when "OK" is clicked.

It seems the script is not parsed in Perseus since even faulty scripts will produce the same error as files that only contain commented lines or supposedly functional scripts (i.e., example script from Github). The error also appears very quickly so that I think R was not actually launched (It's a slow language after all...).

Perseus itself and PerseusR were installed successfully and correctly, I believe. I followed this tutorial ) and all the prompts from R during the installation of additional packages as well as PerseusR were identical. As test I tried using "Clustering" > "Umap" on a random matrix and it works fine. I receive an output and no error.
Only custom scripts seem to be not accepted.

Screenshots and other data
I added the "parameters.xml" as a zip file (upload restrictions) parameters.zip that can be generated when clicking the "Download Parameter for preview" button in the "External" > "Matrix => R" menu. This xml file is always the same, independent on the input.

The error I receive regardless of input script is shown here (it is not very explanatory):
image

System:

  • OS: Windows 10 enterprise
  • R's sessionInfo output:
    • R version 4.3.1 (2023-06-16 ucrt)
    • Platform: x86_64-w64-mingw32/x64 (64-bit)
    • Running under: Windows 10 x64 (build 19044)
  • Perseus 2.0.11

Thank you for reading, I welcome all comments! If I failed to add some crucial information, please let me know.
Thank you again,
Florian

@FlorianProdinger
Copy link
Author

I want to add to my bug report.
I also tried uploading data using R with the "R" button on the very upper left of the Perseus GUI.
I use PerseusR to preprae the data like so:

library(PerseusR)
tab_ <- PerseusR::read.perseus(path_random_table) # this table was made in Perseus and exported.
outMdata <- matrixData(main=  main( tab_ )  )
main( outMdata ) <- main( outMdata ) +100
if( PerseusR::MatrixDataCheck( outMdata) ){ # this is 'true'
  write.perseus(outMdata, outFile)
}

But I receive the same error as in my original report: "Output Error".

even if I just use a script with this command:

stop("This is an error message")

nothing changes. Still the same error. This happens in both Perseus 2.0.11 as well as Perseus 1.6.10.

I tried to understand the interloper better and found two commands that I think may be able to cause problems:

  1. In the github for the interloper The interloper actually checks a variable called "ReqiredPythonPackages" for a PerseusR installation. If it actually checks Python packages and then aborts the quick output of errors would make sense.

  2. There is a "CodeFilter" that checks the file extention of your R scripts. For Matrix upload it is

protected override string CodeFilter => "R script, *.r | *.r";

and for Matrix Processing or Analysis the CodeFilter is as such:

protected override string CodeFilter => "R script, *.R | *.R";

I tried renaming my R scripts to end in .r and .R but neither worked. So, I do not know if case sensitivity is an issue here.

Thank you for reading.
Any help is welcome!

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

1 participant