molgenis / CoNVaDING

Copy Number Variation Detection In Next-generation sequencing Gene panels was designed for small (single-exon) copy number variation (CNV) detection in high coverage next-generation sequencing (NGS) data
GNU Lesser General Public License v3.0
20 stars 22 forks source link

Error with single-letter gene names #19

Open brendanofallon opened 7 years ago

brendanofallon commented 7 years ago

I'm running into an issue with convading 1.1.6 in which it fails with a division by zero error when gene names are a single letter. In this case, convading fails with the following error:

Use of uninitialized value $genecount in division (/) at
        /uufs/chpc.utah.edu/common/home/u0379426/arup-storage1/cnv/tools/CoNVaDING-1.1.6/CoNVaDING.pl line 2252 (#1)
    (W uninitialized) An undefined value was used as if it were already
    defined.  It was interpreted as a "" or a 0, but maybe it was a mistake.
    To suppress this warning assign a defined value to your variables.

    To help you figure out what was undefined, perl will try to tell you the
    name of the variable (if any) that was undefined. In some cases it cannot
    do this, so it also tells you what operation you used the undefined value
    in.  Note, however, that perl optimizes your program and the operation
    displayed in the warning may not necessarily appear literally in your
    program.  For example, "that $foo" is usually optimized into "that "
    . $foo, and the warning will refer to the concatenation (.) operator,
    even though there is no . in your program.

Use of uninitialized value $genename in division (/) at
        /uufs/chpc.utah.edu/common/home/u0379426/arup-storage1/cnv/tools/CoNVaDING-1.1.6/CoNVaDING.pl line 2252 (#1)

Illegal division by zero at
        /uufs/chpc.utah.edu/common/home/u0379426/arup-storage1/cnv/tools/CoNVaDING-1.1.6/CoNVaDING.pl line 2252 (#2)
    (F) You tried to divide a number by 0.  Either something was wrong in
    your logic, or you need to put a conditional in to guard against
    meaningless input.

Uncaught exception from user code:
        Illegal division by zero at /uufs/chpc.utah.edu/common/home/u0379426/arup-storage1/cnv/tools/CoNVaDING-1.1.6/CoNVaDING.pl line 2252.
 at /uufs/chpc.utah.edu/common/home/u0379426/arup-storage1/cnv/tools/CoNVaDING-1.1.6/CoNVaDING.pl line 2252
        main::writeCountFile('1\x{9}989123\x{9}989367\x{9}A', '1\x{9}989123\x{9}989367\x{9}A', 'A', 745.928794845361, 745.928794845361, 'HASH(0x19006b0)', 'HASH(0x19006e0)', 'HASH(0x13fa928)') called at /uufs/chpc.utah.edu/common/home/u0379426/arup-storage1/cnv/tools/CoNVaDING-1.1.6/CoNVaDING.pl line 2171
        main::countFromBam('/uufs/chpc.utah.edu/common/home/arup-storage1/cnv/germline-da...') called at /uufs/chpc.utah.edu/common/home/u0379426/arup-storage1/cnv/tools/CoNVaDING-1.1.6/CoNVaDING.pl line 707
        main::startWithBam('ARRAY(0x13fa5f8)') called at /uufs/chpc.utah.edu/common/home/u0379426/arup-storage1/cnv/tools/CoNVaDING-1.1.6/CoNVaDING.pl line 276

Unfortunately, there ARE some genes with official symbols that are a single letter (see https://www.ncbi.nlm.nih.gov/gene?term=NM_001270484 - the official gene symbol is 'T'). Weird, I know.

creggian commented 5 years ago

I had the same issue and I had to remove the "T" gene from the list.