joke: I always suspected it was some sort of Protoss trick (as per gravatar image) - for Aiur!
I posted this question on seqanswers a few days ago but didn't get any responses, so I thought I would try here.
I am trying to associate reads from a fastq file produced by a MiSeq run with the clusters listed in the .cif and .locs files from the run. Unfortunately, the x and y locations extracted from read names in the fastq file do not appear to be the same as the x and y locations listed in the .locs files. By plotting all coordinate pairs from the .locs file for a tile and all coordinate pairs from all reads from that tile, it looks like fastq coordinates are produced from .locs coordinates by multiplying by around 10 and shifting some amount. Does anyone know exactly what this transformation is? More generally, why is this transformation even done?
1 answer
Hi Jeff, The .locs file are structure as follows:
The last 4 bytes of the first 12 bytes give you the # of clusters as an unsigned int. The remaining sets of 8 bytes give you 2 floats, one x coordinate, one y. The exact coordinates are obtained by round( 10 x [raw coordinate] + 1000)
I think the idea was to preserve the legacy of the _pos file where you saves some space for the coordinates by using this formula. For .locs, you do not really as you could use an unsigned int. The clocs are a bit more trickier to parse but also more clever.
What a nice round number. I'm not sure how I didn't notice this myself. Except for some strange (and rare) floating-point roundoff related irregularities, the formula you give works.
Brilliant, just the information I needed! How do you know this, is it documented somewhere?
Sorry for the late reply Paul! I probably took the information from this: https://broadinstitute.github.io/picard/javadoc/picard/picard/illumina/parser/readers/LocsFileReader.html
which is far from being official documentation.
Log in to answer this question.
frankly I think the need to go back to locs files is both instrument specific and very uncommon - your best bet would be to directly contact illumina support
Bizarrely, Illumina support told me on the phone that there was no simple transformation.