예제 #1
0
파일: SVScorer.cpp 프로젝트: aminzia/manta
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());
}
예제 #2
0
파일: SVScorer.cpp 프로젝트: aminzia/manta
/// 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());
}