Compare commits

...

189 Commits

Author SHA1 Message Date
xvlaurent
08480cca17 Fix overflow in pocket file writing. 2026-03-09 10:32:58 +00:00
Peter Schmidtke
6c7c55dfdd Merge pull request #157 from Discngine/issue-151
issue-151 fix of chain reading atoms in read_mmcif & descriptor outpu…
2024-09-09 14:20:23 +02:00
Peter Schmidtke
fdd5a7d14e issue-151 fix of chain reading atoms in read_mmcif & descriptor output writing 2024-09-09 12:14:06 +00:00
Peter Schmidtke
9fdba19dd7 Merge pull request #154 from Discngine/issue-151
Bugfix of wrong atom_site parsing
2024-09-04 10:02:25 +02:00
Peter Schmidtke
4810330d32 fixes in molfile abi version 2024-07-23 15:01:04 +00:00
Peter Schmidtke
251065b939 Merge pull request #147 from pegerto/m1_modfile
compile M1/M2 chip molfile plugin
2024-07-23 10:24:59 +02:00
pschmidtke
c75e2d7f98 adding osx shared libraries 2024-07-23 10:00:35 +02:00
Peter Schmidtke
0e8b195945 issue-151 fix 2024-07-23 07:39:34 +00:00
Pegerto Fernandez
4f54a742c2 small readme commit 2024-06-13 10:00:23 +01:00
Pegerto Fernandez
6c5db32fdd compile M1/M2 chip molfile fork 2024-06-13 09:53:20 +01:00
Peter Schmidtke
9f2f379997 Merge pull request #144 from Discngine/ms-4.2
Bug fixes for 4.2 release
2024-04-08 12:08:48 +02:00
Peter Schmidtke
6e66d3677c Added default dockerfile 2024-04-08 09:53:46 +00:00
Peter Schmidtke
146f76e8f8 Update readme 2024-04-08 09:52:17 +00:00
Peter Schmidtke
f792bff126 fixing MSE and Se issues 2024-04-08 09:42:28 +00:00
pschmidtke
d42000c72f getting rid of hexnum writing for cif 2024-04-08 09:00:55 +02:00
Peter Schmidtke
a9eb68e8b9 Merge pull request #136 from Discngine/PeyratG-patch-1
fix coordinates writing in cif pockets
2024-03-20 11:07:09 +01:00
pschmidtke
16e7070daa fixing reference test 2024-03-20 10:08:35 +01:00
PeyratG
b40990afb5 fix coordinates writing in cif pockets
Issue observed while running fpocket on the PDB 7uit
2024-03-13 15:22:39 +01:00
Peter Schmidtke
2bfce34457 Merge pull request #133 from Discngine/issue-129
issue-129 correcting behaviour from pdb to mmcif
2024-02-23 21:33:54 +01:00
pschmidtke
6d7e84677b issue-129 correcting behaviour from pdb to mmcif 2024-02-23 21:32:54 +01:00
Peter Schmidtke
1e861b184b Merge pull request #132 from Discngine/issue-129
issue-129 adding insertion codes and splitting auth chain & residue n…
2024-02-16 20:46:16 +01:00
pschmidtke
4b3073e0de adding missing reference updates 2024-02-16 20:40:26 +01:00
pschmidtke
675fe8c037 issue-129 adding insertion codes and splitting auth chain & residue numbers + longer filenames are supported now 2024-02-16 20:30:08 +01:00
Peter Schmidtke
beb472ba2b Merge pull request #128 from Discngine/issue-127
fixing mmcif writing for db mode
2024-01-25 08:11:04 +01:00
pschmidtke
c87362fa04 fixing mmcif writing for db mode 2024-01-25 08:01:29 +01:00
Peter Schmidtke
9ff11f655f Merge pull request #126 from Discngine/fixmmcifwriting
Fixmmcifwriting
2024-01-11 14:23:47 +01:00
pschmidtke
11cff11a1e update of auth chain output for 3vi4 2024-01-11 13:58:08 +01:00
pschmidtke
a206c797a4 copying auth chain name to chain in fpocket 2024-01-11 13:52:48 +01:00
pschmidtke
79e16f8b15 sample structure with long chain names 2024-01-11 13:52:24 +01:00
Peter Schmidtke
96a6ed30ed Merge pull request #125 from Discngine/issue-107
Issue 107 adapting to long chain & residue names & molfile fixes
2024-01-11 13:35:35 +01:00
pschmidtke
5967a8fb8c Merge branch 'issue-107' of https://github.com/Discngine/fpocket into issue-107 2024-01-11 13:30:40 +01:00
pschmidtke
57989435b4 issue-107 fixing missing null check 2024-01-11 13:30:38 +01:00
Oracle Public Cloud User
9f7e173a2d issue-107 fixing segfault in linux 2024-01-11 12:29:23 +00:00
pschmidtke
6463aee064 adding back sample output 2024-01-11 12:09:53 +01:00
pschmidtke
e3347e6259 updating validation pp 2024-01-11 12:02:50 +01:00
pschmidtke
fc1dac6633 Merge remote-tracking branch 'origin' into issue-107 2024-01-11 11:59:00 +01:00
pschmidtke
73e911ab58 issue-107 updating molfile plugin for linux 64 bit 2024-01-11 11:54:22 +01:00
pschmidtke
ff92eafeb7 issue-107 updated docker file 2024-01-11 11:38:25 +01:00
pschmidtke
4f4893164f issue-107 accepting long chain & ligand names, exit code handling & ref test output. Fixes on molfile plugin for cif reading 2024-01-11 11:38:03 +01:00
Peter Schmidtke
b02ae9ac19 Merge pull request #121 from Discngine/issue-119
Issue 119
2023-12-15 10:22:42 +01:00
pschmidtke
87cea6b1ce issue-119 adding sample cif 2023-12-15 10:12:07 +01:00
pschmidtke
b410ea1a6a issue-119 update linux libraries 2023-12-15 10:08:20 +01:00
pschmidtke
09bb933615 issue-119 correcting molfile_plugin issue with mmcifs 2023-12-15 10:05:33 +01:00
pschmidtke
1d186a45c9 correcting comment 2023-11-23 09:12:00 +01:00
Peter Schmidtke
5614b44600 Merge pull request #118 from Discngine/issue-80
Issue 80
2023-11-23 09:08:50 +01:00
Peter Schmidtke
0a150455e0 Merge pull request #117 from Discngine/issue-105
issue-105 fixing c lib issue on some architectures
2023-11-23 08:45:39 +01:00
pschmidtke
225fd07b15 issue-80 dropping useless lines 2023-11-23 08:41:56 +01:00
pschmidtke
4295d69c33 issue-80 fixing output buffer issues & memory leak on grid generation 2023-11-22 19:15:01 +01:00
pschmidtke
e571f00051 issue-105 fixing c lib issue on some architectures 2023-11-22 18:25:57 +01:00
Peter Schmidtke
4d169aaaab Merge pull request #116 from Discngine/issue-113
Issue 113
2023-11-22 11:43:34 +01:00
pschmidtke
ca6f4b036a issue-113 fixing if condition on flexibility & reference test cases 2023-11-22 10:27:03 +01:00
pschmidtke
9a4ec461ca issue-113 changing reference files & reparing test 2023-11-21 17:56:23 +01:00
pschmidtke
e57a050dad issue-113 adapting bfactor filtering to account for collective motions 2023-11-21 07:58:52 +01:00
pschmidtke
c46dd801df #112 fixing asphere radius help documentation 2023-10-24 11:46:34 +02:00
Peter Schmidtke
61b15247ed Merge pull request #109 from ElizaKartchner/master
change umlauts to normal O's
2023-07-24 09:30:47 +02:00
Eliza
f5913deaa9 change umlauts to normal O's 2023-06-15 14:55:06 -06:00
Peter Schmidtke
9c7be61644 Merge pull request #86 from jordansafer/master
Fix header typo for easier parsing
2023-02-22 04:16:15 -05:00
Peter Schmidtke
f05cdb7cdd Merge pull request #97 from Discngine/mypocket
Adding support for definition of explicit pockets
2023-02-22 04:04:43 -05:00
pschmidtke
115128de62 fix for mmcif structures & explicit pockets 2023-02-22 10:01:48 +01:00
pschmidtke
ee1cc7373f missing voronoi.c 2023-02-20 14:20:43 +01:00
pschmidtke
ac18b146ff functional in PDB format 2023-02-20 14:16:06 +01:00
pschmidtke
9c2cbca91a parameter parsing finished 2023-02-20 08:00:22 +01:00
pschmidtke
c00ab205b6 backup 2023-02-18 22:39:41 +01:00
pschmidtke
86a4a97ac7 first steps in fparams 2023-02-16 07:23:36 +01:00
pschmidtke
ce4997d6e6 introducing P parameter (WIP) 2023-02-13 09:27:34 +01:00
pschmidtke
a0bbee64f8 Explicit pockets with various alternates handling 2023-02-02 11:43:24 +01:00
Peter Schmidtke
d82104b99a Dropping for security reasons 2022-10-24 13:47:59 +02:00
Jordan Safer
5ef19079e9 Fix header typo for easier parsing 2022-10-11 12:18:32 -04:00
pschmidtke
cd00b961e6 adding linux built molfileplugin 2022-05-10 11:13:07 +02:00
pschmidtke
84967334d8 fixes on alternate locations in cif & output as cif 2022-05-10 10:58:46 +02:00
pschmidtke
9906237e6d dropping dependency on /tmp 2021-11-17 21:37:18 +01:00
pschmidtke
71637e923f update for osx 2021-11-17 16:21:03 +01:00
pschmidtke
127c60a49b last fixes for cif support for models 2021-11-16 21:47:15 +01:00
pschmidtke
3a60a4c86e adding mac 2021-11-16 21:41:09 +01:00
pschmidtke
91e3d2dbbe debug env with molfileplugin for linux 2021-11-16 21:40:22 +01:00
pschmidtke
f99a6ed96d pdbxpluging update 2021-11-15 21:46:24 +01:00
pschmidtke
855bad8cce update molfilepluging linux & osx 2021-11-10 15:16:39 +01:00
pschmidtke
5408f01005 support for model flag even no model is available 2021-11-09 22:02:24 +01:00
pschmidtke
2acab799f4 adding sample NMR structure 2021-11-09 22:01:36 +01:00
pschmidtke
edfd87c188 support for OSX & residue selection on mmcif 2021-11-09 21:10:03 +01:00
pschmidtke
5e3b4f31dc adding new dockerfile 2021-11-04 07:47:56 +01:00
pschmidtke
8bcf81635e adding dockerfile for debian-slim distrib 2021-11-03 18:31:49 +01:00
Peter Schmidtke
38a1c49440 Update README.md 2021-02-02 21:47:44 +01:00
Peter Schmidtke
efd7b0ebb7 Update README.md 2021-02-02 21:46:03 +01:00
Peter Schmidtke
0a84309db4 Merge pull request #59 from Discngine/mmcif
Documentation stuff missing
2021-02-02 21:44:54 +01:00
pschmidtke
6e80f9203c Merge branch 'master' into mmcif 2021-02-02 21:43:55 +01:00
pschmidtke
e22d38054a adding missing doc in fparams 2021-02-02 21:42:35 +01:00
Peter Schmidtke
439da234a3 Merge pull request #55 from HTian1997/master
Update GETTINGSTARTED.md
2021-02-02 21:14:01 +01:00
Peter Schmidtke
b68d547fd5 Merge pull request #53 from Discngine/mmcif
Enabling Mmcif support in fpocket
2021-02-02 21:11:49 +01:00
pschmidtke
e57afc2bad working now? 2021-02-02 21:07:36 +01:00
pschmidtke
9617bda214 missing asa header in descriptors 2021-02-02 20:59:37 +01:00
pschmidtke
8e81c0c807 minor ui adjustments 2021-02-02 20:52:24 +01:00
Hao Tian
7b500b4dd6 Update GETTINGSTARTED.md 2020-08-27 12:40:59 -05:00
ShorkarMael
209f93aa69 Update c-cpp.yml
working version for pytest
2020-07-31 09:13:18 +02:00
ShorkarMael
c50e921077 Update c-cpp.yml
test
2020-07-31 09:11:00 +02:00
ShorkarMael
a2c1745242 Update c-cpp.yml
test
2020-07-31 09:00:40 +02:00
ShorkarMael
877014bd60 Update c-cpp.yml 2020-07-31 08:54:03 +02:00
ShorkarMael
9d11cbb2fb Update c-cpp.yml
test
2020-07-31 08:42:50 +02:00
ShorkarMael
296fb4789c Update c-cpp.yml
test
2020-07-31 00:35:03 +02:00
ShorkarMael
e89a312df2 Update c-cpp.yml
python version
2020-07-31 00:28:00 +02:00
ShorkarMael
0d1a74253c Update c-cpp.yml
test
2020-07-31 00:21:43 +02:00
ShorkarMael
f4208748ed Update c-cpp.yml
test
2020-07-31 00:19:04 +02:00
ShorkarMael
b91c92d5b4 Update c-cpp.yml
test
2020-07-31 00:11:04 +02:00
ShorkarMael
e191b547dc Update c-cpp.yml
test
2020-07-31 00:05:44 +02:00
ShorkarMael
73ce917ea0 Update c-cpp.yml
test
2020-07-30 23:57:19 +02:00
ShorkarMael
10fd5e5cef Update c-cpp.yml
v2
2020-07-30 23:52:22 +02:00
ShorkarMael
b715bec165 Update c-cpp.yml
test
2020-07-30 23:51:17 +02:00
ShorkarMael
2a1702fceb Update c-cpp.yml
test
2020-07-30 22:20:37 +02:00
ShorkarMael
28031f4cf8 Update c-cpp.yml
1
2020-07-30 21:11:20 +02:00
ShorkarMael
84af7678e1 Update c-cpp.yml
pytest
2020-07-30 21:02:10 +02:00
ShorkarMael
f58b5ffa43 Update c-cpp.yml
test
2020-07-30 20:53:11 +02:00
ShorkarMael
1f01eefe25 Update c-cpp.yml
test
2020-07-30 20:49:07 +02:00
ShorkarMael
17d63260d5 Update c-cpp.yml
Rmv init
2020-07-30 20:02:26 +02:00
ShorkarMael
1572782a39 Update c-cpp.yml
source
2020-07-30 19:51:30 +02:00
ShorkarMael
888a6eee19 Update c-cpp.yml
test
2020-07-30 19:46:35 +02:00
ShorkarMael
76d21c256b Update c-cpp.yml
init
2020-07-30 19:40:31 +02:00
ShorkarMael
fad1337ad5 Update c-cpp.yml
init
2020-07-30 19:37:20 +02:00
ShorkarMael
fce9c66825 Update c-cpp.yml
source
2020-07-30 19:31:32 +02:00
ShorkarMael
cffeb8f14d Update c-cpp.yml
conda setup
2020-07-30 19:26:34 +02:00
ShorkarMael
3363536b08 Update c-cpp.yml
test
2020-07-30 19:23:28 +02:00
ShorkarMael
267e63050c Update c-cpp.yml
test
2020-07-30 19:18:41 +02:00
ShorkarMael
620f3431c6 Update c-cpp.yml
test
2020-07-30 19:09:35 +02:00
ShorkarMael
74471a1123 Update c-cpp.yml
conda changes
2020-07-30 19:03:18 +02:00
ShorkarMael
927c988b09 Merge branch 'mmcif' of https://github.com/Discngine/fpocket into mmcif 2020-07-30 08:36:22 -07:00
ShorkarMael
0a92618189 bug fixes for writing 2020-07-30 08:36:06 -07:00
pschmidtke
06e8ee4ab0 update osx version 2020-07-30 11:37:08 +02:00
pschmidtke
9a7a1d321c shared library update OSX86_64 2020-07-30 11:34:06 +02:00
pschmidtke
f31205a0b8 correct corrupted makefile 2020-07-30 11:29:25 +02:00
Peter Schmidtke
ff35953eb5 Update makefile
enabling proper make fpocket
2020-07-30 11:24:05 +02:00
ShorkarMael
1565cc0701 Merge branch 'mmcif' of https://github.com/Discngine/fpocket into mmcif 2020-07-30 02:15:36 -07:00
ShorkarMael
653472798e writepocket.h upadate 2020-07-30 02:15:31 -07:00
ShorkarMael
bbb138378e Merge branch 'master' into mmcif 2020-07-29 23:16:44 +02:00
ShorkarMael
0e15bc672d added a test for multiple chains as ligand 2020-07-29 13:43:09 -07:00
ShorkarMael
521f6a2701 added mmcif doc and multiple chains as ligand 2020-07-29 10:15:23 -07:00
ShorkarMael
faf35bb9c0 added long chain args and update log 2020-07-23 17:18:41 -07:00
ShorkarMael
98fdedb1c5 tests for mmcif added 2020-07-23 09:14:33 -07:00
ShorkarMael
e635a3e359 PYMOL and VMD reading special 2020-07-23 02:07:48 -07:00
ShorkarMael
70917d144b documentation on writing params 2020-07-22 09:25:31 -07:00
ShorkarMael
5b177bc7bd write mode selection 2020-07-22 09:14:26 -07:00
ShorkarMael
01b2099469 writing mmcif fonctionnal and separate pockets 2020-07-22 05:16:21 -07:00
ShorkarMael
ae1f26089c insertion code reading 2020-07-17 05:01:36 -07:00
ShorkarMael
fca9e379c5 longer chain names 2020-07-17 01:18:55 -07:00
ShorkarMael
3ef844937b take into account 2 letters chain names 2020-07-16 11:31:45 -07:00
ShorkarMael
6b87b664ab show info 2020-07-16 02:28:30 -07:00
ShorkarMael
81618554df updated pdbxplugin 2020-07-16 02:12:02 -07:00
ShorkarMael
78a6e541fb added missing sample 2020-07-15 06:42:38 -07:00
ShorkarMael
4287ca1a27 added file format detection in main 2020-07-15 06:36:21 -07:00
ShorkarMael
d0e25956ab fatal error fixed 2020-07-13 09:01:34 -07:00
ShorkarMael
62d1a12438 mmcif_reading works but outputs fatal error 2020-07-13 07:58:46 -07:00
ShorkarMael
e82a452044 molfile_plugin src modif 2020-07-08 15:46:15 -07:00
Peter Schmidtke
de94aada19 Merge pull request #51 from Discngine/explicit-pocket
Explicit pocket and keep chains
2020-07-08 11:28:54 +02:00
ShorkarMael
858073a4e1 fixed typo and deleted mod 2POR 2020-07-05 11:53:26 -07:00
ShorkarMael
93772970c9 deleted the prints 2020-07-03 17:44:01 -07:00
ShorkarMael
f0e7efa86d small changes 2020-07-03 17:03:16 -07:00
ShorkarMael
642bc8f12b reading mmcif with read_mmcif.c 2020-07-03 02:47:32 -07:00
ShorkarMael
e5b2d2d9af deleted useless print 2020-06-25 09:27:06 -07:00
ShorkarMael
294b1a6e07 added doc ,tests and keep chains 2020-06-25 09:21:45 -07:00
ShorkarMael
70de53b855 params added to desciption 2020-06-25 01:38:16 -07:00
ShorkarMael
df613de93a chain as a ligand working (pytest included) 2020-06-24 09:54:54 -07:00
ShorkarMael
7f0b864de2 del the chain chose as ligand 2020-06-22 01:48:45 -07:00
ShorkarMael
370a8aa016 first release explicit chain as ligand 2020-06-18 11:57:03 -07:00
Peter Schmidtke
a0eaccea0a Update c-cpp.yml 2020-06-16 00:00:32 +02:00
Peter Schmidtke
3e96d21c37 Update c-cpp.yml 2020-06-15 23:58:37 +02:00
Peter Schmidtke
e4c728043d Update c-cpp.yml 2020-06-15 23:56:03 +02:00
Peter Schmidtke
fe4dd1c68f Update c-cpp.yml 2020-06-15 23:50:03 +02:00
Peter Schmidtke
846465d8c3 adding pytest to github actions
lilely not working
2020-06-15 23:48:38 +02:00
Peter Schmidtke
a5c7a69125 Update c-cpp.yml 2020-06-15 23:45:08 +02:00
Peter Schmidtke
6e0d0330f3 install netcdf 2020-06-15 23:43:38 +02:00
Peter Schmidtke
0f3bf034ff making only fpocket 2020-06-15 23:37:15 +02:00
Peter Schmidtke
32aaabe217 integration of github actions
linux and mac builds - without netcdf support for now
2020-06-15 23:34:39 +02:00
pschmidtke
5ae071daf4 adding git attributes 2020-06-15 23:27:22 +02:00
Peter Schmidtke
2bfc2a15a6 Merge pull request #46 from Discngine/testToDelete
Test to delete
2020-06-15 23:20:50 +02:00
Peter Schmidtke
2b97e041f7 gitter badge update 2020-06-15 15:49:32 +02:00
ShorkarMael
7766583153 Merge branch 'master' into testToDelete 2020-06-15 02:54:35 -07:00
ShorkarMael
ebcca8a0aa test in the same function 2020-06-15 02:51:09 -07:00
ShorkarMael
7a334f524a added a test for long parameter drop chains 2020-06-15 02:26:09 -07:00
ShorkarMael
546c99a41b fixed the long option for drop chains 2020-06-15 02:12:51 -07:00
ShorkarMael
180e480a4b fixed the 0 pocket issue 2020-06-14 14:13:44 -07:00
pschmidtke
e22d9ae636 dropping deprecated maintainer from dockerfile 2020-06-14 13:28:54 +02:00
Peter Schmidtke
e2f4513ec8 Merge pull request #49 from Discngine/docker
docker file and documentation update
2020-06-13 23:41:11 +02:00
ShorkarMael
23ff71386e documentation update with delete chains 2020-06-12 08:21:13 -07:00
ShorkarMael
ea2dfc4960 test 2P0R 2020-06-11 06:16:47 -07:00
ShorkarMael
cd84135740 Merge branch 'master' into testToDelete 2020-06-11 05:32:46 -07:00
ShorkarMael
110f92f8b5 droping multiple chains 2020-06-11 05:09:34 -07:00
ShorkarMael
fe804441c9 deletes one chain and find pockets works 2020-06-09 07:28:09 -07:00
ShorkarMael
8b1e011254 delete 1 selected chain still has bugs 2020-06-08 16:51:26 -07:00
ShorkarMael
35d3f17520 Merge branch 'testToDelete' of https://github.com/Discngine/fpocket into testToDelete 2020-06-07 07:37:04 -07:00
ShorkarMael
39a447bac6 test1 2020-06-07 07:36:58 -07:00
ShorkarMael
6a54364b67 test 2020-06-02 09:26:03 -07:00
1984 changed files with 577399 additions and 66616 deletions

