milaboratory / mixcr

MiXCR is an ultimate software platform for analysis of Next-Generation Sequencing (NGS) data for immune profiling.
https://mixcr.com
Other
322 stars 78 forks source link

mixcr exportPlots giving error #1562

Closed LeilaKhajavi closed 4 months ago

LeilaKhajavi commented 6 months ago

bash mixcr exportPlots diversity -Xmx90g --metadata metadata.csv --plot-type violin --primary-group event --primary-group-values NO,YES,none --hide-non-significant --p-adjust-method BenjaminiHochberg --method Wilcoxon postanalysis/PostgEvent.json postanalysis/Figures/eventDIVERSITYplots.pdf

09:37:51.048 INFO - Debug mode enabled. 09:37:51.051 INFO - allocation manager type not specified, using netty as the default type 09:37:51.052 INFO - Using DefaultAllocationManager at memory/DefaultAllocationManagerFactory.class App version: 4.6.0; built=Sat Dec 09 20:48:42 CET 2023; rev=c9fafa41fe; lib=repseqio.v4.0 java.lang.ExceptionInInitializerError at org.apache.arrow.memory.UnsafeAllocationManager.(UnsafeAllocationManager.java:27) at org.apache.arrow.memory.DefaultAllocationManagerFactory.(DefaultAllocationManagerFactory.java:26) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:421) at java.base/java.lang.Class.forName(Class.java:412) at org.apache.arrow.memory.DefaultAllocationManagerOption.getFactory(DefaultAllocationManagerOption.java:108) at org.apache.arrow.memory.DefaultAllocationManagerOption.getDefaultAllocationManagerFactory(DefaultAllocationManagerOption.java:98) at org.apache.arrow.memory.BaseAllocator$Config.getAllocationManagerFactory(BaseAllocator.java:733) at org.apache.arrow.memory.ImmutableConfig.access$801(ImmutableConfig.java:24) at org.apache.arrow.memory.ImmutableConfig$InitShim.getAllocationManagerFactory(ImmutableConfig.java:83) at org.apache.arrow.memory.ImmutableConfig.(ImmutableConfig.java:47) at org.apache.arrow.memory.ImmutableConfig.(ImmutableConfig.java:24) at org.apache.arrow.memory.ImmutableConfig$Builder.build(ImmutableConfig.java:485) at org.apache.arrow.memory.BaseAllocator.(BaseAllocator.java:61) at org.jetbrains.kotlinx.dataframe.io.Allocator$ROOT$2.invoke(arrow.kt:74) at org.jetbrains.kotlinx.dataframe.io.Allocator$ROOT$2.invoke(arrow.kt:73) at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) at org.jetbrains.kotlinx.dataframe.io.Allocator.getROOT(arrow.kt:73) at org.jetbrains.kotlinx.dataframe.io.ArrowKt.readArrowFeather$default(arrow.kt:98) at org.jetbrains.kotlinx.dataframe.io.ArrowKt.readArrowFeather(arrow.kt:245) at org.jetbrains.kotlinx.dataframe.io.ArrowFeather.readDataFrame(arrow.kt:57) at org.jetbrains.kotlinx.dataframe.io.GuessKt.read(guess.kt:117) at org.jetbrains.kotlinx.dataframe.io.GuessKt.read$default(guess.kt:108) at org.jetbrains.kotlinx.dataframe.io.GuessKt.read(guess.kt:131) at org.jetbrains.kotlinx.dataframe.io.GuessKt.read(guess.kt:137) at org.jetbrains.kotlinx.dataframe.io.GuessKt.read(guess.kt:146) at org.jetbrains.kotlinx.dataframe.io.GuessKt.read$default(guess.kt:145) at com.milaboratory.o.vx.a(SourceFile:48) at com.milaboratory.o.vx.a(SourceFile:39) at com.milaboratory.mixcr.cli.postanalysis.CommandPaExportPlots$metadataDf$2.invoke(SourceFile:95) at com.milaboratory.mixcr.cli.postanalysis.CommandPaExportPlots$metadataDf$2.invoke(SourceFile:93) at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) at com.milaboratory.mixcr.cli.postanalysis.CommandPaExportPlots.getMetadataDf(SourceFile:93) at com.milaboratory.mixcr.cli.postanalysis.CommandPaExportPlots.validate(SourceFile:103) at com.milaboratory.mixcr.cli.postanalysis.CommandPaExportPlotsBasicStatistics.validate(SourceFile:172) at com.milaboratory.mixcr.cli.MiXCRCommand.run(SourceFile:35) at picocli.CommandLine.executeUserObject(CommandLine.java:1939) at picocli.CommandLine.access$1300(CommandLine.java:145) at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358) at picocli.CommandLine$RunLast.handle(CommandLine.java:2352) at picocli.CommandLine$RunLast.handle(CommandLine.java:2314) at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179) at picocli.CommandLine$RunLast.execute(CommandLine.java:2316) at com.milaboratory.mixcr.cli.Main.registerLogger$lambda-27(SourceFile:514) at picocli.CommandLine.execute(CommandLine.java:2078) at com.milaboratory.mixcr.cli.Main.main(SourceFile:101) Caused by: java.lang.RuntimeException: Failed to initialize MemoryUtil. at org.apache.arrow.memory.util.MemoryUtil.(MemoryUtil.java:136) ... 46 more Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field long java.nio.Buffer.address accessible: module java.base does not "opens java.nio" to unnamed module @6a225c39 at java.base/java.lang.reflect.AccessibleObject.throwInaccessibleObjectException(AccessibleObject.java:391) at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:367) at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:315) at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:183) at java.base/java.lang.reflect.Field.setAccessible(Field.java:177) at org.apache.arrow.memory.util.MemoryUtil.(MemoryUtil.java:84) ... 46 more

