I have a bigWig file of extension
*.bw (which is standard), but I am suspicious that this file may be of an incorrect format.
Is there a standard method in the field to validate a *.bigWig file?
Bioinformatics Stack Exchange is a question and answer site for researchers, developers, students, teachers, and end users interested in bioinformatics. It only takes a minute to sign up.Sign up to join this community
As noted in another answer, it's relatively easy to tell if a file is bigWig or not by opening it up with, say, standard UCSC Kent utilities like
bigWigToWig, or other bigWig readers, and seeing if you get data back.
Depending on what you're doing with the bigWig file, the trickier part can be how the original data was indexed.
If the bigWig file was originally made from a bedGraph or BAM file, its coordinates will be 0-indexed when converted to human-readable form. If the bigWig file was originally made from a wig file, its coordinates will be 1-indexed when converted to a human readable form. How the file's coordinates were originally indexed may change how you work with them downstream for set operations, for instance.
I think the only way to know about the source is to look at the header contained within the bigWig file, after extraction to human-readable form with UCSC tools. A bigWig file made from a bedGraph file will generally contain the header
#bedGraph section <coords> in it somewhere (after conversion), for example.
There's no standard validation method, but a simple one would be
python -c "import pyBigWig; bw = pyBigWig.open('your_file.bw'); print(bw.IsBigWig());". If you get
True then it's a bigWig file. If you get
False or an error then it's not (
False indicates a bigBed file).
file your_file.bw should return