comparison pca.R @ 0:75fd897bd85d draft

planemo upload for repository https://github.com/galaxycomputationalchemistry/galaxy-tools-compchem/tree/master/tools/bio3d commit 580d80c3fd856bb3ae18ef7b5458eb3b5e2c7374
author chemteam
date Mon, 08 Oct 2018 12:49:59 -0400
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:75fd897bd85d
1 #!/usr/bin/env Rscript
2
3 options(stringAsfactors = FALSE)
4 args <- commandArgs(trailingOnly = TRUE)
5
6 library(bio3d)
7
8 dcdfile <- args[1]
9 pdbfile <- args[2]
10
11 dcd <- read.dcd(dcdfile)
12 pdb <- read.pdb(pdbfile)
13
14 method <- args[3]
15 selection <- args[4]
16 domain <- args[5]
17
18 output <- args[6]
19 pca_plot <- args[7]
20 pca_cluster <- args[8]
21 pc1_rmsf <- args[9]
22
23
24 if (selection == "string") {
25 inds <- atom.select(pdb, string = domain)
26 }
27 if (selection == "elety") {
28 inds <- atom.select(pdb, elety = domain)
29 }
30 if (selection == "resid") {
31 inds <- atom.select(pdb, resid = domain)
32 }
33 if (selection == "segid") {
34 inds <- atom.select(pdb, segid = domain)
35 }
36 xyz <- fit.xyz(fixed=pdb$xyz, mobile=dcd, fixed.inds=inds$xyz, mobile.inds=inds$xyz)
37
38 if (method == "FALSE") {
39 pc <- pca.xyz(xyz[,inds$xyz], use.svd=FALSE)
40 }
41 if (method == "TRUE") {
42 pc <- pca.xyz(xyz[,inds$xyz], use.svd=TRUE)
43 }
44
45 write.table(pc$au[,1:2:3], file = output, row.names = TRUE, col.names = FALSE, quote =FALSE, sep="\t")
46
47 png(pca_plot)
48 plot(pc, col=bwr.colors(nrow(xyz)) )
49 dev.off()
50
51 png(pca_cluster)
52 hc <- hclust(dist(pc$z[,1:2]))
53 grps <- cutree(hc, k=2)
54 plot(pc, col=grps)
55 dev.off()
56
57 png(pc1_rmsf)
58 plot.bio3d(pc$au[,1], ylab="PC1 (A)", xlab="Residue Position", typ="l")
59 points(pc$au[,2], typ="l", col="blue")
60 dev.off()
61