static float largeNoiseSVPriorWeight( const SVCandidate& sv) { static const int smallSize(5000); static const int largeSize(10000); static const LinearScaler<int> svSizeRamp(smallSize, largeSize); return svSizeRamp.getScale(sv.centerSize()); }
/// when an sv is treated as 'small', we skip all paired-read evidence and rely on split reads only: /// /// with further model improvements we can add pairs back into the small variant calls: /// /// this function returns 1 for a variant which is "fully large" and 0 for a variant which is "fully small", /// with intermediate values for sizes in between /// static float getSpanningPairWeight( const SVCandidate& sv, const bool isSmallAssembler) { static const int minSmallSize(300); static const int maxSmallSize(500); static const LinearScaler<int> svSizeRamp(minSmallSize, maxSmallSize); if (! isSmallAssembler) return 1.f; return svSizeRamp.getScale(sv.centerSize()); }