Unsupported classification type: EGGNOG

Dear all,
I have two questions related to an old .rma (MEGAN 4 or 5) file.

  1. While loading the file into MEGAN (6.19.7 and 6.20.18) I get the following error message:
    IllegalArgumentException: No enum constant megan.core.ClassificationType.EGGNOG
    Command usage: open file= [readOnly={false|true}]; - Open a MEGAN file (ending on .rma, .meg or .megan)
    IOException: No enum constant megan.core.ClassificationType.EGGNOG
    Error: Execute failed: java.io.IOException: No enum constant
    megan.core.ClassificationType.EGGNOG

While the taxonomy in MEGAN (6.19.7) opens correctly, the output in MEGAN (6.20.18) lists the full ncbi tree.

  1. My aim is to reanalyze this old .rma file with the reanalyzer tool and the option “-alg weighted”. Unfortunately, the eggNOG issue is also present and the reanalyzer fails:

$ reanalyzer -i ALL.rma -alg weighted
Version MEGAN Community Edition (version 6.20.18, built 15 Dec 2020)
Author(s) Daniel H. Huson
Copyright © 2020 Daniel H. Huson. This program comes with ABSOLUTELY NO WARRANTY.
Loading ncbi.map: 2,259,889
Loading ncbi.tre: 2,259,893
Executing: reanalyzeFiles file=‘ALL.rma’ lcaAlgorithm = weighted fNames=*;
Reanalyzing: ALL.rma
Info: Reanalyzing file: ALL.rma
Executing: recompute lcaAlgorithm = weighted fNames = KEGG SEED EGGNOG;
Binning reads: Initializing

Initializing binning

Loading seed.map: 978
Loading seed.tre: 979
Loading kegg.map: 100,399
Loading kegg.tre: 106,785
Loading eggnog.map: 30,875
Loading eggnog.tre: 30,986
Computing taxon-to-species map for ‘Taxonomy’
Using ‘Weighted LCA’ assignment (100.0 %) on Taxonomy
Computing weights
Caught:
java.io.IOException: Too few tokens in line: 1
at megan/megan.parsers.sam.SAMMatch.parse(SAMMatch.java:186)
at megan/megan.parsers.sam.SAMMatch.parse(SAMMatch.java:158)
at megan/megan.rma3.ReadBlockGetterRMA3.getReadBlock(ReadBlockGetterRMA3.java:180)
at megan/megan.data.AllReadsIterator.next(AllReadsIterator.java:75)
at megan/megan.data.AllReadsIterator.next(AllReadsIterator.java:30)
at megan/megan.algorithms.AssignmentUsingWeightedLCACreator.computeWeights(AssignmentUsingWeightedLCACreator.java:178)
at megan/megan.algorithms.AssignmentUsingWeightedLCACreator.(AssignmentUsingWeightedLCACreator.java:74)
at megan/megan.algorithms.DataProcessor.apply(DataProcessor.java:119)
at megan/megan.core.Document.processReadHits(Document.java:545)
at megan/megan.commands.algorithms.RecomputeCommand.apply(RecomputeCommand.java:172)
at jloda/jloda.swing.commands.CommandManager.execute(CommandManager.java:208)
at jloda/jloda.swing.commands.CommandManager.execute(CommandManager.java:186)
at megan/megan.core.Director.executeImmediately(Director.java:276)
at megan/megan.commands.algorithms.ReanalyzeFilesCommand.apply(ReanalyzeFilesCommand.java:100)
at jloda/jloda.swing.commands.CommandManager.execute(CommandManager.java:208)
at jloda/jloda.swing.commands.CommandManager.execute(CommandManager.java:186)
at megan/megan.core.Director.executeImmediately(Director.java:276)
at megan/megan.tools.Reanalyzer.run(Reanalyzer.java:183)
at megan/megan.tools.Reanalyzer.main(Reanalyzer.java:56)
Caught:
java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Objects.java:222)
at java.base/java.util.concurrent.ArrayBlockingQueue.put(ArrayBlockingQueue.java:365)
at megan/megan.algorithms.AssignmentUsingWeightedLCACreator.computeWeights(AssignmentUsingWeightedLCACreator.java:178)
at megan/megan.algorithms.AssignmentUsingWeightedLCACreator.(AssignmentUsingWeightedLCACreator.java:74)
at megan/megan.algorithms.DataProcessor.apply(DataProcessor.java:119)
at megan/megan.core.Document.processReadHits(Document.java:545)
at megan/megan.commands.algorithms.RecomputeCommand.apply(RecomputeCommand.java:172)
at jloda/jloda.swing.commands.CommandManager.execute(CommandManager.java:208)
at jloda/jloda.swing.commands.CommandManager.execute(CommandManager.java:186)
at megan/megan.core.Director.executeImmediately(Director.java:276)
at megan/megan.commands.algorithms.ReanalyzeFilesCommand.apply(ReanalyzeFilesCommand.java:100)
at jloda/jloda.swing.commands.CommandManager.execute(CommandManager.java:208)
at jloda/jloda.swing.commands.CommandManager.execute(CommandManager.java:186)
at megan/megan.core.Director.executeImmediately(Director.java:276)
at megan/megan.tools.Reanalyzer.run(Reanalyzer.java:183)
at megan/megan.tools.Reanalyzer.main(Reanalyzer.java:56)

Do you have any suggestions what I can do to reanalyze this file. I do not have the DIAMOND/BLAST results anymore.

Thank you a lot for your help!
best regards,
Fabian

1 Like

Hi Fabian,

The best way to deal with an old file is to load it into an old version of MEGAN and then to use the Extract Reads and Extract Matches menu item to extract the reads and matches from the old file.
Then Import the files into a new version of MEGAN.

If you give me access to the file then I can try to do that for you.

Best wishes
Daniel

1 Like

And I am sorry that the file format has changed over the years
 changes were necessary to accommodate the rapidly increase size of datasets


@fabian Yeah the formats of all files has changed after year by year. But we still have a chance you can try new formats files for this work. :upside_down_face: :slightly_smiling_face: