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

Unable to run Ximmer #12

Closed
natashapinto opened this issue Aug 30, 2018 · 4 comments
Closed

Unable to run Ximmer #12

natashapinto opened this issue Aug 30, 2018 · 4 comments

Comments

@natashapinto
Copy link

Hi,

I've tried to run ximmer but it gives me the error below. I've tried running analysis mode separately and together with simulation. Could you please specify where I'm going wrong. Thank you

java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:109)
at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:131)
Caused by: java.lang.UnsupportedClassVersionError: SampleInfo : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at org.codehaus.groovy.tools.RootLoader.oldFindClass(RootLoader.java:175)
at org.codehaus.groovy.tools.RootLoader.loadClass(RootLoader.java:147)
at java.lang.ClassLoader.loadClass(Unknown Source)
at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:677)
at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:545)
at org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:185)
at org.codehaus.groovy.control.ClassNodeResolver.findClassNode(ClassNodeResolver.java:170)
at org.codehaus.groovy.control.ClassNodeResolver.resolveName(ClassNodeResolver.java:126)
at org.codehaus.groovy.control.ResolveVisitor.resolveToOuter(ResolveVisitor.java:676)
at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:313)
at org.codehaus.groovy.control.ResolveVisitor.resolve(ResolveVisitor.java:276)
at org.codehaus.groovy.control.ResolveVisitor.transformVariableExpression(ResolveVisitor.java:943)
at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:694)
at org.codehaus.groovy.control.ResolveVisitor.transformMethodCallExpression(ResolveVisitor.java:1081)
at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:702)
at org.codehaus.groovy.control.ResolveVisitor.transformBinaryExpression(ResolveVisitor.java:1033)
at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:700)
at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitExpressionStatement(ClassCodeExpressionTransformer.java:142)
at org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42)
at org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:37)
at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:166)
at org.codehaus.groovy.control.ResolveVisitor.visitBlockStatement(ResolveVisitor.java:1336)
at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71)
at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:104)
at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:115)
at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitConstructorOrMethod(ClassCodeExpressionTransformer.java:53)
at org.codehaus.groovy.control.ResolveVisitor.visitConstructorOrMethod(ResolveVisitor.java:201)
at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:126)
at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1076)
at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:53)
at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1279)
at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:176)
at org.codehaus.groovy.control.CompilationUnit$12.call(CompilationUnit.java:663)
at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:943)
at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:605)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:554)
at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:254)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:211)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:221)
at groovy.lang.GroovyClassLoader$parseClass$0.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at bpipe.Runner.main(Runner.groovy:430)
... 6 more

Caught: java.lang.RuntimeException: ERROR: analysis pipeline did not produce expected analysed target region BED: /data/natasha/ximmer/results/run1/Exome_Mito_formated_new.analysable.bed
java.lang.RuntimeException: ERROR: analysis pipeline did not produce expected analysed target region BED: /data/natasha/ximmer/results/run1/Exome_Mito_formated_new.analysable.bed
at Ximmer.generateReport(Ximmer.groovy:1045)
at Ximmer$generateReport$5.callCurrent(Unknown Source)
at Ximmer.run(Ximmer.groovy:202)
at Ximmer$run.call(Unknown Source)
at Ximmer.main(Ximmer.groovy:1279)

@ssadedin
Copy link
Owner

It looks like there's a dependency that is compiled for Java 1.8. If you can try using JDK1.8 then that should solve the problem. In the meantime, I will try and sort out where that is because I think it shouldn't be required to use Java 1.8.

@ssadedin
Copy link
Owner

I apologise, I checked into the dependencies and the reason it is failing with Java 1.7 is that HTSJDK now requires Java 1.8. Unfortunately using up to date HTSJDK is pretty important, so I have raised the requirement for Java version to 1.8 now. Can you try using that version?

Thanks!

@natashapinto
Copy link
Author

Yes, that resolved the error. Thank you!

@natashapinto
Copy link
Author

Hi I've got a new error; the program spits out multiple errors like the one below:

------------------------------------- run_exome_depth ( 8 ) --------------------------------------

Command in stage run_exome_depth failed with exit status = 1 :

