Hi Nicolas,
The Pearson's is calculated after subtracting the mean of the row from the O/E matrix. This is because correlation of small values should be as valuable as correlation of big values. We subtract the row mean from every entry in the row, in effect recentering the distribution. O/E ranges from something like 1/5 to 5, and values below 1 that are correlated/anti-correlated with values above 1 need to count that way.
Look at the function "computePearsons" in the class MatrixZoomData to see the code that calculates the Pearson.
You can dump the Pearson map via the dump command:
juicebox dump <observed/oe/pearson/norm> <NONE/VC/VC_SQRT/KR> <hicFile(s)> <chr1> <chr2> <BP/FRAG> <binsize>
However, since the calculation takes a very long time at high resolutions, we limit it to matrices of 500Kb and lower. You can change this in the "getPearsons" function in the class MatrixZoomData.
Best
Neva