1
.dockerignore Normal file
View File

@@ -0,0 +1 @@
*.o

2
.gitattributes vendored Normal file
View File

@@ -0,0 +1,2 @@
*.tcl linguist-detectable=false
*.c linguist-detectable=true

28
.github/workflows/c-cpp.yml vendored Normal file
View File

@@ -0,0 +1,28 @@
name: C/C++ CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build-and-test-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: netcdf
run: sudo apt-get install libnetcdf-dev
- name: make
run: make fpocket
- name: Set up Python 3.12
uses: actions/setup-python@v2
with:
python-version: 3.12
- name: create conda environment
run: conda env update -f ./tests/environment.yml
- name : activate
run : |
eval "$(conda shell.bash hook)"
conda activate fpocket_test
pytest

1
.gitignore vendored
View File

@@ -5,3 +5,4 @@ src/qhull/bin/
src/qhull/lib/libqhullstatic_r.a
src/qhull/lib/libqhullstatic.a
*.pyc
vmd/plugins

View File

@@ -1,8 +1,6 @@
FROM centos:7
MAINTAINER Peter Schmidtke
#RUN yum -y install epel-release && yum -y update && yum -y install gcc gcc-c++ make netcdf-devel; yum clean all
RUN yum -y install gcc gcc-c++ make netcdf-devel; yum clean all
FROM debian:bookworm-slim
RUN groupadd -r fpocket && useradd --no-log-init -r -g fpocket fpocket
RUN apt update -y && apt install -y gcc g++ make libnetcdf-dev && rm -rf /var/lib/apt/lists/*
# all of this mess is essentially to have a minimalistic build at the end
COPY makefile /opt/fpocket/
@@ -18,8 +16,7 @@ COPY plugins/noarch /opt/fpocket/plugins/noarch
WORKDIR /opt/fpocket
RUN make; make install; make clean
WORKDIR /WORKDIR
RUN make && make install && make clean
USER fpocket
WORKDIR /tmp
CMD ["fpocket"]

22
Dockerfile-debian-slim Normal file
View File

@@ -0,0 +1,22 @@
FROM debian:bookworm-slim
RUN groupadd -r fpocket && useradd --no-log-init -r -g fpocket fpocket
RUN apt update -y && apt install -y gcc g++ make libnetcdf-dev && rm -rf /var/lib/apt/lists/*
# all of this mess is essentially to have a minimalistic build at the end
COPY makefile /opt/fpocket/
COPY src /opt/fpocket/src
COPY man /opt/fpocket/man
COPY headers /opt/fpocket/headers
COPY obj /opt/fpocket/obj
COPY scripts /opt/fpocket/scripts
COPY bin /opt/fpocket/bin
COPY plugins/LINUXAMD64 /opt/fpocket/plugins/LINUXAMD64
COPY plugins/include /opt/fpocket/plugins/include
COPY plugins/noarch /opt/fpocket/plugins/noarch
WORKDIR /opt/fpocket
RUN make && make install && make clean
USER fpocket
WORKDIR /tmp
CMD ["fpocket"]

29
Dockerfile-molfile-debug Normal file
View File

@@ -0,0 +1,29 @@
FROM ubuntu:latest
RUN groupadd -r fpocket && useradd --no-log-init -r -g fpocket fpocket
ENV DEBIAN_FRONTEND=noninteractive
ENV PLUGINDIR=compiled
RUN apt update -y && apt install -y vim gdb gcc g++ make libnetcdf-dev && rm -rf /var/lib/apt/lists/*
# all of this mess is essentially to have a minimalistic build at the end
COPY vmd /vmd
WORKDIR /vmd/plugins
RUN make LINUXAMD64 && make distrib
COPY makefile /opt/fpocket/
COPY src /opt/fpocket/src
COPY data/sample /opt/fpocket/sample
COPY man /opt/fpocket/man
COPY headers /opt/fpocket/headers
COPY obj /opt/fpocket/obj
COPY scripts /opt/fpocket/scripts
COPY bin /opt/fpocket/bin
COPY plugins/LINUXAMD64 /opt/fpocket/plugins/LINUXAMD64
COPY plugins/include /opt/fpocket/plugins/include
COPY plugins/noarch /opt/fpocket/plugins/noarch
WORKDIR /opt/fpocket
RUN cp -r /vmd/plugins/molfile_plugin/compiled/LINUXAMD64/molfile/* plugins/LINUXAMD64/molfile/
#RUN make && make install && make clean
USER fpocket
WORKDIR /tmp
CMD ["fpocket"]

View File

@@ -2,8 +2,7 @@
![fpocket logo](doc/images/fpocket_logo.png)
[![Build Status](https://dev.azure.com/3decision/fpocket/_apis/build/status/Discngine.fpocket?branchName=master)](https://dev.azure.com/3decision/fpocket/_build/latest?definitionId=2&branchName=master)
[![Join the chat at https://gitter.im/fpocket/community](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/fpocket/community?utm_source=badge&utm_medium=badge&utm_content=badge)
[![Join the chat at https://gitter.im/fpocket/community](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/fpocket-official/community?utm_source=badge&utm_medium=badge&utm_content=badge)
The fpocket suite of programs is a very fast open source protein pocket detection algorithm based on Voronoi tessellation. The platform is suited for the scientific community willing to develop new scoring functions and extract pocket descriptors on a large scale level.
@@ -19,6 +18,8 @@ The documentation below here is just a quick & rough overview.
## What's new compared to fpocket 2.0 (old sourceforge repo)
__fpocket__:
- fpocket now supports mmCIF as input and output format together with the classical PDB format
- support was added to define / delete and handle protein chains or sets of them to enable characterization of protein protein binding epitopes
- is now able to consider explicit pockets when you want to calculate properties for a known binding site
- cli changed a bit
- pocket flexibility using temperature factors is better considered (less very flexible pockets on very solvent exposed areas)
@@ -80,10 +81,10 @@ docker build -t fpocket/fpocket .
This will build fpocket into your local fpocket/fpocket image. You can then run fpocket/mdpocket etc using:
```bash
docker run -v `pwd`:/WORKDIR fpocket/fpocket fpocket -f data/sample/1UYD.pdb
docker run -v `pwd`:/workdir fpocket/fpocket fpocket -f /workdir/yourfile.pdb
```
Here you mount your current directory with your input files into the preconfigured `/WORKDIR` in the docker container and then run fpocket on a file in that mounted folder.
Here you mount your current directory with your input files into the preconfigured `/workdir` in the docker container and then run fpocket on a file in that mounted folder. Make sure that the folder is writeable to others if you run it through docker.
### Installing
@@ -106,6 +107,11 @@ make ARCH=MACOSXX86_64
sudo make install
```
For M1 and M2, use the MACOSXARM64 architecture:
```
ARCH=MACOSXARM64 make
```
#### Using conda
There's also a conda package of fpocket available thanks to Simon Bray. You can install fpocket using conda with:
@@ -153,6 +159,11 @@ You can run fpocket using the following command line as an example:
fpocket -f 1uyd.pdb
```
fpocket now also eats cif as input, so this would work as well. Make sure to use proper file extensions
```bash
fpocket -f 1uyd.cif
```
This will detect all pockets on the input pdb file, named 1uyd.pdb
If you want to get all command line args for fpocket, simply type `fpocket``
@@ -175,7 +186,7 @@ Please read [CONTRIBUTING.md](https://gist.github.com/PurpleBooth/b24679402957c6
* **Peter Schmidtke** - *Initial work* - [pschmidtke](https://github.com/pschmidtke)
* **Vincent Le Guilloux** - *Initial work* - [leguilv](https://github.com/leguilv)
* **Mael Shorkar** - *Chain handling* - [leguilv](https://github.com/shorkarmael)
* **Mael Shorkar** - *Chain handling, MMCIF support* - [shorkarmael](https://github.com/shorkarmael)
## License

View File

@@ -30,7 +30,7 @@ jobs:
- job: build_and_test_mac
pool:
vmImage: 'macOS-10.14'
vmImage: 'macOS-10.15'
steps:
- bash: sudo chown -R $USER $CONDA
- script: conda env create --file tests/environment.yml --name fpocket_test

9565
data/sample/123abc.cif Normal file

File diff suppressed because it is too large Load Diff

4894
data/sample/1QNH.cif Normal file

File diff suppressed because it is too large Load Diff

3678
data/sample/1UYD.cif Normal file

File diff suppressed because it is too large Load Diff

1969
data/sample/1UYD_wrote.cif Normal file

File diff suppressed because it is too large Load Diff

1952
data/sample/1UYD_wrote.pdb Normal file

File diff suppressed because it is too large Load Diff

8291
data/sample/1g50.cif Normal file

File diff suppressed because it is too large Load Diff

6764
data/sample/1g50.pdb Normal file

File diff suppressed because it is too large Load Diff

1555
data/sample/1orc.cif Normal file

File diff suppressed because it is too large Load Diff

877
data/sample/1orc.pdb Normal file
View File

@@ -0,0 +1,877 @@
HEADER GENE REGULATING PROTEIN 30-OCT-95 1ORC
TITLE CRO REPRESSOR INSERTION MUTANT K56-[DGEVK]
COMPND MOL_ID: 1;
COMPND 2 MOLECULE: CRO REPRESSOR INSERTION MUTANT K56-[DGEVK];
COMPND 3 CHAIN: A;
COMPND 4 ENGINEERED: YES;
COMPND 5 MUTATION: YES;
COMPND 6 OTHER_DETAILS: RESULTS IN A 71-RESIDUE STABLE "MONOMER"
COMPND 7 MUTANT
SOURCE MOL_ID: 1;
SOURCE 2 ORGANISM_SCIENTIFIC: ENTEROBACTERIA PHAGE LAMBDA;
SOURCE 3 ORGANISM_TAXID: 10710;
SOURCE 4 GENE: CRO MUTANT K56-[DGEVK];
SOURCE 5 EXPRESSION_SYSTEM: ESCHERICHIA COLI;
SOURCE 6 EXPRESSION_SYSTEM_TAXID: 562;
SOURCE 7 EXPRESSION_SYSTEM_GENE: CRO MUTANT K56-[DGEVK]
KEYWDS GENE REGULATING PROTEIN
EXPDTA X-RAY DIFFRACTION
AUTHOR R.A.ALBRIGHT,M.C.MOSSING,B.W.MATTHEWS
REVDAT 2 24-FEB-09 1ORC 1 VERSN
REVDAT 1 23-DEC-96 1ORC 0
JRNL AUTH R.A.ALBRIGHT,M.C.MOSSING,B.W.MATTHEWS
JRNL TITL HIGH-RESOLUTION STRUCTURE OF AN ENGINEERED CRO
JRNL TITL 2 MONOMER SHOWS CHANGES IN CONFORMATION RELATIVE TO
JRNL TITL 3 THE NATIVE DIMER.
JRNL REF BIOCHEMISTRY V. 35 735 1996
JRNL REFN ISSN 0006-2960
JRNL PMID 8547253
JRNL DOI 10.1021/BI951958N
REMARK 1
REMARK 1 REFERENCE 1
REMARK 1 AUTH M.C.MOSSING,R.T.SAUER
REMARK 1 TITL STABLE, MONOMERIC VARIANTS OF LAMBDA CRO OBTAINED
REMARK 1 TITL 2 BY INSERTION OF A DESIGNED BETA-HAIRPIN SEQUENCE
REMARK 1 REF SCIENCE V. 250 1712 1990
REMARK 1 REFN ISSN 0036-8075
REMARK 2
REMARK 2 RESOLUTION. 1.54 ANGSTROMS.
REMARK 3
REMARK 3 REFINEMENT.
REMARK 3 PROGRAM : TNT
REMARK 3 AUTHORS : TRONRUD,TEN EYCK,MATTHEWS
REMARK 3
REMARK 3 DATA USED IN REFINEMENT.
REMARK 3 RESOLUTION RANGE HIGH (ANGSTROMS) : 1.54
REMARK 3 RESOLUTION RANGE LOW (ANGSTROMS) : 20.00
REMARK 3 DATA CUTOFF (SIGMA(F)) : 0.000
REMARK 3 COMPLETENESS FOR RANGE (%) : NULL
REMARK 3 NUMBER OF REFLECTIONS : 9834
REMARK 3
REMARK 3 USING DATA ABOVE SIGMA CUTOFF.
REMARK 3 CROSS-VALIDATION METHOD : NULL
REMARK 3 FREE R VALUE TEST SET SELECTION : NULL
REMARK 3 R VALUE (WORKING + TEST SET) : NULL
REMARK 3 R VALUE (WORKING SET) : 0.178
REMARK 3 FREE R VALUE : NULL
REMARK 3 FREE R VALUE TEST SET SIZE (%) : NULL
REMARK 3 FREE R VALUE TEST SET COUNT : NULL
REMARK 3
REMARK 3 USING ALL DATA, NO SIGMA CUTOFF.
REMARK 3 R VALUE (WORKING + TEST SET, NO CUTOFF) : NULL
REMARK 3 R VALUE (WORKING SET, NO CUTOFF) : 0.1780
REMARK 3 FREE R VALUE (NO CUTOFF) : NULL
REMARK 3 FREE R VALUE TEST SET SIZE (%, NO CUTOFF) : NULL
REMARK 3 FREE R VALUE TEST SET COUNT (NO CUTOFF) : NULL
REMARK 3 TOTAL NUMBER OF REFLECTIONS (NO CUTOFF) : 9834
REMARK 3
REMARK 3 NUMBER OF NON-HYDROGEN ATOMS USED IN REFINEMENT.
REMARK 3 PROTEIN ATOMS : 500
REMARK 3 NUCLEIC ACID ATOMS : 0
REMARK 3 HETEROGEN ATOMS : 0
REMARK 3 SOLVENT ATOMS : 59
REMARK 3
REMARK 3 WILSON B VALUE (FROM FCALC, A**2) : NULL
REMARK 3
REMARK 3 RMS DEVIATIONS FROM IDEAL VALUES. RMS WEIGHT COUNT
REMARK 3 BOND LENGTHS (A) : 0.015 ; NULL ; NULL
REMARK 3 BOND ANGLES (DEGREES) : 2.300 ; NULL ; NULL
REMARK 3 TORSION ANGLES (DEGREES) : NULL ; NULL ; NULL
REMARK 3 PSEUDOROTATION ANGLES (DEGREES) : NULL ; NULL ; NULL
REMARK 3 TRIGONAL CARBON PLANES (A) : NULL ; NULL ; NULL
REMARK 3 GENERAL PLANES (A) : NULL ; NULL ; NULL
REMARK 3 ISOTROPIC THERMAL FACTORS (A**2) : NULL ; NULL ; NULL
REMARK 3 NON-BONDED CONTACTS (A) : NULL ; NULL ; NULL
REMARK 3
REMARK 3 INCORRECT CHIRAL-CENTERS (COUNT) : NULL
REMARK 3
REMARK 3 BULK SOLVENT MODELING.
REMARK 3 METHOD USED : NULL
REMARK 3 KSOL : NULL
REMARK 3 BSOL : NULL
REMARK 3
REMARK 3 RESTRAINT LIBRARIES.
REMARK 3 STEREOCHEMISTRY : NULL
REMARK 3 ISOTROPIC THERMAL FACTOR RESTRAINTS : NULL
REMARK 3
REMARK 3 OTHER REFINEMENT REMARKS: BOTH TERMINI OF CRO K56-[DGEVK]ARE
REMARK 3 DISORDERED. RESIDUES 1, 2, 62, 63, 64, 65, AND 66 HAVE NO
REMARK 3 INTERPRETABLE DENSITY AND ARE NOT INCLUDED IN THE MODEL.
REMARK 3 RESIDUES 3 AND 61 EXTEN AWAY FROM THE GLOBULAR PORTION OF THE
REMARK 3 MOLECULE AND ARE MOST PROBABLY IN MULTIPLE CONFORMATIONS. THE
REMARK 3 GLOBULAR PORTION OF THE MOLECULE (RESIDUES 4 - 59) IS
REMARK 3 EXCEPTIONALLY WELL-DEFINED IN THE DENSITY.
REMARK 4
REMARK 4 1ORC COMPLIES WITH FORMAT V. 3.15, 01-DEC-08
REMARK 100
REMARK 100 THIS ENTRY HAS BEEN PROCESSED BY BNL.
REMARK 200
REMARK 200 EXPERIMENTAL DETAILS
REMARK 200 EXPERIMENT TYPE : X-RAY DIFFRACTION
REMARK 200 DATE OF DATA COLLECTION : 26-SEP-93
REMARK 200 TEMPERATURE (KELVIN) : NULL
REMARK 200 PH : NULL
REMARK 200 NUMBER OF CRYSTALS USED : NULL
REMARK 200
REMARK 200 SYNCHROTRON (Y/N) : N
REMARK 200 RADIATION SOURCE : NULL
REMARK 200 BEAMLINE : NULL
REMARK 200 X-RAY GENERATOR MODEL : NULL
REMARK 200 MONOCHROMATIC OR LAUE (M/L) : M
REMARK 200 WAVELENGTH OR RANGE (A) : 1.5418
REMARK 200 MONOCHROMATOR : NULL
REMARK 200 OPTICS : NULL
REMARK 200
REMARK 200 DETECTOR TYPE : AREA DETECTOR
REMARK 200 DETECTOR MANUFACTURER : XUONG-HAMLIN MULTIWIRE
REMARK 200 INTENSITY-INTEGRATION SOFTWARE : SDMS
REMARK 200 DATA SCALING SOFTWARE : NULL
REMARK 200
REMARK 200 NUMBER OF UNIQUE REFLECTIONS : 9834
REMARK 200 RESOLUTION RANGE HIGH (A) : NULL
REMARK 200 RESOLUTION RANGE LOW (A) : NULL
REMARK 200 REJECTION CRITERIA (SIGMA(I)) : 0.000
REMARK 200
REMARK 200 OVERALL.
REMARK 200 COMPLETENESS FOR RANGE (%) : 95.8
REMARK 200 DATA REDUNDANCY : 4.600
REMARK 200 R MERGE (I) : 0.02900
REMARK 200 R SYM (I) : NULL
REMARK 200 <I/SIGMA(I)> FOR THE DATA SET : NULL
REMARK 200
REMARK 200 IN THE HIGHEST RESOLUTION SHELL.
REMARK 200 HIGHEST RESOLUTION SHELL, RANGE HIGH (A) : NULL
REMARK 200 HIGHEST RESOLUTION SHELL, RANGE LOW (A) : NULL
REMARK 200 COMPLETENESS FOR SHELL (%) : NULL
REMARK 200 DATA REDUNDANCY IN SHELL : NULL
REMARK 200 R MERGE FOR SHELL (I) : NULL
REMARK 200 R SYM FOR SHELL (I) : NULL
REMARK 200 <I/SIGMA(I)> FOR SHELL : NULL
REMARK 200
REMARK 200 DIFFRACTION PROTOCOL: NULL
REMARK 200 METHOD USED TO DETERMINE THE STRUCTURE: NULL
REMARK 200 SOFTWARE USED: NULL
REMARK 200 STARTING MODEL: NULL
REMARK 200
REMARK 200 REMARK: NULL
REMARK 280
REMARK 280 CRYSTAL
REMARK 280 SOLVENT CONTENT, VS (%): 40.87
REMARK 280 MATTHEWS COEFFICIENT, VM (ANGSTROMS**3/DA): 2.08
REMARK 280
REMARK 280 CRYSTALLIZATION CONDITIONS: NULL
REMARK 290
REMARK 290 CRYSTALLOGRAPHIC SYMMETRY
REMARK 290 SYMMETRY OPERATORS FOR SPACE GROUP: P 21 21 21
REMARK 290
REMARK 290 SYMOP SYMMETRY
REMARK 290 NNNMMM OPERATOR
REMARK 290 1555 X,Y,Z
REMARK 290 2555 -X+1/2,-Y,Z+1/2
REMARK 290 3555 -X,Y+1/2,-Z+1/2
REMARK 290 4555 X+1/2,-Y+1/2,-Z
REMARK 290
REMARK 290 WHERE NNN -> OPERATOR NUMBER
REMARK 290 MMM -> TRANSLATION VECTOR
REMARK 290
REMARK 290 CRYSTALLOGRAPHIC SYMMETRY TRANSFORMATIONS
REMARK 290 THE FOLLOWING TRANSFORMATIONS OPERATE ON THE ATOM/HETATM
REMARK 290 RECORDS IN THIS ENTRY TO PRODUCE CRYSTALLOGRAPHICALLY
REMARK 290 RELATED MOLECULES.
REMARK 290 SMTRY1 1 1.000000 0.000000 0.000000 0.00000
REMARK 290 SMTRY2 1 0.000000 1.000000 0.000000 0.00000
REMARK 290 SMTRY3 1 0.000000 0.000000 1.000000 0.00000
REMARK 290 SMTRY1 2 -1.000000 0.000000 0.000000 17.38500
REMARK 290 SMTRY2 2 0.000000 -1.000000 0.000000 0.00000
REMARK 290 SMTRY3 2 0.000000 0.000000 1.000000 24.15500
REMARK 290 SMTRY1 3 -1.000000 0.000000 0.000000 0.00000
REMARK 290 SMTRY2 3 0.000000 1.000000 0.000000 19.58500
REMARK 290 SMTRY3 3 0.000000 0.000000 -1.000000 24.15500
REMARK 290 SMTRY1 4 1.000000 0.000000 0.000000 17.38500
REMARK 290 SMTRY2 4 0.000000 -1.000000 0.000000 19.58500
REMARK 290 SMTRY3 4 0.000000 0.000000 -1.000000 0.00000
REMARK 290
REMARK 290 REMARK: NULL
REMARK 300
REMARK 300 BIOMOLECULE: 1
REMARK 300 SEE REMARK 350 FOR THE AUTHOR PROVIDED AND/OR PROGRAM
REMARK 300 GENERATED ASSEMBLY INFORMATION FOR THE STRUCTURE IN
REMARK 300 THIS ENTRY. THE REMARK MAY ALSO PROVIDE INFORMATION ON
REMARK 300 BURIED SURFACE AREA.
REMARK 350
REMARK 350 COORDINATES FOR A COMPLETE MULTIMER REPRESENTING THE KNOWN
REMARK 350 BIOLOGICALLY SIGNIFICANT OLIGOMERIZATION STATE OF THE
REMARK 350 MOLECULE CAN BE GENERATED BY APPLYING BIOMT TRANSFORMATIONS
REMARK 350 GIVEN BELOW. BOTH NON-CRYSTALLOGRAPHIC AND
REMARK 350 CRYSTALLOGRAPHIC OPERATIONS ARE GIVEN.
REMARK 350
REMARK 350 BIOMOLECULE: 1
REMARK 350 AUTHOR DETERMINED BIOLOGICAL UNIT: MONOMERIC
REMARK 350 APPLY THE FOLLOWING TO CHAINS: A
REMARK 350 BIOMT1 1 1.000000 0.000000 0.000000 0.00000
REMARK 350 BIOMT2 1 0.000000 1.000000 0.000000 0.00000
REMARK 350 BIOMT3 1 0.000000 0.000000 1.000000 0.00000
REMARK 465
REMARK 465 MISSING RESIDUES
REMARK 465 THE FOLLOWING RESIDUES WERE NOT LOCATED IN THE
REMARK 465 EXPERIMENT. (M=MODEL NUMBER; RES=RESIDUE NAME; C=CHAIN
REMARK 465 IDENTIFIER; SSSEQ=SEQUENCE NUMBER; I=INSERTION CODE.)
REMARK 465
REMARK 465 M RES C SSSEQI
REMARK 465 MET A 1
REMARK 465 GLU A 2
REMARK 465 LYS A 62
REMARK 465 LYS A 63
REMARK 465 THR A 64
REMARK 465 THR A 65
REMARK 465 ALA A 66
REMARK 470
REMARK 470 MISSING ATOM
REMARK 470 THE FOLLOWING RESIDUES HAVE MISSING ATOMS(M=MODEL NUMBER;
REMARK 470 RES=RESIDUE NAME; C=CHAIN IDENTIFIER; SSEQ=SEQUENCE NUMBER;
REMARK 470 I=INSERTION CODE):
REMARK 470 M RES CSSEQI ATOMS
REMARK 470 LYS A 21 CG CD CE NZ
REMARK 500
REMARK 500 GEOMETRY AND STEREOCHEMISTRY
REMARK 500 SUBTOPIC: COVALENT BOND LENGTHS
REMARK 500
REMARK 500 THE STEREOCHEMICAL PARAMETERS OF THE FOLLOWING RESIDUES
REMARK 500 HAVE VALUES WHICH DEVIATE FROM EXPECTED VALUES BY MORE
REMARK 500 THAN 6*RMSD (M=MODEL NUMBER; RES=RESIDUE NAME; C=CHAIN
REMARK 500 IDENTIFIER; SSEQ=SEQUENCE NUMBER; I=INSERTION CODE).
REMARK 500
REMARK 500 STANDARD TABLE:
REMARK 500 FORMAT: (10X,I3,1X,2(A3,1X,A1,I4,A1,1X,A4,3X),1X,F6.3)
REMARK 500
REMARK 500 EXPECTED VALUES PROTEIN: ENGH AND HUBER, 1999
REMARK 500 EXPECTED VALUES NUCLEIC ACID: CLOWNEY ET AL 1996
REMARK 500
REMARK 500 M RES CSSEQI ATM1 RES CSSEQI ATM2 DEVIATION
REMARK 500 GLU A 54 CD GLU A 54 OE2 0.069
REMARK 500
REMARK 500 REMARK: NULL
REMARK 500
REMARK 500 GEOMETRY AND STEREOCHEMISTRY
REMARK 500 SUBTOPIC: COVALENT BOND ANGLES
REMARK 500
REMARK 500 THE STEREOCHEMICAL PARAMETERS OF THE FOLLOWING RESIDUES
REMARK 500 HAVE VALUES WHICH DEVIATE FROM EXPECTED VALUES BY MORE
REMARK 500 THAN 6*RMSD (M=MODEL NUMBER; RES=RESIDUE NAME; C=CHAIN
REMARK 500 IDENTIFIER; SSEQ=SEQUENCE NUMBER; I=INSERTION CODE).
REMARK 500
REMARK 500 STANDARD TABLE:
REMARK 500 FORMAT: (10X,I3,1X,A3,1X,A1,I4,A1,3(1X,A4,2X),12X,F5.1)
REMARK 500
REMARK 500 EXPECTED VALUES PROTEIN: ENGH AND HUBER, 1999
REMARK 500 EXPECTED VALUES NUCLEIC ACID: CLOWNEY ET AL 1996
REMARK 500
REMARK 500 M RES CSSEQI ATM1 ATM2 ATM3
REMARK 500 ASP A 9 CB - CG - OD2 ANGL. DEV. = -5.6 DEGREES
REMARK 500 ASP A 47 CB - CG - OD1 ANGL. DEV. = 6.5 DEGREES
REMARK 500 ASP A 47 CB - CG - OD2 ANGL. DEV. = -5.5 DEGREES
REMARK 500 ASP A 56A CB - CG - OD2 ANGL. DEV. = -6.3 DEGREES
REMARK 500
REMARK 500 REMARK: NULL
REMARK 525
REMARK 525 SOLVENT
REMARK 525
REMARK 525 THE SOLVENT MOLECULES HAVE CHAIN IDENTIFIERS THAT
REMARK 525 INDICATE THE POLYMER CHAIN WITH WHICH THEY ARE MOST
REMARK 525 CLOSELY ASSOCIATED. THE REMARK LISTS ALL THE SOLVENT
REMARK 525 MOLECULES WHICH ARE MORE THAN 5A AWAY FROM THE
REMARK 525 NEAREST POLYMER CHAIN (M = MODEL NUMBER;
REMARK 525 RES=RESIDUE NAME; C=CHAIN IDENTIFIER; SSEQ=SEQUENCE
REMARK 525 NUMBER; I=INSERTION CODE):
REMARK 525
REMARK 525 M RES CSSEQI
REMARK 525 HOH A 148 DISTANCE = 5.42 ANGSTROMS
DBREF 1ORC A 1 66 UNP P03040 RCRO_LAMBD 1 66
SEQADV 1ORC GLU A 54 UNP P03040 INSERTION
SEQADV 1ORC VAL A 55 UNP P03040 INSERTION
SEQADV 1ORC LYS A 56 UNP P03040 INSERTION
SEQADV 1ORC ASP A 56A UNP P03040 INSERTION
SEQADV 1ORC GLY A 56B UNP P03040 INSERTION
SEQRES 1 A 71 MET GLU GLN ARG ILE THR LEU LYS ASP TYR ALA MET ARG
SEQRES 2 A 71 PHE GLY GLN THR LYS THR ALA LYS ASP LEU GLY VAL TYR
SEQRES 3 A 71 GLN SER ALA ILE ASN LYS ALA ILE HIS ALA GLY ARG LYS
SEQRES 4 A 71 ILE PHE LEU THR ILE ASN ALA ASP GLY SER VAL TYR ALA
SEQRES 5 A 71 GLU GLU VAL LYS ASP GLY GLU VAL LYS PRO PHE PRO SER
SEQRES 6 A 71 ASN LYS LYS THR THR ALA
FORMUL 2 HOH *57(H2 O)
HELIX 1 1 LEU A 7 PHE A 14 1 8
HELIX 2 2 GLN A 16 LEU A 23 1 8
HELIX 3 3 GLN A 27 HIS A 35 1 9
SHEET 1 A 3 LYS A 39 ILE A 44 0
SHEET 2 A 3 VAL A 50 LYS A 56 -1 N VAL A 55 O LYS A 39
SHEET 3 A 3 GLU A 56C PRO A 57 -1 N LYS A 56E O GLU A 54
CISPEP 1 PHE A 58 PRO A 59 0 -0.65
CRYST1 34.770 39.170 48.310 90.00 90.00 90.00 P 21 21 21 4
ORIGX1 1.000000 0.000000 0.000000 0.00000
ORIGX2 0.000000 1.000000 0.000000 0.00000
ORIGX3 0.000000 0.000000 1.000000 0.00000
SCALE1 0.028760 0.000000 0.000000 0.00000
SCALE2 0.000000 0.025530 0.000000 0.00000
SCALE3 0.000000 0.000000 0.020700 0.00000
ATOM 1 N GLN A 3 12.772 36.309 7.065 1.00100.00 N
ATOM 2 CA GLN A 3 12.632 37.265 8.163 1.00 48.14 C
ATOM 3 C GLN A 3 13.732 37.165 9.263 1.00 52.27 C
ATOM 4 O GLN A 3 14.053 36.101 9.788 1.00 44.13 O
ATOM 5 CB GLN A 3 11.223 37.222 8.746 1.00 74.94 C
ATOM 6 CG GLN A 3 10.520 38.577 8.616 1.00100.00 C
ATOM 7 CD GLN A 3 10.533 39.326 9.931 1.00100.00 C
ATOM 8 OE1 GLN A 3 9.824 38.926 10.900 1.00100.00 O
ATOM 9 NE2 GLN A 3 11.382 40.376 9.990 1.00 83.72 N
ATOM 10 N ARG A 4 14.321 38.294 9.634 1.00 25.53 N
ATOM 11 CA ARG A 4 15.360 38.275 10.642 1.00 18.68 C
ATOM 12 C ARG A 4 14.763 38.034 12.028 1.00 21.79 C
ATOM 13 O ARG A 4 13.620 38.418 12.306 1.00 21.16 O
ATOM 14 CB ARG A 4 16.095 39.616 10.699 1.00 18.77 C
ATOM 15 CG ARG A 4 16.778 40.003 9.403 1.00 24.51 C
ATOM 16 CD ARG A 4 17.273 41.464 9.421 1.00 32.20 C
ATOM 17 NE ARG A 4 18.202 41.755 8.324 1.00 36.56 N
ATOM 18 CZ ARG A 4 17.806 41.955 7.070 1.00 84.82 C
ATOM 19 NH1 ARG A 4 16.515 41.892 6.756 1.00 46.36 N
ATOM 20 NH2 ARG A 4 18.690 42.219 6.117 1.00 31.29 N
ATOM 21 N ILE A 5 15.549 37.392 12.890 1.00 17.55 N
ATOM 22 CA ILE A 5 15.183 37.125 14.284 1.00 14.87 C
ATOM 23 C ILE A 5 16.203 37.872 15.172 1.00 16.47 C
ATOM 24 O ILE A 5 17.401 37.815 14.843 1.00 17.02 O
ATOM 25 CB ILE A 5 15.285 35.595 14.525 1.00 15.08 C
ATOM 26 CG1 ILE A 5 14.275 34.892 13.658 1.00 40.26 C
ATOM 27 CG2 ILE A 5 15.049 35.246 15.983 1.00 14.47 C
ATOM 28 CD1 ILE A 5 14.495 33.386 13.673 1.00 45.11 C
ATOM 29 N THR A 6 15.800 38.526 16.285 1.00 13.28 N
ATOM 30 CA THR A 6 16.814 39.214 17.093 1.00 11.96 C
ATOM 31 C THR A 6 17.671 38.212 17.779 1.00 14.04 C
ATOM 32 O THR A 6 17.266 37.055 17.907 1.00 14.20 O
ATOM 33 CB THR A 6 16.173 40.127 18.156 1.00 14.58 C
ATOM 34 OG1 THR A 6 15.450 39.272 19.028 1.00 17.32 O
ATOM 35 CG2 THR A 6 15.146 41.042 17.451 1.00 14.30 C
ATOM 36 N LEU A 7 18.849 38.618 18.202 1.00 13.73 N
ATOM 37 CA LEU A 7 19.728 37.670 18.894 1.00 13.16 C
ATOM 38 C LEU A 7 19.041 37.135 20.139 1.00 15.87 C
ATOM 39 O LEU A 7 19.090 35.912 20.454 1.00 12.79 O
ATOM 40 CB LEU A 7 21.048 38.383 19.263 1.00 12.68 C
ATOM 41 CG LEU A 7 21.982 37.558 20.140 1.00 17.98 C
ATOM 42 CD1 LEU A 7 22.427 36.311 19.389 1.00 20.47 C
ATOM 43 CD2 LEU A 7 23.218 38.409 20.407 1.00 18.75 C
ATOM 44 N LYS A 8 18.371 38.033 20.873 1.00 14.10 N
ATOM 45 CA LYS A 8 17.689 37.619 22.103 1.00 14.00 C
ATOM 46 C LYS A 8 16.593 36.611 21.795 1.00 19.65 C
ATOM 47 O LYS A 8 16.429 35.627 22.507 1.00 19.85 O
ATOM 48 CB LYS A 8 17.076 38.822 22.826 1.00 15.93 C
ATOM 49 CG LYS A 8 16.367 38.544 24.133 1.00 20.77 C
ATOM 50 CD LYS A 8 15.511 39.771 24.498 1.00 38.02 C
ATOM 51 CE LYS A 8 15.092 39.901 25.953 1.00 83.24 C
ATOM 52 NZ LYS A 8 14.141 41.009 26.161 1.00 99.56 N
ATOM 53 N ASP A 9 15.797 36.854 20.746 1.00 12.13 N
ATOM 54 CA ASP A 9 14.716 35.901 20.441 1.00 12.04 C
ATOM 55 C ASP A 9 15.261 34.577 19.956 1.00 16.77 C
ATOM 56 O ASP A 9 14.676 33.565 20.239 1.00 17.35 O
ATOM 57 CB ASP A 9 13.754 36.452 19.381 1.00 16.98 C
ATOM 58 CG ASP A 9 12.817 37.489 19.951 1.00 30.47 C
ATOM 59 OD1 ASP A 9 12.548 37.571 21.130 1.00 29.85 O
ATOM 60 OD2 ASP A 9 12.329 38.272 19.045 1.00 30.89 O
ATOM 61 N TYR A 10 16.369 34.570 19.227 1.00 13.45 N
ATOM 62 CA TYR A 10 16.968 33.316 18.763 1.00 12.08 C
ATOM 63 C TYR A 10 17.425 32.470 19.933 1.00 13.52 C
ATOM 64 O TYR A 10 17.190 31.235 19.970 1.00 14.35 O
ATOM 65 CB TYR A 10 18.152 33.638 17.846 1.00 14.33 C
ATOM 66 CG TYR A 10 18.675 32.467 17.052 1.00 13.99 C
ATOM 67 CD1 TYR A 10 19.677 31.649 17.566 1.00 14.46 C
ATOM 68 CD2 TYR A 10 18.162 32.193 15.781 1.00 15.06 C
ATOM 69 CE1 TYR A 10 20.159 30.568 16.820 1.00 14.84 C
ATOM 70 CE2 TYR A 10 18.645 31.118 15.037 1.00 17.89 C
ATOM 71 CZ TYR A 10 19.654 30.307 15.551 1.00 13.52 C
ATOM 72 OH TYR A 10 20.113 29.235 14.810 1.00 18.91 O
ATOM 73 N ALA A 11 18.053 33.115 20.912 1.00 14.43 N
ATOM 74 CA ALA A 11 18.530 32.389 22.104 1.00 17.07 C
ATOM 75 C ALA A 11 17.358 31.828 22.884 1.00 17.90 C
ATOM 76 O ALA A 11 17.431 30.725 23.401 1.00 17.23 O
ATOM 77 CB ALA A 11 19.353 33.293 23.015 1.00 13.38 C
ATOM 78 N MET A 12 16.267 32.569 22.941 1.00 13.72 N
ATOM 79 CA MET A 12 15.110 32.087 23.658 1.00 13.95 C
ATOM 80 C MET A 12 14.489 30.885 22.958 1.00 16.33 C
ATOM 81 O MET A 12 13.821 30.024 23.529 1.00 15.90 O
ATOM 82 CB MET A 12 14.085 33.240 23.737 1.00 16.34 C
ATOM 83 CG MET A 12 14.166 34.057 24.981 1.00 55.28 C
ATOM 84 SD MET A 12 13.007 35.441 24.890 1.00100.00 S
ATOM 85 CE MET A 12 13.748 36.594 26.079 1.00 98.88 C
ATOM 86 N ARG A 13 14.591 30.843 21.623 1.00 14.91 N
ATOM 87 CA ARG A 13 14.011 29.725 20.874 1.00 13.59 C
ATOM 88 C ARG A 13 14.894 28.499 20.818 1.00 14.85 C
ATOM 89 O ARG A 13 14.377 27.403 20.833 1.00 16.17 O
ATOM 90 CB ARG A 13 13.631 30.085 19.422 1.00 13.23 C
ATOM 91 CG ARG A 13 12.343 30.937 19.399 1.00 25.46 C
ATOM 92 CD ARG A 13 12.232 31.960 18.236 1.00 26.76 C
ATOM 93 NE ARG A 13 10.993 32.722 18.331 1.00 32.94 N
ATOM 94 CZ ARG A 13 10.675 33.572 19.327 1.00 49.00 C
ATOM 95 NH1 ARG A 13 11.504 33.835 20.326 1.00 49.46 N
ATOM 96 NH2 ARG A 13 9.491 34.194 19.329 1.00 62.76 N
ATOM 97 N PHE A 14 16.201 28.679 20.678 1.00 11.35 N
ATOM 98 CA PHE A 14 17.091 27.571 20.478 1.00 12.06 C
ATOM 99 C PHE A 14 18.062 27.296 21.591 1.00 16.73 C
ATOM 100 O PHE A 14 18.752 26.272 21.544 1.00 17.92 O
ATOM 101 CB PHE A 14 17.937 27.839 19.221 1.00 12.10 C
ATOM 102 CG PHE A 14 17.051 27.815 18.032 1.00 21.70 C
ATOM 103 CD1 PHE A 14 16.447 26.617 17.644 1.00 20.65 C
ATOM 104 CD2 PHE A 14 16.771 28.999 17.344 1.00 23.31 C
ATOM 105 CE1 PHE A 14 15.616 26.604 16.530 1.00 30.57 C
ATOM 106 CE2 PHE A 14 15.924 29.013 16.241 1.00 24.51 C
ATOM 107 CZ PHE A 14 15.349 27.803 15.854 1.00 29.75 C
ATOM 108 N GLY A 15 18.187 28.213 22.551 1.00 12.81 N
ATOM 109 CA GLY A 15 19.126 28.023 23.641 1.00 16.07 C
ATOM 110 C GLY A 15 20.448 28.715 23.368 1.00 15.58 C
ATOM 111 O GLY A 15 20.833 28.977 22.216 1.00 15.80 O
ATOM 112 N GLN A 16 21.160 29.060 24.429 1.00 19.00 N
ATOM 113 CA GLN A 16 22.448 29.783 24.302 1.00 23.07 C
ATOM 114 C GLN A 16 23.545 28.961 23.693 1.00 19.82 C
ATOM 115 O GLN A 16 24.387 29.465 22.952 1.00 22.09 O
ATOM 116 CB GLN A 16 22.898 30.455 25.608 1.00 31.37 C
ATOM 117 CG GLN A 16 21.973 31.648 25.860 1.00 44.42 C
ATOM 118 CD GLN A 16 22.477 32.563 26.928 1.00 89.98 C
ATOM 119 OE1 GLN A 16 21.674 33.132 27.677 1.00100.00 O
ATOM 120 NE2 GLN A 16 23.797 32.701 27.003 1.00 83.25 N
ATOM 121 N THR A 17 23.503 27.676 23.943 1.00 14.81 N
ATOM 122 CA THR A 17 24.522 26.836 23.410 1.00 14.49 C
ATOM 123 C THR A 17 24.469 26.755 21.886 1.00 18.16 C
ATOM 124 O THR A 17 25.485 26.941 21.176 1.00 18.87 O
ATOM 125 CB THR A 17 24.387 25.482 24.095 1.00 29.61 C
ATOM 126 OG1 THR A 17 24.840 25.669 25.428 1.00 37.58 O
ATOM 127 CG2 THR A 17 25.221 24.420 23.405 1.00 37.41 C
ATOM 128 N LYS A 18 23.271 26.451 21.353 1.00 15.02 N
ATOM 129 CA LYS A 18 23.171 26.378 19.902 1.00 14.97 C
ATOM 130 C LYS A 18 23.473 27.761 19.265 1.00 19.02 C
ATOM 131 O LYS A 18 24.128 27.857 18.233 1.00 17.30 O
ATOM 132 CB LYS A 18 21.799 25.902 19.488 1.00 15.62 C
ATOM 133 CG LYS A 18 21.565 26.030 17.979 1.00 17.87 C
ATOM 134 CD LYS A 18 20.302 25.331 17.522 1.00 20.77 C
ATOM 135 CE LYS A 18 19.938 25.641 16.061 1.00 21.05 C
ATOM 136 NZ LYS A 18 21.070 25.348 15.174 1.00 23.25 N
ATOM 137 N THR A 19 22.998 28.826 19.929 1.00 13.94 N
ATOM 138 CA THR A 19 23.232 30.176 19.408 1.00 15.11 C
ATOM 139 C THR A 19 24.728 30.452 19.247 1.00 17.10 C
ATOM 140 O THR A 19 25.195 30.883 18.197 1.00 16.28 O
ATOM 141 CB THR A 19 22.562 31.204 20.345 1.00 14.30 C
ATOM 142 OG1 THR A 19 21.163 30.972 20.435 1.00 16.12 O
ATOM 143 CG2 THR A 19 22.748 32.585 19.777 1.00 18.66 C
ATOM 144 N ALA A 20 25.504 30.162 20.312 1.00 15.42 N
ATOM 145 CA ALA A 20 26.961 30.386 20.308 1.00 16.54 C
ATOM 146 C ALA A 20 27.601 29.564 19.216 1.00 18.55 C
ATOM 147 O ALA A 20 28.435 30.047 18.448 1.00 16.40 O
ATOM 148 CB ALA A 20 27.581 30.040 21.665 1.00 18.19 C
ATOM 149 N LYS A 21 27.178 28.327 19.124 1.00 15.87 N
ATOM 150 CA LYS A 21 27.755 27.471 18.068 1.00 14.12 C
ATOM 151 C LYS A 21 27.417 27.978 16.665 1.00 23.53 C
ATOM 152 O LYS A 21 28.261 27.983 15.775 1.00 22.00 O
ATOM 153 CB LYS A 21 27.380 25.988 18.165 1.00 19.74 C
ATOM 154 N ASP A 22 26.163 28.359 16.428 1.00 13.98 N
ATOM 155 CA ASP A 22 25.792 28.797 15.096 1.00 13.60 C
ATOM 156 C ASP A 22 26.555 30.021 14.674 1.00 17.42 C
ATOM 157 O ASP A 22 26.763 30.257 13.483 1.00 18.55 O
ATOM 158 CB ASP A 22 24.285 29.133 15.132 1.00 17.16 C
ATOM 159 CG ASP A 22 23.463 27.892 15.121 1.00 21.24 C
ATOM 160 OD1 ASP A 22 23.956 26.806 14.917 1.00 21.84 O
ATOM 161 OD2 ASP A 22 22.212 28.101 15.342 1.00 21.83 O
ATOM 162 N LEU A 23 26.917 30.836 15.671 1.00 16.70 N
ATOM 163 CA LEU A 23 27.573 32.091 15.415 1.00 17.48 C
ATOM 164 C LEU A 23 29.059 31.985 15.508 1.00 21.83 C
ATOM 165 O LEU A 23 29.783 32.927 15.155 1.00 32.31 O
ATOM 166 CB LEU A 23 27.082 33.234 16.362 1.00 17.26 C
ATOM 167 CG LEU A 23 25.591 33.560 16.187 1.00 21.17 C
ATOM 168 CD1 LEU A 23 25.236 34.773 17.030 1.00 23.34 C
ATOM 169 CD2 LEU A 23 25.395 33.916 14.721 1.00 27.21 C
ATOM 170 N GLY A 24 29.528 30.890 16.014 1.00 19.23 N
ATOM 171 CA GLY A 24 30.950 30.717 16.194 1.00 19.43 C
ATOM 172 C GLY A 24 31.518 31.656 17.260 1.00 25.53 C
ATOM 173 O GLY A 24 32.607 32.153 17.082 1.00 29.65 O
ATOM 174 N VAL A 25 30.822 31.922 18.393 1.00 18.56 N
ATOM 175 CA VAL A 25 31.348 32.806 19.455 1.00 18.47 C
ATOM 176 C VAL A 25 31.227 31.997 20.731 1.00 29.23 C
ATOM 177 O VAL A 25 30.609 30.971 20.707 1.00 35.08 O
ATOM 178 CB VAL A 25 30.567 34.121 19.584 1.00 20.81 C
ATOM 179 CG1 VAL A 25 30.841 34.963 18.347 1.00 28.96 C
ATOM 180 CG2 VAL A 25 29.091 33.779 19.602 1.00 30.28 C
ATOM 181 N TYR A 26 31.767 32.399 21.827 1.00 16.42 N
ATOM 182 CA TYR A 26 31.548 31.539 22.976 1.00 16.61 C
ATOM 183 C TYR A 26 30.335 32.063 23.742 1.00 26.02 C
ATOM 184 O TYR A 26 29.975 33.190 23.562 1.00 20.21 O
ATOM 185 CB TYR A 26 32.816 31.460 23.844 1.00 15.69 C
ATOM 186 CG TYR A 26 33.397 32.834 24.133 1.00 15.36 C
ATOM 187 CD1 TYR A 26 33.008 33.568 25.261 1.00 19.73 C
ATOM 188 CD2 TYR A 26 34.370 33.356 23.286 1.00 20.92 C
ATOM 189 CE1 TYR A 26 33.566 34.821 25.529 1.00 22.18 C
ATOM 190 CE2 TYR A 26 34.915 34.612 23.529 1.00 20.77 C
ATOM 191 CZ TYR A 26 34.528 35.334 24.653 1.00 23.19 C
ATOM 192 OH TYR A 26 35.125 36.565 24.868 1.00 37.78 O
ATOM 193 N GLN A 27 29.724 31.279 24.636 1.00 15.04 N
ATOM 194 CA GLN A 27 28.470 31.644 25.313 1.00 16.50 C
ATOM 195 C GLN A 27 28.439 32.914 26.073 1.00 18.25 C
ATOM 196 O GLN A 27 27.478 33.680 26.054 1.00 21.76 O
ATOM 197 CB GLN A 27 27.876 30.468 26.136 1.00 20.07 C
ATOM 198 CG AGLN A 27 27.570 29.232 25.290 0.50 12.45 C
ATOM 199 CG BGLN A 27 26.388 30.644 26.494 0.50 28.90 C
ATOM 200 CD AGLN A 27 26.956 28.056 26.052 0.50 20.66 C
ATOM 201 CD BGLN A 27 26.083 30.009 27.823 0.50 30.43 C
ATOM 202 OE1AGLN A 27 27.168 26.882 25.699 0.50 22.61 O
ATOM 203 OE1BGLN A 27 25.473 30.610 28.715 0.50 34.69 O
ATOM 204 NE2AGLN A 27 26.206 28.365 27.097 0.50 23.95 N
ATOM 205 NE2BGLN A 27 26.508 28.766 27.938 0.50 41.63 N
ATOM 206 N SER A 28 29.464 33.122 26.809 1.00 15.52 N
ATOM 207 CA SER A 28 29.586 34.339 27.606 1.00 16.10 C
ATOM 208 C SER A 28 29.401 35.614 26.777 1.00 21.89 C
ATOM 209 O SER A 28 28.767 36.563 27.222 1.00 20.41 O
ATOM 210 CB SER A 28 30.919 34.313 28.380 1.00 14.82 C
ATOM 211 OG SER A 28 30.982 35.513 29.123 1.00 26.67 O
ATOM 212 N ALA A 29 29.961 35.637 25.564 1.00 17.59 N
ATOM 213 CA ALA A 29 29.883 36.770 24.667 1.00 17.67 C
ATOM 214 C ALA A 29 28.484 37.014 24.183 1.00 27.65 C
ATOM 215 O ALA A 29 28.089 38.132 23.981 1.00 20.63 O
ATOM 216 CB ALA A 29 30.757 36.537 23.465 1.00 21.94 C
ATOM 217 N ILE A 30 27.751 35.952 23.955 1.00 23.64 N
ATOM 218 CA ILE A 30 26.369 36.053 23.551 1.00 36.96 C
ATOM 219 C ILE A 30 25.512 36.766 24.653 1.00 26.56 C
ATOM 220 O ILE A 30 24.675 37.683 24.424 1.00 21.49 O
ATOM 221 CB ILE A 30 25.777 34.653 23.188 1.00 26.00 C
ATOM 222 CG1 ILE A 30 26.348 34.051 21.899 1.00 22.78 C
ATOM 223 CG2 ILE A 30 24.260 34.754 23.064 1.00 24.42 C
ATOM 224 CD1 ILE A 30 26.113 34.938 20.703 1.00 24.43 C
ATOM 225 N ASN A 31 25.684 36.302 25.886 1.00 26.96 N
ATOM 226 CA ASN A 31 24.929 36.844 27.012 1.00 24.13 C
ATOM 227 C ASN A 31 25.256 38.335 27.274 1.00 17.11 C
ATOM 228 O ASN A 31 24.450 39.220 27.547 1.00 18.57 O
ATOM 229 CB ASN A 31 25.209 35.902 28.208 1.00 28.18 C
ATOM 230 CG ASN A 31 24.270 36.176 29.328 1.00100.00 C
ATOM 231 OD1 ASN A 31 24.697 36.533 30.445 1.00 89.90 O
ATOM 232 ND2 ASN A 31 22.981 36.068 28.999 1.00 64.11 N
ATOM 233 N LYS A 32 26.471 38.639 27.080 1.00 16.17 N
ATOM 234 CA LYS A 32 26.812 40.008 27.294 1.00 17.05 C
ATOM 235 C LYS A 32 26.216 40.905 26.218 1.00 31.66 C
ATOM 236 O LYS A 32 25.732 41.995 26.518 1.00 29.57 O
ATOM 237 CB LYS A 32 28.306 40.081 27.162 1.00 21.07 C
ATOM 238 CG LYS A 32 28.902 41.412 27.606 1.00 52.04 C
ATOM 239 CD LYS A 32 30.396 41.492 27.303 1.00 81.78 C
ATOM 240 CE LYS A 32 31.140 42.468 28.196 1.00100.00 C
ATOM 241 NZ LYS A 32 30.873 43.865 27.856 1.00 43.46 N
ATOM 242 N ALA A 33 26.285 40.437 24.956 1.00 19.80 N
ATOM 243 CA ALA A 33 25.747 41.180 23.787 1.00 21.92 C
ATOM 244 C ALA A 33 24.297 41.500 23.968 1.00 21.92 C
ATOM 245 O ALA A 33 23.806 42.585 23.666 1.00 22.77 O
ATOM 246 CB ALA A 33 25.948 40.430 22.479 1.00 18.69 C
ATOM 247 N ILE A 34 23.591 40.542 24.444 1.00 18.08 N
ATOM 248 CA ILE A 34 22.199 40.740 24.698 1.00 21.87 C
ATOM 249 C ILE A 34 22.059 41.741 25.810 1.00 43.97 C
ATOM 250 O ILE A 34 21.320 42.721 25.716 1.00 33.65 O
ATOM 251 CB ILE A 34 21.594 39.409 25.069 1.00 29.26 C
ATOM 252 CG1 ILE A 34 21.436 38.525 23.825 1.00 21.75 C
ATOM 253 CG2 ILE A 34 20.239 39.555 25.760 1.00 34.93 C
ATOM 254 CD1 ILE A 34 20.948 37.106 24.189 1.00 26.89 C
ATOM 255 N HIS A 35 22.822 41.512 26.856 1.00 29.05 N
ATOM 256 CA HIS A 35 22.815 42.399 28.012 1.00 39.46 C
ATOM 257 C HIS A 35 23.018 43.838 27.625 1.00 23.68 C
ATOM 258 O HIS A 35 22.323 44.672 28.118 1.00 38.17 O
ATOM 259 CB HIS A 35 23.911 42.003 29.015 1.00 30.65 C
ATOM 260 CG HIS A 35 24.280 43.102 29.942 1.00100.00 C
ATOM 261 ND1 HIS A 35 25.418 43.879 29.708 1.00 68.44 N
ATOM 262 CD2 HIS A 35 23.672 43.529 31.112 1.00 35.25 C
ATOM 263 CE1 HIS A 35 25.494 44.750 30.724 1.00100.00 C
ATOM 264 NE2 HIS A 35 24.463 44.573 31.588 1.00 46.69 N
ATOM 265 N ALA A 36 23.981 44.104 26.778 1.00 20.84 N
ATOM 266 CA ALA A 36 24.334 45.408 26.286 1.00 24.23 C
ATOM 267 C ALA A 36 23.305 45.982 25.291 1.00 36.12 C
ATOM 268 O ALA A 36 23.444 47.124 24.846 1.00 33.39 O
ATOM 269 CB ALA A 36 25.665 45.379 25.545 1.00 19.30 C
ATOM 270 N GLY A 37 22.302 45.192 24.903 1.00 24.14 N
ATOM 271 CA GLY A 37 21.290 45.659 23.941 1.00 29.84 C
ATOM 272 C GLY A 37 21.854 46.026 22.565 1.00 35.89 C
ATOM 273 O GLY A 37 21.472 46.990 21.917 1.00 30.09 O
ATOM 274 N ARG A 38 22.782 45.260 22.076 1.00 17.99 N
ATOM 275 CA ARG A 38 23.322 45.550 20.761 1.00 19.82 C
ATOM 276 C ARG A 38 22.220 45.138 19.756 1.00 18.28 C
ATOM 277 O ARG A 38 21.405 44.264 20.065 1.00 20.34 O
ATOM 278 CB ARG A 38 24.653 44.808 20.523 1.00 19.50 C
ATOM 279 CG ARG A 38 25.693 45.271 21.551 1.00 25.48 C
ATOM 280 CD ARG A 38 26.965 44.505 21.472 1.00 24.57 C
ATOM 281 NE ARG A 38 27.490 44.392 20.140 1.00 20.97 N
ATOM 282 CZ ARG A 38 28.580 43.686 19.958 1.00 26.05 C
ATOM 283 NH1 ARG A 38 29.167 43.092 20.984 1.00 23.69 N
ATOM 284 NH2 ARG A 38 29.095 43.570 18.741 1.00 23.73 N
ATOM 285 N LYS A 39 22.188 45.755 18.596 1.00 16.48 N
ATOM 286 CA LYS A 39 21.140 45.482 17.629 1.00 17.09 C
ATOM 287 C LYS A 39 21.666 44.466 16.675 1.00 16.45 C
ATOM 288 O LYS A 39 22.313 44.817 15.683 1.00 18.25 O
ATOM 289 CB LYS A 39 20.764 46.788 16.930 1.00 19.95 C
ATOM 290 CG LYS A 39 20.222 47.767 17.972 1.00 24.06 C
ATOM 291 CD LYS A 39 20.513 49.217 17.614 1.00 32.96 C
ATOM 292 CE LYS A 39 19.981 50.191 18.673 1.00 45.86 C
ATOM 293 NZ LYS A 39 19.454 51.472 18.095 1.00 53.67 N
ATOM 294 N ILE A 40 21.410 43.183 17.021 1.00 13.44 N
ATOM 295 CA ILE A 40 21.938 42.065 16.280 1.00 15.20 C
ATOM 296 C ILE A 40 20.773 41.250 15.766 1.00 13.22 C
ATOM 297 O ILE A 40 19.848 40.929 16.498 1.00 12.59 O
ATOM 298 CB ILE A 40 22.888 41.267 17.200 1.00 10.03 C
ATOM 299 CG1 ILE A 40 24.136 42.108 17.439 1.00 12.39 C
ATOM 300 CG2 ILE A 40 23.375 40.058 16.441 1.00 12.12 C
ATOM 301 CD1 ILE A 40 24.876 41.612 18.651 1.00 16.76 C
ATOM 302 N PHE A 41 20.831 40.957 14.469 1.00 13.05 N
ATOM 303 CA PHE A 41 19.729 40.244 13.782 1.00 13.58 C
ATOM 304 C PHE A 41 20.273 39.045 13.004 1.00 17.16 C
ATOM 305 O PHE A 41 21.284 39.108 12.333 1.00 15.68 O
ATOM 306 CB PHE A 41 18.882 41.229 12.858 1.00 21.85 C
ATOM 307 CG PHE A 41 18.442 42.514 13.603 1.00 18.36 C
ATOM 308 CD1 PHE A 41 17.305 42.513 14.419 1.00 24.71 C
ATOM 309 CD2 PHE A 41 19.182 43.703 13.501 1.00 20.79 C
ATOM 310 CE1 PHE A 41 16.918 43.656 15.133 1.00 21.54 C
ATOM 311 CE2 PHE A 41 18.813 44.845 14.214 1.00 17.68 C
ATOM 312 CZ PHE A 41 17.672 44.826 15.021 1.00 18.87 C
ATOM 313 N LEU A 42 19.580 37.919 13.130 1.00 13.76 N
ATOM 314 CA LEU A 42 20.040 36.694 12.507 1.00 13.18 C
ATOM 315 C LEU A 42 19.086 36.217 11.421 1.00 17.74 C
ATOM 316 O LEU A 42 17.873 36.362 11.506 1.00 17.28 O
ATOM 317 CB LEU A 42 19.994 35.580 13.591 1.00 15.42 C
ATOM 318 CG LEU A 42 21.233 35.539 14.492 1.00 18.78 C
ATOM 319 CD1 LEU A 42 21.341 36.862 15.260 1.00 23.71 C
ATOM 320 CD2 LEU A 42 21.058 34.350 15.470 1.00 25.37 C
ATOM 321 N THR A 43 19.673 35.634 10.383 1.00 16.26 N
ATOM 322 CA THR A 43 18.880 35.050 9.288 1.00 15.99 C
ATOM 323 C THR A 43 19.275 33.561 9.186 1.00 17.09 C
ATOM 324 O THR A 43 20.473 33.256 9.056 1.00 17.62 O
ATOM 325 CB THR A 43 19.298 35.726 7.940 1.00 22.81 C
ATOM 326 OG1 THR A 43 18.835 37.049 8.024 1.00 25.25 O
ATOM 327 CG2 THR A 43 18.677 35.005 6.742 1.00 31.16 C
ATOM 328 N ILE A 44 18.298 32.679 9.252 1.00 15.60 N
ATOM 329 CA ILE A 44 18.568 31.274 9.131 1.00 20.91 C
ATOM 330 C ILE A 44 18.383 30.861 7.696 1.00 15.87 C
ATOM 331 O ILE A 44 17.359 31.193 7.095 1.00 18.91 O
ATOM 332 CB ILE A 44 17.632 30.429 10.008 1.00 30.28 C
ATOM 333 CG1 ILE A 44 17.843 30.827 11.458 1.00 46.11 C
ATOM 334 CG2 ILE A 44 17.844 28.902 9.819 1.00 25.10 C
ATOM 335 CD1 ILE A 44 16.714 30.328 12.352 1.00 70.44 C
ATOM 336 N ASN A 45 19.384 30.184 7.182 1.00 14.10 N
ATOM 337 CA ASN A 45 19.327 29.689 5.821 1.00 20.16 C
ATOM 338 C ASN A 45 18.803 28.263 5.824 1.00 19.07 C
ATOM 339 O ASN A 45 18.874 27.527 6.819 1.00 17.69 O
ATOM 340 CB ASN A 45 20.686 29.784 5.149 1.00 20.11 C
ATOM 341 CG ASN A 45 21.184 31.231 5.162 1.00 24.66 C
ATOM 342 OD1 ASN A 45 20.402 32.125 4.864 1.00 26.94 O
ATOM 343 ND2 ASN A 45 22.436 31.444 5.569 1.00 26.52 N
ATOM 344 N ALA A 46 18.251 27.870 4.705 1.00 22.61 N
ATOM 345 CA ALA A 46 17.669 26.544 4.653 1.00 24.21 C
ATOM 346 C ALA A 46 18.690 25.448 4.868 1.00 24.78 C
ATOM 347 O ALA A 46 18.367 24.365 5.260 1.00 22.23 O
ATOM 348 CB ALA A 46 16.890 26.345 3.375 1.00 22.88 C
ATOM 349 N ASP A 47 19.940 25.755 4.671 1.00 21.26 N
ATOM 350 CA ASP A 47 20.948 24.771 4.860 1.00 17.60 C
ATOM 351 C ASP A 47 21.370 24.710 6.266 1.00 20.70 C
ATOM 352 O ASP A 47 22.319 24.028 6.584 1.00 25.05 O
ATOM 353 CB ASP A 47 22.175 25.020 3.980 1.00 23.87 C
ATOM 354 CG ASP A 47 22.912 26.289 4.380 1.00 32.11 C
ATOM 355 OD1 ASP A 47 22.589 27.015 5.289 1.00 28.98 O
ATOM 356 OD2 ASP A 47 23.950 26.520 3.643 1.00 37.94 O
ATOM 357 N GLY A 48 20.729 25.468 7.113 1.00 19.80 N
ATOM 358 CA GLY A 48 21.127 25.428 8.525 1.00 23.59 C
ATOM 359 C GLY A 48 22.139 26.456 8.966 1.00 24.53 C
ATOM 360 O GLY A 48 22.305 26.655 10.164 1.00 27.05 O
ATOM 361 N SER A 49 22.816 27.109 8.050 1.00 19.46 N
ATOM 362 CA SER A 49 23.797 28.088 8.500 1.00 16.49 C
ATOM 363 C SER A 49 23.061 29.352 8.896 1.00 20.85 C
ATOM 364 O SER A 49 21.918 29.501 8.514 1.00 19.20 O
ATOM 365 CB SER A 49 24.762 28.375 7.397 1.00 16.59 C
ATOM 366 OG SER A 49 24.021 28.847 6.295 1.00 21.47 O
ATOM 367 N VAL A 50 23.714 30.240 9.682 1.00 15.49 N
ATOM 368 CA VAL A 50 23.094 31.441 10.161 1.00 14.53 C
ATOM 369 C VAL A 50 23.925 32.627 9.792 1.00 16.31 C
ATOM 370 O VAL A 50 25.113 32.563 9.905 1.00 20.11 O
ATOM 371 CB VAL A 50 22.977 31.330 11.699 1.00 15.44 C
ATOM 372 CG1 VAL A 50 22.459 32.568 12.367 1.00 17.50 C
ATOM 373 CG2 VAL A 50 22.009 30.175 11.994 1.00 19.25 C
ATOM 374 N TYR A 51 23.309 33.678 9.343 1.00 16.72 N
ATOM 375 CA TYR A 51 24.067 34.887 9.017 1.00 21.29 C
ATOM 376 C TYR A 51 23.627 35.971 10.032 1.00 20.19 C
ATOM 377 O TYR A 51 22.451 36.117 10.309 1.00 20.05 O
ATOM 378 CB TYR A 51 23.801 35.345 7.558 1.00 21.31 C
ATOM 379 CG TYR A 51 24.146 36.813 7.269 1.00 22.84 C
ATOM 380 CD1 TYR A 51 25.466 37.186 7.021 1.00 29.04 C
ATOM 381 CD2 TYR A 51 23.158 37.789 7.193 1.00 27.80 C
ATOM 382 CE1 TYR A 51 25.841 38.500 6.745 1.00 29.93 C
ATOM 383 CE2 TYR A 51 23.506 39.112 6.911 1.00 28.96 C
ATOM 384 CZ TYR A 51 24.837 39.466 6.685 1.00 28.90 C
ATOM 385 OH TYR A 51 25.164 40.777 6.417 1.00 75.56 O
ATOM 386 N ALA A 52 24.576 36.653 10.690 1.00 14.21 N
ATOM 387 CA ALA A 52 24.167 37.639 11.639 1.00 13.99 C
ATOM 388 C ALA A 52 24.736 38.973 11.230 1.00 16.81 C
ATOM 389 O ALA A 52 25.857 39.062 10.734 1.00 17.86 O
ATOM 390 CB ALA A 52 24.691 37.252 13.008 1.00 15.37 C
ATOM 391 N GLU A 53 23.966 40.019 11.468 1.00 16.09 N
ATOM 392 CA GLU A 53 24.423 41.342 11.157 1.00 16.97 C
ATOM 393 C GLU A 53 24.076 42.266 12.282 1.00 15.88 C
ATOM 394 O GLU A 53 23.093 42.080 12.971 1.00 18.62 O
ATOM 395 CB GLU A 53 23.888 41.872 9.817 1.00 19.03 C
ATOM 396 CG GLU A 53 22.411 42.061 9.859 1.00 24.25 C
ATOM 397 CD GLU A 53 21.897 42.057 8.458 1.00 35.71 C
ATOM 398 OE1 GLU A 53 22.525 42.491 7.526 1.00 27.95 O
ATOM 399 OE2 GLU A 53 20.769 41.448 8.336 1.00 36.91 O
ATOM 400 N GLU A 54 24.926 43.267 12.481 1.00 15.46 N
ATOM 401 CA GLU A 54 24.720 44.221 13.546 1.00 16.14 C
ATOM 402 C GLU A 54 24.543 45.641 12.961 1.00 21.40 C
ATOM 403 O GLU A 54 25.130 46.003 11.948 1.00 25.19 O
ATOM 404 CB GLU A 54 25.935 44.261 14.482 1.00 14.41 C
ATOM 405 CG GLU A 54 25.673 45.177 15.692 1.00 18.40 C
ATOM 406 CD GLU A 54 26.800 45.153 16.699 1.00 26.54 C
ATOM 407 OE1 GLU A 54 27.830 44.520 16.500 1.00 30.33 O
ATOM 408 OE2 GLU A 54 26.550 45.857 17.788 1.00 25.55 O
ATOM 409 N VAL A 55 23.667 46.370 13.573 1.00 21.13 N
ATOM 410 CA VAL A 55 23.440 47.727 13.144 1.00 27.58 C
ATOM 411 C VAL A 55 24.110 48.583 14.182 1.00 27.92 C
ATOM 412 O VAL A 55 23.780 48.514 15.389 1.00 25.31 O
ATOM 413 CB VAL A 55 21.968 48.051 13.114 1.00 29.65 C
ATOM 414 CG1 VAL A 55 21.807 49.529 12.757 1.00 38.38 C
ATOM 415 CG2 VAL A 55 21.329 47.161 12.055 1.00 23.49 C
ATOM 416 N LYS A 56 25.062 49.374 13.733 1.00 28.14 N
ATOM 417 CA LYS A 56 25.762 50.207 14.693 1.00 58.37 C
ATOM 418 C LYS A 56 26.180 51.499 14.044 1.00 33.42 C
ATOM 419 O LYS A 56 26.815 51.453 12.959 1.00 31.02 O
ATOM 420 CB LYS A 56 27.010 49.460 15.125 1.00 49.75 C
ATOM 421 CG LYS A 56 27.697 49.942 16.393 1.00 39.95 C
ATOM 422 CD LYS A 56 28.812 48.968 16.750 1.00100.00 C
ATOM 423 CE LYS A 56 29.778 49.430 17.831 1.00100.00 C
ATOM 424 NZ LYS A 56 30.915 48.498 18.004 1.00100.00 N
ATOM 425 N ASP A 56A 25.831 52.621 14.696 1.00 53.90 N
ATOM 426 CA ASP A 56A 26.191 53.931 14.169 1.00 49.50 C
ATOM 427 C ASP A 56A 25.702 54.051 12.772 1.00 54.12 C
ATOM 428 O ASP A 56A 26.476 54.298 11.863 1.00 49.28 O
ATOM 429 CB ASP A 56A 27.710 54.134 14.031 1.00 47.57 C
ATOM 430 CG ASP A 56A 28.484 53.954 15.317 1.00100.00 C
ATOM 431 OD1 ASP A 56A 28.021 54.228 16.433 1.00 92.41 O
ATOM 432 OD2 ASP A 56A 29.701 53.474 15.101 1.00100.00 O
ATOM 433 N GLY A 56B 24.457 53.821 12.567 1.00 39.18 N
ATOM 434 CA GLY A 56B 24.042 53.992 11.222 1.00 28.07 C
ATOM 435 C GLY A 56B 24.539 52.950 10.315 1.00 36.07 C
ATOM 436 O GLY A 56B 23.996 52.846 9.210 1.00 57.51 O
ATOM 437 N GLU A 56C 25.519 52.134 10.743 1.00 28.59 N
ATOM 438 CA GLU A 56C 25.964 51.070 9.818 1.00 40.34 C
ATOM 439 C GLU A 56C 25.580 49.623 10.131 1.00 27.57 C
ATOM 440 O GLU A 56C 25.320 49.256 11.286 1.00 35.60 O
ATOM 441 CB GLU A 56C 27.401 51.139 9.280 1.00 47.14 C
ATOM 442 CG GLU A 56C 27.803 52.562 8.881 1.00 68.41 C
ATOM 443 CD GLU A 56C 27.611 52.798 7.413 1.00100.00 C
ATOM 444 OE1 GLU A 56C 27.850 51.956 6.548 1.00100.00 O
ATOM 445 OE2 GLU A 56C 27.166 54.002 7.176 1.00100.00 O
ATOM 446 N VAL A 56D 25.610 48.868 9.016 1.00 30.28 N
ATOM 447 CA VAL A 56D 25.278 47.464 8.936 1.00 30.80 C
ATOM 448 C VAL A 56D 26.504 46.588 8.684 1.00 65.18 C
ATOM 449 O VAL A 56D 27.082 46.538 7.616 1.00 31.22 O
ATOM 450 CB VAL A 56D 24.104 47.217 7.973 1.00 46.38 C
ATOM 451 CG1 VAL A 56D 24.562 47.175 6.517 1.00 64.25 C
ATOM 452 CG2 VAL A 56D 23.430 45.913 8.324 1.00 41.05 C
ATOM 453 N LYS A 56E 26.927 45.885 9.709 1.00 32.07 N
ATOM 454 CA LYS A 56E 28.089 45.034 9.600 1.00 33.83 C
ATOM 455 C LYS A 56E 27.784 43.617 10.073 1.00 26.57 C
ATOM 456 O LYS A 56E 26.887 43.381 10.856 1.00 23.11 O
ATOM 457 CB LYS A 56E 29.150 45.562 10.580 1.00 24.98 C
ATOM 458 CG LYS A 56E 29.528 47.024 10.411 1.00 56.26 C
ATOM 459 CD LYS A 56E 30.733 47.223 9.465 1.00100.00 C
ATOM 460 CE LYS A 56E 30.415 47.974 8.156 1.00100.00 C
ATOM 461 NZ LYS A 56E 30.878 47.300 6.922 1.00100.00 N
ATOM 462 N PRO A 57 28.618 42.711 9.677 1.00 31.74 N
ATOM 463 CA PRO A 57 28.533 41.324 10.100 1.00 30.22 C
ATOM 464 C PRO A 57 28.844 41.214 11.584 1.00 24.56 C
ATOM 465 O PRO A 57 29.574 42.010 12.109 1.00 22.29 O
ATOM 466 CB PRO A 57 29.695 40.627 9.395 1.00 56.22 C
ATOM 467 CG PRO A 57 30.582 41.730 8.819 1.00100.00 C
ATOM 468 CD PRO A 57 29.703 42.961 8.705 1.00 57.16 C
ATOM 469 N PHE A 58 28.273 40.220 12.248 1.00 17.63 N
ATOM 470 CA PHE A 58 28.556 39.967 13.639 1.00 18.93 C
ATOM 471 C PHE A 58 28.895 38.479 13.733 1.00 25.61 C
ATOM 472 O PHE A 58 28.195 37.659 13.133 1.00 26.61 O
ATOM 473 CB PHE A 58 27.305 40.192 14.482 1.00 17.79 C
ATOM 474 CG PHE A 58 27.530 39.734 15.890 1.00 25.73 C
ATOM 475 CD1 PHE A 58 28.200 40.537 16.816 1.00 25.33 C
ATOM 476 CD2 PHE A 58 27.080 38.479 16.310 1.00 25.86 C
ATOM 477 CE1 PHE A 58 28.407 40.112 18.135 1.00 17.65 C
ATOM 478 CE2 PHE A 58 27.279 38.039 17.628 1.00 20.68 C
ATOM 479 CZ PHE A 58 27.961 38.851 18.537 1.00 23.05 C
ATOM 480 N PRO A 59 29.937 38.104 14.484 1.00 25.63 N
ATOM 481 CA PRO A 59 30.784 38.992 15.209 1.00 25.99 C
ATOM 482 C PRO A 59 31.647 39.704 14.228 1.00 49.28 C
ATOM 483 O PRO A 59 31.863 39.264 13.106 1.00 28.39 O
ATOM 484 CB PRO A 59 31.738 38.121 15.985 1.00 25.40 C
ATOM 485 CG PRO A 59 31.704 36.771 15.325 1.00 25.66 C
ATOM 486 CD PRO A 59 30.415 36.709 14.528 1.00 30.42 C
ATOM 487 N SER A 60 32.184 40.798 14.653 1.00 49.75 N
ATOM 488 CA SER A 60 33.009 41.550 13.738 1.00100.00 C
ATOM 489 C SER A 60 34.406 41.011 13.645 1.00100.00 C
ATOM 490 O SER A 60 34.934 40.769 12.543 1.00 95.05 O
ATOM 491 CB SER A 60 33.118 42.996 14.188 1.00100.00 C
ATOM 492 OG SER A 60 34.194 43.115 15.114 1.00100.00 O
ATOM 493 N ASN A 61 34.965 40.865 14.851 1.00100.00 N
ATOM 494 CA ASN A 61 36.322 40.475 15.074 1.00100.00 C
ATOM 495 C ASN A 61 36.615 40.874 16.519 1.00100.00 C
ATOM 496 O ASN A 61 36.488 42.053 16.901 1.00100.00 O
ATOM 497 CB ASN A 61 37.166 41.359 14.114 1.00100.00 C
ATOM 498 CG ASN A 61 38.647 41.049 13.964 1.00100.00 C
ATOM 499 OD1 ASN A 61 39.421 41.895 13.468 1.00100.00 O
ATOM 500 ND2 ASN A 61 39.046 39.835 14.348 1.00100.00 N
TER 501 ASN A 61
HETATM 502 O HOH A 100 16.567 43.265 4.042 1.00 34.53 O
HETATM 503 O HOH A 101 20.456 38.947 9.389 1.00 23.99 O
HETATM 504 O HOH A 102 12.849 38.495 16.591 1.00 22.30 O
HETATM 505 O HOH A 103 13.926 40.856 20.884 1.00 41.05 O
HETATM 506 O HOH A 104 18.819 40.954 20.655 1.00 19.73 O
HETATM 507 O HOH A 105 22.693 27.151 27.634 1.00 70.09 O
HETATM 508 O HOH A 106 21.061 42.196 21.789 1.00 41.39 O
HETATM 509 O HOH A 107 18.782 42.676 18.500 1.00 18.57 O
HETATM 510 O HOH A 108 16.220 42.191 21.534 1.00 50.13 O
HETATM 511 O HOH A 109 17.337 35.292 25.464 1.00 39.26 O
HETATM 512 O HOH A 112 10.684 35.559 22.027 1.00 57.92 O
HETATM 513 O HOH A 113 20.062 26.858 12.663 1.00 44.33 O
HETATM 514 O HOH A 114 21.057 25.359 22.646 1.00 20.07 O
HETATM 515 O HOH A 115 10.987 37.712 13.387 1.00 53.83 O
HETATM 516 O HOH A 116 21.175 25.792 25.461 1.00 45.82 O
HETATM 517 O HOH A 117 26.070 29.114 11.027 1.00 22.17 O
HETATM 518 O HOH A 118 11.734 37.820 3.909 1.00 69.47 O
HETATM 519 O HOH A 119 11.313 40.892 19.018 1.00 47.45 O
HETATM 520 O HOH A 120 9.440 37.991 19.579 1.00 59.14 O
HETATM 521 O HOH A 121 12.308 39.937 22.921 1.00 66.69 O
HETATM 522 O HOH A 123 31.715 37.994 27.757 1.00 35.80 O
HETATM 523 O HOH A 124 33.332 38.551 25.542 1.00 72.97 O
HETATM 524 O HOH A 125 28.935 43.074 23.912 1.00 34.25 O
HETATM 525 O HOH A 126 29.860 40.122 23.720 1.00 32.71 O
HETATM 526 O HOH A 127 15.525 33.748 9.130 1.00 31.50 O
HETATM 527 O HOH A 128 31.988 41.342 17.207 1.00 59.78 O
HETATM 528 O HOH A 129 29.634 43.327 14.724 1.00 33.16 O
HETATM 529 O HOH A 130 22.330 39.552 29.588 1.00 65.61 O
HETATM 530 O HOH A 131 27.765 44.818 28.495 1.00 38.62 O
HETATM 531 O HOH A 133 24.462 47.460 17.919 1.00 23.88 O
HETATM 532 O HOH A 134 24.899 49.304 19.604 1.00 47.82 O
HETATM 533 O HOH A 135 26.021 28.115 30.069 1.00 59.83 O
HETATM 534 O HOH A 136 18.018 27.146 28.371 1.00 70.16 O
HETATM 535 O HOH A 138 16.935 29.765 26.527 1.00 48.67 O
HETATM 536 O HOH A 139 18.048 29.690 2.604 1.00 43.98 O
HETATM 537 O HOH A 141 31.065 26.910 15.705 1.00 64.63 O
HETATM 538 O HOH A 142 30.020 29.019 13.276 1.00 57.01 O
HETATM 539 O HOH A 143 29.845 26.873 22.152 1.00 79.81 O
HETATM 540 O HOH A 146 13.383 39.438 6.579 1.00 63.02 O
HETATM 541 O HOH A 147 20.711 27.622 2.096 1.00 49.53 O
HETATM 542 O HOH A 148 14.196 30.133 28.935 1.00 79.60 O
HETATM 543 O HOH A 150 28.792 35.220 12.803 1.00 70.46 O
HETATM 544 O HOH A 151 27.559 30.392 9.833 1.00 74.79 O
HETATM 545 O HOH A 152 28.329 26.679 12.467 1.00 58.31 O
HETATM 546 O HOH A 154 27.463 36.350 10.486 1.00 61.38 O
HETATM 547 O HOH A 156 18.107 32.722 3.682 1.00 53.96 O
HETATM 548 O HOH A 161 25.605 26.383 11.780 1.00 58.16 O
HETATM 549 O HOH A 162 16.433 43.785 10.736 1.00 59.32 O
HETATM 550 O HOH A 163 10.518 36.164 16.394 1.00 64.24 O
HETATM 551 O HOH A 166 19.795 28.946 27.147 1.00 45.05 O
HETATM 552 O HOH A 171 13.409 41.652 13.265 1.00 61.60 O
HETATM 553 O HOH A 174 27.287 32.431 11.584 1.00 64.21 O
HETATM 554 O HOH A 180 23.741 29.905 2.072 1.00 58.63 O
HETATM 555 O HOH A 181 32.794 51.457 17.245 1.00 65.72 O
HETATM 556 O HOH A 183 9.101 40.801 20.870 1.00 71.78 O
HETATM 557 O AHOH A 301 13.464 41.125 8.469 0.50 20.23 O
HETATM 558 O BHOH A 301 12.554 42.700 8.853 0.50 26.40 O
HETATM 559 O AHOH A 303 22.944 52.797 14.104 0.50 34.59 O
HETATM 560 O BHOH A 303 22.676 52.579 15.869 0.50 32.63 O
MASTER 259 0 0 3 3 0 0 6 559 1 0 6
END

33103
data/sample/1ttv.cif Normal file

File diff suppressed because it is too large Load Diff

32275
data/sample/1ttv.pdb Normal file

File diff suppressed because it is too large Load Diff

8073
data/sample/2P0R.cif Normal file

File diff suppressed because it is too large Load Diff

6218
data/sample/2P0R.pdb Normal file

File diff suppressed because it is too large Load Diff

8073
data/sample/2P0R_mod.cif Normal file

File diff suppressed because it is too large Load Diff

6218
data/sample/2P0R_mod.pdb Normal file

File diff suppressed because it is too large Load Diff

5456
data/sample/2P0R_wrote.cif Normal file

File diff suppressed because it is too large Load Diff

5439
data/sample/2P0R_wrote.pdb Normal file

File diff suppressed because it is too large Load Diff

30184
data/sample/3VI4.cif Normal file

File diff suppressed because it is too large Load Diff

24880
data/sample/3vi4.pdb Normal file

File diff suppressed because it is too large Load Diff

6295
data/sample/4bdf.cif Normal file

File diff suppressed because it is too large Load Diff

5106
data/sample/4bdf.pdb Normal file

File diff suppressed because it is too large Load Diff

7412
data/sample/4gfo.cif Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

18555
data/sample/5RGF.cif Normal file

File diff suppressed because it is too large Load Diff

16636
data/sample/5rgf.pdb Normal file

File diff suppressed because it is too large Load Diff

20071
data/sample/6TL9.cif Normal file

File diff suppressed because it is too large Load Diff

4494
data/sample/6X3P.cif Normal file

File diff suppressed because it is too large Load Diff

10785
data/sample/6a5k.cif Normal file

File diff suppressed because it is too large Load Diff

37183
data/sample/6cs2.cif Normal file

File diff suppressed because it is too large Load Diff

31154
data/sample/6cs2.pdb Normal file

File diff suppressed because it is too large Load Diff

17899
data/sample/6tl9.pdb Normal file

File diff suppressed because it is too large Load Diff

3007
data/sample/6x3p.pdb Normal file

File diff suppressed because it is too large Load Diff

13962
data/sample/7z9t.cif Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -37,6 +37,10 @@ Here you have a very simple and straightforward example of how to run fpocket on
`fpocket -f sample/1UYD.pdb`
It is also possible to run fpocket on a PDBx/mmcif file type, for example :
`fpocket -f sample/2P0R.cif`
It is mandatory to give a PDB input file using the -f flag in command line. If nothing is given, fpocket prints the fpocket usage/help to the screen. fpocket will use standard parameters for the detection of pockets. Fore more information about these parameters see the [advanced fpocket features](#fpocket-advanced).
If fpocket works properly the output on the screen should look like this :
@@ -63,7 +67,7 @@ A script for fast visualization using PyMOL is also provided. PyMOL provides nic
#### Mandatory (1 OR 2):
1: flag -f : one standard PDB file name.
1: flag -f : one standard PDB or PDBx/mmcif file name.
2: flag -F : one text file containing a simple list of pdb path
#### Optional:
@@ -220,7 +224,7 @@ You can extract these grid points using a python script that is available in the
##### or :
-L: a mdpocket input file, this file has to contain the paths to the PDB files of all snapshots (one path per line)
--selected_pocket : a PDB file containing the sitepoints in the pocket to be selected
--selected_pocket : a PDB file containing the sitepoints in the pocket to be selected
#### Optional:
@@ -413,18 +417,18 @@ The simplest way to run fpocket is either by providing a single pdb file, or by
#### Optional:
-m float: (default 3.4Å) This flag enables the user to modify the minimum radius an alpha sphere might have in a binding pocket. An alpha sphere is a contact sphere, that touches 4 atoms in 3D space without having any internal atoms. Here 3Å allow filtering of too small (protein internal) alpha spheres. I you want to analyze internal interstices, lower this parameter. In the contrary, if you want to analyze more solvent exposed cavities, you can raise this parameter in order to filter out too buried cavities.
-m float: (default 3.4Å) This flag enables the user to modify the minimum radius an alpha sphere might have in a binding pocket. An alpha sphere is a contact sphere, that touches 4 atoms in 3D space without having any internal atoms. Here 3Å allow filtering of too small (protein internal) alpha spheres. If you want to analyze internal interstices, lower this parameter. In the contrary, if you want to analyze more solvent exposed cavities, you can raise this parameter in order to filter out too buried cavities.
-M float: (default 6.2Å) Here you can modify the maximum radius of alpha spheres in a pocket. An alpha sphere is a contact sphere, that touches 4 atoms in 3D space without having any internal atoms. Here 7Å allow to filter out too large contact spheres, that are lying on the protein surface. If you want to analyze very flat and solvent exposed surface depressions, raise this parameter. For analysis of buried parts of the protein you can lower this parameter. Higher radii might be more interesting for identification of protein protein binding sites or polysaccharide binding sites. Smaller radii enable detection of buried cavities for small organic molecules (drugs, for instance).
-l int: (None) If you have an input PDB file of an NMR structure or one with multiple models you can specify which model (conformation) you'd like to analyse
-C char: (default s) The clustering method to be used here. By default a pairwise single linkage clustering is used here.
's': pairwise single linkage clustering,
'm': pairwise maximum- (or complete-) linkage clustering,
'a': pairwise average-linkage clustering,
'c': pairwise centroid-linkage clustering
-e char: (default e) The distance measure used for the clustering algorithm.
'e': Euclidean distance
'b': City-block distance
@@ -434,29 +438,38 @@ The simplest way to run fpocket is either by providing a single pdb file, or by
'x': absolute uncentered correlation
's': Spearman's rank correlation
'k': Kendall's tau
-i int: (default 15) This flag indicates how many alpha spheres a pocket must contain at least in order to figure in the results provided by fpocket. This parameter enables filtering of too small cavities. Thus, if you want to analyze smaller cavities also, lower this parameter, if you are only interested in huge cavities, like NADP binding sites, you can raise it in order to retain only very few pockets in the end. To give you an idea, a rather big cavity, like a NADP binding site, can have hundreds of alpha spheres. Thus, 30 as standard parameter enables also to keep smaller binding sites.
-A int: (default 3) Fpocket distinguishes between two types of alpha spheres. Polar alpha spheres and apolar alpha spheres. This flag ranges from 0 to 4 and modifies the definition of the alpha sphere type. By default, an alpha sphere contacting at least 3 apolar atoms (having an electronegativity below 2.8) is considered as apolar. If this is not the case it is considered as polar.
-D float: (default 2.4Å) this parameter changed compared to the previous versions of fpocket as we completely replaced the clustering algorithms entirely. This measure is now used to analyze a hierarchical distance and cut sub-trees at the desired distance. The bigger the distance, the larger the clusters you'll get.
-p float: (default 0.0) This is another parameter for filtering unwanted pockets. It defines the maximum ratio of apolar alpha spheres and the number of alpha spheres in a pocket in order to keep the pocket in the results list. That is to say, by default every pocket is kept (0.0). Now, if you would like to filter rather hydrophobic pockets, raise this parameter and very polar cavities will be filtered out. This parameter is a ratio, not a percentage, thus it ranges from 0 to 1.
-v int: (default 2500) By default, pockets volume are calculated using a monte-carlo algorithm. Basically, the algorithm picks a random point in the space and check if it is included in any alpha sphere, and stores this status. This is repeated N times, and we estimate the volume of the pocket using ratio between the number of hit and the number of iteration, scaled by the size of the box. This parameter defines the number of iteration to perform. Of course, the higher the value is, the greater the accuracy will be, but the performance will be slowed down.
-b (none): (NOT USED BY DEFAULT) This option allows the user to chose a discrete algorithm to calculate the volume of each pocket instead of the Monte Carlo method. This algorithm puts each pocket into a grid of dimention (1/N*X ; 1/N*Y ; 1/N*Z), N being the value given using this option, and X, Y and Z being the box dimensions, determined using coordinates of vertices. Then, a triple iteration on each dimensions is used to estimate the volume, checking if each points given by the iteration is in one of the pockets vertices. This parameter defines the grid discretization. If this parameter is used, this algorithm will be used instead of the Monte Carlo algorithm.
Warning: Although this algorithm could be more accurate, a high value might dramatically slow down the program, as this algorithm has a maximum complexity of N*N*N*nb_vertices, and a minimum of N*N*N !!!
-i int: (default 15) This flag indicates how many alpha spheres a pocket must contain at least in order to figure in the results provided by fpocket. This parameter enables filtering of too small cavities. Thus, if you want to analyze smaller cavities also, lower this parameter, if you are only interested in huge cavities, like NADP binding sites, you can raise it in order to retain only very few pockets in the end. To give you an idea, a rather big cavity, like a NADP binding site, can have hundreds of alpha spheres. Thus, 30 as standard parameter enables also to keep smaller binding sites.
-A int: (default 3) Fpocket distinguishes between two types of alpha spheres. Polar alpha spheres and apolar alpha spheres. This flag ranges from 0 to 4 and modifies the definition of the alpha sphere type. By default, an alpha sphere contacting at least 3 apolar atoms (having an electronegativity below 2.8) is considered as apolar. If this is not the case it is considered as polar.
-D float: (default 2.4Å) this parameter changed compared to the previous versions of fpocket as we completely replaced the clustering algorithms entirely. This measure is now used to analyze a hierarchical distance and cut sub-trees at the desired distance. The bigger the distance, the larger the clusters you'll get.
-p float: (default 0.0) This is another parameter for filtering unwanted pockets. It defines the maximum ratio of apolar alpha spheres and the number of alpha spheres in a pocket in order to keep the pocket in the results list. That is to say, by default every pocket is kept (0.0). Now, if you would like to filter rather hydrophobic pockets, raise this parameter and very polar cavities will be filtered out. This parameter is a ratio, not a percentage, thus it ranges from 0 to 1.
-v int: (default 2500) By default, pockets volume are calculated using a monte-carlo algorithm. Basically, the algorithm picks a random point in the space and check if it is included in any alpha sphere, and stores this status. This is repeated N times, and we estimate the volume of the pocket using ratio between the number of hit and the number of iteration, scaled by the size of the box. This parameter defines the number of iteration to perform. Of course, the higher the value is, the greater the accuracy will be, but the performance will be slowed down.
-b (none): (NOT USED BY DEFAULT) This option allows the user to choose a discrete algorithm to calculate the volume of each pocket instead of the Monte Carlo method. This algorithm puts each pocket into a grid of dimension (1/N*X ; 1/N*Y ; 1/N*Z), N being the value given using this option, and X, Y and Z being the box dimensions, determined using coordinates of vertices. Then, a triple iteration on each dimensions is used to estimate the volume, checking if each points given by the iteration is in one of the pockets vertices. This parameter defines the grid discretization. If this parameter is used, this algorithm will be used instead of the Monte Carlo algorithm.
Warning: Although this algorithm could be more accurate, a high value might dramatically slow down the program, as this algorithm has a maximum complexity of N*N*N*nb_vertices, and a minimum of N*N*N !!!
-d (none): Option allowing you to output pockets and properties in a condensed format. This will put to the stdout pocket properties in a tab separated string and write pocket files in a subfolder
-r string: (None) This parameter allows you to run fpocket in a restricted mode. Let's suppose you have a very shallow or large pocket with a ligand inside and the automatic pocket prediction always splits up you pocket or you have only a part of the pocket found. Specifying your ligand residue with -r allows you to detect and characterize you ligand binding site explicitly. For instance for `1UYD.pdb` you can specify `-r 1224:PU8:A` (residue number of the ligand: residue name of the ligand: chain of the ligand)
-r string: (None) This parameter allows you to run fpocket in a restricted mode. Let's suppose you have a very shallow or large pocket with a ligand inside and the automatic pocket prediction always splits up you pocket or you have only a part of the pocket found. Specifying your ligand residue with -r allows you to detect and characterize you ligand binding site explicitely. For instance for `1UYD.pdb` you can specify `-r 1224:PU8:A` (residue number of the ligand: residue name of the ligand: chain of the ligand)
-P string: (None) Binding site delimited by the user through the input. You can inidcate which amino-acids are part of the binding site you'd like to "identify" and calculate descriptors for. fpocket will run its usual alpha-sphere detection and clustering will be guided to collect all alpha spheres in contact with residues of interest. You should enter a string of residues with residue numbers, insertion codes & chain codes: 'residuenumber1:insertioncode1:chaincode1.residuenumber2:insertioncode2:chaincode2.residuenumber3:insertioncode3:chaincode3'. Insertion codes can be empty. `-P 107::A.138::A.51::A.98::A.55::A.93::A` for instance for part of the HSP90 binding site of 4cwr. NB: If you use an mmcif file as input, you need to use the automatically assigned residue number instead of author defined number for this to work.
-y string: (filename) EXPERIMENTAL: here you can specify a topology filename in the Amber prmtop format. This can then be used by fpocket & mdpocket to calculate energy grids for your pockets. NB: you have to specify the -x flag to run energy calculations
-x None: (None) EXPERIMENTAL: specify this flag if you want to run energy calculations on calculated pockets. That's not fully functional and only one or two probes are currently generated and output density grids written. Use with caution
-c char : (Default is none): Use this flag to choose which chains you want to delete before running fpocket. The selected chains can be specified with ',' or ':' delimiters, for example you can use it '-c B,D' or '-c B:D'. You can delete up to 20 different chains.
-k char : (Default is none): Use this flag to choose which chains you want to keep before running fpocket. The selected chains can be specified with ',' or ':' delimiters, for example you can use it '-k A,B,E' or '-k A:B:E'. You can keep up to 20 different chains.
-a char : (Default is none): With this flag you can select a chain you want to be considered as a ligand. Works the same way as the "-r" flag but with a whole chain. Only a single chain can be chosen, for example '-a D'.
-w char : (Default is 'd') : With this flag you are able to choose what kind of writing file output you want, 'd' -> default (same format outpout as input)| 'b' or "both"-> both pdb and mmcif | 'p' or "pdb"-> pdb | 'm' or "cif" or "mmcif" -> mmcif, for example "-w cif" or "-w p"
### Output files description
@@ -571,11 +584,11 @@ See the [Getting started section of dpocket](#dpocket-descriptor-extraction) for
### Optional:
-o : (default dpout) the prefix you want to give to dpocket output files. The standard will produce three output files named dpout_fpocketnp.txt, dpout_fpocketp.txt, dpout_explicitp.txt.
-e : Use the first explicit interface definition (default): we define the explicit pocket as being all atoms contacted by alpha spheres situated at a distance of d A° from any ligand atom.
-E : Use the second explicit interface definition: we define the explicit pocket as being all atoms situated at a distance of d A° from any ligand atom.
-d : The distance criteria used for the explicit pocket definition.
Last, all optional parameters used by fpocket are also accessible on command line through dpocket. Refer to the preceding paragraph to see details about fpocket parameters.

View File

@@ -148,6 +148,5 @@ If you manage to build for other architectures and it works, I'd be happy to acc
## Read next
* [Getting Started](GETTINGSTARTED.md)
* [Getting Started & Advanced Features](GETTINGSTARTED.md)
* [Advanced Features](ADVANCED.md)

View File

@@ -40,6 +40,4 @@ We are happy about positive, negative, in any way constructive feedback.
* [Installation](INSTALLATION.md)
* [Getting Started](GETTINGSTARTED.md)
* [Advanced Features](ADVANCED.md)
* [Getting Started](GETTINGSTARTED.md)

View File

@@ -36,13 +36,15 @@ typedef struct s_atm
float x, y, z ; /**< Coords */
char name[5], /**< Atom name */
type[7], /**< Atom type */
chain[2], /**< Chain name */
chain[16], /**< Chain name */
label_asym_id[16],
symbol[3], /**< Chemical symbol of the atom */
res_name[8]; /**< Atom residue name */
int id, /**< Atom id */
seen, /**< Say if we have seen this atom during a neighbor search */
res_id, /**< Atom residue ID */
label_seq_id, /**<MMCIF label seq ID*/
atype,
charge, /**< Atom charge */
abpa; /**< 1 if atom is an abpa, 0 otherwise*/

