If you happen to see a question you know the answer to, please do chime in and help your fellow community members. We appreciate your help!

Test-drive the GATK tools and Best Practices pipelines on Terra

Check out this blog post to learn how you can get started with GATK and try out the pipelines in preconfigured workspaces (with a user-friendly interface!) without having to install anything.

Segment Mean must be finite

esalinasesalinas BroadMember, Broadie ✭✭✭

I ran GATK4 AllelicCNV program and get an error message saying "Segment Mean must be finite." (see below)

I look at the input files I give the program and no values were listed as "Inf" or "Infinity" or "-Inf" or anything like that.
All the values I saw (sorting numerically on the column a la "sort -g" ) showed values as low as -8 or so and as high as 8 or so with most values near 0. Because I saw values in the range +/- 8 I'm confused as to the source of the error. I'm not sure if this is a bug or a known issue?


14:59:47.184 INFO  AllelicCNV - Shutting down engine
[June 20, 2017 2:59:47 PM UTC] done. Elapsed time: 0.09 minutes.
java.lang.IllegalArgumentException: Segment Mean must be finite.
        at org.broadinstitute.hellbender.utils.param.ParamUtils.isFinite(
        at org.broadinstitute.hellbender.utils.tsv.TableUtils$1.createRecord(
        at org.broadinstitute.hellbender.utils.tsv.TableReader.fetchNextRecord(
        at org.broadinstitute.hellbender.utils.tsv.TableReader.access$200(
        at org.broadinstitute.hellbender.utils.tsv.TableReader$1.hasNext(
        at java.util.Iterator.forEachRemaining(
        at java.util.Spliterators$IteratorSpliterator.forEachRemaining(
        at org.broadinstitute.hellbender.engine.spark.SparkCommandLineProgram.doWork(
        at org.broadinstitute.hellbender.cmdline.CommandLineProgram.runTool(
        at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMainPostParseArgs(
        at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMain(
        at org.broadinstitute.hellbender.Main.runCommandLineProgram(
        at org.broadinstitute.hellbender.Main.mainEntry(
        at org.broadinstitute.hellbender.Main.main(
[email protected]:~/fc-9c84e685-79f8-4d84-9e52-640943257a9b/ef545f92-5053-4087-ad54-09fa884d0494/wgs_cnv_work/f2df0580-2445-4ea3-af41-d5a8a3107f5b$ 


  • Geraldine_VdAuweraGeraldine_VdAuwera Cambridge, MAMember, Administrator, Broadie admin

    It might be a bug -- what version are you using?

  • esalinasesalinas BroadMember, Broadie ✭✭✭

    @Geraldine_VdAuwera I belive this is the JAR gatk-package-4.alpha.2-1136-gc18e780-SNAPSHOT-local.jar so the committ looks to be "gc18e780"

  • sleeslee Member, Broadie, Dev ✭✭✭

    @esalinas The segment means in the .seg file should be non log_2 (this is the output of the GATK CNV tool, as indicated in the javadoc), but the tangent normalized coverages in the tn.tsv should be log_2.

    @shlee Perhaps it's worth making this more explicit in the javadoc.

    Future versions of the CNV pipeline will only deal with raw (integer) read-count coverage and only output non log_2 copy-ratio estimates, which will hopefully prevent such sources of confusion.

    Issue · Github
    by shlee

    Issue Number
    Last Updated
  • esalinasesalinas BroadMember, Broadie ✭✭✭
    edited June 2017

    @slee thanks for this info that tells about the expected log-2-space-status. It would seem like any data file with a "Mean" or "Average" column with fractional values, particularly that are negative, I would guess are log2. A file with such values that are non-negative integer or have only zeroes after a decimal point I would guess are non-log-2. I can write a script that transforms a file to take log-2 or do 2^x.

  • shleeshlee CambridgeMember, Broadie ✭✭✭✭✭

    @slee, I've updated the docs.

Sign In or Register to comment.