xiaoli-dong / metaerg

42 stars 18 forks source link

unable to open database file #12

Open PatoUru opened 4 years ago

PatoUru commented 4 years ago

Hi All, Im running the next command line: $ perl /media/patricia/f21f0a48-f5fe-411d-bad9-a8c6b2348fe5/Programas/MetaErg/metaerg/bin/metaerg.pl --dbdir /media/patricia/f21f0a48-f5fe-411d-bad9-a8c6b2348fe5/database/db_MetaEG/db --outdir out-RH_29 --prefix RH_29 --cpus 16 RH_29_FINAL.fa

But I get this error: [Fri Jan 24 17:09:00 2020] Start outputing report files [Fri Jan 24 17:09:00 2020] Running: /home/patricia/anaconda3/bin/perl /media/patricia/f21f0a48-f5fe-411d-bad9-a8c6b2348fe5/Programas/MetaErg/metaerg/bin/output_reports.pl -d /media/patricia/f21f0a48-f5fe-411d-bad9-a8c6b2348fe5/database/db_MetaEG/db -g output-RH_29/data/all.gff -o output-RH_29 -f output-RH_29/RH_29.fna Unknown option: d [Fri Jan 24 17:09:00 2020] Re-using existing --outdir output-RH_29 DBI connect('dbname=/media/patricia/f21f0a48-f5fe-411d-bad9-a8c6b2348fe5/Programas/MetaErg/metaerg/bin/../db/sqlite3/metaerg.db','',...) failed: unable to open database file at /media/patricia/f21f0a48-f5fe-411d-bad9-a8c6b2348fe5/Programas/MetaErg/metaerg/bin/output_reports.pl line 58. [Fri Jan 24 17:09:00 2020] Could not run command:/home/patricia/anaconda3/bin/perl /media/patricia/f21f0a48-f5fe-411d-bad9-a8c6b2348fe5/Programas/MetaErg/metaerg/bin/output_reports.pl -d /media/patricia/f21f0a48-f5fe-411d-bad9-a8c6b2348fe5/database/db_MetaEG/db -g output-RH_29/data/all.gff -o output-RH_29 -f output-RH_29/RH_29.fna,

Could you help me with this? Thanks in advance! Patricia

Finesim97 commented 4 years ago

Hi, This is the same problem described here: #5 Just revert back to an older metaerg version by running this inside /media/patricia/f21f0a48-f5fe-411d-bad9-a8c6b2348fe5/Programas/MetaErg/metaerg/:

git checkout 68907b737b12c7456275b028ea31314aebbe50e

Have a nice weekend

PatoUru commented 4 years ago

Hi, This is the same problem described here: #5 Just revert back to an older metaerg version by running this inside /media/patricia/f21f0a48-f5fe-411d-bad9-a8c6b2348fe5/Programas/MetaErg/metaerg/:

git checkout 68907b737b12c7456275b028ea31314aebbe50e

Have a nice weekend

PatoUru commented 4 years ago

I done but.. I have a new error!! in line 63.

DBI connect('dbname=/media/patricia/f21f0a48-f5fe-411d-bad9-a8c6b2348fe5/Programas/MetaErg/metaerg/bin/../db/sqlite3/metaerg.db','',...) failed: unable to open database file at /media/patricia/f21f0a48-f5fe-411d-bad9-a8c6b2348fe5/Programas/MetaErg/metaerg/bin/output_reports.pl line 63.

PatoUru commented 4 years ago

Hi @Finesim97, Finally, after the modifications that you suggested me, I ran the script again: $ perl /media/patricia/f21f0a48-f5fe-411d-bad9-a8c6b2348fe5/Programas/MetaErg/metaerg/bin/metaerg.pl --dbdir /media/patricia/f21f0a48-f5fe-411d-bad9-a8c6b2348fe5/database/db_MetaEG/db --outdir output-RH_29 --prefix RH_29 --cpus 20 RH_29_FINAL.fa