View File

@@ -24,6 +24,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
#include "atom.h"
#include "aa.h"
#include "utils.h"
//#include "asa.h"
/* --------------------------------STRUCTURES---------------------------------*/
@@ -80,14 +81,18 @@ typedef struct s_desc
characterChain2, /**< 0 if protein, 1 if nucl acid pocket, 2 if HETATM pocket*/
numResChain1, /**<number of resdiues on chain 1*/
numResChain2; /**<number of res on chain 2*/
char nameChain1[2], /**<name of the first chain in contact with the pocket*/
nameChain2[2]; /**<name of the second chain in contact with the pocket, if there is*/
char nameChain1[255], /**<name of the first chain in contact with the pocket*/
nameChain2[255]; /**<name of the second chain in contact with the pocket, if there is*/
char ligTag[8]; /**<het atom tag of ligands situated in the pocket*/
} s_desc ;
/* ------------------------------PROTOTYPES---------------------------------- */
//explicit definition from asa.h
void set_ASA(s_desc *desc,s_pdb *pdb, s_vvertice **tvert,int nvert);
s_desc* allocate_s_desc(void) ;
void reset_desc(s_desc *desc) ;

View File

@@ -30,83 +30,104 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
/* Options of the pocket finder program */
/* standard parameters */
#define M_MIN_ASHAPE_SIZE_DEFAULT 3.4 /**< Use min alpha sphere radius of : 3.0 */ /*3.2, 2.6, */
#define M_MIN_ASHAPE_SIZE_DEFAULT 3.4/**< Use min alpha sphere radius of : 3.0 */ /*3.2, 2.6, */
#define M_MAX_ASHAPE_SIZE_DEFAULT 6.2 /**< Use max alpha sphere radius of : 6.0 */ /*7.0, 7.4, */
#define M_MAX_ASHAPE_SIZE_DEFAULT 6.2/**< Use max alpha sphere radius of : 6.0 */ /*7.0, 7.4, */
#define M_CLUST_MAX_DIST 2.4 /**< Use first connection distance (see report) : 2.0 */ /*1.8, 11.2, */
#define M_CLUST_MAX_DIST 2.4/**< Use first connection distance (see report) : 2.0 */ /*1.8, 11.2, */
#define M_REFINE_DIST 4.5 /**< use second connection distance (see report) : 4.5 */
#define M_REFINE_DIST 4.5/**< use second connection distance (see report) : 4.5 */
#define M_REFINE_MIN_PROP_APOL_AS 0.0 /**< At least a proportion of M_REFINE_MIN_NAPOL_AS apolar alpha spheres in the pocket 0.0 */
#define M_REFINE_MIN_PROP_APOL_AS 0.0/**< At least a proportion of M_REFINE_MIN_NAPOL_AS apolar alpha spheres in the pocket 0.0 */
#define M_MC_ITER 300 /**< Number of iterations for the Monte Carlo volume calculation 3000 */
#define M_MC_ITER 300/**< Number of iterations for the Monte Carlo volume calculation 3000 */
#define M_BASIC_VOL_DIVISION -1 /**< Precision for "exact" volume integration, set to -1 if not used -1 */
#define M_BASIC_VOL_DIVISION -1/**< Precision for "exact" volume integration, set to -1 if not used -1 */
#define M_MIN_POCK_NB_ASPH 15 /**< Minimum number of alpha spheres for a pocket to be kept */
#define M_MIN_POCK_NB_ASPH 15/**< Minimum number of alpha spheres for a pocket to be kept */
#define M_MIN_APOL_NEIGH_DEFAULT 3/**< Minimum number of atoms having a low electronegativity in order to declare an alpha sphere to be apolar 3 */
#define M_MIN_APOL_NEIGH_DEFAULT 3 /**< Minimum number of atoms having a low electronegativity in order to declare an alpha sphere to be apolar 3 */
#define M_DISTANCE_MEASURE 'e' /**< By default use euclidean distance measure for clustering*/
#define M_CLUSTERING_METHOD 's' /**< Clustering method to be used for alpha sphere clustering*/ /*s*/
#define M_DB_RUN 0 /**< default value for running fpocket for populating a database, 0 default*/
#define M_DB_RUN 0 /**< default value for running fpocket for populating a database, 0 default*/
#define M_MAX_CHAINS_DELETE 20
#define M_MAX_CHAIN_NAME_LENGTH 20
#define M_MAX_LIG_RESNAME_LENGTH 20
#define M_MIN_AS_DENSITY 0.7
#define M_PAR_PDB_FILE 'f' /**< flag to give a single pdb input file*/
#define M_PAR_LONG_PDB_FILE "file" /**< flag to give a single pdb input file*/
#define M_MIN_N_EXPLICIT_POCKET 4 /**default value for minimum number of atoms part of the explicit pocket for an alpha sphere (between 0 and 4)*/
#define M_PAR_PDB_LIST 'F' /**< flag to give a txt file containing paths to multiple pdb files*/
#define M_PAR_LONG_PDB_LIST "fileList" /**< flag to give a txt file containing paths to multiple pdb files*/
#define M_PAR_PDB_FILE 'f' /**< flag to give a single pdb input file*/
#define M_PAR_LONG_PDB_FILE "file" /**< flag to give a single pdb input file*/
#define M_PAR_MAX_ASHAPE_SIZE 'M' /**< flag for the maximum alpha sphere size*/
#define M_PAR_LONG_MAX_ASHAPE_SIZE "max_alpha_size" /**< flag for the maximum alpha sphere size*/
#define M_PAR_PDB_LIST 'F' /**< flag to give a txt file containing paths to multiple pdb files*/
#define M_PAR_LONG_PDB_LIST "fileList" /**< flag to give a txt file containing paths to multiple pdb files*/
#define M_PAR_MIN_ASHAPE_SIZE 'm' /**< flag for the minimum alpha sphere size*/
#define M_PAR_LONG_MIN_ASHAPE_SIZE "min_alpha_size" /**< flag for the minimum alpha sphere size*/
#define M_PAR_MAX_ASHAPE_SIZE 'M' /**< flag for the maximum alpha sphere size*/
#define M_PAR_LONG_MAX_ASHAPE_SIZE "max_alpha_size" /**< flag for the maximum alpha sphere size*/
#define M_PAR_MIN_APOL_NEIGH 'A' /**< flag for the minimum number of apolar neighbours for an alpha sphere to be considered as apolar*/
#define M_PAR_LONG_MIN_APOL_NEIGH "number_apol_asph_pocket" /**< flag for the minimum number of apolar neighbours for an alpha sphere to be considered as apolar*/
#define M_PAR_MIN_ASHAPE_SIZE 'm' /**< flag for the minimum alpha sphere size*/
#define M_PAR_LONG_MIN_ASHAPE_SIZE "min_alpha_size" /**< flag for the minimum alpha sphere size*/
#define M_PAR_CLUST_MAX_DIST 'D' /**< flag for clustering distance*/
#define M_PAR_LONG_CLUST_MAX_DIST "clustering_distance" /**< flag for clustering distance*/
#define M_PAR_MIN_APOL_NEIGH 'A' /**< flag for the minimum number of apolar neighbours for an alpha sphere to be considered as apolar*/
#define M_PAR_LONG_MIN_APOL_NEIGH "number_apol_asph_pocket" /**< flag for the minimum number of apolar neighbours for an alpha sphere to be considered as apolar*/
#define M_PAR_MC_ITER 'v' /**< flag for how many iterations for the monte carlo volume calculation algorithm*/
#define M_PAR_LONG_MC_ITER "iterations_volume_mc" /**< flag for how many iterations for the monte carlo volume calculation algorithm*/
#define M_PAR_CLUST_MAX_DIST 'D' /**< flag for clustering distance*/
#define M_PAR_LONG_CLUST_MAX_DIST "clustering_distance" /**< flag for clustering distance*/
#define M_PAR_BASIC_VOL_DIVISION 'b'/**< flag for the space approximation of the MC*/
#define M_PAR_MIN_POCK_NB_ASPH 'i' /**< flag for the min number of alpha spheres in the pocket*/
#define M_PAR_LONG_MIN_POCK_NB_ASPH "min_spheres_per_pocket" /**< flag for the min number of alpha spheres in the pocket*/
#define M_PAR_MC_ITER 'v' /**< flag for how many iterations for the monte carlo volume calculation algorithm*/
#define M_PAR_LONG_MC_ITER "iterations_volume_mc" /**< flag for how many iterations for the monte carlo volume calculation algorithm*/
#define M_PAR_REFINE_MIN_NAPOL_AS 'p'/**< flag for minimum proportion of apolar alpha spheres*/
#define M_PAR_LONG_REFINE_MIN_NAPOL_AS "ratio_apol_spheres_pocket"/**< flag for minimum proportion of apolar alpha spheres*/
#define M_PAR_BASIC_VOL_DIVISION 'b' /**< flag for the space approximation of the MC*/
#define M_PAR_MIN_POCK_NB_ASPH 'i' /**< flag for the min number of alpha spheres in the pocket*/
#define M_PAR_LONG_MIN_POCK_NB_ASPH "min_spheres_per_pocket" /**< flag for the min number of alpha spheres in the pocket*/
#define M_PAR_DB_RUN 'd' /**<flag for running fpocket as database run, more silent and special output is produced for automatic grabbing of results using other programs*/
#define M_PAR_LONG_DB_RUN "pocket_descr_stdout" /**<flag for running fpocket as database run, more silent and special output is produced for automatic grabbing of results using other programs*/
#define M_PAR_REFINE_MIN_NAPOL_AS 'p' /**< flag for minimum proportion of apolar alpha spheres*/
#define M_PAR_LONG_REFINE_MIN_NAPOL_AS "ratio_apol_spheres_pocket" /**< flag for minimum proportion of apolar alpha spheres*/
#define M_PAR_CLUSTERING_METHOD 'C' /**<flag for specifying the clustering method to use for alpha sphere clustering*/
#define M_PAR_LONG_CLUSTERING_METHOD "clustering_method" /**<flag for specifying the clustering method to use for alpha sphere clustering*/
#define M_PAR_DB_RUN 'd' /**<flag for running fpocket as database run, more silent and special output is produced for automatic grabbing of results using other programs*/
#define M_PAR_LONG_DB_RUN "pocket_descr_stdout" /**<flag for running fpocket as database run, more silent and special output is produced for automatic grabbing of results using other programs*/
#define M_PAR_DISTANCE_MEASURE 'e' /**<flag for specifying the distance measure*/
#define M_PAR_CLUSTERING_METHOD 'C' /**<flag for specifying the clustering method to use for alpha sphere clustering*/
#define M_PAR_LONG_CLUSTERING_METHOD "clustering_method" /**<flag for specifying the clustering method to use for alpha sphere clustering*/
#define M_PAR_DISTANCE_MEASURE 'e' /**<flag for specifying the distance measure*/
#define M_PAR_LONG_DISTANCE_MEASURE "clustering_measure" /**<flag for specifying the distance measure*/
#define M_PAR_GRID_CALCULATION 'x' /**<flag for specifying the distance measure*/
#define M_PAR_GRID_CALCULATION 'x' /**<flag for specifying the distance measure*/
#define M_PAR_LONG_GRID_CALCULATION "calculate_interaction_grids" /**<flag for specifying the distance measure*/
#define M_PAR_TOPOLOGY 'y' /**<flag for specifying a molecular topology suitable for FF calculations*/
#define M_PAR_TOPOLOGY 'y' /**<flag for specifying a molecular topology suitable for FF calculations*/
#define M_PAR_LONG_TOPOLOGY "topology_file" /**<flag for specifying a molecular topology suitable for FF calculations*/
#define M_PAR_MODEL_FLAG 'l' /**<flag for analyzing a specific model in multimodel structures*/
#define M_PAR_MODEL_FLAG 'l' /**<flag for analyzing a specific model in multimodel structures*/
#define M_PAR_MODEL_FLAG_LONG "model_number" /**<flag for anamyzing a specific model in multimodel structures*/
#define M_PAR_CUSTOM_LIGAND 'r' /**flag, to define detection of explicit pockets around the specified ligand*/
#define M_PAR_CUSTOM_LIGAND_LONG "custom_ligand"
#define M_PAR_CUSTOM_POCKET 'P' /** flag to define a specific location to calculate the binding site on*/
#define M_PAR_CUSTOM_POCKET_LONG "custom_pocket"
#define M_PAR_DROP_CHAINS 'c' /**flag, to define which chain are dropped before the pocket detection*/
#define M_PAR_DROP_CHAINS_LONG "drop_chains"
#define M_PAR_KEEP_CHAINS 'k' /**flag, to define which chains are kept before the pocket detection*/
#define M_PAR_KEEP_CHAINS_LONG "keep_chains"
#define M_PAR_CHAIN_AS_LIGAND 'a' /**flag, to define which chains are defined as a ligand*/
#define M_PAR_CHAIN_AS_LIGAND_LONG "chain_as_ligand"
#define M_PAR_WRITE_MODE 'w' /**flag, to define write mode for pocket output: d->same as input, b or both -> both (pdb & cif), p or pdb ->pdb, m or cif -> mmcif*/
#define M_PAR_WRITE_MODE_LONG "write_mode"
#define M_PAR_MIN_N_EXPLICIT_POCKET 'u'
#define M_PAR_MIN_N_EXPLICIT_POCKET_LONG "min_n_explicit_pocket"
#define M_FP_USAGE "\n\
***** USAGE (fpocket) *****\n\
@@ -149,76 +170,85 @@ Pocket finding on a pdb - list of pdb - file(s): \n\
\t c : centroid linkage clustering\n\
\nSee the manual (man fpocket), or the full documentation for\n\
more information.\n\
***************************\n",M_PAR_PDB_FILE,M_PAR_LONG_PDB_FILE,M_PAR_PDB_LIST,M_PAR_LONG_PDB_LIST /**< the usage print content*/
***************************\n", \
M_PAR_PDB_FILE, M_PAR_LONG_PDB_FILE, M_PAR_PDB_LIST, M_PAR_LONG_PDB_LIST /**< the usage print content*/
/* --------------------------- PUBLIC STRUCTURES ---------------------------- */
/**
Structure containing all necessary parameters that can be changed by the user.
This structure is commun to both programs (validation and pocket finding),
This structure is commun to both programs (validation and pocket finding),
even if the pocked finding programm doesn't need some parameters.
*/
typedef struct s_fparams
{
char pdb_path[M_MAX_PDB_NAME_LEN] ; /**< The pdb file */
char topology_path[M_MAX_PDB_NAME_LEN]; /**< a putative topology file*/
char custom_ligand[M_MAX_PDB_NAME_LEN]; /**container for custom pocket detection using a particular ligand*/
char **pdb_lst ;
char xlig_chain_code[3];
char xlig_resname[3];
int xlig_resnumber;
char distance_measure;
char clustering_method;
int npdb ; /**< number of pdb files*/
short fpocket_running;
int flag_do_asa_and_volume_calculations; /**<if 1, asa and volume calculations are performed(slower), if 0, not*/
int db_run; /**< flag for running fpocket for db population*/
int model_number; /**<number of model to be analyzed>*/
unsigned short flag_do_grid_calculations; /**< if 1 do grid calculations and output these*/
int min_apol_neigh, /**< Min number of apolar neighbours for an a-sphere
to be an apolar a-sphere */
nb_mcv_iter, /**< Number of iteration for the Monte Carlo volume
calculation */
basic_volume_div, /**< Box division factor for basic volume calculation */
min_pock_nb_asph; /**< Minimump number of alpha spheres per pocket */
char pdb_path[M_MAX_PDB_NAME_LEN]; /**< The pdb file */
char topology_path[M_MAX_PDB_NAME_LEN]; /**< a putative topology file*/
char custom_ligand[M_MAX_PDB_NAME_LEN]; /**container for custom pocket detection using a particular ligand*/
char custom_pocket_arg[M_MAX_CUSTOM_POCKET_LEN];
char **pdb_lst;
char *xlig_chain_code;
char *xlig_resname;
int xlig_resnumber;
int xpocket_n; /**number of residues defining the pocket to consider*/
char *xpocket_chain_code;
char *xpocket_insertion_code;
unsigned short *xpocket_residue_number;
char distance_measure;
char clustering_method;
int min_n_explicit_pocket_atoms; /**Minimum numer of atoms in contact with an alpha sphere part of the explicitly defined pocket in order to be considered as valid*/
int npdb; /**< number of pdb files*/
short fpocket_running;
int flag_do_asa_and_volume_calculations; /**<if 1, asa and volume calculations are performed(slower), if 0, not*/
int db_run; /**< flag for running fpocket for db population*/
int model_number; /**<number of model to be analyzed>*/
unsigned short flag_do_grid_calculations; /**< if 1 do grid calculations and output these*/
int min_apol_neigh, /**< Min number of apolar neighbours for an a-sphere
to be an apolar a-sphere */
nb_mcv_iter, /**< Number of iteration for the Monte Carlo volume
calculation */
basic_volume_div; /**< Box division factor for basic volume calculation */
unsigned short
min_pock_nb_asph; /**< Minimump number of alpha spheres per pocket */
float clust_max_dist, /**< First clustering distance criteria */
refine_min_apolar_asphere_prop, /**< Min proportion of apolar alpha
spheres for each pocket */
asph_min_size, /**< Minimum size of alpha spheres to keep */
min_as_density, /**<Minimum alpha sphere density for a pocket to be retained*/
asph_max_size ; /**< Maximum size of alpha spheres to keep */
} s_fparams ;
float clust_max_dist, /**< First clustering distance criteria */
refine_min_apolar_asphere_prop, /**< Min proportion of apolar alpha
spheres for each pocket */
asph_min_size, /**< Minimum size of alpha spheres to keep */
min_as_density, /**<Minimum alpha sphere density for a pocket to be retained*/
asph_max_size; /**< Maximum size of alpha spheres to keep */
char *chain_delete[M_MAX_CHAINS_DELETE]; /*chosen chain to delete before calculation*/
unsigned short n_chains_to_delete;
unsigned short n_chains_as_ligand;
char *chain_as_ligand[M_MAX_CHAINS_DELETE];
int chain_is_kept; /* To choose if we keep the chains or not*/
char write_par[10]; /*write mode : d -> default | b -> both pdb and mmcif | p ->pdb | m -> mmcif*/
} s_fparams;
/* ------------------------------- PROTOTYPES ------------------------------- */
s_fparams* init_def_fparams(void) ;
s_fparams* get_fpocket_args(int nargs, char **args) ;
s_fparams *init_def_fparams(void);
s_fparams *get_fpocket_args(int nargs, char **args);
int parse_clust_max_dist(char *str, s_fparams *p) ;
int parse_clust_max_dist(char *str, s_fparams *p);
int parse_clustering_method(char *str, s_fparams *p);
int parse_sclust_min_nneigh(char *str, s_fparams *p) ;
int parse_min_apol_neigh(char *str, s_fparams *p) ;
int parse_asph_min_size(char *str, s_fparams *p) ;
int parse_asph_max_size(char *str, s_fparams *p) ;
int parse_mc_niter(char *str, s_fparams *p) ;
int parse_basic_vol_div(char *str, s_fparams *p) ;
int parse_refine_dist(char *str, s_fparams *p) ;
int parse_sclust_min_nneigh(char *str, s_fparams *p);
int parse_min_apol_neigh(char *str, s_fparams *p);
int parse_asph_min_size(char *str, s_fparams *p);
int parse_asph_max_size(char *str, s_fparams *p);
int parse_mc_niter(char *str, s_fparams *p);
int parse_basic_vol_div(char *str, s_fparams *p);
int parse_refine_dist(char *str, s_fparams *p);
int parse_distance_measure(char *str, s_fparams *p);
int parse_refine_minaap(char *str, s_fparams *p) ;
int parse_min_pock_nb_asph(char *str, s_fparams *p) ;
int parse_refine_minaap(char *str, s_fparams *p);
int parse_min_pock_nb_asph(char *str, s_fparams *p);
int is_fpocket_opt(const char opt) ;
int is_fpocket_opt(const char opt);
void free_fparams(s_fparams *p) ;
void print_pocket_usage(FILE *f) ;
void print_fparams(s_fparams *p, FILE *f) ;
void free_fparams(s_fparams *p);
void print_pocket_usage(FILE *f);
void print_fparams(s_fparams *p, FILE *f);
#endif

