rajewsky-lab / mirdeep2

Discovering known and novel miRNAs from small RNA sequencing data
GNU General Public License v3.0
135 stars 49 forks source link

Can't locate PDF/API2.pm in @INC #87

Closed SimoneFromThePlantLab closed 2 years ago

SimoneFromThePlantLab commented 2 years ago

Hello,

sorry to bother again. I posted an issue yesterday, but I solved it, and I've been able to run miRDeep2. Now my problem is that i cannot procude the results.html file.

After the program ran i get the error:

Can't locate PDF/API2.pm in @INC (you may need to install the PDF::API2 module) (@INC contains: /media/sf_shared/mirdeep2/lib/perl5 /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.0 /usr/local/share/perl/5.30.0 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /media/sf_shared/mirdeep2/bin/make_html.pl line 25. BEGIN failed--compilation aborted at /media/sf_shared/mirdeep2/bin/make_html.pl line 25.

What can I do?

Thanks again

SimoneFromThePlantLab commented 2 years ago

and together with that I'm missing the results.csv file.

Thanks

mschilli87 commented 2 years ago

Same questions as yesterday. ;-)

Drmirdeep commented 2 years ago

Can't locate PDF/API2.pm

=> You will need to install the PDF/API2.pm perl module.

I guess you did not use the included install.pl script to install miRDeep2? Otherwise it would have complaint

How did you install miRDeep2?

jd3234 commented 2 years ago

Hi, I am having the same issue. I installed mirdeep2 using the conda package earlier today.

mschilli87 commented 2 years ago

@jd3234: The conda package is maintained by somebody that has no connection to the miRDeep2 developers. So please seek out help elsewhere or use one of the officially supported installation methods.

SimoneFromThePlantLab commented 2 years ago

Hi, I am having the same issue. I installed mirdeep2 using the conda package earlier today.

I found the solution to solve the problem; this what worked for me.

First, I have installed miRDeep2 by using git and not conda.

For the PDF/API2.pm what I did was installing it using conda:

conda install -c bioconda perl-pdf-api2

Then inside the termial I looked for PDF/API2.pm using locate PDF/API2.pm and I found it in the folder /home/XXXX/miniconda3/lib/site_perl/5.26.2

Then what I did was to modfy the script of make_html.pl (which you will find in the mirdeep2/bin folder) by adding

use lib /home/XXXX/miniconda3/lib/site_perl/5.26.2; at line 23, just above the line use PDF::API2;

That fixed the problem and I got my html results file together with the results.csv

Hope this is helpful!

mschilli87 commented 2 years ago

That's one way to do it but note that proper installation using install.pl should take care of installing PDF/API2.pm without depending on conda and any need to hack the source code: https://github.com/rajewsky-lab/mirdeep2/blob/master/install.pl#L626-L682 As such, this fix is not recommended as a general solution.

jd3234 commented 2 years ago

Thanks for your replies @mschilli87 and @SimoneFromThePlantLab! As suggested I installed it via the offical way using the install.pl script. However, the script seems to have problems with PDF:API2 (see screenshot below). I tried several times with no success. I then tried @SimoneFromThePlantLab suggestion and that worked for me as well.

grafik

mschilli87 commented 2 years ago

@jd3234: Thanks for the feedback. Could you please share some more information about the system you are getting this error on? Without being able to reproduce the bug locally, fixing it will be tricky. :wink:

