Description Usage Arguments Examples
Initializes grid for a given step and margin around molecules from database
1 | cmf_init_grid(mdb, step=1.0, margin=2.0)
|
mdb |
|
step |
1.0 |
margin |
2.0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | ##---- Should be DIRECTLY executable !! ----
##-- ==> Define data, use random,
##-- or do help(data=index) for the standard data sets.
## The function is currently defined as
cmf_init_grid <- function(mdb, step=1.0, margin=2.0) {
grid <- list()
nmols <- length(mdb)
if (nmols > 0) {
mdbdim <- cmf_moldim(mdb[[1]])
if (nmols > 1) {
for (imol in 2:nmols) {
mol <- mdb[[imol]]
moldim <- cmf_moldim(mol)
if (moldim$xmin < mdbdim$xmin) mdbdim$xmin <- moldim$xmin
if (moldim$xmax > mdbdim$xmax) mdbdim$xmax <- moldim$xmax
if (moldim$ymin < mdbdim$ymin) mdbdim$ymin <- moldim$ymin
if (moldim$ymax > mdbdim$ymax) mdbdim$ymax <- moldim$ymax
if (moldim$zmin < mdbdim$zmin) mdbdim$zmin <- moldim$zmin
if (moldim$zmax > mdbdim$zmax) mdbdim$zmax <- moldim$zmax
}
}
mdbdim$xmin <- mdbdim$xmin - margin
mdbdim$xmax <- mdbdim$xmax + margin
mdbdim$ymin <- mdbdim$ymin - margin
mdbdim$ymax <- mdbdim$ymax + margin
mdbdim$zmin <- mdbdim$zmin - margin
mdbdim$zmax <- mdbdim$zmax + margin
sizex <- mdbdim$xmax - mdbdim$xmin
grid$ngridx <- ceiling(sizex / step) + 1
grid$gridx <- numeric(grid$ngridx)
grid$gridx[1] <- mdbdim$xmin
grid$gridx[grid$ngridx] <- mdbdim$xmax
if (grid$ngridx > 2) {
for (igrid in 1:(grid$ngridx-2)) {
grid$gridx[igrid+1] <- mdbdim$xmin + igrid * step
}
}
sizey <- mdbdim$ymax - mdbdim$ymin
grid$ngridy <- ceiling(sizey / step) + 1
grid$gridy <- numeric(grid$ngridy)
grid$gridy[1] <- mdbdim$ymin
grid$gridy[grid$ngridy] <- mdbdim$ymax
if (grid$ngridy > 2) {
for (igrid in 1:(grid$ngridy-2)) {
grid$gridy[igrid+1] <- mdbdim$ymin + igrid * step
}
}
sizez <- mdbdim$zmax - mdbdim$zmin
grid$ngridz <- ceiling(sizez / step) + 1
grid$gridz <- numeric(grid$ngridz)
grid$gridz[1] <- mdbdim$zmin
grid$gridz[grid$ngridz] <- mdbdim$zmax
if (grid$ngridz > 2) {
for (igrid in 1:(grid$ngridz-2)) {
grid$gridz[igrid+1] <- mdbdim$zmin + igrid * step
}
}
grid$val <- array(0.0, c(grid$ngridx, grid$ngridy, grid$ngridz))
}
grid
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.