View File

@@ -25,12 +25,17 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
#include "fparams.h"
#include "fpout.h"
#include "topology.h"
#include "read_mmcif.h"
#include "memhandler.h"
#include "libmolfile_plugin.h"
#include "molfile_plugin.h"
/* ------------------------------PROTOTYPES-----------------------------------*/
void process_pdb(char *pdbname, s_fparams *params) ;
s_pdb *open_file_format(char *fpath, const char *ligan, const int keep_lig, int model_number, s_fparams *par);
void read_file_format(s_pdb *pdb, const char *ligan, const int keep_lig, int model_number, s_fparams *par);
#endif

View File

@@ -28,6 +28,8 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
float pte_get_vdw_ray(const char *symbol) ;
float pte_get_mass(const char *symbol) ;
float pte_get_enegativity(const char *symbol) ;
float pte_get_enegativity_from_number(int atomicnumber) ;
char *pte_get_element_from_number(int atomicnumber);
int is_valid_element(const char *str, int ignore_case) ;
int element_in_std_res(char *res_name);
int element_in_nucl_acid(char *res_name);

28
headers/read_mmcif.h Normal file
View File

@@ -0,0 +1,28 @@
#ifndef DH_READ_MMCIF
#define DH_READ_MMCIF
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "atom.h"
#include "pertable.h"
#include "utils.h"
#include "memhandler.h"
#include "math.h"
#include "fparams.h"
#include "rpdb.h"
/*
* Plugin header files; get plugin source from www.ks.uiuc.edu/Research/vmd"
*/
#include "libmolfile_plugin.h"
#include "molfile_plugin.h"
s_pdb *open_mmcif(char *fpath, const char *ligan, const int keep_lig, int model_number, s_fparams *par);
void print_molfile_atom_t(molfile_atom_t *at_in, molfile_timestep_t ts_in, int inatoms);
void write_files(molfile_atom_t *at_in, molfile_timestep_t ts_in, int inatoms, int optflags, char *filetype);
void read_mmcif(s_pdb *pdb, const char *ligan, const int keep_lig, int model_number, s_fparams *params);
#endif

View File

@@ -31,7 +31,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
/* --------------------------PROTOTYPES---------------------------------------*/
void refinePockets(c_lst_pockets *pockets, s_fparams *params);
void apply_clustering(c_lst_pockets *pockets, s_fparams *params);
void apply_clustering(c_lst_pockets *pockets);
void reIndexPockets(c_lst_pockets *pockets);
void dropSmallNpolarPockets(c_lst_pockets *pockets, s_fparams *params);
void drop_tiny(c_lst_pockets *pockets, s_fparams *params) ;

View File

@@ -81,7 +81,8 @@ typedef struct s_pdb
int n_xlig_atoms; /**number of atoms in xlig array ( number of atoms of selected atom*/
int natoms, /**< Number of atoms */
nhetatm, /**< Number of HETATM */
natm_lig ; /**< Number of ligand atoms */
natm_lig, /**< Number of ligand atoms */
natoms_h ; /**< Number of hydrogen atoms */
float A, B, C, /**< Side lengths of the unit cell */
alpha, beta, gamma ; /**< Angle between B and C, A and C, A and C */
@@ -89,6 +90,10 @@ typedef struct s_pdb
char header[M_PDB_BUF_LEN] ; /**< Header container*/
char fname[M_PDB_FILE_NAME_LEN]; /**< File name container*/
float avg_bfactor; /**<overall average B factor*/
float min_bfactor; /**<overall minimum B factor*/
float max_bfactor; /**<overall maximum B factor*/
int model_flag; /**<flag set to 1 if a particular model / conformation was read*/
int model_number; /**<number of the model read in*/
} s_pdb ;
@@ -137,9 +142,10 @@ s_min_max_coords *float_get_min_max_from_pdb(s_pdb *pdb);
void init_coord_grid(s_pdb *pdb);
void create_coord_grid(s_pdb *pdb);
void fill_coord_grid(s_pdb *pdb);
s_atom_ptr_list *init_atom_ptr_list(void);
// s_atom_ptr_list *init_atom_ptr_list(void);
short get_mm_type_from_element(char *symbol);
int chains_to_delete(char *chains_selected[20], char *current_line_chain, int is_chain_kept,unsigned short n_chains_to_delete);
int is_ligand(char *chains_selected[20], char *current_line_chain, unsigned short n_chains_as_ligand);
#endif

View File

@@ -33,8 +33,8 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
/* ------------------------------- PUBLIC MACROS ---------------------------- */
#define M_MAX_PDB_NAME_LEN 200 /**< maximum pdb filename length*/
#define M_MAX_PDB_NAME_LEN 2000 /**< maximum pdb filename length*/
#define M_MAX_CUSTOM_POCKET_LEN 8000 /** maximum length for a custom pocket string*/
#define M_SIGN 1
#define M_NO_SIGN 0

View File

@@ -8,7 +8,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
*/
#ifndef DH_VORONOI
#define DH_VORONOI
@@ -27,7 +26,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
#include "calc.h"
#include "utils.h"
#include "../src/qhull/src//qvoronoi/qvoronoi.h"
#include "../src/qhull/src/qconvex/qconvex.h"
@@ -36,62 +34,61 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
/* ----------------------------------MACROS--------------------------------- */
#define M_VORONOI_SUCCESS 0 /**< alpha sphere type - hydrophobic alpha sphere */
#define M_APOLAR_AS 0 /**< alpha sphere type - hydrophilic alpha sphere */
#define M_POLAR_AS 1
#define M_APOLAR_AS 0 /**< alpha sphere type - hydrophilic alpha sphere */
#define M_POLAR_AS 1
#define M_PREC_TOLERANCE 1e-3 /**< tolerance for coordinate imprecion during alpha sphere search*/
#define M_BUFSIZE 1e6 /**< buffer size*/
#define M_N_REPLICAS 1 /**< currently not used anymore : number of times we do the voronoi tesselation for translated coordinates to avoid precision problems with qhull */
#define M_BUFSIZE 1e6 /**< buffer size*/
#define M_N_REPLICAS 1 /**< currently not used anymore : number of times we do the voronoi tesselation for translated coordinates to avoid precision problems with qhull */
/* --------------------------------STRUCTURES-------------------------------- */
/**
Container of the Voronoi vertice
*/
typedef struct s_vvertice
typedef struct s_vvertice
{
int resid ; /**< residue ID*/
int id, /**< vertice ID*/
seen, /**< Say if we have seen this vertice during a neighbor search */
qhullId, /**< ID of the vertice in qhull output*/
type ; /**< 0 if apolar contacts, 1 if polar */
int resid; /**< residue ID*/
int id, /**< vertice ID*/
seen, /**< Say if we have seen this vertice during a neighbor search */
qhullId, /**< ID of the vertice in qhull output*/
type; /**< 0 if apolar contacts, 1 if polar */
float ray ; /**< Ray of voronoi vertice */
float x, /**< X coord */
y, /**< Y coord */
z ; /**< Z coord */
int sort_x; /**< Index in the sorted tab by X coord */
int apol_neighbours; /**< number of neighbouring apolar alpha spheres */
float ray; /**< Ray of voronoi vertice */
float x, /**< X coord */
y, /**< Y coord */
z; /**< Z coord */
int vneigh[4] ; /**< vertice neighbours (4 contact atoms)*/
s_atm *neigh[4] ; /**< The theorical 4 contacted atoms */
float bary[3] ; /**< Barycenter of the pocket */
float electrostatic_energy; /**<estimate of electrostatic energy around the alpha sphere */
int sort_x; /**< Index in the sorted tab by X coord */
int apol_neighbours; /**< number of neighbouring apolar alpha spheres */
} s_vvertice ;
int vneigh[4]; /**< vertice neighbours (4 contact atoms)*/
s_atm *neigh[4]; /**< The theorical 4 contacted atoms */
float bary[3]; /**< Barycenter of the pocket */
float electrostatic_energy; /**<estimate of electrostatic energy around the alpha sphere */
} s_vvertice;
/**
vertice list container
*/
typedef struct s_lst_vvertice
{
s_vvertice *vertices ; /**< List of voronoi vertices */
s_vvertice **pvertices ; /**< list of pointers to vertices*/
s_vvertice *vertices; /**< List of voronoi vertices */
s_vvertice **pvertices; /**< list of pointers to vertices*/
/* Indexes of heavy atoms used as input for qhull in the s_pdb list of atoms */
int *h_tr;
int *h_tr;
/* Size of h_tr */
int n_h_tr;
int n_h_tr;
int *tr, /**< translation of voronoi vertice indices*/
nvert, /**< no of vertices*/
qhullSize ; /**< number of vertices in qhull*/
} s_lst_vvertice ;
int *tr, /**< translation of voronoi vertice indices*/
nvert, /**< no of vertices*/
qhullSize; /**< number of vertices in qhull*/
} s_lst_vvertice;
/**
* clusterlib vertice info container
@@ -99,62 +96,57 @@ typedef struct s_lst_vvertice
typedef struct s_clusterlib_vertices
{
double ** pos; /**< Positions (xyz) of Voronoi vertices*/
int ** mask; /**< Mask for position array*/
double weight[3]; /**< column (coordinate weights for distance matrix calculation*/
int transpose; /**< cluster by rows (transpose=0) or column(transpose=1)*/
char dist; /**< char defining distance measure used*/
char method; /**< char defining method used (clustering)*/
double **pos; /**< Positions (xyz) of Voronoi vertices*/
int **mask; /**< Mask for position array*/
double weight[3]; /**< column (coordinate weights for distance matrix calculation*/
int transpose; /**< cluster by rows (transpose=0) or column(transpose=1)*/
char dist; /**< char defining distance measure used*/
char method; /**< char defining method used (clustering)*/
} s_clusterlib_vertices ;
} s_clusterlib_vertices;
/* -----------------------------PROTOTYPES----------------------------------- */
s_lst_vvertice* load_vvertices_DEPRECATED(s_pdb *pdb, int min_apol_neigh,
float ashape_min_size, float ashape_max_size,
float xshift,float yshift, float zshift) ;
s_lst_vvertice* load_vvertices(s_pdb *pdb, int min_apol_neigh, float asph_min_size, float asph_max_size,float xshift,float yshift,float zshift);
s_lst_vvertice *load_vvertices(s_pdb *pdb, s_fparams *params, float xshift, float yshift, float zshift);
void fill_vvertices(s_lst_vvertice *lvvert, const char fpath[], s_atm *atoms, int natoms,
int min_apol_neigh, float asph_min_size, float asph_max_size,
float xshift, float yshift, float zshift,float avg_bfactor,s_pdb *pdb) ;
s_fparams *params,
float xshift, float yshift, float zshift, float avg_bfactor, s_pdb *pdb);
void add_missing_vvertices(s_lst_vvertice *lvvert, const char fpath[], s_atm *atoms,
int min_apol_neigh, float asph_min_size, float asph_max_size,
float xshift, float yshift,float zshift, float avg_bfactor,s_pdb *pdb);
void add_missing_vvertices(s_lst_vvertice *lvvert, const char fpath[], s_atm *atoms,
s_fparams *params,
float xshift, float yshift, float zshift, float avg_bfactor, s_pdb *pdb);
unsigned short check_if_similar_vertice_in_list(s_vvertice *v, s_lst_vvertice *lvvert);
void add_vertice_to_vertice_list(s_lst_vvertice *lvvert,s_vvertice *v);
void copy_vertice(s_vvertice *v1,s_vvertice *v2, int n);
void add_vertice_to_vertice_list(s_lst_vvertice *lvvert, s_vvertice *v);
void copy_vertice(s_vvertice *v1, s_vvertice *v2, int n);
float testVvertice(float xyz[3], int curNbIdx[4], s_atm *atoms,
float min_asph_size, float max_asph_size,
s_lst_vvertice *lvvert,
float xshift, float yshift, float zshift,float avg_bfactor,s_pdb *pdb);
float testVvertice(float xyz[3], int curNbIdx[4], s_atm *atoms,
s_fparams *params,
s_lst_vvertice *lvvert,
float xshift, float yshift, float zshift, float avg_bfactor, s_pdb *pdb);
float atom_in_explicit_pocket(s_atm *cura, s_fparams *params);
s_lst_vvertice *compare_vvertice_shifted_lists(s_lst_vvertice *lvvert,
s_lst_vvertice *list_shifted,float xshift,float yshift,float zshift);
s_lst_vvertice *list_shifted, float xshift, float yshift, float zshift);
double **get_3d_array_from_vvertice_list(s_lst_vvertice *lvvert);
s_clusterlib_vertices *prepare_vertices_for_cluster_lib(s_lst_vvertice *lvvert,char c_method,char d_method);
void set_barycenter(s_vvertice *v) ;
int is_in_lst_vert(s_vvertice **lst_vert, int nb_vert, int v_id) ;
s_clusterlib_vertices *prepare_vertices_for_cluster_lib(s_lst_vvertice *lvvert, char c_method, char d_method);
void set_barycenter(s_vvertice *v);
int is_in_lst_vert(s_vvertice **lst_vert, int nb_vert, int v_id);
int is_in_lst_vert_p(s_vvertice **lst_vert, int nb_vert, s_vvertice *vert);
void write_pqr_vert(FILE *f, s_vvertice *v, int i) ;
void write_pdb_vert(FILE *f, s_vvertice *v, int i) ;
float get_verts_volume_ptr(s_vvertice **verts, int nvert, int niter,float correct);
void write_pqr_vert(FILE *f, s_vvertice *v, int i);
void write_pdb_vert(FILE *f, s_vvertice *v, int i);
void write_mmcif_vert(FILE *f, s_vvertice *v, int i);
float get_verts_volume_ptr(s_vvertice **verts, int nvert, int niter, float correct);
float get_convex_hull_volume(s_vvertice **verts, int nvert);
void print_vvertices(FILE *f, s_lst_vvertice *lvvert) ;
void free_vert_lst(s_lst_vvertice *lvvert) ;
void print_vvertices(FILE *f, s_lst_vvertice *lvvert);
void free_vert_lst(s_lst_vvertice *lvvert);
void transferClustersToVertices(int **clusterIds,s_lst_vvertice *lvert);
void transferClustersToVertices(int **clusterIds, s_lst_vvertice *lvert);
double frand_a_b(double a, double b);
int free_cluster_lib_vertices(s_clusterlib_vertices *clusterlib_vertices, int nvert);

