“NACEN” is a R package that could provide the construction and analysis for node-weighted amino acids contact energy network (NACEN).
The main requirement for NACEN is a working installation of R >= 3.2.0 on Windows. The package also requires the bio3d and igraph R packages. The additional program DSSP 3.0 is also required, and it’s already included in the installation package. Or You could download them from http://swift.cmbi.ru.nl/gv/dssp/.
The NACEN R package, required tool and example data could be download here.
Install “NACEN” package from local
install.packages("E:/NACEN/NACEN_0.1.0.tar.gz", repos = NULL, type = "source")
If we set WeightType = ‘none’, the function will just construct the AACEN without node weights.
library(NACEN)
dsspfile <- "dssp-3.0.0.exe" #here we put DSSP programm in the path "E:\NACEN\"
Net1 <- NACENConstructor('1vie',WeightType = "none",exefile = dsspfile)
## Note: Accessing on-line PDB file
Net1 is a list which consists of network adjacent matrix (AM), nodes weights vector (NodeWeights), and data frame (PDBInform) about the information of backbone residues
Net2 <- NACENConstructor(PDBFile='E:/NACEN/1vie.pdb',WeightType = "Polarity",exefile = dsspfile,plotflag=T)
## [1] "The network figure is saved in your current working directory"
dim(Net2$AM) #AM's dimensions
## [1] 60 60
head(Net2$PDBInform) # backbone residues information
## type eleno elety alt resid chain resno insert x y z o
## 2 ATOM 2 CA <NA> PRO A 19 <NA> 40.866 32.472 51.115 1
## 9 ATOM 9 CA <NA> SER A 20 <NA> 42.608 30.280 53.665 1
## 15 ATOM 15 CA <NA> ASN A 21 <NA> 44.003 28.417 50.726 1
## 23 ATOM 23 CA <NA> ALA A 22 <NA> 43.887 30.181 47.234 1
## 28 ATOM 28 CA <NA> THR A 23 <NA> 46.959 30.799 45.093 1
## 35 ATOM 35 CA <NA> PHE A 24 <NA> 46.004 34.310 44.345 1
## b segid elesy charge SS ACC Phi PSi chain.1 resno.1
## 2 100.00 <NA> C <NA> X 125 360.0 148.5 A 19
## 9 74.28 <NA> C <NA> X 135 -54.1 14.3 A 20
## 15 45.38 <NA> C <NA> S 134 -156.6 -27.4 A 21
## 23 15.62 <NA> C <NA> X 24 -48.9 145.9 A 22
## 28 14.99 <NA> C <NA> S 81 -71.1 -38.2 A 23
## 35 11.51 <NA> C <NA> S 17 -123.8 164.7 A 24
Net2$NodeWeights #Node weights
## P S N A T F G
## 0.3202934 0.1515892 0.3276284 0.1124694 0.2640587 0.7090465 0.0000000
## M G D R V R K
## 0.5403423 0.0000000 0.2567237 0.7114914 0.3422983 0.7114914 0.5354523
## K S G A A W Q
## 0.5354523 0.1515892 0.0000000 0.1124694 0.1124694 1.0000000 0.4400978
## G Q I V G W Y
## 0.0000000 0.4400978 0.4547677 0.3422983 0.0000000 1.0000000 0.7286064
## C T N L T P E
## 0.3129584 0.2640587 0.3276284 0.4547677 0.2640587 0.3202934 0.3691932
## G Y A V E S E
## 0.0000000 0.7286064 0.1124694 0.3422983 0.3691932 0.1515892 0.3691932
## A H P G S V Q
## 0.1124694 0.5623472 0.3202934 0.0000000 0.1515892 0.3422983 0.4400978
## I Y P V A A L
## 0.4547677 0.7286064 0.3202934 0.3422983 0.1124694 0.1124694 0.4547677
## E R I N
## 0.3691932 0.7114914 0.4547677 0.3276284
Set WeightType=“others”, and give the file path of node weights
Net3 <- NACENConstructor(PDBFile='E:/NACEN/1vie.pdb',WeightType = "others",exefile = dsspfile,WeightFile="E:/NACEN/Nodes.txt")
NACEAnanlyzer could calculate the unweighted degree, betweenness and closeness and corresponding node-weighted degree, betweenness and closeness.
NetP <- NACENAnalyzer(Net2$AM,Net2$NodeWeights)
head(NetP$NetP)
## ID chain Resid Res K B C Kw Bw
## A:19:PRO A:19:PRO A 19 PRO 1 0 0.002145923 0.00000000 0.00000000
## A:20:SER A:20:SER A 20 SER 2 58 0.002450980 0.01378084 0.01794931
## A:21:ASN A:21:ASN A 21 ASN 2 114 0.002840909 0.02978440 0.07624962
## A:22:ALA A:22:ALA A 22 ALA 3 168 0.003355705 0.02044899 0.03857404
## A:23:THR A:23:THR A 23 THR 2 0 0.003322259 0.02400533 0.00000000
## A:24:PHE A:24:PHE A 24 PHE 3 270 0.004048583 0.12891754 0.39083170
## Cw
## A:19:PRO 0.00000000
## A:20:SER 0.01053376
## A:21:ASN 0.05186696
## A:22:ALA 0.03099379
## A:23:THR 0.07075628
## A:24:PHE 0.30730452
head(NetP$Edgelist)
## [,1] [,2]
## [1,] "A:19:PRO" "A:20:SER"
## [2,] "A:20:SER" "A:21:ASN"
## [3,] "A:21:ASN" "A:22:ALA"
## [4,] "A:22:ALA" "A:23:THR"
## [5,] "A:22:ALA" "A:24:PHE"
## [6,] "A:23:THR" "A:24:PHE"
The visualization of NACEN could be performed by plotNACEN function or by set the parameter plotflag=T in the function NACENConstructor which will save the figure in current work path.
plotNACEN(Net2)