FIXED!!!
(I love this stuff. It's so much fun to dig into the what's and why's and figure out what's going on!)
First, thanks for bringing this to my attention. I greatly appreciate it.
Second, a bit about how the code works. If you work through the
2002 Hoye paper, it instructs you that peak {1 to 2} is j1, {1 to 3} is j2, then you add those together to eliminate the next peak out and so on until you identify all the j-values. But that's only half true. for even a simple dd, j1 is not only {1 to 2} but also {3 to 4}, and those
should (in theory) have the same j-value. j2 is not only {1 to 3} but also {2 to 4}.
So my web app takes that into consideration, calculates both {1 to 2} and {3 to 4} for a dd, then averages them for the output for j1. Same for j2. That's fine for a dd where there is no amibguity. But for an 8-peak ddd, there is some ambiguity. There are two possible ways an 8-peak ddd could occur:
Notice that this follows Hoye's guidelines. J1 is {a-b}, J2 is {a-c}, and J3 is either {a-d} or {a-e} depending on the overlap or non-overlap of the central peaks. My code erroneously neglected to account for the potential overlap of the central peaks
So my code was averaging {a-b} {c-d} {e-f} AND {g-h} when really those middle two could be swapped, and it's not trivial to tell just by looking if the central peaks overlap or not. But even though some of the pairs are ambiguous, some are retained in both sets. I should be using these to calculate the j-values, not all possible pairs.
Calculating ALL the splitting out by hand shows that even though all j1s
should be the same, they are not. Note the second example (original wrong WebApp version) where assuming no central peak overlap matches the old WebApp output of 1.2, 6.9, and 8.5:
So now, the WebApp ignores the ambiguous pairs and only averages the pairs that are retained no matter the central peak overlap possibility. It also now matches the actual output of 1.6, 7.3, and 8.1.
Here's the WebApp after update showing the correct analysis of 1.6, 7.3, and 8.1:
Thanks again for all your assistance!