Closed pbenner closed 5 years ago
IGV and a few other browsers require zoom levels, which is why they're there by default. I should probably document that in the readme.
BTW, I think UCSC requires entries in the same (in their case alphabetical) order as the header, which I've partially copied. The check of nBasesCovered is meant to by-pass further processing of the file, since, unlike UCSC, it's possible here to programmatically create empty files. This was requested by users who were processing large batches of single-cell data that sometimes had no data but wanted files to be created either way.
IGV and a few other browsers require zoom levels, which is why they're there by default. I should probably document that in the readme.
Thanks, that's good to know!
BTW, I think UCSC requires entries in the same (in their case alphabetical) order as the header, which I've partially copied.
What I meant was that every chromosome gets an ID (and this must be sorted especially in the index RTree structure), but as far as I know it is possible to write the actual raw data in any order (there is no requirement that dataOffset_i > dataOffset_j if ID_i > ID_j). It would just make the library more user friendly if this restriction was dropped.
I've updated the documentation about zoom levels a bit.
The following script generates a bigWig file filles with random numbers:
IGV fails to read this bigWig file with the following error message:
IGV is able to read the bigWig file if it is first converted to wig and then back to bigWig:
$ bigWigToWig test.bw test.wig $ wigToBigWig test.wig genome.txt test2.bw
It seems that pyBigWig/libBigWig is generating a slightly different bigWig file than the standard UCSC tools, which IGV cannot handle.There are also other differences to the standard UCSC/Kent library (since there is no actual standard for this format, I would regard the UCSC implementation as the de facto standard):