unset TMP; unset TEMP; TEMPDIR="/tmp/701468094965155-0" setsid Rscript - <<'!'

        source("/data/natasha/ximmer/eval/pipeline/tools/r-utils/cnv_utils.R")

        library(ExomeDepth)

        # Reference sequence
        hg19.fasta = "/data/humanGenome/human_g1k_v37.fasta"

        # Read the target / covered region
        print(sprintf("Reading target regions for 8 from Exome_Mito_formated_new.analysable.bed"))
        dsd.covered = read.bed(pipe("grep '^8[^0-9]' Exome_Mito_formated_new.analysable.bed"))

        # ExomeDepth wants the columns named differently
        dsd.covered = data.frame(
            chromosome=dsd.covered$chr,
            start=dsd.covered$start,
            end=dsd.covered$end,
            name=paste(dsd.covered$chr,dsd.covered$start,dsd.covered$end,sep="-")
        )

        # Now we need all the bam files. Generate them from sample names
        dsd.samples = c("O1708596","O1801976","O1803283")

        print(sprintf("Read %d samples",length(dsd.samples)))

        # Here we rely on ASSUMPTIONs:  - Single BAM file per sample
        dsd.bam.files = c('O1708596'='/data/natasha/HSQ18-1809968/WTCHG_547564_HA02.bam','O1801976'='/data/natasha/HSQ18-1809968/WTCHG_547564_HB02.bam','O1803283'='/data/natasha/HSQ18-1809968/WTCHG_547564_HC02.bam')

        print(sprintf("Found %d bam files",length(dsd.bam.files)))

        # Finally we can call ExomeDepth
        dsd.counts <- getBamCounts(bed.frame = dsd.covered,
                                  bam.files = dsd.bam.files,
                                  include.chr = F,
                                  referenceFasta = hg19.fasta)

        # Note: at this point dsd.counts has column names reflecting the file names => convert to actual sample names
        print(sprintf("Successfully counted reads in BAM files"))

        colnames(dsd.counts) = c("GC", dsd.samples)

        # Problem: sample names starting with numbers get mangled. So convert them back, but ignore the first column
        # which is actually the GC percentage
        dsd.samples = colnames(dsd.counts)[-1]

        write(paste("start.p","end.p","type","nexons","start","end","chromosome","id","BF","reads.expected","reads.observed","reads.ratio","sample",sep="\t"), "analysis/ed/analysis.8.exome_depth.tsv")

        for(dsd.test.sample in dsd.samples) {

            print(sprintf("Processing sample %s", dsd.test.sample))

            dsd.reference.samples = dsd.samples[-match(dsd.test.sample, dsd.samples)]

            dsd.counts.df = as.data.frame(dsd.counts[,dsd.reference.samples])[,-1:-6]

            dsd.test.sample.counts = dsd.counts[,dsd.test.sample][[1]]

            print(sprintf("Selecting reference set for %s ...", dsd.test.sample ))
            dsd.reference = select.reference.set(
                                     test.counts = dsd.counts[,dsd.test.sample][[1]],
                                     reference.counts = as.matrix(as.data.frame(dsd.counts[,dsd.reference.samples])[,-1:-6]),
                                     bin.length = dsd.covered$end - dsd.covered$start
                                    )

            # Get counts just for the reference set
            dsd.reference.counts = apply(dsd.counts.df[,dsd.reference$reference.choice,drop=F],1,sum)

            print(sprintf("Creating ExomeDepth object ..."))
            dsd.ed = new("ExomeDepth",
                          test = dsd.test.sample.counts,
                          reference = dsd.reference.counts,
                          formula = "cbind(test, reference) ~ 1")


            print(sprintf("Calling CNVs ..."))
            dsd.cnvs = CallCNVs(x = dsd.ed,
                                    transition.probability = 0.0001,
                                    chromosome = dsd.covered$chromosome,
                                    start = dsd.covered$start,
                                    end = dsd.covered$end,
                                    name = dsd.covered$name,
                                    expected.CNV.length=50000)


            dsd.results = dsd.cnvs@CNV.calls
            dsd.results$sample = rep(dsd.test.sample, nrow(dsd.results))

            print(sprintf("Writing results ..."))
            if(nrow(dsd.results)>0) {
                write.table(file="analysis/ed/analysis.8.exome_depth.tsv",
                            x=dsd.results,
                            row.names=F,
                            col.names=F,
                            sep="\t",
                            append=T)
            }
        }

        print(sprintf("Finished"))

!


Use 'bpipe errors' to see output from failed commands.

Caught: java.lang.RuntimeException: Analysis failed for results/run1:
java.lang.RuntimeException: Analysis failed for results/run1:
at Ximmer.runAnalysisForRun(Ximmer.groovy:462)
at Ximmer$runAnalysisForRun$2.callCurrent(Unknown Source)
at Ximmer.runAnalysis(Ximmer.groovy:337)
at Ximmer$runAnalysis$1.callCurrent(Unknown Source)
at Ximmer.run(Ximmer.groovy:199)
at Ximmer$run.call(Unknown Source)
at Ximmer.main(Ximmer.groovy:1279)

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

2 participants