View File

@@ -30,6 +30,8 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
void write_visualization(char *pdb_name,char *pdb_out_name);
void write_vmd(char *pdb_name,char *pdb_out_name);
void write_pymol(char *pdb_name,char *pdb_out_name);
void write_vmd_mmcif(char *pdb_name,char *pdb_out_name);
void write_pymol_mmcif(char *pdb_name, char *pdb_out_name);
#endif

View File

@@ -25,4 +25,9 @@ void write_pqr_atom_line(FILE *f, const char *rec_name, int id, const char *atom
char alt_loc, const char *res_name, const char *chain,
int res_id, const char insert, float x, float y, float z, float charge,
float radius);
void write_mmcif_atom_line(FILE *f, const char rec_name[], int id, const char atom_name[],
char alt_loc, const char res_name[], const char chain[],
int res_id, const char label_asym_id[],int label_seq_id, const char insert, float x, float y, float z, float occ,
float bfactor, int abpa, const char *symbol, int charge,float abpa_prob) ;
#endif

View File

@@ -40,5 +40,9 @@ void write_pdb_atoms(FILE *f, s_atm *atoms, int natoms) ;
void write_each_pocket_for_DB(const char out_path[], c_lst_pockets *pockets,s_pdb *pdb);
void write_pocket_pqr_DB(const char out[], s_pocket *pocket);
void write_pocket_pdb_DB(const char out[], s_pocket *pocket,s_pdb *pdb);
void write_pocket_mmcif_DB(const char out[], s_pocket *pocket, s_pdb *pdb);
void write_mmcif_atoms(FILE *f, s_atm *atoms, int natoms);
void write_pockets_single_mmcif(const char out[], s_pdb *pdb, c_lst_pockets *pockets);
void write_pocket_mmcif(const char out[], s_pocket *pocket);
#endif

