Learn R Programming

rcdk (version 3.4.7.2)

view.molecule.2d: View and Copy 2D Structure Diagrams

Description

The CDK is capable of generating 2D structure diagrams. These methods allow one to view 2D structure diagrams. Depending on the method called a Swing JFrame is displayed which allows resizing of the image or a raster image (derived from a PNG byte stream) is is returned, which can be viewed using rasterImage. It is also possible to copy a 2D depiction to the system clipboard, which can then be pasted into various external applications.

Usage

get.depictor(width = 200, height = 200, zoom = 1.3, style = "cow", 
	      annotate = "off", abbr = "on", suppressh = TRUE, 
             showTitle = FALSE, smaLimit = 100, sma = NULL) 
view.molecule.2d(molecule, ncol = 4, width = 200, height = 200, depictor = NULL)
view.image.2d(molecule, depictor = NULL)
copy.image.to.clipboard(molecule, depictor = NULL)

Arguments

molecule

If a single molecule is to be viewed this should be a reference to a IAtomContainer object. If multiple molecules are to be viewed this should be a list of such objects. If a character is specified then it is taken as the name of a file and the molecules are loaded from the file

depictor

A depiction object. If NULL then one with default settings is created

ncol

The number of columns if a grid is desired

width

The width of the image

height

The height of the image

zoom

Zoom factor

style

Depiction style. Possible values are 'cow', 'bow', 'wob', 'cob', 'nob'

annotate

Annotation style. By default no annotations are added. Possible values include 'number', 'mapidx', 'atomvalue', 'colmap'

abbr

Abbreviation style for functional groups. Possible values are 'groups', 'reagents', 'on'

suppressh

When TRUE show H's otherwise hide them

showTitle

When TRUE display title

smaLimit

How many SMARTS patterns should be highlighted?

sma

A string containing the SMARTS pattern to match

Value

get.depictor returns a depiction object that can be supplied to other methods. view.molecule.2d and copy.image.to.ckipboard do not return anything. view.image.2d returns an array of the dimensions height x width x channels, from the original PNG version of the 2D depiction.

Details

For the case of view.molecule.2d, if a jobjRef is passed it should be a reference to an IAtomContainer object. In case the first argument is of class character it is assumed to be a file and is loaded by the function.

This function can be used to view a single molecule or multiple molecules. If a list of molecule objects is supplied the molecules are displayed as a grid of 2D viewers. In case a file is specified, it will display a single molecule or multiple molecules depending on how many molecules are loaded.

For view.image.2d, the image can be viewed via rasterImage.

copy.image.to.clipboard copies the 2D depiction to the system clipboard in PNG format. You can then paste into other applications.

Due to event handling issues, the depiction will show on OS X, but the window will be unresponsive. Also copying images to the clipboard will not work. As a result, on OS X we make use of a standalone helper that is run via the system command. Currently, this is supported for the view.molecule.2d method (for a single molecule) and the copy.image.to.clipboard method. In the future, other view methods will also be accessible via this mechanism. While this allows OS X users to view molecules, it is slow due to invoking a new process.

The depictions will work fine (i.e., no need to shell out) on Linux and Windows.

See Also

view.table, rasterImage, readPNG

Examples

Run this code
# NOT RUN {
m <- parse.smiles('c1ccccc1C(=O)NC')[[1]]

# }
# NOT RUN {
dep <- get.depictor(width=200, height=200)
img <- view.image.2d(m, dep)
plot(1:10, 1:10, pch=19)
rasterImage(img, 0,8, 2,10)

dep$setHeight(as.integer(400))
dep$setWidth(as.integer(400))
copy.image.to.clipboard(m,d) ## Paste into Word

# }

Run the code above in your browser using DataLab