Also, for the future, please share terminal commands and outputs by copy/pasting the text (and surrounding it by ```-lines) so we can copy/paste it instead of manually typing it off your screenshot.

jd3234 commented 2 years ago

@mschilli87

--2021-10-13 10:20:31-- http://ftp-stud.hs-esslingen.de/pub/Mirrors/CPAN/authors/id/S/SS/SSIMMS/PDF-API2-XS-1.002.tar.gz Resolving blabla... 192.168.102.10 Connecting to blabla... connected. Proxy request sent, awaiting response... 200 OK Length: 36957 (36K) [application/x-gzip] Saving to: ‘PDF-API2-XS-1.002.tar.gz’

PDF-API2-XS-1.002.tar.gz 100%[=======================================================================================================>] 36.09K --.-KB/s in 0s

2021-10-13 10:20:31 (255 MB/s) - ‘PDF-API2-XS-1.002.tar.gz’ saved [36957/36957]

Installing PDF-API2 now

Warning: prerequisite PDF::API2 0 not found.

I then tried the "hack" from Simone.

I was able to run through mirDeep.pl using command
```bash
mirDeep2.pl reads_collapsed.fasta reference.fasta  reads.arf none mature_viridiplantae.fasta none -d -z _test

but the make_html.pl aborted with an error which is probably related to the "hack" with the pdf:api2 (?):

make_html.pl -f mirdeep_runs/run_12_10_2021_t_15_21_39_test/output.mrd -p mirdeep_runs/run_12_10_2021_t_15_21_39_test/tmp/precursors.coords -v 0 -s mirdeep_runs/run_12_10_2021_t_15_21_39_test/survey.csv -c -e -r /path/mirdeep2/src//../Rfam_for_miRDeep.fa -y 12_10_2021_t_15_21_39_test -o  -V 2.0.1.2 -d
Unknown regexp modifier "/r" at /path/mirdeep2/src/make_html.pl line 23, at end of line
Unknown regexp modifier "/t" at/path/mirdeep2/src/make_html.pl line 23, at end of line
Unknown regexp modifier "/h" at /path/mirdeep2/src/make_html.pl line 23, at end of line
BEGIN not safe after errors--compilation aborted at /path/mirdeep2/src/make_html.pl line 23.

Same error with the provided test data. I hope that helps to reproduce the problem. Thanks!

mschilli87 commented 2 years ago

@jd3234: Thank you for the detailed instructions. I'll try to reproduce it as soon as I have time.

Regarding the downstream issue, please try running the tutuorial first so we can exclude an error in your input files. Also, I would prefer dicussing this in a separate issue and keep this one for the installation issue.

But please refrain from opening a separate issue before giving me a chance to deal with the PDF::API2 issue. :wink:

jd3234 commented 2 years ago

@mschilli87 I did try with the provided test data and got the same error for make_html.pl.

mschilli87 commented 2 years ago

@jd3234: Could you please share the output of the following two commands after running install.pl:

perl -e 'use PDF::API2; print "Fix will not help."'
perl -e 'use PDF::API2::XS; print "Fix should work."'

edit: @SimoneFromThePlantLab: Of course, I'd also like verification from you to so I know my fix will help you as well.

jd3234 commented 2 years ago
perl -e 'use PDF::API2; print "Fix will not help."'
Can't locate PDF/API2.pm in @INC (you may need to install the PDF::API2 module) (@INC contains: /usr/share/perl/5.22 /path/mirdeep2/lib/perl5/x86_64-linux-gnu-thread-multi /path/mirdeep2/lib/perl5 /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.1 /usr/local/share/perl/5.26.1 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
perl -e 'use PDF::API2::XS; print "Fix should work."'

Fix should work.

Your fix seems to work!

mschilli87 commented 2 years ago

@jd3234, @SimoneFromThePlantLab: Can you please try out my fix?

[ -e mirdeep2 ] && mv mirdeep2 mirdeep2.backup && \
    git clone --branch=perl_pdf_api2_install_fix_pdf_api2_xs https://github.com/mschilli87/mirdeep2.git && \
    cd mirdeep2 && \
    perl install.pl

Please follow the instructions printed by the install script from there on.

If this fails for you, you can restore the previous state via

[ -e mirdeep2 ] && [ -e mirdeep2.backup ] && \
    rm -rf mirdeep2 && mv mirdeep2.backup mirdeep2 && \
    echo 'backup restored!'

If it works for you without any hack, you can cleanup the backup of your old checkout with

[-e mirdeep2 ] && [ -e mirdeep2.backup ] && \
    rm -rf mirdeep2.backup && \
    echo 'backup deleted!'
jd3234 commented 2 years ago

@mschilli87 YAY! bash run_tut.sh ran successfully!! Thanks for fixing this so quickly!

mschilli87 commented 2 years ago

@jd3234 : Thanks for following up @SimoneFromThePlantLab's initial report.

@SimoneFromThePlantLab: Please confirm that this solves the installation for you as well and report any follow-up issues in a separate report.

I'll leave this one open since it is not yet fixed in the official repository. It should be closed automatically once @Drmirdeep merges my PR.

Once this is done, it is probably time to go through the remaining issues and prepare a new release.