View File

@@ -1,6 +1,7 @@
#------------------------------------------------------------
# Makefile.
#------------------------------------------------------------
# ARCH = MACOSXX86_64
ARCH = LINUXAMD64
export ARCH
@@ -12,8 +13,11 @@ PATH_HEADER = headers/
PATH_BIN = bin/
PATH_MAN = man/
PATH_QHULL = src/qhull/src
PATH_LIB = $(PLUGINDIR)/$(ARCH)/molfile/
BINDIR = /usr/local/bin/
LIBDIR = /usr/local/lib/
MANDIR = /usr/local/man/man8/
@@ -22,7 +26,8 @@ TPOCKET = tpocket
DPOCKET = dpocket
MDPOCKET = mdpocket
CHECK = pcheck
PROGFPOCKET = $(PATH_BIN)$(FPOCKET) $(PATH_BIN)$(TPOCKET) $(PATH_BIN)$(DPOCKET) $(PATH_BIN)$(MDPOCKET)
PROGFPOCKET = $(PATH_BIN)$(FPOCKET) $(PATH_BIN)$(TPOCKET) $(PATH_BIN)$(DPOCKET)
PROGALL = $(PATH_BIN)$(FPOCKET) $(PATH_BIN)$(TPOCKET) $(PATH_BIN)$(DPOCKET) $(PATH_BIN)$(MDPOCKET)
PROGMDPOCKET = $(PATH_BIN)$(MDPOCKET)
ifeq ($(CXX),g++)
@@ -40,14 +45,15 @@ endif
CGSL = -DMD_NOT_USE_GSL -I$(PATH_GSL)include
COS = -DM_OS_LINUX
CDEBUG = -DMNO_MEM_DEBUG
CWARN = -Wall -Wextra -Wwrite-strings -Wstrict-prototypes
CWARN = -W -Wextra -Wwrite-strings -Wstrict-prototypes
CFLAGS = $(CWARN) $(COS) $(CDEBUG) -O2 -g -pg -std=c99 -I$(PLUGINDIR)/include -I$(PLUGINDIR)/$(ARCH)/molfile
CFLAGS = $(CWARN) $(COS) $(CDEBUG) -O2 -g -pg -std=gnu99 -I$(PLUGINDIR)/include -I$(PLUGINDIR)/$(ARCH)/molfile
QCFLAGS = -O -g -pg -ansi
LGSL = -L$(PATH_GSL)lib -lgsl -lgslcblas
LFLAGS = -lm -L$(PLUGINDIR)/$(ARCH)/molfile $(PLUGINDIR)/$(ARCH)/molfile/libmolfile_plugin.a -lstdc++
NETCDFFLAGS = -lnetcdf
NETCDFFLAGS =
#-lnetcdf
#
#------------------------------------------------------------
@@ -82,7 +88,7 @@ CHOBJ = $(PATH_OBJ)check.o $(PATH_OBJ)psorting.o $(PATH_OBJ)pscoring.o \
$(PATH_OBJ)descriptors.o $(PATH_OBJ)aa.o \
$(PATH_OBJ)fpocket.o $(PATH_OBJ)write_visu.o $(PATH_OBJ)fpout.o \
$(PATH_OBJ)atom.o $(PATH_OBJ)writepocket.o $(PATH_OBJ)voronoi_lst.o \
$(PATH_OBJ)neighbor.o $(PATH_OBJ)asa.o $(PATH_OBJ)clusterlib.o $(PATH_OBJ)energy.o \
$(PATH_OBJ)neighbor.o $(PATH_OBJ)asa.o $(PATH_OBJ)clusterlib.o $(PATH_OBJ)energy.o $(PATH_OBJ)read_mmcif.o \
FPOBJ = $(PATH_OBJ)fpmain.o $(PATH_OBJ)psorting.o $(PATH_OBJ)pscoring.o \
@@ -93,7 +99,7 @@ FPOBJ = $(PATH_OBJ)fpmain.o $(PATH_OBJ)psorting.o $(PATH_OBJ)pscoring.o \
$(PATH_OBJ)descriptors.o $(PATH_OBJ)aa.o \
$(PATH_OBJ)fpocket.o $(PATH_OBJ)write_visu.o $(PATH_OBJ)fpout.o \
$(PATH_OBJ)atom.o $(PATH_OBJ)writepocket.o $(PATH_OBJ)voronoi_lst.o $(PATH_OBJ)asa.o \
$(PATH_OBJ)clusterlib.o $(PATH_OBJ)energy.o $(PATH_OBJ)topology.o \
$(PATH_OBJ)clusterlib.o $(PATH_OBJ)energy.o $(PATH_OBJ)topology.o $(PATH_OBJ)read_mmcif.o \
$(QOBJS)
TPOBJ = $(PATH_OBJ)tpmain.o $(PATH_OBJ)psorting.o $(PATH_OBJ)pscoring.o \
@@ -105,7 +111,7 @@ TPOBJ = $(PATH_OBJ)tpmain.o $(PATH_OBJ)psorting.o $(PATH_OBJ)pscoring.o \
$(PATH_OBJ)aa.o $(PATH_OBJ)fpocket.o $(PATH_OBJ)write_visu.o \
$(PATH_OBJ)fpout.o $(PATH_OBJ)atom.o $(PATH_OBJ)writepocket.o \
$(PATH_OBJ)voronoi_lst.o $(PATH_OBJ)neighbor.o $(PATH_OBJ)asa.o\
$(PATH_OBJ)clusterlib.o $(PATH_OBJ)energy.o $(PATH_OBJ)topology.o\
$(PATH_OBJ)clusterlib.o $(PATH_OBJ)energy.o $(PATH_OBJ)topology.o $(PATH_OBJ)read_mmcif.o\
$(PATH_QHULL)/qvoronoi/qvoronoi.o $(PATH_QHULL)/qconvex/qconvex.o
DPOBJ = $(PATH_OBJ)dpmain.o $(PATH_OBJ)psorting.o $(PATH_OBJ)pscoring.o \
@@ -116,7 +122,7 @@ DPOBJ = $(PATH_OBJ)dpmain.o $(PATH_OBJ)psorting.o $(PATH_OBJ)pscoring.o \
$(PATH_OBJ)writepdb.o $(PATH_OBJ)memhandler.o $(PATH_OBJ)pocket.o \
$(PATH_OBJ)refine.o $(PATH_OBJ)fparams.o \
$(PATH_OBJ)fpocket.o $(PATH_OBJ)fpout.o $(PATH_OBJ)writepocket.o \
$(PATH_OBJ)write_visu.o $(PATH_OBJ)asa.o\
$(PATH_OBJ)write_visu.o $(PATH_OBJ)asa.o $(PATH_OBJ)read_mmcif.o\
$(PATH_OBJ)voronoi_lst.o $(PATH_OBJ)clusterlib.o $(QOBJS) $(PATH_OBJ)energy.o \
$(PATH_OBJ)topology.o
@@ -128,7 +134,7 @@ MDPOBJ = $(PATH_OBJ)mdpmain.o $(PATH_OBJ)mdpocket.o $(PATH_OBJ)mdpbase.o $(PATH_
$(PATH_OBJ)writepdb.o $(PATH_OBJ)memhandler.o $(PATH_OBJ)pocket.o \
$(PATH_OBJ)refine.o $(PATH_OBJ)fparams.o \
$(PATH_OBJ)fpocket.o $(PATH_OBJ)fpout.o \
$(PATH_OBJ)writepocket.o $(PATH_OBJ)write_visu.o $(PATH_OBJ)asa.o \
$(PATH_OBJ)writepocket.o $(PATH_OBJ)write_visu.o $(PATH_OBJ)asa.o $(PATH_OBJ)read_mmcif.o\
$(PATH_OBJ)voronoi_lst.o $(PATH_OBJ)clusterlib.o $(QOBJS) $(PATH_OBJ)energy.o $(PATH_OBJ)topology.o
#------------------------------------------------------------
@@ -148,10 +154,7 @@ $(PATH_OBJ)%.o: $(PATH_SRC)%.cpp
# RULES FOR EXECUTABLES
#-----------------------------------------------------------
all:
make qhull
make fpocket
make mdpocket
all: qhull $(PROGALL)
fpocket: qhull $(PROGFPOCKET) # $(PATH_BIN)$(CHECK)
mdpocket: qhull $(PROGMDPOCKET)
@@ -182,6 +185,7 @@ install:
cp $(PATH_BIN)$(DPOCKET) $(BINDIR)
cp $(PATH_BIN)$(MDPOCKET) $(BINDIR)
cp $(PATH_MAN)* $(MANDIR)
cp $(PATH_LIB)* $(LIBDIR)
check:
./$(PATH_BIN)$(CHECK)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More