This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Java error while running HiCDC overview code

Hey folks!

I am trying to run the code provided in the HiCDC overview (https://github.com/mervesa/HiCDCPlus#diff_int).

Everything runs as expected (as shown in the Github code) but at the moment of trying to save the output of HiCDCPlus_parallel() into a .hic file with hicdc2hic() I run into an error I am not sure how to interpret/solve. Also, the .hic file is saved but it cannot be opened properly in Juicebox, the screen shows only white.

I was wondering if someone had run into something similar. Thanks :)

The error reads:

Writing body
java.lang.NumberFormatException: For input string: "score"         
at java.base/jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2054)
        at java.base/jdk.internal.math.FloatingDecimal.parseFloat(FloatingDecimal.java:122)
        at java.base/java.lang.Float.parseFloat(Float.java:455)
        at juicebox.tools.utils.original.mnditerator.MNDLineParser.updatePairScoreIfNeeded(MNDLineParser.java:88)
        at juicebox.tools.utils.original.mnditerator.MNDFileParser.parseShortFormat(MNDFileParser.java:105)
        at juicebox.tools.utils.original.mnditerator.MNDFileParser.parse(MNDFileParser.java:87)
        at juicebox.tools.utils.original.mnditerator.GenericPairIterator.advance(GenericPairIterator.java:56)
        at juicebox.tools.utils.original.mnditerator.AsciiPairIterator.<init>(AsciiPairIterator.java:55)
        at juicebox.tools.utils.original.mnditerator.PairIterator.getIterator(PairIterator.java:54)
        at juicebox.tools.utils.original.Preprocessor.computeWholeGenomeMatrix(Preprocessor.java:583)
        at juicebox.tools.utils.original.Preprocessor.writeBody(Preprocessor.java:674)
        at juicebox.tools.utils.original.Preprocessor.preprocess(Preprocessor.java:436)
        at juicebox.tools.clt.old.PreProcessing.run(PreProcessing.java:165)
        at juicebox.tools.HiCTools.main(HiCTools.java:94)

and the code is:

library(HiCDCPlus) #I am using R 4.3.2 

hicfile_path<-system.file("extdata", "GSE63525_HMEC_combined_example.hic", package = "HiCDCPlus")
outdir<-tempdir(check=TRUE)

#generate features
construct_features(output_path=paste0(outdir,"/hg19_50kb_GATC"),
                   gen="Hsapiens",gen_ver="hg19",
                   sig="GATC",
                   bin_type="Bins-uniform",
                   binsize=50000,
                   chrs=c("chr21","chr22"))

gi_list<-generate_bintolen_gi_list(bintolen_path=paste0(outdir,"/hg19_50kb_GATC_bintolen.txt.gz"))
gi_list<-add_hic_counts(gi_list,hic_path = hicfile_path)
gi_list<-expand_1D_features(gi_list)

#run HiC-DC+ on 2 cores
set.seed(1010) #HiC-DC downsamples rows for modeling
gi_list<-HiCDCPlus_parallel(gi_list,ncore=2)
head(gi_list)
#~~~~~~Up to here everything works fine! The next line throws the error 
hicdc2hic(gi_list,hicfile=paste0(outdir,'/GSE63525_HMEC_combined_result.hic'), mode='normcounts',gen_ver='hg19')
r juicer hic hicdcplus

Looks like you have corrupt or improperly-formatted input. It's expecting to parse a floating-point number where the word "score" appears. That could mean that it is interpreting a header line as a data line. Presumably the problematic input is gi_list.

0 answers

No answers yet.

Log in to answer this question.