java --version openjdk 21.0.2-internal 2024-01-16 OpenJDK Runtime Environment (build 21.0.2-internal-adhoc.conda.src) OpenJDK 64-Bit Server VM (build 21.0.2-internal-adhoc.conda.src, mixed mode, sharing)

postanalysis overlap to generate json file: bash mixcr postanalysis overlap --default-downsampling none --default-weight-function read --only-productive --drop-outliers --metadata metadata.csv --group event *.clna postanalysis/PostgEvent.json

I have the latest java version (using Ubuntu 22.04) the postanalysis overlap command worked just great but i cannot generate any of the plots using export plots. Any suggestions? (to note, exportQc works just fine)

mizraelson commented 6 months ago

Hi, am trying to reproduce the error but it seems to work on my side. Can you share the metadata file you use?

mizraelson commented 4 months ago

I will close this issue for now. Feel free to reopen if the issue is not resolved.

pbpayal commented 4 months ago

I have same Java error.

java 18.0.1.1 2022-04-22

mixcr exportPlots vUsage --metadata metadata.csv postanalysis_IGH.json postanalysis_IGH_vUsage.pdf

16:41:22.532 INFO - Debug mode enabled. 16:41:22.537 INFO - allocation manager type not specified, using netty as the default type 16:41:22.538 INFO - Using DefaultAllocationManager at memory/DefaultAllocationManagerFactory.class App version: 4.6.0; built=Sat Dec 09 14:48:42 EST 2023; rev=c9fafa41fe; lib=repseqio.v4.0 java.lang.ExceptionInInitializerError at org.apache.arrow.memory.UnsafeAllocationManager.<clinit>(UnsafeAllocationManager.java:27) at org.apache.arrow.memory.DefaultAllocationManagerFactory.<clinit>(DefaultAllocationManagerFactory.java:26) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:383) at java.base/java.lang.Class.forName(Class.java:376) at org.apache.arrow.memory.DefaultAllocationManagerOption.getFactory(DefaultAllocationManagerOption.java:108) at org.apache.arrow.memory.DefaultAllocationManagerOption.getDefaultAllocationManagerFactory(DefaultAllocationManagerOption.java:98) at org.apache.arrow.memory.BaseAllocator$Config.getAllocationManagerFactory(BaseAllocator.java:733) at org.apache.arrow.memory.ImmutableConfig.access$801(ImmutableConfig.java:24) at org.apache.arrow.memory.ImmutableConfig$InitShim.getAllocationManagerFactory(ImmutableConfig.java:83) at org.apache.arrow.memory.ImmutableConfig.<init>(ImmutableConfig.java:47) at org.apache.arrow.memory.ImmutableConfig.<init>(ImmutableConfig.java:24) at org.apache.arrow.memory.ImmutableConfig$Builder.build(ImmutableConfig.java:485) at org.apache.arrow.memory.BaseAllocator.<clinit>(BaseAllocator.java:61) at org.jetbrains.kotlinx.dataframe.io.Allocator$ROOT$2.invoke(arrow.kt:74) at org.jetbrains.kotlinx.dataframe.io.Allocator$ROOT$2.invoke(arrow.kt:73) at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) at org.jetbrains.kotlinx.dataframe.io.Allocator.getROOT(arrow.kt:73) at org.jetbrains.kotlinx.dataframe.io.ArrowKt.readArrowFeather$default(arrow.kt:98) at org.jetbrains.kotlinx.dataframe.io.ArrowKt.readArrowFeather(arrow.kt:245) at org.jetbrains.kotlinx.dataframe.io.ArrowFeather.readDataFrame(arrow.kt:57) at org.jetbrains.kotlinx.dataframe.io.GuessKt.read(guess.kt:117) at org.jetbrains.kotlinx.dataframe.io.GuessKt.read$default(guess.kt:108) at org.jetbrains.kotlinx.dataframe.io.GuessKt.read(guess.kt:131) at org.jetbrains.kotlinx.dataframe.io.GuessKt.read(guess.kt:137) at org.jetbrains.kotlinx.dataframe.io.GuessKt.read(guess.kt:146) at org.jetbrains.kotlinx.dataframe.io.GuessKt.read$default(guess.kt:145) at com.milaboratory.o.vx.a(SourceFile:48) at com.milaboratory.o.vx.a(SourceFile:39) at com.milaboratory.mixcr.cli.postanalysis.CommandPaExportPlots$metadataDf$2.invoke(SourceFile:95) at com.milaboratory.mixcr.cli.postanalysis.CommandPaExportPlots$metadataDf$2.invoke(SourceFile:93) at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74) at com.milaboratory.mixcr.cli.postanalysis.CommandPaExportPlots.getMetadataDf(SourceFile:93) at com.milaboratory.mixcr.cli.postanalysis.CommandPaExportPlots.validate(SourceFile:103) at com.milaboratory.mixcr.cli.MiXCRCommand.run(SourceFile:35) at picocli.CommandLine.executeUserObject(CommandLine.java:1939) at picocli.CommandLine.access$1300(CommandLine.java:145) at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2358) at picocli.CommandLine$RunLast.handle(CommandLine.java:2352) at picocli.CommandLine$RunLast.handle(CommandLine.java:2314) at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179) at picocli.CommandLine$RunLast.execute(CommandLine.java:2316) at com.milaboratory.mixcr.cli.Main.registerLogger$lambda-27(SourceFile:514) at picocli.CommandLine.execute(CommandLine.java:2078) at com.milaboratory.mixcr.cli.Main.main(SourceFile:101) Caused by: java.lang.RuntimeException: Failed to initialize MemoryUtil. at org.apache.arrow.memory.util.MemoryUtil.<clinit>(MemoryUtil.java:136) ... 45 more Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field long java.nio.Buffer.address accessible: module java.base does not "opens java.nio" to unnamed module @774bd0a2 at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354) at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297) at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:180) at java.base/java.lang.reflect.Field.setAccessible(Field.java:174) at org.apache.arrow.memory.util.MemoryUtil.<clinit>(MemoryUtil.java:84) ... 45 more (b

Is there any solution to this?

mizraelson commented 4 months ago

Hi, can you please share the metadata file you are using? You can send to support@milaboratories.com

pbpayal commented 4 months ago

I have sent an email with the metadata file

pbpayal commented 4 months ago

I managed to find a solution for now..i was using csv..it was not working..i changed the metadata file to tsv file..it started working.

LeilaKhajavi commented 4 months ago

I had tried CSV and txt... And it didn't work for me I've since left the project so I don't have access to the metadata file I had been using

On Mon, Apr 29, 2024, 19:07 pbpayal @.***> wrote:

I managed to find a solution for now..i was using csv..it was not working..i changed the metadata file to tsv file..it started working.

— Reply to this email directly, view it on GitHub https://github.com/milaboratory/mixcr/issues/1562#issuecomment-2083237524, or unsubscribe https://github.com/notifications/unsubscribe-auth/AY4DY375LWSONUXA3FCJRTLY7Z46HAVCNFSM6AAAAABD5STBCGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOBTGIZTONJSGQ . You are receiving this because you authored the thread.Message ID: @.***>

mizraelson commented 3 months ago

Yes, it appeares to be a bug with the format. Currently only tsv metadata format works with exportPlots. We will fix it in the upcoming version.