Entering edit mode
12 months ago
isMM
•
0
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')
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.