Skip to content

Can't import alignment in Beauti when MM is installed #1213

@3r1d

Description

@3r1d

Hi,

I face an error when I try to import alignments in BEAUti.

I see "getFrequencies() is null" message in the log and no partition get created (I tried with different nexus files, same issue each time).

I am using versions below:

Beast2
commit d5cb7f1 (HEAD)

Beauti
commit e59fe8c6d423013fa5a004ee5030bcde6f193ab2 (HEAD)

MM (morph-models)
1.2.1

Notes:

  • If I don't load MM package, I can import alignments.

  • If I comment the block below in SiteModelInterface.java, I can import alignments.

// sanity check: make sure the number of states from dataType matches that of the substitution model
if (m_dataType != null) {
    int nrOfStatesInData = m_dataType.getStateCount();
    if (nrOfStatesInData >= 0) {
        int nrOfFrequencies = substModelInput.get().getFrequencies().length;
        if (nrOfStatesInData != nrOfFrequencies) {
            throw new IllegalArgumentException("Number of states in data (" + nrOfStatesInData + ") differs from number of frequencies (" + nrOfFrequencies +")");
        }
    }
}

Exception details:

validate and intialize error: initAndValidate() failed! Cannot read the array length because the return value of "beast.base.evolution.substitutionmodel.SubstitutionModel.getFrequencies()" is null

Error detected about here:
  <beast>
      <plugin id='treeLikelihood.penguins_dna' spec='ThreadedTreeLikelihood'>

	at beast.base.parser.XMLParser.initBEASTObjects(XMLParser.java:525)
	at beast.base.parser.XMLParser.parseTemplate(XMLParser.java:508)
	at beastfx.app.inputeditor.BeautiSubTemplate.createSubNet(BeautiSubTemplate.java:386)
	at beastfx.app.inputeditor.BeautiSubTemplate.createSubNet(BeautiSubTemplate.java:352)
	at beastfx.app.inputeditor.BeautiDoc.addAlignmentWithSubnet(BeautiDoc.java:1637)
	at beastfx.app.inputeditor.BeautiAlignmentProvider.addAlignments(BeautiAlignmentProvider.java:231)
	at beastfx.app.inputeditor.BeautiAlignmentProvider.getAlignments(BeautiAlignmentProvider.java:187)
	at beastfx.app.inputeditor.BeautiAlignmentProvider.getAlignments(BeautiAlignmentProvider.java:108)
	at beastfx.app.beauti.BeautiTabPane$2.actionPerformed(BeautiTabPane.java:839)
	at beastfx.app.inputeditor.MyAction.lambda$0(MyAction.java:90)
	at javafx.base/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
	at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:232)
	at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:189)
	at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
	at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at javafx.base/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
	at javafx.base/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
	at javafx.base/javafx.event.Event.fireEvent(Event.java:199)
	at javafx.controls/javafx.scene.control.MenuItem.fire(MenuItem.java:459)
	at javafx.controls/com.sun.javafx.scene.control.ContextMenuContent$MenuItemContainer.doSelect(ContextMenuContent.java:1415)
	at javafx.controls/com.sun.javafx.scene.control.ContextMenuContent$MenuItemContainer.lambda$createChildren$12(ContextMenuContent.java:1368)
	at javafx.base/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:247)
	at javafx.base/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
	at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:232)
	at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:189)
	at javafx.base/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
	at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
	at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
	at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
	at javafx.base/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
	at javafx.base/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
	at javafx.base/javafx.event.Event.fireEvent(Event.java:199)
	at javafx.graphics/javafx.scene.Scene$MouseHandler.process(Scene.java:3985)
	at javafx.graphics/javafx.scene.Scene.processMouseEvent(Scene.java:1891)
	at javafx.graphics/javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2709)
	at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:411)
	at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:301)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:450)
	at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:430)
	at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:449)
	at javafx.graphics/com.sun.glass.ui.View.handleMouseEvent(View.java:551)
	at javafx.graphics/com.sun.glass.ui.View.notifyMouse(View.java:937)
	at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
	at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$10(GtkApplication.java:266)
	at java.base/java.lang.Thread.run(Thread.java:840)

beast.base.evolution.sitemodel.SiteModel.substModel: java.lang.ClassCastException: class beast.base.evolution.alignment.FilteredAlignment cannot be cast to class beast.base.evolution.substitutionmodel.SubstitutionModel (beast.base.evolution.alignment.FilteredAlignment and beast.base.evolution.substitutionmodel.SubstitutionModel are in unnamed module of loader 'app')
beast.base.evolution.sitemodel.SiteModel.substModel: java.lang.ClassCastException: class beast.base.evolution.sitemodel.SiteModel cannot be cast to class beast.base.evolution.substitutionmodel.SubstitutionModel (beast.base.evolution.sitemodel.SiteModel and beast.base.evolution.substitutionmodel.SubstitutionModel are in unnamed module of loader 'app')




Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions