getChromSimMatCpp {DIAlignR} | R Documentation

## Calculates similarity matrix of two fragment-ion chromatogram groups or extracted-ion chromatograms(XICs)

### Description

Calculates similarity matrix of two fragment-ion chromatogram groups or extracted-ion chromatograms(XICs)

### Usage

    getChromSimMatCpp(
      l1,
      l2,
      normalization,
      simType,
      cosAngleThresh = 0.3,
      dotProdThresh = 0.96,
      kerLen = 9L
    )

### Arguments

`l1` | (list) A list of vectors. Length should be same as of l2.
`l2` | (list) A list of vectors. Length should be same as of l1.
`normalization` | (char) A character string. Normalization must be selected from (L2, mean or none).
`simType` | (char) A character string. Similarity type must be selected from (dotProductMasked, dotProduct, cosineAngle, cosine2Angle, euclideanDist, covariance, correlation, crossCorrelation). Mask = s > quantile(s, dotProdThresh) AllowDotProd= [Mask × cosine2Angle + (1 - Mask)] > cosAngleThresh s_new= s × AllowDotProd
`cosAngleThresh` | (numeric) In simType = dotProductMasked mode, angular similarity should be higher than cosAngleThresh otherwise similarity is forced to zero.
`dotProdThresh` | (numeric) In simType = dotProductMasked mode, values in similarity matrix higher than dotProdThresh quantile are checked for angular similarity.
`kerLen` | (integer) In simType = crossCorrelation, length of the kernel used to sum similarity score. Must be an odd number.

### Value

s (matrix) Numeric similarity matrix. Rows and columns expresses seq1 and seq2, respectively.

### Author(s)

Shubham Gupta, shubh.gupta@mail.utoronto.ca ORCID: 0000-0003-3500-8152 License: (c) Author (2019) + MIT Date: 2019-03-05

### Examples

    # Get similarity matrix of dummy chromatograms
    r1 <- list(c(1.0,3.0,2.0,4.0), c(0.0,0.0,0.0,1.0), c(4.0,4.0,4.0,5.0))
    r2 <- list(c(1.4,2.0,1.5,4.0), c(0.0,0.5,0.0,0.0), c(2.0,3.0,4.0,0.9))
    round(getChromSimMatCpp(r1, r2, "L2", "dotProductMasked"), 3)
    matrix(c(0.125, 0.162, 0.144, 0.208, 0.186, 0.240,
    0.213, 0.313, 0.233, 0.273, 0.253, 0.346, 0.101, 0.208, 0.154, 0.273), 4, 4, byrow = FALSE)

    round(getChromSimMatCpp(r1, r2, "L2", "dotProduct"), 3)
    matrix(c(0.125, 0.162, 0.144, 0.208, 0.186,0.240, 0.213, 0.313, 0.233,
    0.273, 0.253, 0.346, 0.101, 0.208, 0.154, 0.273), 4, 4, byrow = FALSE)

    round(getChromSimMatCpp(r1, r2, "L2", "cosineAngle"), 3)
    matrix(c(0.934, 0.999, 0.989, 0.986, 0.933, 0.989,
     0.983, 0.996, 0.994, 0.960, 0.995, 0.939, 0.450,
     0.761, 0.633, 0.772), 4, 4, byrow = FALSE)

    round(getChromSimMatCpp(r1, r2, "L2", "cosine2Angle"), 3)
    matrix(c(0.744, 0.998, 0.957, 0.944, 0.740, 0.956, 0.932,
    0.985, 0.974, 0.842, 0.978, 0.764, -0.596, 0.158,
    -0.200, 0.190), 4, 4, byrow = FALSE)

    round(getChromSimMatCpp(r1, r2, "mean", "euclideanDist"), 3)
    matrix(c(0.608, 0.614, 0.680, 0.434, 0.530, 0.742,
    0.659, 0.641, 0.520, 0.541, 0.563, 0.511, 0.298,
    0.375, 0.334, 0.355), 4, 4, byrow = FALSE)

    round(getChromSimMatCpp(r1, r2, "L2", "covariance"), 3)
    matrix(c(0.025, 0.028, 0.027, 0.028, 0.032, 0.034,
    0.033, 0.034, 0.055, 0.051, 0.053, 0.051,
    -0.004, 0.028, 0.012, 0.028), 4, 4, byrow = FALSE)

    round(getChromSimMatCpp(r1, r2, "L2", "correlation"), 3)
    matrix(c(0.874, 0.999, 0.974, 0.999, 0.923, 0.986, 0.993,
    0.986, 0.991, 0.911, 0.990, 0.911, -0.065, 0.477,
    0.214, 0.477), 4, 4, byrow = FALSE)

[Package DIAlignR version 2.2.0 Index]