I used deepTools bamCoverage to generate bigWig files from two ATAC-seq BAM files using the arguments
-of bigwig --binSize 10 --normalizeUsing RPGC --effectiveGenomeSize 2827437033 --ignoreForNormalization chrX --skipNAs --extendReads 150 –centerReads
I then tried using computeMatrix (version 3.1.2) to calculate scores per genome regions. The inputs are the two bigWig files and a bed file that contains a “universe of peaks” generated using MACS2 callpeak followed by bedtools merge. Unfortunately, I keep getting ValueError: need at least one array to concatenate.
I tried troubleshooting a bit:
- The bed file is in the correct format (aligned to hg19, fields are chrom <tab> chromStart <tab> chromEnd).
- Uploaded bigwig files to UCSC genome browser using hg19 and the peaks look good.
- Looked at the bigwig files in the genomic regions listed in the bed file using UCSC genome browser, and there are indeed reads for both bigwig files.
Oddly enough, when I perform computeMatrix for each individual bigWig, I don’t get the error. However, when I try to include both bigwigs in the same matrix, I get the error every single time. Here are the arguments I used for computeMatrix:
reference-point -S ./bigwig/bigwig1.bw ./bigwig/bigwig2.bw -R all_peaks.bed -o comparison.mat.gz -a 3000 -b 3000 --smartLabels --skipZeros --verbose -p 16
Here is the error I get:
Traceback (most recent call last): File "/cm/shared/apps/python/2.7.12/bin/computeMatrix", line 14, in <module> main(args) File "/cm/shared/apps/python/2.7.12/lib/python2.7/site-packages/deeptools/computeMatrix.py", line 421, in main hm.computeMatrix(scores_file_list, args.regionsFileName, parameters, blackListFileName=args.blackListFileName, verbose=args.verbose, allArgs=args) File "/cm/shared/apps/python/2.7.12/lib/python2.7/site-packages/deeptools/heatmapper.py", line 271, in computeMatrix matrix = np.concatenate([r for r in res], axis=0) ValueError: need at least one array to concatenate
Thanks in advance!