GermlineCNVCaller prefix string too short
Hi everybody,
Unfortunately, I am getting stuck because the filename length of my hd5 is too short (< 3) to be used as prefix by the GermlineCNVCaller. So, I am posting just to check that nothing is left for me to do at this level of the analysis I am running other than renaming my input files and re-running everything from the scratch :-(
Accordingly, here is the needed info:
GATK version used: 4.2.0.0
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)
Command:
gatk GermlineCNVCaller \
--run-mode COHORT \
-L Twist_Exome_Target_hg38_preprocessed_annotated_gc-filtered.interval_list \
-imr OVERLAPPING_ONLY \
--contig-ploidy-calls ploidy-calls \
--annotated-intervals Twist_Exome_Target_hg38_preprocessed_annotated.interval_list \
-I 13-20.counts.hd5 \
-I 722.counts.hd5 \
-I D19047.counts.hd5 \
-I F24F1.counts.hd5 \
-I NS.counts.hd5 \
-I TBC039.counts.hd5 \
-I VP.counts.hd5 \
-I WES002.counts.hd5 \
-I WES02.counts.hd5 \
-I 17062-T1-.counts.hd5 \
-I 18001-M1-.counts.hd5 \
-I 516.counts.hd5 \
-I 533.counts.hd5 \
-I NBH.counts.hd5 \
-I ADN492.counts.hd5 \
-I WES607.counts.hd5 \
--class-coherence-length 1000.0 \
--cnv-coherence-length 1000.0 \
--enable-bias-factors true \
--interval-psi-scale 1.0E-6 \
--log-mean-bias-standard-deviation 0.01 \
--sample-psi-scale 1.0E-6 \
--output cohort16 \
--output-prefix cohort16 \
--verbosity DEBUG \
--java-options '-DGATK_STACKTRACE_ON_USER_EXCEPTION=true'
Error:
java.lang.IllegalArgumentException: Prefix string "NS" too short: length must be at least 3
at java.base/java.io.File.createTempFile(File.java:2104)
at org.broadinstitute.hellbender.utils.io.IOUtils.createTempFileInDirectory(IOUtils.java:685)
at org.broadinstitute.hellbender.utils.io.IOUtils.createTempFile(IOUtils.java:666)
at org.broadinstitute.hellbender.tools.copynumber.GermlineCNVCaller.lambda$writeIntervalSubsetReadCountFiles$1(GermlineCNVCaller.java:430)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.stream.IntPipeline$1$1.accept(IntPipeline.java:180)
at java.base/java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:104)
at java.base/java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:699)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
at org.broadinstitute.hellbender.tools.copynumber.GermlineCNVCaller.writeIntervalSubsetReadCountFiles(GermlineCNVCaller.java:429)
at org.broadinstitute.hellbender.tools.copynumber.GermlineCNVCaller.doWork(GermlineCNVCaller.java:319)
at org.broadinstitute.hellbender.cmdline.CommandLineProgram.runTool(CommandLineProgram.java:140)
at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMainPostParseArgs(CommandLineProgram.java:192)
at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMain(CommandLineProgram.java:211)
at org.broadinstitute.hellbender.Main.runCommandLineProgram(Main.java:160)
at org.broadinstitute.hellbender.Main.mainEntry(Main.java:203)
at org.broadinstitute.hellbender.Main.main(Main.java:289)
I look forward to receiving your comments.
Ahmed.
-
This issue is fixed with one of the later versions. I suggest you use 4.2.3.0.
-
Hi,
Thanks a lot SkyWarrior. Indeed, it seems working with 4.2.3.0. However, the same command now it getting the following error:
cohort_denoising_calling.16183341557554455300.py: error: unrecognized arguments: --num_samples_copy_ratio_approx=200
which is odd because I don't have any --num_samples_copy_ratio_approx argument in my command.
Please, let me know if I should create a new post.
Regards.
Ahmed
-
Hi,
I am pretty sure, that's a bug with the python script being generated each time we use GermlineCNVCaller and here is the full error message I get:
cohort_denoising_calling.1986139956957694084.py: error: unrecognized arguments: --num_samples_copy_ratio_approx=200
13:54:03.192 INFO GermlineCNVCaller - Shutting down engine
[December 6, 2021 at 1:54:03 PM CET] org.broadinstitute.hellbender.tools.copynumber.GermlineCNVCaller done. Elapsed time: 0.19 minutes.
Runtime.totalMemory()=1275068416
org.broadinstitute.hellbender.utils.python.PythonScriptExecutorException:
python exited with 2
Command Line: python /tmp/cohort_denoising_calling.1986139956957694084.py \
--ploidy_calls_path=/home/ahmed/NGS/wes/gatk_cnv/GRCh38/Twist/ploidy-calls \
--output_calls_path=/home/ahmed/NGS/wes/gatk_cnv/GRCh38/Twist/cohort16/cohort16-calls \
--output_tracking_path=/home/ahmed/NGS/wes/gatk_cnv/GRCh38/Twist/cohort16/cohort16-tracking \
--random_seed=1984 \
--modeling_interval_list=/tmp/intervals10704902589400019780.tsv \
--output_model_path=/home/ahmed/NGS/wes/gatk_cnv/GRCh38/Twist/cohort16/cohort16-model \
--enable_explicit_gc_bias_modeling=True \
--read_count_tsv_files /tmp/13-20.rc9050216882449081471.tsv /tmp/722.rc8266875526976418082.tsv /tmp/D19047.rc3271710619885345892.tsv /tmp/F24F1.rc4166074511500834871.tsv /tmp/NS.rc7655370649896520978.tsv /tmp/TBC039.rc1852505427358232937.tsv /tmp/VP.rc17807754401657016405.tsv /tmp/WES002.rc477781383630322624.tsv /tmp/WES02.rc18129316156732628621.tsv /tmp/17062-T1-.rc11172633656988231709.tsv /tmp/18001-M1-.rc12085939516166347679.tsv /tmp/516.rc17861001317409373195.tsv /tmp/533.rc7117324399860262573.tsv /tmp/NBH.rc17070722809383417351.tsv /tmp/ADN492.rc5813836201309586145.tsv /tmp/WES607.rc6033612252752964854.tsv \
--psi_s_scale=1.000000e-04 \
--mapping_error_rate=1.000000e-02 \
--depth_correction_tau=1.000000e+04 \
--q_c_expectation_mode=hybrid \
--num_samples_copy_ratio_approx=200 \
--max_bias_factors=5 \
--psi_t_scale=1.000000e-03 \
--log_mean_bias_std=1.000000e-01 \
--init_ard_rel_unexplained_variance=1.000000e-01 \
--num_gc_bins=20 \
--gc_curve_sd=1.000000e+00 \
--active_class_padding_hybrid_mode=50000 \
--enable_bias_factors=True \
--disable_bias_factors_in_active_class=False \
--p_alt=1.000000e-06 \
--cnv_coherence_length=1.000000e+04 \
--max_copy_number=5 \
--p_active=0.010000 \
--class_coherence_length=10000.000000 \
--learning_rate=1.000000e-02 \
--adamax_beta1=9.000000e-01 \
--adamax_beta2=9.900000e-01 \
--log_emission_samples_per_round=50 \
--log_emission_sampling_rounds=10 \
--log_emission_sampling_median_rel_error=5.000000e-03 \
--max_advi_iter_first_epoch=5000 \
--max_advi_iter_subsequent_epochs=200 \
--min_training_epochs=10 \
--max_training_epochs=50 \
--initial_temperature=1.500000e+00 \
--num_thermal_advi_iters=2500 \
--convergence_snr_averaging_window=500 \
--convergence_snr_trigger_threshold=1.000000e-01 \
--convergence_snr_countdown_window=10 \
--max_calling_iters=10 \
--caller_update_convergence_threshold=1.000000e-03 \
--caller_internal_admixing_rate=7.500000e-01 \
--caller_external_admixing_rate=1.000000e+00 \
--disable_caller=false \
--disable_sampler=false \
--disable_annealing=false
at org.broadinstitute.hellbender.utils.python.PythonExecutorBase.getScriptException(PythonExecutorBase.java:75)
at org.broadinstitute.hellbender.tools.copynumber.GermlineCNVCaller.doWork(GermlineCNVCaller.java:351)
at org.broadinstitute.hellbender.cmdline.CommandLineProgram.runTool(CommandLineProgram.java:140)
at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMainPostParseArgs(CommandLineProgram.java:192)
at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMain(CommandLineProgram.java:211)
at org.broadinstitute.hellbender.Main.runCommandLineProgram(Main.java:160)
at org.broadinstitute.hellbender.Main.mainEntry(Main.java:203)
at org.broadinstitute.hellbender.Main.main(Main.java:289)Any help is welcome.
Regards.
Ahmed
-
Did you update your conda/Docker environment when you updated your GATK version?
Kind regards,
Pamela
-
Hi Pamela,
Indeed, updating the conda environment solved the issue. Now GermlineCNVCaller works fine.
Thank you very much for the valuable help.
Regards.
Ahmed -
Great! I'm glad to hear that solved the problem.
Kind regards,
Pamela
-
Hi,
I have the same issue than you describe. Which version of GATK do you use for make it works ?
Thank you.
-
Hi Benedicte N,
I would recommend using the latest version of GATK (4.2.3.0), which I believe is what the above user used to solve the problem.
Kind regards,
Pamela
-
Hi Benedicte N,
Indeed, I confirm what Pamela said, I upgraded to the latest version and I have also updated the conda environment using the latest version .yml file.
Good luck.
Ahmed
Please sign in to leave a comment.
9 comments