read.AP {ChemmineR} | R Documentation

## Read Atom Pair/Fingerprint Strings

### Description

Function to convert atom pairs (AP) or fingerprints (e.g. AP fingerprints) stored as character strings to `APset` or `FPset` objects (e.g. generated by `sdfStream`). Alternatively, one can provide the AP or fingerprint strings in a named character vector.

### Usage

    read.AP(x, type, colid, isFile = class(x) == "character" & length(x) == 1)

### Arguments

`x` | name of file from where to read the AP/APFP character strings; or named character vector containing the AP/APFP strings
`type` | `type="ap"` for AP character string input, and `type="fp"` for fingerprint character string input
`colid` | column containing AP/FP character strings if `x` is a file
`isFile` | Is `x` a file name or not?

### Details

...

### Value

object of class `APset` or `FPset`

### Author(s)

Thomas Girke

### References

...

### See Also

`sdf2ap`, `sdfStream`

### Examples

    ## Load sample data
    library(ChemmineR)
    data(sdfsample); sdfset <- sdfsample
    ## Not run: write.SDF(sdfset, "test.sdf")

    ## Define descriptor set in a simple function
    desc <- function(sdfset) {
            cbind(SDFID=sdfid(sdfset),
                  # datablock2ma(datablocklist=datablock(sdfset)),
                  MW=MW(sdfset),
                  groups(sdfset),
                  APFP=desc2fp(x=sdf2ap(sdfset), descnames=1024, type="character"),
                  AP=sdf2ap(sdfset, type="character"),
                  rings(sdfset, type="count", upper=6, arom=TRUE)
            )
    }

    ## Run sdfStream with desc function and write results to a file called 'matrix.xls'
    sdfStream(input="test.sdf", output="matrix.xls", fct=desc, Nlines=1000)

    ## Select molecules from SD File using line index from sdfStream
    indexDF <- read.delim("matrix.xls", row.names=1)[,1:4]
    indexDFsub <- indexDF[indexDF$MW < 400, ] # Selects molecules with MW < 400
    sdfset <- read.SDFindex(file="test.sdf", index=indexDFsub, type="SDFset")

    ## Write result directly to SD file without storing larger numbers of molecules in memory
    read.SDFindex(file="test.sdf", index=indexDFsub, type="file", outfile="sub.sdf")

    ## Read AP/APFP strings from file into APset or FP object
    apset <- read.AP(x="matrix.xls", type="ap", colid="AP")
    apfp <- read.AP(x="matrix.xls", type="apfp", colid="APFP")

    ## Alternatively, one can provide the AP/APFP strings in a named character vector
    apset <- read.AP(x=sdf2ap(sdfset[1:20], type="character"), type="ap")
    apfp <- read.AP(x=desc2fp(x=sdf2ap(sdfset[1:20]), descnames=1024, type="character"), type="apfp")

    ## End(Not run)

[Package ChemmineR version 3.40.0 Index]