And I had a new error ------------- EXCEPTION: Bio::Root::Exception ------------- MSG: asking for tag value that does not exist rRNA_taxon STACK: Error::throw STACK: Bio::Root::Root::throw /home/patricia/perl5/lib/perl5/Bio/Root/Root.pm:447 STACK: Bio::SeqFeature::Generic::get_tag_values /home/patricia/perl5/lib/perl5/Bio/SeqFeature/Generic.pm:601 STACK: main::output_geneAnnotation /media/patricia/f21f0a48-f5fe-411d-bad9-a8c6b2348fe5/Programas/MetaErg/metaerg/bin/output_reports.pl:627 STACK: /media/patricia/f21f0a48-f5fe-411d-bad9-a8c6b2348fe5/Programas/MetaErg/metaerg/bin/output_reports.pl:97

Thank you for your assistance!!! Patricia

Finesim97 commented 4 years ago

Hi again, That is a little bit odd. Could you run this to check for rRNA annotations w/o taxon:

grep -P "\t.+_\d+SrRNA\t" output-RH_29/data/all.gff # Should have output
grep -P "\t.+_\d+SrRNA\t" output-RH_29/data/all.gff | grep -v rRNA_taxon # Should have no output
PatoUru commented 4 years ago

Hi @Finesim97, I hope you had a great weekend! This are the results:

/MO_RH_AMX/CFXgenomes/ESOM2/MetaErg$ **grep -P "\t.+\d+SrRNA\t" output-RH_29/data/all.gff** # Should have output NODE_1009_length_4371_cov_1.12506:GC=0.535:length=4371 rRNAFinder.pl bac_5SrRNA 4304 4371 . - . ID=metaerg.pl|08488;Name=bac_5SrRNA

/MO_RH_AMX/CFXgenomes/ESOM2/MetaErg$ **grep -P "\t.+\d+SrRNA\t" output-RH_29/data/all.gff | grep -v rRNA_taxon** # Should have no output NODE_1009_length_4371_cov_1.12506:GC=0.535:length=4371 rRNAFinder.pl bac_5SrRNA 4304 4371 . - . ID=metaerg.pl|08488;Name=bac_5SrRNA

It would seem that I have a problem with my data... What would I have to do to fix it? Thank you very much!! Patricia

Finesim97 commented 4 years ago

Hi, sry for answering so late, Have you rerun the entire pipeline after the version downgrade (deleting the outdir)? If the problem persists with a full rerun I will write a patch for you, which will ignore these invalids entries. I don't have any rRNA entries without taxon assignment in my files, but I don't know if a rRNA sequence without a database entry hit is handled correctly.

Finesim97 commented 4 years ago

Here is a quick fix that you should try, it will ignore the entries without no taxon. Change this line (627 in /media/patricia/f21f0a48-f5fe-411d-bad9-a8c6b2348fe5/Programas/MetaErg/metaerg/bin/output_reports.pl) https://github.com/xiaoli-dong/metaerg/blob/7d6f785dab2b776db0209f35eb6d974a67df1290/bin/output_reports.pl#L627 to

my $count = $f->has_tag("rRNA_taxon") ? $f->get_tag_values("rRNA_taxon") : 0;

This may break other report steps.

chassenr commented 4 years ago

Hi, I had a similar problem as the original comment in this issue, which I fixed with downgrading to the version that you suggested. However, in the downgraded version the bug 'Illegal division by zero' which you fixed in 532bd189a446f8da85373335d48105ace49f3f7e is persisting. Can you recommend a version that fixes both bugs? Thanks!

Cheers, Christiane

PS: For now I manually modified line 1421 in the output_reports.pl script of 68907b737b12c7456275b028ea31314aebbe50e to the one in 532bd189a446f8da85373335d48105ace49f3f7e. This seems to have solved my issue. Using 532bd189a446f8da85373335d48105ace49f3f7e directly again caused the original db error.