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

Delirious fails to use substitution models other than default (using the jar from the dropbox) #25

Open
Gullumluvl opened this issue Jan 4, 2018 · 1 comment

Comments

@Gullumluvl
Copy link

Hi,

I downloaded the jar file from the dropbox link, and am able to run jprime Delirious with default parameters, for example:

java -jar ~/install/jprime-0.3.6.jar Delirious \
    ../../../../taxon_data/Rodentia.timetree.nointernal.nozero.dots.nwk \
    RodentiaENSGT00760000118824.d.b.a.a.b.a.a.b_backtrans.mfa \
    RodentiaENSGT00760000118824.d.b.a.a.b.a.a.b_gsmap.tsv \
    -i 100000 -o DLRS_default100k

However, I am quite interested in using codon models, but I got many errors while trying:

with -sm UNIFORMCODON:

 ERROR: null

Use option -h or --help to show usage.
See .info file for more information.

Content of the info file:

# =========================================================================
# ||                             PRE-RUN INFO                            ||
# =========================================================================
# DELIRIOUS
# Arguments: [../../../../taxon_data/Rodentia.timetree.nointernal.nozero.dots.nwk, RodentiaENSGT00760000118824.d.b.a.a.b.a.a.b_backtrans.mfa, RodentiaENSGT00760000118824.d.b.a.a.b.a.a.b_gsmap.tsv, -i, 100000, -o, DLRS_default100k-3, -lout, -sm, UNIFORMCODON]
# Current time: 2018-01-04 04:53:06
# Host tree rescaling factor: 0.013721810598397183
# Run failed. Reason:
java.lang.NullPointerException
	at se.cbb.jprime.math.AdditionalEJMLOps.getEigensystemSolution(AdditionalEJMLOps.java:30)
	at se.cbb.jprime.seqevo.SubstitutionMatrixHandler.update(SubstitutionMatrixHandler.java:185)
	at se.cbb.jprime.seqevo.SubstitutionMatrixHandler.<init>(SubstitutionMatrixHandler.java:109)
	at se.cbb.jprime.seqevo.UniformCodon.createUniformCodon(UniformCodon.java:30)
	at se.cbb.jprime.seqevo.SubstitutionMatrixHandlerFactory.create(SubstitutionMatrixHandlerFactory.java:48)
	at se.cbb.jprime.apps.dlrs.Delirious.main(Delirious.java:123)
	at se.cbb.jprime.apps.JPrIMEStarter.main(JPrIMEStarter.java:88)

with -sm ARVECODON

ERROR: 62

Use option -h or --help to show usage.
See .info file for more information.

info file:

# =========================================================================
# ||                             PRE-RUN INFO                            ||
# =========================================================================
# DELIRIOUS
# Arguments: [../../../../taxon_data/Rodentia.timetree.nointernal.nozero.dots.nwk, RodentiaENSGT00760000118824.d.b.a.a.b.a.a.b_backtrans.mfa, RodentiaENSGT00760000118824.d.b.a.a.b.a.a.b_gsmap.tsv, -i, 100000, -o, DLRS_default100k-3, -lout, -sm, ARVECODON]
# Current time: 2018-01-04 05:09:19
# Host tree rescaling factor: 0.013721810598397183
# Initial guest tree: Produced with NJ on sequence identity (arbitrarily rooted).
# Run failed. Reason:
java.lang.ArrayIndexOutOfBoundsException: 62
	at se.cbb.jprime.seqevo.SequenceType.getLeafLikelihood(SequenceType.java:200)
	at se.cbb.jprime.seqevo.SubstitutionMatrixHandler.getLeafLikelihood(SubstitutionMatrixHandler.java:249)
	at se.cbb.jprime.seqevo.SubstitutionModel.updateLeafLikelihood(SubstitutionModel.java:294)
	at se.cbb.jprime.seqevo.SubstitutionModel.updateLikelihood(SubstitutionModel.java:217)
	at se.cbb.jprime.seqevo.SubstitutionModel.updateLikelihood(SubstitutionModel.java:222)
	at se.cbb.jprime.seqevo.SubstitutionModel.updateLikelihood(SubstitutionModel.java:222)
	at se.cbb.jprime.seqevo.SubstitutionModel.updateLikelihood(SubstitutionModel.java:222)
	at se.cbb.jprime.seqevo.SubstitutionModel.<init>(SubstitutionModel.java:114)
	at se.cbb.jprime.apps.dlrs.Delirious.main(Delirious.java:177)
	at se.cbb.jprime.apps.JPrIMEStarter.main(JPrIMEStarter.java:88)

with USERDEFINED

I went into the code to copy the arvecodon matrix into a text file with the correct format, and ran with the following option: -sm USERDEFINED="$(cat arvecodon.txt)"

This resulted in a stackoverflow error:

Exception in thread "main" java.lang.StackOverflowError
        at java.util.regex.Pattern$Loop.match(Pattern.java:4785)
        at java.util.regex.Pattern$GroupTail.match(Pattern.java:4717)
        at java.util.regex.Pattern$Curly.match0(Pattern.java:4272)
        at java.util.regex.Pattern$Curly.match(Pattern.java:4234)
        at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3798)
        at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658)

(repeated many times)

Would you mind helping me on that? I'm a bit lost. Also I have never developped in java, but with some help I could maybe use the source code in this github repository instead of the dropbox jar file.

Let me know if you want to test using my input files, I will send you a zip.

Thanks a lot! :)

@Gullumluvl
Copy link
Author

I confirm that I have the same problem when building the latest version from this repository (jprime-0.3.7).

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