# sim: Calculates a Similarity Matrix for a Set of Fingerprints In fingerprint: Functions to Operate on Binary Fingerprint Data

## Description

Given a set of fingerprints, a pairwise similarity can be calculated using the various distance metrics defined for binary strings. This function calculates the pairwise similarity matrix for a set of `fingerprint` or `featvec` objects supplied in a `list` structure. Any of the distance metrics provided by `distance` can be used and the default is the Tanimoto metric.

Note that if the the Euclidean distance is specified then the resultant matrix is a distance matrix and not a similarity matrix

## Usage

 `1` ```fp.sim.matrix(fplist, fplist2=NULL, method='tanimoto') ```

## Arguments

 `fplist` A list structure with each element being an object of class `fingerprint` or `featvec`. These can be constructed by hand or read from disk via `fp.read` `fplist2` A list structure with each element being an object of class `fingerprint` or `featvec`. if `NULL` then traditional pairwise similarity is calculated with each member in `fplist`, otherwise the resultant N x M matrix is derived from the similarity between each member of `fplist` and `fplist2` `method` The type of distance metric to use. The default is `tanimoto`. Partial matching is supported.

## Value

A matrix with dimensions equal to `(length(fplist), length(fplist))` if `fplist2` is NULL, otherwise `(length(fplist), length(fplist2))`

## Author(s)

Rajarshi Guha [email protected]

`distance`, `fp.read`

## Examples

 ```1 2 3 4 5 6``` ```# make fingerprint objects fp1 <- new("fingerprint", nbit=6, bits=c(1,2,5,6)) fp2 <- new("fingerprint", nbit=6, bits=c(1,4,5,6)) fp3 <- new("fingerprint", nbit=6, bits=c(2,3,4,5,6)) fp.sim.matrix( list(fp1,fp2,fp3) ) ```

### Example output

```     [,1] [,2] [,3]
[1,]  1.0  0.6  0.5
[2,]  0.6  1.0  0.5
[3,]  0.5  0.5  1.0
```

fingerprint documentation built on May 2, 2019, 2:42 a.m.