This list contains potential bugs & problems detected in the original code while refactoring.
- check_element detects
C
if formula containsCl
-> No compounds are filtered because they don't contain carbon - multilevelannotationstep5:
- the
.combine = rbind
parameter offoreach::foreach()
function causes a twisted output, collapsing a174x60
matrix to a61x10
matrix -> 61 are the non-empty rows, but the entries in rows that have more than 10 columns filled get discarded; - the issue described above may cause
multilevelannotationstep5
to compute different outputs depending on whether the loop is executed in parallel (%dopar%
) or sequentially (%do%
). The results may differ in chemical scores or the number of annotations. When chemical scores differ, sequential execution will systematically output lower scores.
- the
- in multilevelannotationstep4 (and functions called by it) are some suspicious conditions where they check for
curdata$score < 10
andcurdata$score > 10
, but never for actual value10
- in get_chemscorev1.6.71 in the isotope detection, the RT clustering is recomputed with a fixed RT diff of 10 seconds, changing the whole previous RT clustering.
- in get_chemscorev1.6.71 this part for the calculation is never called under current tests.
- In get_chemscorev1.6.71 the correlation matrix is apparently only read on the diagonal, which implies that values will always be 1. The function could also just return a matrix of 1s with the size of
mzid_cur
xmzid_cur