Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
Commit
·
20d2150
0
Parent(s):
initial commit
Browse files- .gitattributes +35 -0
- .gitignore +13 -0
- LICENSE.md +23 -0
- README.md +24 -0
- app.py +871 -0
- examples/HEA.cif +89 -0
- examples/MOF_CO2.traj +0 -0
- examples/MOF_CO2_2H2O.traj +0 -0
- examples/bis(EDA)Cu.xyz +27 -0
- examples/catalyst.traj +0 -0
- examples/ethylene_carbonate.xyz +12 -0
- examples/gold_nanoparticle_crystal.cif +1944 -0
- examples/inorganic_crystal.cif +75 -0
- examples/metal_cplx.pdb +243 -0
- examples/organic_molecular_crystal.cif +257 -0
- examples/protein.pdb +755 -0
- gradio_molecule3d/LICENSE +7 -0
- gradio_molecule3d/README.md +438 -0
- gradio_molecule3d/backend/gradio_molecule3d/__init__.py +4 -0
- gradio_molecule3d/backend/gradio_molecule3d/molecule3d.py +352 -0
- gradio_molecule3d/demo/__init__.py +0 -0
- gradio_molecule3d/demo/app.py +72 -0
- gradio_molecule3d/demo/css.css +157 -0
- gradio_molecule3d/demo/requirements.txt +1 -0
- gradio_molecule3d/frontend/Example.svelte +30 -0
- gradio_molecule3d/frontend/Index.svelte +339 -0
- gradio_molecule3d/frontend/gradio.config.js +11 -0
- gradio_molecule3d/frontend/package-lock.json +0 -0
- gradio_molecule3d/frontend/package.json +36 -0
- gradio_molecule3d/frontend/shared/File.svelte +39 -0
- gradio_molecule3d/frontend/shared/FilePreview.svelte +197 -0
- gradio_molecule3d/frontend/shared/FileRetrieval.svelte +159 -0
- gradio_molecule3d/frontend/shared/FileUpload.svelte +100 -0
- gradio_molecule3d/frontend/shared/MolecularViewer.svelte +2438 -0
- gradio_molecule3d/frontend/shared/loading_spinner.svelte +44 -0
- gradio_molecule3d/frontend/shared/utils.ts +12 -0
- gradio_molecule3d/frontend/style.css +1 -0
- gradio_molecule3d/package.json +5 -0
- gradio_molecule3d/pyproject.toml +50 -0
- hf_calculator.py +121 -0
- requirements.txt +6 -0
- simulation_scripts.py +345 -0
.gitattributes
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
*.7z filter=lfs diff=lfs merge=lfs -text
|
2 |
+
*.arrow filter=lfs diff=lfs merge=lfs -text
|
3 |
+
*.bin filter=lfs diff=lfs merge=lfs -text
|
4 |
+
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
5 |
+
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
6 |
+
*.ftz filter=lfs diff=lfs merge=lfs -text
|
7 |
+
*.gz filter=lfs diff=lfs merge=lfs -text
|
8 |
+
*.h5 filter=lfs diff=lfs merge=lfs -text
|
9 |
+
*.joblib filter=lfs diff=lfs merge=lfs -text
|
10 |
+
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
11 |
+
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
12 |
+
*.model filter=lfs diff=lfs merge=lfs -text
|
13 |
+
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
14 |
+
*.npy filter=lfs diff=lfs merge=lfs -text
|
15 |
+
*.npz filter=lfs diff=lfs merge=lfs -text
|
16 |
+
*.onnx filter=lfs diff=lfs merge=lfs -text
|
17 |
+
*.ot filter=lfs diff=lfs merge=lfs -text
|
18 |
+
*.parquet filter=lfs diff=lfs merge=lfs -text
|
19 |
+
*.pb filter=lfs diff=lfs merge=lfs -text
|
20 |
+
*.pickle filter=lfs diff=lfs merge=lfs -text
|
21 |
+
*.pkl filter=lfs diff=lfs merge=lfs -text
|
22 |
+
*.pt filter=lfs diff=lfs merge=lfs -text
|
23 |
+
*.pth filter=lfs diff=lfs merge=lfs -text
|
24 |
+
*.rar filter=lfs diff=lfs merge=lfs -text
|
25 |
+
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
26 |
+
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
27 |
+
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
28 |
+
*.tar filter=lfs diff=lfs merge=lfs -text
|
29 |
+
*.tflite filter=lfs diff=lfs merge=lfs -text
|
30 |
+
*.tgz filter=lfs diff=lfs merge=lfs -text
|
31 |
+
*.wasm filter=lfs diff=lfs merge=lfs -text
|
32 |
+
*.xz filter=lfs diff=lfs merge=lfs -text
|
33 |
+
*.zip filter=lfs diff=lfs merge=lfs -text
|
34 |
+
*.zst filter=lfs diff=lfs merge=lfs -text
|
35 |
+
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
.gitignore
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.eggs/
|
2 |
+
dist/
|
3 |
+
*.pyc
|
4 |
+
__pycache__/
|
5 |
+
*.py[cod]
|
6 |
+
*$py.class
|
7 |
+
__tmp/*
|
8 |
+
*.pyi
|
9 |
+
.mypycache
|
10 |
+
.ruff_cache
|
11 |
+
node_modules
|
12 |
+
**/backend/**/templates/
|
13 |
+
**/cached_examples/*
|
LICENSE.md
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# License
|
2 |
+
|
3 |
+
MIT License
|
4 |
+
|
5 |
+
Copyright (c) Meta, Inc. and its affiliates.
|
6 |
+
|
7 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
8 |
+
of this software and associated documentation files (the "Software"), to deal
|
9 |
+
in the Software without restriction, including without limitation the rights
|
10 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
11 |
+
copies of the Software, and to permit persons to whom the Software is
|
12 |
+
furnished to do so, subject to the following conditions:
|
13 |
+
|
14 |
+
The above copyright notice and this permission notice shall be included in all
|
15 |
+
copies or substantial portions of the Software.
|
16 |
+
|
17 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
18 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
19 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
20 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
21 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
22 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
23 |
+
SOFTWARE.
|
README.md
ADDED
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
title: FAIR Chem UMA Educational Demo
|
3 |
+
emoji: 😻
|
4 |
+
colorFrom: gray
|
5 |
+
colorTo: gray
|
6 |
+
sdk: gradio
|
7 |
+
sdk_version: 5.23.3
|
8 |
+
app_file: app.py
|
9 |
+
hf_oauth: true
|
10 |
+
hf_oauth_scopes:
|
11 |
+
- read-repos
|
12 |
+
---
|
13 |
+
|
14 |
+
This repo houses the FAIR chemistry UMA educational demo. The UMA models are available under a FAIR Chemistry license at https://huggingface.co/facebook/UMA .
|
15 |
+
|
16 |
+
1. Try examples to see how UMA works across molecules and materials
|
17 |
+
2. Explore how the UMA tasks should be applied to different structures
|
18 |
+
3. Try the UMA model with your own structures!
|
19 |
+
|
20 |
+
This repo also uses a fork of the excellent `gradio_molecule3d` package (https://huggingface.co/spaces/simonduerr/gradio_molecule3d/tree/main) in the `gradio_molecule3d` subdirectory for visualization of structures in 3dmol.js via gradio components. There are a number of small changes needed for the demo here, primarily:
|
21 |
+
* Add support for PBC visualization
|
22 |
+
* Add support for conversion of formats unsupported by 3dmol.js via ASE
|
23 |
+
* Remove UI elements that are unnecessary for this demo
|
24 |
+
* Add multi-model PDBs as frames to enable visualization of trajectories.
|
app.py
ADDED
@@ -0,0 +1,871 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"""
|
2 |
+
Copyright (c) Meta Platforms, Inc. and affiliates.
|
3 |
+
|
4 |
+
This source code is licensed under the MIT license found in the
|
5 |
+
LICENSE file in the root directory of this source tree.
|
6 |
+
"""
|
7 |
+
|
8 |
+
import os
|
9 |
+
import subprocess
|
10 |
+
import sys
|
11 |
+
from pathlib import Path
|
12 |
+
|
13 |
+
import gradio as gr
|
14 |
+
|
15 |
+
from simulation_scripts import run_md_simulation, run_relaxation_simulation
|
16 |
+
|
17 |
+
DEFAULT_MOLECULAR_REPRESENTATIONS = [
|
18 |
+
{
|
19 |
+
"model": 0,
|
20 |
+
"chain": "",
|
21 |
+
"resname": "",
|
22 |
+
"style": "sphere",
|
23 |
+
"color": "Jmol",
|
24 |
+
"around": 0,
|
25 |
+
"byres": False,
|
26 |
+
"scale": 0.3,
|
27 |
+
},
|
28 |
+
{
|
29 |
+
"model": 0,
|
30 |
+
"chain": "",
|
31 |
+
"resname": "",
|
32 |
+
"style": "stick",
|
33 |
+
"color": "Jmol",
|
34 |
+
"around": 0,
|
35 |
+
"byres": False,
|
36 |
+
"scale": 0.2,
|
37 |
+
},
|
38 |
+
]
|
39 |
+
DEFAULT_MOLECULAR_SETTINGS = {
|
40 |
+
"backgroundColor": "white",
|
41 |
+
"orthographic": False,
|
42 |
+
"disableFog": False,
|
43 |
+
}
|
44 |
+
|
45 |
+
|
46 |
+
def main():
|
47 |
+
|
48 |
+
input_structure = gr.File(
|
49 |
+
label="ASE-compatible structure",
|
50 |
+
file_types=[".cif", ".pdb", ".xyz", ".traj", "INCAR", "POSCAR"],
|
51 |
+
height=150,
|
52 |
+
)
|
53 |
+
output_traj = gr.File(
|
54 |
+
label="Simulation Trajectory (ASE traj file)",
|
55 |
+
interactive=False,
|
56 |
+
height=150,
|
57 |
+
)
|
58 |
+
input_visualization = Molecule3D(
|
59 |
+
label="Input Visualization",
|
60 |
+
reps=DEFAULT_MOLECULAR_REPRESENTATIONS,
|
61 |
+
config=DEFAULT_MOLECULAR_SETTINGS,
|
62 |
+
render=False,
|
63 |
+
inputs=[input_structure],
|
64 |
+
value=lambda x: x,
|
65 |
+
interactive=False,
|
66 |
+
)
|
67 |
+
md_steps = gr.Slider(minimum=1, maximum=500, value=100, label="MD Steps")
|
68 |
+
prerelax_steps = gr.Slider(
|
69 |
+
minimum=0, maximum=100, value=20, label="Pre-Relaxation Steps"
|
70 |
+
)
|
71 |
+
temperature_k = gr.Slider(
|
72 |
+
minimum=0.0,
|
73 |
+
maximum=1500.0, # Adjusted max value for temperature
|
74 |
+
value=300.0,
|
75 |
+
label="Temp [K]",
|
76 |
+
)
|
77 |
+
md_timestep = gr.Slider(minimum=0.1, maximum=5.0, value=1.0, label="Timestep [fs]")
|
78 |
+
md_ensemble = gr.Radio(
|
79 |
+
label="Thermodynamic Ensemble", choices=["NVE", "NVT"], value="NVE"
|
80 |
+
)
|
81 |
+
optimization_steps = gr.Slider(
|
82 |
+
minimum=1, maximum=500, value=300, step=1, label="Max Steps"
|
83 |
+
)
|
84 |
+
fmax = gr.Slider(value=0.05, minimum=0.001, maximum=0.5, label="Opt. Fmax [eV/Å]")
|
85 |
+
|
86 |
+
task_name = gr.Radio(
|
87 |
+
value="OMol", choices=["OMol", "OMC", "OMat", "OC20", "ODAC"], label="Task Name"
|
88 |
+
)
|
89 |
+
|
90 |
+
gr.Markdown("OMol-specific settings for total charge and spin multiplicity")
|
91 |
+
total_charge = gr.Slider(
|
92 |
+
value=0, label="Total Charge", minimum=-10, maximum=10, step=1
|
93 |
+
)
|
94 |
+
spin_multiplicity = gr.Slider(
|
95 |
+
value=1, maximum=11, minimum=1, step=1, label="Spin Multiplicity "
|
96 |
+
)
|
97 |
+
relax_unit_cell = gr.Checkbox(value=False, label="Relax Unit Cell")
|
98 |
+
|
99 |
+
md_button = gr.Button("Run MD Simulation")
|
100 |
+
optimization_button = gr.Button("Run Optimization")
|
101 |
+
|
102 |
+
output_structure = Molecule3D(
|
103 |
+
label="Simulation Visualization",
|
104 |
+
reps=DEFAULT_MOLECULAR_REPRESENTATIONS,
|
105 |
+
config=DEFAULT_MOLECULAR_SETTINGS,
|
106 |
+
render=False,
|
107 |
+
elem_classes="structures",
|
108 |
+
height=500,
|
109 |
+
inputs=[output_traj],
|
110 |
+
value=lambda x: x,
|
111 |
+
interactive=False,
|
112 |
+
)
|
113 |
+
|
114 |
+
explanation = gr.Markdown()
|
115 |
+
explanation_buffer = gr.Markdown()
|
116 |
+
|
117 |
+
output_text = gr.Code(lines=20, max_lines=30, label="Log", interactive=False)
|
118 |
+
|
119 |
+
reproduction_script = gr.Code(
|
120 |
+
interactive=False,
|
121 |
+
max_lines=30,
|
122 |
+
language="python",
|
123 |
+
label="ASE Reproduction Script",
|
124 |
+
)
|
125 |
+
|
126 |
+
with gr.Blocks(theme=gr.themes.Ocean()) as demo:
|
127 |
+
with gr.Row():
|
128 |
+
with gr.Column(scale=2):
|
129 |
+
|
130 |
+
with gr.Column(variant="panel"):
|
131 |
+
gr.Markdown(
|
132 |
+
"# Meta's Universal Model for Atoms (UMA) Educational Demo"
|
133 |
+
)
|
134 |
+
|
135 |
+
with gr.Tab("1. Your first UMA simulation"):
|
136 |
+
|
137 |
+
with gr.Row():
|
138 |
+
gr.Examples(
|
139 |
+
examples=[
|
140 |
+
[
|
141 |
+
str(
|
142 |
+
Path(__file__).parent
|
143 |
+
/ "./examples/metal_cplx.pdb"
|
144 |
+
),
|
145 |
+
100,
|
146 |
+
20,
|
147 |
+
1.0,
|
148 |
+
300.0,
|
149 |
+
"NVE",
|
150 |
+
"OMol",
|
151 |
+
1,
|
152 |
+
6,
|
153 |
+
"Congratulations, you just ran your first UMA simulation! This is a molecular dynamics simulation of a transition metal complex that shows the atoms vibrating from thermal motion. Now try running some of the examples in the next tab to more thoroughly explore how UMA can be applied to different domains and types of structures.",
|
154 |
+
],
|
155 |
+
[
|
156 |
+
str(
|
157 |
+
Path(__file__).parent
|
158 |
+
/ "./examples/inorganic_crystal.cif"
|
159 |
+
),
|
160 |
+
200,
|
161 |
+
20,
|
162 |
+
1.0,
|
163 |
+
300.0,
|
164 |
+
"NVE",
|
165 |
+
"OMat",
|
166 |
+
0,
|
167 |
+
1,
|
168 |
+
"Congratulations, you just ran your first UMA simulation! This is a molecular dynamics simulation of a transition metal complex that shows the atoms vibrating from thermal motion. Now try running some of the examples in the next tab to more thoroughly explore how UMA can be applied to different domains and types of structures.",
|
169 |
+
],
|
170 |
+
],
|
171 |
+
example_labels=[
|
172 |
+
"A transition metal complex",
|
173 |
+
"An inorganic crystal",
|
174 |
+
],
|
175 |
+
inputs=[
|
176 |
+
input_structure,
|
177 |
+
md_steps,
|
178 |
+
prerelax_steps,
|
179 |
+
md_timestep,
|
180 |
+
temperature_k,
|
181 |
+
md_ensemble,
|
182 |
+
task_name,
|
183 |
+
total_charge,
|
184 |
+
spin_multiplicity,
|
185 |
+
explanation_buffer,
|
186 |
+
],
|
187 |
+
outputs=[
|
188 |
+
output_traj,
|
189 |
+
output_text,
|
190 |
+
reproduction_script,
|
191 |
+
explanation,
|
192 |
+
],
|
193 |
+
fn=run_md_simulation,
|
194 |
+
run_on_click=True,
|
195 |
+
cache_examples=True,
|
196 |
+
label="Molecular Dynamics Examples",
|
197 |
+
)
|
198 |
+
|
199 |
+
gr.Markdown(
|
200 |
+
"""
|
201 |
+
Start by clicking one of the above examples to see how the demo works and what the inputs and outputs will look like.
|
202 |
+
* Every example is a specific molecular structure or material that can be simulated using the UMA model.
|
203 |
+
* Each simulation you see would take days or weeks using a traditional quantum chemistry simulation, but UMA can do it in seconds or minutes!
|
204 |
+
* Examples in the demo are cached ahead of time so they should load right away, but if you run a custom simulation you'll see a progress bar while the simulation runs.
|
205 |
+
|
206 |
+
When you've run your first simulation, click on the next tab above to explore the UMA model in more detail and see how it works across many different domains/examples!
|
207 |
+
"""
|
208 |
+
)
|
209 |
+
|
210 |
+
with gr.Tab("2. Explore UMA's capabilities"):
|
211 |
+
gr.Markdown(
|
212 |
+
"""
|
213 |
+
These next examples are designed to show how the UMA model can be applied to different domains and types of structures, and how different model inputs can impact the results!
|
214 |
+
* As you try each one, look at how the inputs change below, and the simulation outputs change on the right
|
215 |
+
* Each UMA task corresponds to a different domain of chemistry, and a different Density Functional Theory (DFT) code and level of theory that was used for the training data.
|
216 |
+
* Feel free to try changing some of the settings below and re-run the simulations to see how the results can vary!
|
217 |
+
"""
|
218 |
+
)
|
219 |
+
gr.Examples(
|
220 |
+
examples=[
|
221 |
+
[
|
222 |
+
str(
|
223 |
+
Path(__file__).parent
|
224 |
+
/ "./examples/metal_cplx.pdb"
|
225 |
+
),
|
226 |
+
100,
|
227 |
+
20,
|
228 |
+
1.0,
|
229 |
+
300.0,
|
230 |
+
"NVE",
|
231 |
+
"OMol",
|
232 |
+
1,
|
233 |
+
6,
|
234 |
+
"This metal complex showcases the UMA's ability to handle complicated transition metal complexes with ligands, spin, and charge.",
|
235 |
+
],
|
236 |
+
[
|
237 |
+
str(
|
238 |
+
Path(__file__).parent
|
239 |
+
/ "./examples/organic_molecular_crystal.cif"
|
240 |
+
),
|
241 |
+
200,
|
242 |
+
20,
|
243 |
+
1.0,
|
244 |
+
300.0,
|
245 |
+
"NVE",
|
246 |
+
"OMC",
|
247 |
+
0,
|
248 |
+
1,
|
249 |
+
"This organic crystal showcases the UMA's ability to handle organic molecular crystals using the OMC task, using a random packing of a molecule from OE62. You could also try using the OMol or OMat tasks and see how the simulations differ!",
|
250 |
+
],
|
251 |
+
[
|
252 |
+
str(
|
253 |
+
Path(__file__).parent
|
254 |
+
/ "./examples/inorganic_crystal.cif"
|
255 |
+
),
|
256 |
+
200,
|
257 |
+
20,
|
258 |
+
1.0,
|
259 |
+
300.0,
|
260 |
+
"NVE",
|
261 |
+
"OMat",
|
262 |
+
0,
|
263 |
+
1,
|
264 |
+
"This inorganic crystal from the Materials Project showcases the UMA's ability to handle inorganic materials using the OMat task. You should be careful with the output energies since the analysis might require careful application of the Materials Project GGA/GGA+U correction schemes.",
|
265 |
+
],
|
266 |
+
[
|
267 |
+
str(Path(__file__).parent / "./examples/HEA.cif"),
|
268 |
+
200,
|
269 |
+
20,
|
270 |
+
1.0,
|
271 |
+
300.0,
|
272 |
+
"NVE",
|
273 |
+
"OMat",
|
274 |
+
0,
|
275 |
+
1,
|
276 |
+
"High-entropy alloys are materials with 4 or more elements, and this example shows the OMat model can also be applied to HEAs. This particular HEA is equimolar Cr/Fe/Ni/Sn, but could exist in other lattice configurations. ",
|
277 |
+
],
|
278 |
+
[
|
279 |
+
str(
|
280 |
+
Path(__file__).parent
|
281 |
+
/ "./examples/catalyst.traj"
|
282 |
+
),
|
283 |
+
200,
|
284 |
+
20,
|
285 |
+
1.0,
|
286 |
+
300.0,
|
287 |
+
"NVE",
|
288 |
+
"OC20",
|
289 |
+
0,
|
290 |
+
1,
|
291 |
+
"This example shows the OC20 model can be applied to small molecules on a catalyst surface, and that OC20 has recently been extended with datasets for multi-adsorbate interactions. Notice some of the adsorbates wrap around the periodic boundary conditions. Some of the adsorbates are weakly bound and desorbing from the surface based on this starting configuration.",
|
292 |
+
],
|
293 |
+
[
|
294 |
+
str(
|
295 |
+
Path(__file__).parent
|
296 |
+
/ "./examples/gold_nanoparticle_crystal.cif"
|
297 |
+
),
|
298 |
+
200,
|
299 |
+
20,
|
300 |
+
1.0,
|
301 |
+
300.0,
|
302 |
+
"NVE",
|
303 |
+
"OMat",
|
304 |
+
0,
|
305 |
+
1,
|
306 |
+
"This example is an experimentally solved crystal structure for a thiolate protected gold nanocluster from an[open-access academic paper](https://pubs.rsc.org/en/content/articlelanding/2016/sc/c5sc02134k) and [available in the COD](https://www.crystallography.net/cod/1540567.html). This is a fun example because it combines small molecules, inorganic materials, and surface chemistry, so it's not so clear which task to use. Try the OMat, OMol, and OC20 tasks to see how the results differ! Further, the experimental paper reported different crystal structures based on the charge and spin multiplicity, so try changing the charge and spin multiplicity to see how the results differ.",
|
307 |
+
],
|
308 |
+
[
|
309 |
+
str(
|
310 |
+
Path(__file__).parent
|
311 |
+
/ "./examples/ethylene_carbonate.xyz"
|
312 |
+
),
|
313 |
+
500,
|
314 |
+
20,
|
315 |
+
1.0,
|
316 |
+
1000.0,
|
317 |
+
"NVE",
|
318 |
+
"OMol",
|
319 |
+
0,
|
320 |
+
1,
|
321 |
+
"Ethylene carbonate is a common electrolyte in batteries, and an important precursor to the solid/electrolyte interface (SEI) formation. This example is the neutral version of ethylene carbonate and it is quite stable even at high temperatures! Try the radical anion version of ethylene carbonate in the next example.",
|
322 |
+
],
|
323 |
+
[
|
324 |
+
str(
|
325 |
+
Path(__file__).parent
|
326 |
+
/ "./examples/ethylene_carbonate.xyz"
|
327 |
+
),
|
328 |
+
500,
|
329 |
+
20,
|
330 |
+
1.0,
|
331 |
+
1000.0,
|
332 |
+
"NVE",
|
333 |
+
"OMol",
|
334 |
+
-1,
|
335 |
+
2,
|
336 |
+
"With charge of -1 and spin multiplicity of 2, this radical anion version of ethylene carbonate is much less stable than the neutral version and can undergo spontaneous ring-opening at high temperatures, which initiates the formation of a battery's solid/electrolyte interface (SEI). If the simulation doesn't show a ring opening reaction, try clicking the molecular dynamic buttons again to see another short simulation. Only OMol currently supports arbitrary charge/spin multiplicity.",
|
337 |
+
],
|
338 |
+
[
|
339 |
+
str(
|
340 |
+
Path(__file__).parent / "./examples/protein.pdb"
|
341 |
+
),
|
342 |
+
200,
|
343 |
+
20,
|
344 |
+
1.0,
|
345 |
+
300.0,
|
346 |
+
"NVE",
|
347 |
+
"OMol",
|
348 |
+
0,
|
349 |
+
1,
|
350 |
+
"This is a solvated structure of a small protein fragment using the OMol task. Very little is likely happen in a very short MD simulations. Try increasing the number of MD steps to see how the protein moves. You can also try using the OMat task, but be careful with the results since the OMat task is not trained on solvated systems.",
|
351 |
+
],
|
352 |
+
[
|
353 |
+
str(
|
354 |
+
Path(__file__).parent
|
355 |
+
/ "./examples/MOF_CO2.traj"
|
356 |
+
),
|
357 |
+
200,
|
358 |
+
20,
|
359 |
+
1.0,
|
360 |
+
300.0,
|
361 |
+
"NVE",
|
362 |
+
"ODAC",
|
363 |
+
0,
|
364 |
+
1,
|
365 |
+
"This is a metal organic framework (MOF) structure using the ODac task. You might study structures like if designing MOFs for direct air capture calculations. Look carefully for the red/gray CO2 molecule in the pores of the MOF! You can also try the OMol and OMat tasks to see if the results differ.",
|
366 |
+
],
|
367 |
+
],
|
368 |
+
example_labels=[
|
369 |
+
"Simulate a transition metal complex",
|
370 |
+
"Simulate an organic molecular crystal",
|
371 |
+
"Simulate an inorganic crystal",
|
372 |
+
"Simulate a high-entropy alloy",
|
373 |
+
"Simulate a catalyst surface/adsorbate",
|
374 |
+
"Simulate a ligated gold nanoparticle crystal",
|
375 |
+
"Simulate a neutral ethylene carbonate",
|
376 |
+
"Simulate a radical anion ethylene carbonate",
|
377 |
+
"Simulate a solvated protein",
|
378 |
+
"Simulate CO2 in a metal organic framework",
|
379 |
+
],
|
380 |
+
inputs=[
|
381 |
+
input_structure,
|
382 |
+
md_steps,
|
383 |
+
prerelax_steps,
|
384 |
+
md_timestep,
|
385 |
+
temperature_k,
|
386 |
+
md_ensemble,
|
387 |
+
task_name,
|
388 |
+
total_charge,
|
389 |
+
spin_multiplicity,
|
390 |
+
explanation_buffer,
|
391 |
+
],
|
392 |
+
outputs=[
|
393 |
+
output_traj,
|
394 |
+
output_text,
|
395 |
+
reproduction_script,
|
396 |
+
explanation,
|
397 |
+
],
|
398 |
+
fn=run_md_simulation,
|
399 |
+
run_on_click=True,
|
400 |
+
cache_examples=True,
|
401 |
+
label="Molecular Dynamics Examples",
|
402 |
+
)
|
403 |
+
|
404 |
+
gr.Examples(
|
405 |
+
examples=[
|
406 |
+
[
|
407 |
+
str(
|
408 |
+
Path(__file__).parent
|
409 |
+
/ "./examples/bis(EDA)Cu.xyz"
|
410 |
+
),
|
411 |
+
300,
|
412 |
+
0.05,
|
413 |
+
"OMol",
|
414 |
+
1,
|
415 |
+
1,
|
416 |
+
False,
|
417 |
+
"This is a super fun example of a transition metal complex that changes its geometry based on the assumed charge/spin multiplicity and actually has different local minima. It highlights the ability of the OMol task to handle these additional inputs. In this first example it forms a tetragonal geometry - try clicking on the next example (with charge=+2 and spin multiplicity 2) to see the other local minima!",
|
418 |
+
],
|
419 |
+
[
|
420 |
+
str(
|
421 |
+
Path(__file__).parent
|
422 |
+
/ "./examples/bis(EDA)Cu.xyz"
|
423 |
+
),
|
424 |
+
300,
|
425 |
+
0.05,
|
426 |
+
"OMol",
|
427 |
+
2,
|
428 |
+
2,
|
429 |
+
False,
|
430 |
+
"This is a super fun example of a transition metal complex that changes its geometry based on the assumed charge/spin multiplicity and actually has different local minima. In contrast to the previous example (charge=+1 and spin multiplicity 1), this one forms a square planar geometry.",
|
431 |
+
],
|
432 |
+
[
|
433 |
+
str(
|
434 |
+
Path(__file__).parent
|
435 |
+
/ "./examples/metal_cplx.pdb"
|
436 |
+
),
|
437 |
+
300,
|
438 |
+
0.05,
|
439 |
+
"OMol",
|
440 |
+
1,
|
441 |
+
6,
|
442 |
+
False,
|
443 |
+
"This metal complex showcases the UMA's ability to handle complicated transition metal complexes with ligands, spin, and charge.",
|
444 |
+
],
|
445 |
+
[
|
446 |
+
str(
|
447 |
+
Path(__file__).parent
|
448 |
+
/ "./examples/organic_molecular_crystal.cif"
|
449 |
+
),
|
450 |
+
300,
|
451 |
+
0.05,
|
452 |
+
"OMC",
|
453 |
+
0,
|
454 |
+
1,
|
455 |
+
True,
|
456 |
+
"This organic crystal showcases the UMA's ability to handle organic molecular crystals using the OMC task, using a random packing of a molecule from OE62. You could also try using the OMol or OMat tasks and see how the simulations differ!",
|
457 |
+
],
|
458 |
+
[
|
459 |
+
str(
|
460 |
+
Path(__file__).parent
|
461 |
+
/ "./examples/inorganic_crystal.cif"
|
462 |
+
),
|
463 |
+
300,
|
464 |
+
0.05,
|
465 |
+
"OMat",
|
466 |
+
0,
|
467 |
+
1,
|
468 |
+
True,
|
469 |
+
"This inorganic crystal from the Materials Project showcases the UMA's ability to handle inorganic materials using the OMat task. You should be careful with the output energies since the analysis might require careful application of the Materials Project GGA/GGA+U correction schemes.",
|
470 |
+
],
|
471 |
+
[
|
472 |
+
str(Path(__file__).parent / "./examples/HEA.cif"),
|
473 |
+
300,
|
474 |
+
0.05,
|
475 |
+
"OMat",
|
476 |
+
0,
|
477 |
+
1,
|
478 |
+
True,
|
479 |
+
"High-entropy alloys are materials with 4 or more elements, and this example shows the OMat model can also be applied to HEAs. This particular HEA is equimolar Cr/Fe/Ni/Sn, but could exist in other lattice configurations. ",
|
480 |
+
],
|
481 |
+
[
|
482 |
+
str(
|
483 |
+
Path(__file__).parent
|
484 |
+
/ "./examples/catalyst.traj"
|
485 |
+
),
|
486 |
+
300,
|
487 |
+
0.05,
|
488 |
+
"OC20",
|
489 |
+
0,
|
490 |
+
1,
|
491 |
+
False,
|
492 |
+
"This example shows the OC20 model can be applied to small molecules on a catalyst surface, and that OC20 has recently been extended with datasets for multi-adsorbate interactions. Notice some of the adsorbates wrap around the periodic boundary conditions. Some of the adsorbates are weakly bound and desorbing from the surface based on this starting configuration.",
|
493 |
+
],
|
494 |
+
[
|
495 |
+
str(
|
496 |
+
Path(__file__).parent / "./examples/protein.pdb"
|
497 |
+
),
|
498 |
+
300,
|
499 |
+
0.05,
|
500 |
+
"OMol",
|
501 |
+
0,
|
502 |
+
1,
|
503 |
+
True,
|
504 |
+
"This is a solvated structure of a small protein fragment using the OMol task. Very little is likely happen in a very short MD simulations. Try increasing the number of MD steps to see how the protein moves. You can also try using the OMat task, but be careful with the results since the OMat task is not trained on solvated systems.",
|
505 |
+
],
|
506 |
+
[
|
507 |
+
str(
|
508 |
+
Path(__file__).parent
|
509 |
+
/ "./examples/MOF_CO2_2H2O.traj"
|
510 |
+
),
|
511 |
+
300,
|
512 |
+
0.05,
|
513 |
+
"ODAC",
|
514 |
+
0,
|
515 |
+
1,
|
516 |
+
False,
|
517 |
+
"This is a metal organic framework (MOF) structure using the ODac task. You might study structures like if designing MOFs for direct air capture (DAC) calculations. Look carefully for the co-adsorption between CO2 and two water molecules in the pore, which you might study if you were interested in the effect of humidity on DAC performance! You can also try the OMol and OMat tasks to see if the results differ.",
|
518 |
+
],
|
519 |
+
],
|
520 |
+
example_labels=[
|
521 |
+
"Relax bis(EDA)Cu TM complex with charge=1, spin=1",
|
522 |
+
"Relax bis(EDA)Cu TM complex with charge=2, spin=2",
|
523 |
+
"Relax a transition metal complex w ligands",
|
524 |
+
"Relax an organic molecular crystal",
|
525 |
+
"Relax an inorganic crystal",
|
526 |
+
"Relax a high-entropy alloy",
|
527 |
+
"Relax a catalyst surface/adsorbate",
|
528 |
+
"Relax a solvated protein",
|
529 |
+
"Relax co-adsorbed H2O/CO2 in a metal organic framework",
|
530 |
+
],
|
531 |
+
inputs=[
|
532 |
+
input_structure,
|
533 |
+
optimization_steps,
|
534 |
+
fmax,
|
535 |
+
task_name,
|
536 |
+
total_charge,
|
537 |
+
spin_multiplicity,
|
538 |
+
relax_unit_cell,
|
539 |
+
explanation_buffer,
|
540 |
+
],
|
541 |
+
outputs=[
|
542 |
+
output_traj,
|
543 |
+
output_text,
|
544 |
+
reproduction_script,
|
545 |
+
explanation,
|
546 |
+
],
|
547 |
+
fn=run_relaxation_simulation,
|
548 |
+
run_on_click=True,
|
549 |
+
cache_examples=True,
|
550 |
+
label="Relaxation Examples",
|
551 |
+
)
|
552 |
+
|
553 |
+
gr.Markdown(
|
554 |
+
"Once you understand how the UMA model can be applied to different types of molecules and materials, the final tab above will help you try it out with your own structures! "
|
555 |
+
)
|
556 |
+
|
557 |
+
with gr.Tab("3. Try UMA with your own structures!"):
|
558 |
+
gr.Markdown(
|
559 |
+
"""
|
560 |
+
As the final step of the demo, try running your own structure through the UMA model!
|
561 |
+
|
562 |
+
To use a custom input structure with this demo:
|
563 |
+
1. [Request gated model access.](https://huggingface.co/facebook/UMA) Requests for model access are typically processed within a matter of minutes.
|
564 |
+
2. Login to Hugging Face using the "Sign in with Hugging Face button" in the .
|
565 |
+
3. Then upload a structure file below and click run!
|
566 |
+
|
567 |
+
* Note that uploaded structure will be stored by this demo to analyze model usage and identify domains where model accuracy can be improved.
|
568 |
+
* If you get a redirect error when logging in, please try visiting the direct demo url (https://facebook-fairchem-uma-demo.hf.space/) and try again
|
569 |
+
* Your structure should be in a format supported by ASE 3.25, including .xyz, .cif, .pdb, ASE .traj, INCAR, or POSCAR.
|
570 |
+
* Your structure should either have periodic boundary conditions (PBC) all True, or all False. Support for mixed PBC may be added in the future.
|
571 |
+
"""
|
572 |
+
)
|
573 |
+
|
574 |
+
with gr.Column(variant="panel"):
|
575 |
+
gr.Markdown(
|
576 |
+
"## Learn more about the Universal Model for Atoms (UMA)"
|
577 |
+
)
|
578 |
+
with gr.Accordion(
|
579 |
+
"What is the Universal Model for Atoms?", open=False
|
580 |
+
):
|
581 |
+
gr.Markdown(
|
582 |
+
"""
|
583 |
+
* UMA models predict motion and behavior at the atomic scale, ultimately reducing the development cycle in molecular and materials discovery and unlocking new possibilities for innovation and impact.
|
584 |
+
* UMA models are based on Density Functional Theory (DFT) training datasets. DFT simulations are a commonly used quantum chemistry method to simulate and understand behavior at the atomic scale.
|
585 |
+
* UMA models are large mixture-of-linear-experts graph networks models trained on billions of atoms across five open-science simulation datasets released by the FAIR Chemistry team over the past 5 years. This demo uses the small UMA model with 146M total parameters, 32 experts, and 6M active parameters at any time to predict across all of these domains.
|
586 |
+
|
587 |
+
Read the UMA paper for details or download the UMA model and FAIR Chemistry repository to use this yourself!
|
588 |
+
"""
|
589 |
+
)
|
590 |
+
with gr.Accordion(
|
591 |
+
"Should I trust the UMA simulations?", open=False
|
592 |
+
):
|
593 |
+
gr.Markdown(
|
594 |
+
"""
|
595 |
+
* The UMA model paper contains rigorous accuracy benchmarks on a number of validation sets across chemistry and materials science. As of model release the UMA model was at or near the state-of-the-art for generalization machine learning potentials. Read the UMA paper for details.
|
596 |
+
* Rigorously predicting when AI/ML models will extrapolate (or not) to new domains is an ongoing research area. The best approach is to find or build benchmarks that are similar to the questions you are studying, or be prepared to run some DFT simulations on predictions to validate results on a sample of structures that are relevant to your research problem.
|
597 |
+
"""
|
598 |
+
)
|
599 |
+
with gr.Accordion("Why does this matter?", open=False):
|
600 |
+
gr.Markdown(
|
601 |
+
"""
|
602 |
+
* Many important technological challenges, including developing new molecules to accelerate industrial progress and discovering new materials for energy storage and climate change mitigation, require scientists and engineers to design at the atomic scale.
|
603 |
+
* Traditional experimental discovery and design processes are extremely time consuming and often take decades from ideation to scaled manufacturing.
|
604 |
+
* Meta's Fundamental AI Research Lab (FAIR) is drastically accelerating this process by developing accurate and generalizable machine learning models, building on work by academic, industrial, and national lab collaborators.
|
605 |
+
"""
|
606 |
+
)
|
607 |
+
with gr.Accordion(
|
608 |
+
"Open source packages used in this demo", open=False
|
609 |
+
):
|
610 |
+
gr.Markdown(
|
611 |
+
"""
|
612 |
+
* The model code is available on github at [FAIR chemistry repo](https://github.com/facebookresearch/fairchem)
|
613 |
+
* This demo builds on a number of great open source packages like [gradio_molecule3d](https://huggingface.co/spaces/simonduerr/gradio_molecule3d), [3dmol.js](https://3dmol.csb.pitt.edu/), [ASE](https://wiki.fysik.dtu.dk/ase/), and many others!
|
614 |
+
"""
|
615 |
+
)
|
616 |
+
|
617 |
+
gr.Markdown("## Simulation inputs")
|
618 |
+
|
619 |
+
with gr.Column(variant="panel"):
|
620 |
+
gr.Markdown("### 1. Example structure (or upload your own!)")
|
621 |
+
with gr.Row():
|
622 |
+
with gr.Column():
|
623 |
+
|
624 |
+
input_structure.render()
|
625 |
+
|
626 |
+
gr.LoginButton(size="large")
|
627 |
+
|
628 |
+
gr.Markdown(
|
629 |
+
"""
|
630 |
+
To use your own structures, you need access to the [gated UMA model repository](https://huggingface.co/facebook/UMA) and you need to login with the button above.
|
631 |
+
* See the final tab above '3. Try UMA with your own structures!' for more details and debugging steps!
|
632 |
+
* Note that uploaded structure will be stored by this demo to analyze model usage and identify domains where model accuracy can be improved.
|
633 |
+
* If you get a redirect error when logging in, please try visiting the direct demo url (https://facebook-fairchem-uma-demo.hf.space/) and try again
|
634 |
+
|
635 |
+
"""
|
636 |
+
)
|
637 |
+
with gr.Column(scale=3):
|
638 |
+
input_visualization.render()
|
639 |
+
|
640 |
+
with gr.Column(variant="panel"):
|
641 |
+
gr.Markdown("### 2. Choose the UMA Model Task")
|
642 |
+
with gr.Row():
|
643 |
+
with gr.Column():
|
644 |
+
task_name.render()
|
645 |
+
|
646 |
+
with gr.Row():
|
647 |
+
total_charge.render()
|
648 |
+
spin_multiplicity.render()
|
649 |
+
|
650 |
+
with gr.Column(scale=2):
|
651 |
+
with gr.Tabs() as task_name_tabs:
|
652 |
+
with gr.TabItem("OMol", id=0):
|
653 |
+
gr.Markdown(
|
654 |
+
"""
|
655 |
+
|
656 |
+
OMol25 comprises over 100 million calculations covering small molecules, biomolecules, metal complexes, and electrolytes.
|
657 |
+
|
658 |
+
**Relevant applications:** Biology, organic chemistry, protein folding, small-molecule pharmaceuticals, organic liquid properties, homogeneous catalysis
|
659 |
+
|
660 |
+
**Level of theory:** wB97M-V/def2-TZVPD as implemented in ORCA6, including many-body dispersion. All solvation should be explicit.
|
661 |
+
|
662 |
+
**Additional inputs:** total charge and spin multiplicity. If you don't know what these are, you should be very careful if modeling charged or open-shell systems. This can be used to study radical chemistry or understand the impact of magnetic states on the structure of a molecule.
|
663 |
+
|
664 |
+
**Caveats:** All training data is aperiodic, so any periodic systems should be treated with some caution. Probably won't work well for inorganic materials.
|
665 |
+
"""
|
666 |
+
)
|
667 |
+
with gr.TabItem("OMC", id=1):
|
668 |
+
gr.Markdown(
|
669 |
+
"""
|
670 |
+
|
671 |
+
OMC25 comprises ~25 million calculations of organic molecular crystals from random packing of OE62 structures into various 3D unit cells.
|
672 |
+
|
673 |
+
**Relevant applications:** Pharmaceutical packaging, bio-inspired materials, organic electronics, organic LEDs
|
674 |
+
|
675 |
+
**Level of theory:** PBE+D3 as implemented in VASP.
|
676 |
+
|
677 |
+
**Additional inputs:** UMA has not seen varying charge or spin multiplicity for the OMC task, and expects total_charge=0 and spin multiplicity=0 as model inputs.
|
678 |
+
|
679 |
+
"""
|
680 |
+
)
|
681 |
+
|
682 |
+
with gr.TabItem("OMat", id=2):
|
683 |
+
gr.Markdown(
|
684 |
+
"""
|
685 |
+
|
686 |
+
OMat24 comprises >100 million calculations or inorganic materials collected from many open databases like Materials Project and Alexandria, and randomly sampled far from equilibria.
|
687 |
+
|
688 |
+
**Relevant applications:** Inorganic materials discovery, solar photovoltaics, advanced alloys, superconductors, electronic materials, optical materials
|
689 |
+
|
690 |
+
**Level of theory:** PBE/PBE+U as implemented in VASP using Materials Project suggested settings, except with VASP6 pseudopotentials. No dispersion.
|
691 |
+
|
692 |
+
**Additional inputs:** UMA has not seen varying charge or spin multiplicity for the OMat task, and expects total_charge=0 and spin multiplicity=0 as model inputs.
|
693 |
+
|
694 |
+
**Caveats:** Spin polarization effects are included, but you can't select the magnetic state. Further, OMat24 did not fully sample possible spin states in the training data.
|
695 |
+
"""
|
696 |
+
)
|
697 |
+
|
698 |
+
with gr.TabItem("OC20", id=3):
|
699 |
+
gr.Markdown(
|
700 |
+
"""
|
701 |
+
|
702 |
+
OC20 comprises >100 million calculations of small molecules adsorbed on catalyst surfaces formed from materials in the Materials Project.
|
703 |
+
|
704 |
+
**Relevant applications:** Renewable energy, catalysis, fuel cells, energy conversion, sustainable fertilizer production, chemical refining, plastics synthesis/upcycling
|
705 |
+
|
706 |
+
**Level of theory:** RPBE as implemented in VASP, with VASP5.4 pseudopotentials. No dispersion.
|
707 |
+
|
708 |
+
**Additional inputs:** UMA has not seen varying charge or spin multiplicity for the OC20 task, and expects total_charge=0 and spin multiplicity=0 as model inputs.
|
709 |
+
|
710 |
+
**Caveats:** No oxides or explicit solvents are included in OC20. The model works surprisingly well for transition state searches given the nature of the training data, but you should be careful. RPBE works well for small molecules, but dispersion will be important for larger molecules on surfaces.
|
711 |
+
"""
|
712 |
+
)
|
713 |
+
|
714 |
+
with gr.TabItem("ODAC", id=4):
|
715 |
+
gr.Markdown(
|
716 |
+
"""
|
717 |
+
|
718 |
+
ODAC23 comprises >10 million calculations of CO2/H2O molecules adsorbed in Metal Organic Frameworks sampled from various open databases like CoreMOF.
|
719 |
+
|
720 |
+
**Relevant applications:** Direct air capture, carbon capture and storage, CO2 conversion, catalysis
|
721 |
+
|
722 |
+
**Level of theory:** PBE+D3 as implemented in VASP, with VASP5.4 pseudopotentials.
|
723 |
+
|
724 |
+
**Additional inputs:** UMA has not seen varying charge or spin multiplicity for the ODAC task, and expects total_charge=0 and spin multiplicity=0 as model inputs.
|
725 |
+
|
726 |
+
**Caveats:** The ODAC23 dataset only contains CO2/H2O water absorption, so anything more than might be inaccurate (e.g. hydrocarbons in MOFs). Further, there is a limited number of bare-MOF structures in the training data, so you should be careful if you are using a new MOF structure.
|
727 |
+
"""
|
728 |
+
)
|
729 |
+
|
730 |
+
with gr.Column(variant="panel"):
|
731 |
+
gr.Markdown("### 3. Run Your Simulation")
|
732 |
+
with gr.Row():
|
733 |
+
with gr.Column():
|
734 |
+
gr.Markdown("### Molecular Dynamics")
|
735 |
+
prerelax_steps.render()
|
736 |
+
md_steps.render()
|
737 |
+
temperature_k.render()
|
738 |
+
md_timestep.render()
|
739 |
+
md_ensemble.render()
|
740 |
+
md_button.render()
|
741 |
+
|
742 |
+
with gr.Column():
|
743 |
+
gr.Markdown("### Relaxation")
|
744 |
+
optimization_steps.render()
|
745 |
+
fmax.render()
|
746 |
+
relax_unit_cell.render()
|
747 |
+
optimization_button.render()
|
748 |
+
|
749 |
+
with gr.Column(variant="panel", elem_id="results", min_width=500):
|
750 |
+
gr.Markdown("## UMA Simulation Results")
|
751 |
+
with gr.Tab("Visualization"):
|
752 |
+
output_structure.render()
|
753 |
+
with gr.Accordion(
|
754 |
+
"What should I look for in this simulation?", open=True
|
755 |
+
):
|
756 |
+
explanation.render()
|
757 |
+
with gr.Accordion("Model Disclaimers", open=False):
|
758 |
+
gr.Markdown(
|
759 |
+
"""
|
760 |
+
* While UMA represents a step forward in terms of having a single model that works across chemistry and materials science, we know the model has limitations and weaknesses and there will be cases where the model fails to produce an accurate simulation.
|
761 |
+
* Ab-initio calculations are not perfect. You should always consider the limitations of the level of theory, the code, and the pseudopotentials.
|
762 |
+
"""
|
763 |
+
)
|
764 |
+
with gr.Accordion(
|
765 |
+
"How long should I wait for this simulation?", open=False
|
766 |
+
):
|
767 |
+
gr.Markdown(
|
768 |
+
"""
|
769 |
+
* Every calculation uses a pool of GPUs to process simulations for all current users. You can achieve much higher performance with a dedicated GPU and MD-mode enabled.
|
770 |
+
* Most simulation should finish within a few minutes. Example results are cached, and if you are running a custom simulation you can follow the progress bar
|
771 |
+
* if you don't see progress or the simulation takes more than ~5min, probably there was an error and please try submitting again.
|
772 |
+
* If you notice any issues please submit them as issues on the [FAIR Chemistry GitHub](https://github.com/facebookresearch/fairchem).
|
773 |
+
"""
|
774 |
+
)
|
775 |
+
|
776 |
+
output_traj.render()
|
777 |
+
with gr.Tab("Log"):
|
778 |
+
output_text.render()
|
779 |
+
with gr.Tab("Script"):
|
780 |
+
reproduction_script.render()
|
781 |
+
|
782 |
+
md_button.click(
|
783 |
+
run_md_simulation,
|
784 |
+
inputs=[
|
785 |
+
input_structure,
|
786 |
+
md_steps,
|
787 |
+
prerelax_steps,
|
788 |
+
md_timestep,
|
789 |
+
temperature_k,
|
790 |
+
md_ensemble,
|
791 |
+
task_name,
|
792 |
+
total_charge,
|
793 |
+
spin_multiplicity,
|
794 |
+
],
|
795 |
+
outputs=[output_traj, output_text, reproduction_script, explanation],
|
796 |
+
scroll_to_output=True,
|
797 |
+
concurrency_limit=10,
|
798 |
+
concurrency_id="simulation_queue",
|
799 |
+
)
|
800 |
+
optimization_button.click(
|
801 |
+
run_relaxation_simulation,
|
802 |
+
inputs=[
|
803 |
+
input_structure,
|
804 |
+
optimization_steps,
|
805 |
+
fmax,
|
806 |
+
task_name,
|
807 |
+
total_charge,
|
808 |
+
spin_multiplicity,
|
809 |
+
relax_unit_cell,
|
810 |
+
],
|
811 |
+
outputs=[output_traj, output_text, reproduction_script, explanation],
|
812 |
+
scroll_to_output=True,
|
813 |
+
concurrency_id="simulation_queue",
|
814 |
+
)
|
815 |
+
|
816 |
+
# Change the tab based on the current task name
|
817 |
+
task_name.input(
|
818 |
+
lambda x: gr.Tabs(
|
819 |
+
selected={"OMol": 0, "OMC": 1, "OMat": 2, "OC20": 3, "ODAC": 4}[x]
|
820 |
+
),
|
821 |
+
[task_name],
|
822 |
+
task_name_tabs,
|
823 |
+
)
|
824 |
+
|
825 |
+
# Only show charge/spin inputs for OMol task
|
826 |
+
task_name.input(
|
827 |
+
lambda x: (
|
828 |
+
gr.Number(visible=True) if x == "OMol" else gr.Number(visible=False)
|
829 |
+
),
|
830 |
+
[task_name],
|
831 |
+
total_charge,
|
832 |
+
)
|
833 |
+
task_name.input(
|
834 |
+
lambda x: (
|
835 |
+
gr.Number(visible=True) if x == "OMol" else gr.Number(visible=False)
|
836 |
+
),
|
837 |
+
[task_name],
|
838 |
+
spin_multiplicity,
|
839 |
+
)
|
840 |
+
|
841 |
+
demo.launch()
|
842 |
+
|
843 |
+
|
844 |
+
if __name__ == "__main__":
|
845 |
+
|
846 |
+
# On load, build and install the gradio_molecul3d fork
|
847 |
+
subprocess.call(
|
848 |
+
["gradio", "cc", "install"], cwd=Path(__file__).parent / "gradio_molecule3d/"
|
849 |
+
)
|
850 |
+
subprocess.call(
|
851 |
+
["gradio", "cc", "build"], cwd=Path(__file__).parent / "gradio_molecule3d/"
|
852 |
+
)
|
853 |
+
subprocess.call(
|
854 |
+
[
|
855 |
+
sys.executable,
|
856 |
+
"-m",
|
857 |
+
"pip",
|
858 |
+
"install",
|
859 |
+
Path(__file__).parent
|
860 |
+
/ "gradio_molecule3d/"
|
861 |
+
/ "dist/gradio_molecule3d-0.0.7-py3-none-any.whl",
|
862 |
+
],
|
863 |
+
cwd=Path(__file__).parent.parent,
|
864 |
+
)
|
865 |
+
|
866 |
+
os.makedirs("/data/custom_inputs", exist_ok=True)
|
867 |
+
|
868 |
+
# Load gradio_molecule3d only once it's built and installed
|
869 |
+
from gradio_molecule3d import Molecule3D
|
870 |
+
|
871 |
+
main()
|
examples/HEA.cif
ADDED
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
data_image0
|
2 |
+
_chemical_formula_structural Cr16Fe16Ni16Sn16
|
3 |
+
_chemical_formula_sum "Cr16 Fe16 Ni16 Sn16"
|
4 |
+
_cell_length_a 6.28036836238552
|
5 |
+
_cell_length_b 9.729504828593834
|
6 |
+
_cell_length_c 16.851996690897195
|
7 |
+
_cell_angle_alpha 95.52183275573677
|
8 |
+
_cell_angle_beta 98.573104985915
|
9 |
+
_cell_angle_gamma 97.41755573965753
|
10 |
+
|
11 |
+
_space_group_name_H-M_alt "P 1"
|
12 |
+
_space_group_IT_number 1
|
13 |
+
|
14 |
+
loop_
|
15 |
+
_space_group_symop_operation_xyz
|
16 |
+
'x, y, z'
|
17 |
+
|
18 |
+
loop_
|
19 |
+
_atom_site_type_symbol
|
20 |
+
_atom_site_label
|
21 |
+
_atom_site_symmetry_multiplicity
|
22 |
+
_atom_site_fract_x
|
23 |
+
_atom_site_fract_y
|
24 |
+
_atom_site_fract_z
|
25 |
+
_atom_site_occupancy
|
26 |
+
Cr Cr1 1.0 0.0 0.0 0.0 1.0000
|
27 |
+
Cr Cr2 1.0 0.37500000000000006 0.25 0.3125 1.0000
|
28 |
+
Cr Cr3 1.0 0.06250000000000003 0.375 0.71875 1.0000
|
29 |
+
Cr Cr4 1.0 0.25 0.5 0.875 1.0000
|
30 |
+
Cr Cr5 1.0 0.5625 0.37499999999999994 0.96875 1.0000
|
31 |
+
Cr Cr6 1.0 0.12499999999999997 0.7499999999999999 0.4375 1.0000
|
32 |
+
Cr Cr7 1.0 0.6875000000000001 0.12499999999999986 0.9062500000000001 1.0000
|
33 |
+
Cr Cr8 1.0 0.37500000000000006 0.75 0.31250000000000006 1.0000
|
34 |
+
Cr Cr9 1.0 0.7500000000000001 0.0 0.625 1.0000
|
35 |
+
Cr Cr10 1.0 0.3125 0.375 0.09375000000000003 1.0000
|
36 |
+
Cr Cr11 1.0 0.6875000000000001 0.625 0.40625 1.0000
|
37 |
+
Cr Cr12 1.0 0.8749999999999999 0.7499999999999998 0.5625 1.0000
|
38 |
+
Cr Cr13 1.0 0.625 0.24999999999999992 0.1875 1.0000
|
39 |
+
Cr Cr14 1.0 0.125 0.25 0.4375 1.0000
|
40 |
+
Cr Cr15 1.0 0.3125 0.375 0.59375 1.0000
|
41 |
+
Cr Cr16 1.0 0.43750000000000006 0.125 0.53125 1.0000
|
42 |
+
Fe Fe1 1.0 0.18750000000000003 0.125 0.15625 1.0000
|
43 |
+
Fe Fe2 1.0 0.5625000000000001 0.375 0.46875000000000006 1.0000
|
44 |
+
Fe Fe3 1.0 0.7500000000000001 0.5 0.625 1.0000
|
45 |
+
Fe Fe4 1.0 0.9375000000000001 0.625 0.7812500000000001 1.0000
|
46 |
+
Fe Fe5 1.0 0.12499999999999997 0.7499999999999998 0.9375000000000001 1.0000
|
47 |
+
Fe Fe6 1.0 0.6875000000000001 0.12499999999999996 0.40625 1.0000
|
48 |
+
Fe Fe7 1.0 0.7499999999999999 0.49999999999999994 0.12499999999999997 1.0000
|
49 |
+
Fe Fe8 1.0 0.3125 0.8749999999999999 0.59375 1.0000
|
50 |
+
Fe Fe9 1.0 0.8750000000000001 0.25 0.0625 1.0000
|
51 |
+
Fe Fe10 1.0 0.8125000000000001 0.8750000000000001 0.84375 1.0000
|
52 |
+
Fe Fe11 1.0 0.18750000000000003 0.625 0.15624999999999997 1.0000
|
53 |
+
Fe Fe12 1.0 0.1250000000000001 0.25 0.9375000000000001 1.0000
|
54 |
+
Fe Fe13 1.0 0.5 0.5 0.25 1.0000
|
55 |
+
Fe Fe14 1.0 0.8125 0.375 0.34375000000000006 1.0000
|
56 |
+
Fe Fe15 1.0 0.7500000000000001 0.0 0.125 1.0000
|
57 |
+
Fe Fe16 1.0 0.8750000000000001 0.7499999999999999 0.06250000000000001 1.0000
|
58 |
+
Ni Ni1 1.0 0.3125000000000001 0.8750000000000001 0.09375 1.0000
|
59 |
+
Ni Ni2 1.0 0.5 0.0 0.25 1.0000
|
60 |
+
Ni Ni3 1.0 0.43750000000000006 0.625 0.031249999999999976 1.0000
|
61 |
+
Ni Ni4 1.0 0.625 0.75 0.18750000000000006 1.0000
|
62 |
+
Ni Ni5 1.0 0.18750000000000003 0.12499999999999996 0.65625 1.0000
|
63 |
+
Ni Ni6 1.0 0.25 0.5 0.375 1.0000
|
64 |
+
Ni Ni7 1.0 0.625 0.7499999999999998 0.6875000000000001 1.0000
|
65 |
+
Ni Ni8 1.0 0.0 0.5 0.0 1.0000
|
66 |
+
Ni Ni9 1.0 0.9375000000000001 0.12499999999999996 0.78125 1.0000
|
67 |
+
Ni Ni10 1.0 0.43750000000000006 0.125 0.03125 1.0000
|
68 |
+
Ni Ni11 1.0 0.18750000000000003 0.625 0.65625 1.0000
|
69 |
+
Ni Ni12 1.0 0.49999999999999994 0.49999999999999994 0.75 1.0000
|
70 |
+
Ni Ni13 1.0 0.6875000000000002 0.6250000000000001 0.9062500000000001 1.0000
|
71 |
+
Ni Ni14 1.0 0.06249999999999995 0.8749999999999999 0.21875 1.0000
|
72 |
+
Ni Ni15 1.0 0.625 0.24999999999999992 0.6875000000000001 1.0000
|
73 |
+
Ni Ni16 1.0 0.8125 0.37499999999999994 0.84375 1.0000
|
74 |
+
Sn Sn1 1.0 0.8750000000000001 0.25000000000000006 0.5625000000000001 1.0000
|
75 |
+
Sn Sn2 1.0 0.8125 0.8749999999999999 0.34375 1.0000
|
76 |
+
Sn Sn3 1.0 0.0 0.0 0.5 1.0000
|
77 |
+
Sn Sn4 1.0 0.37500000000000006 0.25 0.8125 1.0000
|
78 |
+
Sn Sn5 1.0 0.9375000000000001 0.625 0.28124999999999994 1.0000
|
79 |
+
Sn Sn6 1.0 0.5 0.0 0.7500000000000001 1.0000
|
80 |
+
Sn Sn7 1.0 0.062499999999999986 0.37499999999999994 0.21875 1.0000
|
81 |
+
Sn Sn8 1.0 0.43749999999999994 0.6249999999999999 0.53125 1.0000
|
82 |
+
Sn Sn9 1.0 0.5625000000000002 0.8750000000000001 0.46875000000000006 1.0000
|
83 |
+
Sn Sn10 1.0 0.06250000000000003 0.8750000000000001 0.71875 1.0000
|
84 |
+
Sn Sn11 1.0 0.25 0.9999999999999999 0.8750000000000001 1.0000
|
85 |
+
Sn Sn12 1.0 0.0 0.5 0.5 1.0000
|
86 |
+
Sn Sn13 1.0 0.3750000000000001 0.7499999999999999 0.8125000000000001 1.0000
|
87 |
+
Sn Sn14 1.0 0.5625 0.8749999999999999 0.96875 1.0000
|
88 |
+
Sn Sn15 1.0 0.9375000000000001 0.12499999999999999 0.28125000000000006 1.0000
|
89 |
+
Sn Sn16 1.0 0.25 0.0 0.37500000000000006 1.0000
|
examples/MOF_CO2.traj
ADDED
Binary file (22.7 kB). View file
|
|
examples/MOF_CO2_2H2O.traj
ADDED
Binary file (10.5 kB). View file
|
|
examples/bis(EDA)Cu.xyz
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
25
|
2 |
+
|
3 |
+
Cu -0.2209807697981 0.1562206673100 -0.2702543144077
|
4 |
+
N 1.3137548957875 0.5160811070801 -0.0621790201316
|
5 |
+
N -1.1697941926852 1.4084676437792 -0.0263661851676
|
6 |
+
N -0.7320211993524 -0.9279028046343 0.7746834539678
|
7 |
+
N -0.2960297954951 -0.3714737952478 -1.7682696819292
|
8 |
+
H 1.7700594700635 0.1119337839006 0.7526330653817
|
9 |
+
C 2.0438061361622 0.0308270007188 -1.2618458080557
|
10 |
+
H -1.0108892443997 0.0422201550814 -2.3628208275489
|
11 |
+
C 1.0207299436500 -0.0899056474093 -2.3958258294877
|
12 |
+
C -2.2538881983659 0.9615829458907 0.8858629213719
|
13 |
+
H -0.7134131668629 2.1820906425597 0.4512217736737
|
14 |
+
C -1.7253926400061 -0.2555826059551 1.6515646734439
|
15 |
+
H -1.2262564948403 -1.7086072518402 0.3492806868790
|
16 |
+
H -3.1395531268796 0.6889984401720 0.3030099080986
|
17 |
+
H -2.5740755889657 1.7602483067208 1.5638712990201
|
18 |
+
H -1.2429302450851 0.0606801517349 2.5817426367378
|
19 |
+
H -2.5346090735134 -0.9320481538840 1.9474572953618
|
20 |
+
H 2.4943754630577 -0.9442944371524 -1.0510333860111
|
21 |
+
H 2.8734708369333 0.6931121163594 -1.5322893849642
|
22 |
+
H 0.9687160022358 0.8454661710213 -2.9622572009160
|
23 |
+
H 1.3042473510312 -0.8635089531977 -3.1178965470356
|
24 |
+
H -0.4235273777421 -1.3779232965060 -1.8421840816046
|
25 |
+
H 1.4990253393107 1.5151243421802 -0.0145688038723
|
26 |
+
H -0.0275971835230 -1.3439425457617 1.3799526346530
|
27 |
+
H -1.6118216269878 1.8130129511840 -0.8489698824425
|
examples/catalyst.traj
ADDED
Binary file (10.4 kB). View file
|
|
examples/ethylene_carbonate.xyz
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
10
|
2 |
+
ethylene carbonate
|
3 |
+
O -0.12334 -1.10922 0.16737
|
4 |
+
C 0.64058 0.00703 0.00189
|
5 |
+
C -1.46757 -0.74526 -0.08091
|
6 |
+
C -1.47502 0.74033 0.08533
|
7 |
+
O -0.13418 1.11813 -0.16228
|
8 |
+
O 1.86114 0.01331 0.00048
|
9 |
+
H -2.13521 -1.24337 0.62850
|
10 |
+
H -1.74077 -1.05266 -1.09551
|
11 |
+
H -1.75177 1.04514 1.09984
|
12 |
+
H -2.14685 1.23129 -0.62434
|
examples/gold_nanoparticle_crystal.cif
ADDED
@@ -0,0 +1,1944 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#------------------------------------------------------------------------------
|
2 |
+
#$Date: 2016-03-05 10:55:21 +0200 (Sat, 05 Mar 2016) $
|
3 |
+
#$Revision: 177732 $
|
4 |
+
#$URL: file:///home/coder/svn-repositories/cod/cif/1/54/05/1540567.cif $
|
5 |
+
#------------------------------------------------------------------------------
|
6 |
+
#
|
7 |
+
# This file is available in the Crystallography Open Database (COD),
|
8 |
+
# http://www.crystallography.net/
|
9 |
+
#
|
10 |
+
# All data on this site have been placed in the public domain by the
|
11 |
+
# contributors.
|
12 |
+
#
|
13 |
+
data_1540567
|
14 |
+
loop_
|
15 |
+
_publ_author_name
|
16 |
+
'Tofanelli, Marcus A.'
|
17 |
+
'Salorinne, Kirsi'
|
18 |
+
'Ni, Thomas W.'
|
19 |
+
'Malola, Sami'
|
20 |
+
'Newell, Brian'
|
21 |
+
'Phillips, Billy'
|
22 |
+
'H\"akkinen, Hannu'
|
23 |
+
'Ackerson, Christopher J.'
|
24 |
+
_publ_section_title
|
25 |
+
;
|
26 |
+
Jahn--Teller effects in Au25(SR)18
|
27 |
+
;
|
28 |
+
_journal_issue 3
|
29 |
+
_journal_name_full 'Chem. Sci.'
|
30 |
+
_journal_page_first 1882
|
31 |
+
_journal_paper_doi 10.1039/C5SC02134K
|
32 |
+
_journal_volume 7
|
33 |
+
_journal_year 2016
|
34 |
+
_chemical_formula_moiety 'C144 H144 Au25 S18'
|
35 |
+
_chemical_formula_sum 'C148 H170 Au25 O2 S36'
|
36 |
+
_chemical_formula_weight 8059.15
|
37 |
+
_chemical_name_systematic 'Au25(PET)18 in the neutral charge state'
|
38 |
+
_space_group_crystal_system triclinic
|
39 |
+
_space_group_IT_number 2
|
40 |
+
_space_group_name_Hall '-P 1'
|
41 |
+
_space_group_name_H-M_alt 'P -1'
|
42 |
+
_symmetry_space_group_name_Hall '-P 1'
|
43 |
+
_symmetry_space_group_name_H-M 'P -1'
|
44 |
+
_atom_sites_solution_hydrogens geom
|
45 |
+
_audit_creation_method SHELXL-2013
|
46 |
+
_audit_update_record
|
47 |
+
;
|
48 |
+
2015-03-19 deposited with the CCDC.
|
49 |
+
2015-11-24 downloaded from the CCDC.
|
50 |
+
;
|
51 |
+
_cell_angle_alpha 65.00(3)
|
52 |
+
_cell_angle_beta 64.00(3)
|
53 |
+
_cell_angle_gamma 81.00(3)
|
54 |
+
_cell_formula_units_Z 1
|
55 |
+
_cell_length_a 16.174(3)
|
56 |
+
_cell_length_b 17.746(4)
|
57 |
+
_cell_length_c 17.830(4)
|
58 |
+
_cell_measurement_temperature 293(2)
|
59 |
+
_cell_volume 4166(2)
|
60 |
+
_computing_structure_refinement 'SHELXL-2013 (Sheldrick, 2013)'
|
61 |
+
_diffrn_ambient_temperature 293(2)
|
62 |
+
_diffrn_measured_fraction_theta_full 0.999
|
63 |
+
_diffrn_measured_fraction_theta_max 1.000
|
64 |
+
_diffrn_radiation_type MoK\a
|
65 |
+
_diffrn_radiation_wavelength 0.71073
|
66 |
+
_diffrn_reflns_av_R_equivalents 0.1424
|
67 |
+
_diffrn_reflns_av_unetI/netI 0.0723
|
68 |
+
_diffrn_reflns_laue_measured_fraction_full 0.999
|
69 |
+
_diffrn_reflns_laue_measured_fraction_max 1.000
|
70 |
+
_diffrn_reflns_limit_h_max 22
|
71 |
+
_diffrn_reflns_limit_h_min -22
|
72 |
+
_diffrn_reflns_limit_k_max 24
|
73 |
+
_diffrn_reflns_limit_k_min -24
|
74 |
+
_diffrn_reflns_limit_l_max 24
|
75 |
+
_diffrn_reflns_limit_l_min -24
|
76 |
+
_diffrn_reflns_number 202701
|
77 |
+
_diffrn_reflns_point_group_measured_fraction_full 0.999
|
78 |
+
_diffrn_reflns_point_group_measured_fraction_max 1.000
|
79 |
+
_diffrn_reflns_theta_full 25.242
|
80 |
+
_diffrn_reflns_theta_max 29.130
|
81 |
+
_diffrn_reflns_theta_min 1.506
|
82 |
+
_exptl_absorpt_coefficient_mu 22.409
|
83 |
+
_exptl_crystal_colour Black
|
84 |
+
_exptl_crystal_density_diffrn 3.212
|
85 |
+
_exptl_crystal_F_000 3625
|
86 |
+
_refine_diff_density_max 2.625
|
87 |
+
_refine_diff_density_min -2.947
|
88 |
+
_refine_diff_density_rms 0.583
|
89 |
+
_refine_ls_extinction_method none
|
90 |
+
_refine_ls_goodness_of_fit_ref 1.031
|
91 |
+
_refine_ls_hydrogen_treatment constr
|
92 |
+
_refine_ls_matrix_type full
|
93 |
+
_refine_ls_number_parameters 897
|
94 |
+
_refine_ls_number_reflns 22436
|
95 |
+
_refine_ls_number_restraints 27
|
96 |
+
_refine_ls_restrained_S_all 1.030
|
97 |
+
_refine_ls_R_factor_all 0.0891
|
98 |
+
_refine_ls_R_factor_gt 0.0387
|
99 |
+
_refine_ls_shift/su_max 0.096
|
100 |
+
_refine_ls_shift/su_mean 0.001
|
101 |
+
_refine_ls_structure_factor_coef Fsqd
|
102 |
+
_refine_ls_weighting_details
|
103 |
+
'w=1/[\s^2^(Fo^2^)+(0.0517P)^2^+4.0385P] where P=(Fo^2^+2Fc^2^)/3'
|
104 |
+
_refine_ls_weighting_scheme calc
|
105 |
+
_refine_ls_wR_factor_gt 0.0826
|
106 |
+
_refine_ls_wR_factor_ref 0.1095
|
107 |
+
_reflns_Friedel_coverage 0.000
|
108 |
+
_reflns_number_gt 14888
|
109 |
+
_reflns_number_total 22436
|
110 |
+
_reflns_threshold_expression 'I > 2\s(I)'
|
111 |
+
_cod_data_source_file c5sc02134k2.cif
|
112 |
+
_cod_data_source_block ca05_trunc_r3
|
113 |
+
_cod_depositor_comments
|
114 |
+
'Adding full bibliography for 1540567--1540568.cif.'
|
115 |
+
_cod_database_code 1540567
|
116 |
+
_shelx_space_group_comment
|
117 |
+
;
|
118 |
+
The symmetry employed for this shelxl refinement is uniquely defined
|
119 |
+
by the following loop, which should always be used as a source of
|
120 |
+
symmetry information in preference to the above space-group names.
|
121 |
+
They are only intended as comments.
|
122 |
+
;
|
123 |
+
_shelxl_version_number 2013-4
|
124 |
+
_shelx_res_file
|
125 |
+
;
|
126 |
+
TITL ca05_trunc in P-1
|
127 |
+
CELL 0.71073 16.1735 17.7462 17.8295 65.000 64.000 81.000
|
128 |
+
ZERR 1.00 0.0032 0.0035 0.0036 0.030 0.030 0.030
|
129 |
+
LATT 1
|
130 |
+
SFAC C H O S Au
|
131 |
+
UNIT 148 170 2 36 25
|
132 |
+
L.S. 20
|
133 |
+
BOND $H
|
134 |
+
ACTA
|
135 |
+
WPDB 2
|
136 |
+
FMAP 2
|
137 |
+
PLAN 20
|
138 |
+
WGHT 0.051700 4.038500
|
139 |
+
FVAR 0.09933
|
140 |
+
MOLE 1
|
141 |
+
|
142 |
+
FLAT C3_2001 C4_2001 C5_2001 C6_2001 C7_2001 C8_2001
|
143 |
+
FLAT C3_2002 C4_2002 C5_2002 C6_2002 C7_2002 C8_2002
|
144 |
+
FLAT 0.01 C3_2004 C4_2004 C5_2004 C6_2004 C7_2004 C8_2004
|
145 |
+
FLAT C3_2003 C4_2003 C5_2003 C6_2003 C7_2003 C8_2003
|
146 |
+
FLAT C3_2006 C4_2006 C5_2006 C6_2006 C7_2006 C8_2006
|
147 |
+
FLAT 0.01 C3_2005 C4_2005 C5_2005 C6_2005 C7_2005 C8_2005
|
148 |
+
FLAT C3_2007 C4_2007 C5_2007 C6_2007 C7_2007 C8_2007
|
149 |
+
FLAT C3_2008 C4_2008 C5_2008 C6_2008 C7_2008 C8_2008
|
150 |
+
FLAT C3_2009 C4_2009 C5_2009 C6_2009 C7_2009 C8_2009
|
151 |
+
|
152 |
+
AU1 5 0.500000 1.000000 0.500000 10.50000 0.01234 0.00967 =
|
153 |
+
0.02021 -0.00584 -0.00247 -0.00132
|
154 |
+
AU2 5 0.396355 0.851887 0.617958 11.00000 0.01516 0.01120 =
|
155 |
+
0.02514 -0.00534 -0.00459 -0.00192
|
156 |
+
AU3 5 0.420886 0.967878 0.684774 11.00000 0.02008 0.01277 =
|
157 |
+
0.02147 -0.00665 -0.00453 -0.00044
|
158 |
+
AU4 5 0.447349 1.130230 0.556841 11.00000 0.01981 0.01100 =
|
159 |
+
0.02343 -0.00752 -0.00432 0.00022
|
160 |
+
AU5 5 0.204672 0.861555 0.592108 11.00000 0.01815 0.01637 =
|
161 |
+
0.03260 -0.00846 -0.01056 -0.00112
|
162 |
+
AU6 5 0.778061 0.927380 0.557546 11.00000 0.01913 0.01761 =
|
163 |
+
0.04043 -0.01239 -0.01518 0.00265
|
164 |
+
AU7 5 0.567938 0.869009 0.610514 11.00000 0.01708 0.01288 =
|
165 |
+
0.02907 -0.00627 -0.00880 0.00120
|
166 |
+
AU8 5 0.259202 1.082522 0.728702 11.00000 0.02221 0.01853 =
|
167 |
+
0.03178 -0.01465 -0.00051 -0.00338
|
168 |
+
AU9 5 0.611560 1.044282 0.560689 11.00000 0.01737 0.01695 =
|
169 |
+
0.02895 -0.01097 -0.00794 0.00042
|
170 |
+
AU10 5 0.310848 1.006642 0.581143 11.00000 0.01506 0.01754 =
|
171 |
+
0.02551 -0.00949 -0.00397 0.00201
|
172 |
+
AU11 5 0.473871 1.099086 0.728856 11.00000 0.02993 0.01807 =
|
173 |
+
0.02641 -0.01029 -0.00944 0.00016
|
174 |
+
AU12 5 0.425883 0.772844 0.802394 11.00000 0.02546 0.01508 =
|
175 |
+
0.02907 -0.00556 -0.01001 0.00070
|
176 |
+
AU13 5 0.510210 0.698719 0.627751 11.00000 0.02315 0.01130 =
|
177 |
+
0.03110 -0.00649 -0.01302 0.00043
|
178 |
+
S14 4 0.276225 0.755973 0.670154 11.00000 0.01876 0.01461 =
|
179 |
+
0.03054 -0.00769 -0.00829 -0.00287
|
180 |
+
S15 4 0.630390 1.085767 0.663162 11.00000 0.03237 0.02595 =
|
181 |
+
0.03429 -0.01238 -0.01822 0.00210
|
182 |
+
S16 4 0.442688 0.649863 0.784142 11.00000 0.02578 0.01315 =
|
183 |
+
0.03387 -0.00300 -0.01422 -0.00080
|
184 |
+
S20 4 0.121487 0.959024 0.521413 11.00000 0.02021 0.01767 =
|
185 |
+
0.04519 -0.01155 -0.01569 0.00201
|
186 |
+
S21 4 0.410520 0.887810 0.835181 11.00000 0.04204 0.01769 =
|
187 |
+
0.02492 -0.00491 -0.00913 -0.00174
|
188 |
+
S24 4 0.320146 1.109068 0.810828 11.00000 0.03377 0.01502 =
|
189 |
+
0.02836 -0.01124 -0.00374 -0.00331
|
190 |
+
S25 4 0.183001 1.073993 0.650035 11.00000 0.01779 0.04766 =
|
191 |
+
0.05824 -0.03797 -0.00846 0.00800
|
192 |
+
S26 4 0.695586 0.801892 0.639070 11.00000 0.02021 0.02048 =
|
193 |
+
0.03912 -0.01008 -0.01459 0.00153
|
194 |
+
S28 4 0.413373 1.271354 0.525290 11.00000 0.01913 0.01486 =
|
195 |
+
0.03610 -0.01230 -0.01075 0.00164
|
196 |
+
RESI 2001 PET
|
197 |
+
C1 1 0.300085 1.220505 0.784447 11.00000 0.02417 0.02188 =
|
198 |
+
0.04554 -0.01952 0.00423 -0.00264
|
199 |
+
AFIX 23
|
200 |
+
H1A 2 0.314411 1.249724 0.720086 11.00000 -1.20000
|
201 |
+
H1B 2 0.235555 1.227793 0.818181 11.00000 -1.20000
|
202 |
+
AFIX 0
|
203 |
+
C2 1 0.359157 1.258457 0.808668 11.00000 0.03815 0.02319 =
|
204 |
+
0.04786 -0.02309 -0.00405 -0.01158
|
205 |
+
AFIX 23
|
206 |
+
H2A 2 0.341410 1.232228 0.873821 11.00000 -1.20000
|
207 |
+
H2B 2 0.423338 1.247332 0.778676 11.00000 -1.20000
|
208 |
+
AFIX 0
|
209 |
+
C3 1 0.348322 1.350577 0.780452 11.00000 0.02943 0.02621 =
|
210 |
+
0.03952 -0.01772 -0.01037 -0.00093
|
211 |
+
C4 1 0.423542 1.404830 0.727687 11.00000 0.03111 0.03852 =
|
212 |
+
0.02227 -0.01706 -0.00256 -0.00985
|
213 |
+
AFIX 43
|
214 |
+
H4 2 0.482017 1.384574 0.705723 11.00000 -1.20000
|
215 |
+
AFIX 0
|
216 |
+
C5 1 0.413187 1.490062 0.706659 11.00000 0.04394 0.01788 =
|
217 |
+
0.03745 -0.00506 -0.00770 -0.01142
|
218 |
+
AFIX 43
|
219 |
+
H5 2 0.464243 1.526577 0.671038 11.00000 -1.20000
|
220 |
+
AFIX 0
|
221 |
+
C6 1 0.326479 1.518967 0.739424 11.00000 0.05839 0.01857 =
|
222 |
+
0.08439 -0.02772 -0.03985 0.00968
|
223 |
+
AFIX 43
|
224 |
+
H6 2 0.319062 1.575829 0.724037 11.00000 -1.20000
|
225 |
+
AFIX 0
|
226 |
+
C7 1 0.250324 1.465981 0.794414 11.00000 0.05004 0.05202 =
|
227 |
+
0.17420 -0.07624 -0.05566 0.02082
|
228 |
+
AFIX 43
|
229 |
+
H7 2 0.192329 1.486578 0.817618 11.00000 -1.20000
|
230 |
+
AFIX 0
|
231 |
+
C8 1 0.260857 1.381056 0.815071 11.00000 0.02938 0.04691 =
|
232 |
+
0.14521 -0.06154 -0.01385 0.00110
|
233 |
+
AFIX 43
|
234 |
+
H8 2 0.209697 1.344685 0.851879 11.00000 -1.20000
|
235 |
+
AFIX 0
|
236 |
+
|
237 |
+
RESI 2002 PET
|
238 |
+
C1 1 0.648882 0.986777 0.748784 11.00000 0.04532 0.04584 =
|
239 |
+
0.06188 -0.01509 -0.02590 -0.00431
|
240 |
+
AFIX 23
|
241 |
+
H1A 2 0.610899 0.942233 0.760847 11.00000 -1.20000
|
242 |
+
H1B 2 0.712797 0.972027 0.725309 11.00000 -1.20000
|
243 |
+
AFIX 0
|
244 |
+
C2 1 0.622457 0.998326 0.841220 11.00000 0.07522
|
245 |
+
AFIX 23
|
246 |
+
H2A 2 0.556130 1.001761 0.869899 11.00000 -1.20000
|
247 |
+
H2B 2 0.639788 0.948986 0.882188 11.00000 -1.20000
|
248 |
+
AFIX 0
|
249 |
+
C3 1 0.663817 1.069289 0.831110 11.00000 0.14378 0.10251 =
|
250 |
+
0.08349 -0.05342 -0.07883 0.05527
|
251 |
+
C4 1 0.759866 1.078144 0.792815 11.00000 0.12089 0.20486 =
|
252 |
+
0.25598 -0.19795 -0.10694 0.06019
|
253 |
+
AFIX 43
|
254 |
+
H4 2 0.794718 1.036558 0.775698 11.00000 -1.20000
|
255 |
+
AFIX 0
|
256 |
+
C5 1 0.808034 1.149427 0.778418 11.00000 0.10367 0.28018 =
|
257 |
+
0.39079 -0.31196 -0.06789 0.03629
|
258 |
+
AFIX 43
|
259 |
+
H5 2 0.872027 1.152209 0.753041 11.00000 -1.20000
|
260 |
+
AFIX 0
|
261 |
+
C6 1 0.759470 1.211829 0.802064 11.00000 0.15834 0.15707 =
|
262 |
+
0.16649 -0.12731 -0.03836 0.00483
|
263 |
+
AFIX 43
|
264 |
+
H6 2 0.788163 1.259206 0.791164 11.00000 -1.20000
|
265 |
+
AFIX 0
|
266 |
+
C7 1 0.661505 1.199898 0.844741 11.00000 0.13477 0.10881 =
|
267 |
+
0.10983 -0.08168 -0.04888 0.05062
|
268 |
+
AFIX 43
|
269 |
+
H7 2 0.625836 1.238376 0.867208 11.00000 -1.20000
|
270 |
+
AFIX 0
|
271 |
+
C8 1 0.617570 1.133494 0.854001 11.00000 0.11890 0.06357 =
|
272 |
+
0.05997 0.00129 -0.05038 -0.03986
|
273 |
+
AFIX 43
|
274 |
+
H8 2 0.553672 1.132332 0.876820 11.00000 -1.20000
|
275 |
+
AFIX 0
|
276 |
+
|
277 |
+
RESI 2003 PET
|
278 |
+
C1 1 0.480446 1.318789 0.556058 11.00000 0.02616 0.02281 =
|
279 |
+
0.02993 -0.01276 -0.00476 -0.00744
|
280 |
+
AFIX 23
|
281 |
+
H1A 2 0.465686 1.377055 0.540179 11.00000 -1.20000
|
282 |
+
H1B 2 0.459456 1.292855 0.621660 11.00000 -1.20000
|
283 |
+
AFIX 0
|
284 |
+
C2 1 0.583843 1.313932 0.513993 11.00000 0.02508 0.01910 =
|
285 |
+
0.02704 -0.00825 -0.00965 -0.00296
|
286 |
+
AFIX 23
|
287 |
+
H2A 2 0.606735 1.337012 0.448219 11.00000 -1.20000
|
288 |
+
H2B 2 0.601112 1.256311 0.534194 11.00000 -1.20000
|
289 |
+
AFIX 0
|
290 |
+
C3 1 0.625834 1.362722 0.542357 11.00000 0.01293 0.04393 =
|
291 |
+
0.04357 -0.02682 0.00017 -0.00690
|
292 |
+
C4 1 0.634428 1.448230 0.497119 11.00000 0.03389 0.03538 =
|
293 |
+
0.06679 -0.03662 -0.01048 -0.00362
|
294 |
+
AFIX 43
|
295 |
+
H4 2 0.613922 1.474008 0.451152 11.00000 -1.20000
|
296 |
+
AFIX 0
|
297 |
+
C5 1 0.672662 1.496351 0.518410 11.00000 0.03508 0.05792 =
|
298 |
+
0.09776 -0.05616 -0.02591 0.00562
|
299 |
+
AFIX 43
|
300 |
+
H5 2 0.678604 1.553822 0.486644 11.00000 -1.20000
|
301 |
+
AFIX 0
|
302 |
+
C6 1 0.701802 1.458515 0.586915 11.00000 0.04225 0.09194 =
|
303 |
+
0.09617 -0.08141 -0.01776 0.01395
|
304 |
+
AFIX 43
|
305 |
+
H6 2 0.726977 1.490607 0.602178 11.00000 -1.20000
|
306 |
+
AFIX 0
|
307 |
+
C7 1 0.694133 1.373653 0.633175 11.00000 0.05133 0.08450 =
|
308 |
+
0.06846 -0.05121 -0.03568 0.01683
|
309 |
+
AFIX 43
|
310 |
+
H7 2 0.714239 1.348084 0.679446 11.00000 -1.20000
|
311 |
+
AFIX 0
|
312 |
+
C8 1 0.655532 1.325773 0.609839 11.00000 0.03075 0.06100 =
|
313 |
+
0.05238 -0.03922 -0.02134 0.01112
|
314 |
+
AFIX 43
|
315 |
+
H8 2 0.650253 1.268217 0.640887 11.00000 -1.20000
|
316 |
+
AFIX 0
|
317 |
+
|
318 |
+
RESI 2004 PET
|
319 |
+
C1 1 0.297363 0.881791 0.927094 11.00000 0.06783 0.02252 =
|
320 |
+
0.02556 -0.00787 -0.00930 0.00194
|
321 |
+
AFIX 23
|
322 |
+
H1A 2 0.299008 0.841373 0.983756 11.00000 -1.20000
|
323 |
+
H1B 2 0.286004 0.935393 0.931521 11.00000 -1.20000
|
324 |
+
AFIX 0
|
325 |
+
C2 1 0.222470 0.859989 0.918747 11.00000 0.05965 0.03806 =
|
326 |
+
0.08290 -0.03016 -0.03256 0.00201
|
327 |
+
AFIX 23
|
328 |
+
H2A 2 0.232164 0.806365 0.914419 11.00000 -1.20000
|
329 |
+
H2B 2 0.217685 0.901010 0.863833 11.00000 -1.20000
|
330 |
+
AFIX 0
|
331 |
+
C3 1 0.130685 0.855830 1.004639 11.00000 0.04941 0.04216 =
|
332 |
+
0.06598 -0.00833 -0.00660 -0.00506
|
333 |
+
C4 1 0.120725 0.793897 1.089687 11.00000 0.13937 0.05043 =
|
334 |
+
0.09476 -0.03123 0.00424 0.02904
|
335 |
+
AFIX 43
|
336 |
+
H4 2 0.168464 0.758033 1.094159 11.00000 -1.20000
|
337 |
+
AFIX 0
|
338 |
+
C5 1 0.038038 0.785006 1.169894 11.00000 0.12478 0.06788 =
|
339 |
+
0.29228 -0.01443 0.13689 -0.01259
|
340 |
+
AFIX 43
|
341 |
+
H5 2 0.032380 0.743809 1.225950 11.00000 -1.20000
|
342 |
+
AFIX 0
|
343 |
+
C6 1 -0.029139 0.834971 1.163811 11.00000 0.06522 0.05724 =
|
344 |
+
0.11571 -0.03930 0.00893 -0.00088
|
345 |
+
AFIX 43
|
346 |
+
H6 2 -0.083995 0.830756 1.214194 11.00000 -1.20000
|
347 |
+
AFIX 0
|
348 |
+
C7 1 -0.015272 0.888609 1.086433 11.00000 0.10694 0.12831 =
|
349 |
+
0.09716 -0.07116 0.02749 0.03033
|
350 |
+
AFIX 43
|
351 |
+
H7 2 -0.062789 0.924773 1.081984 11.00000 -1.20000
|
352 |
+
AFIX 0
|
353 |
+
C8 1 0.063564 0.901350 1.004658 11.00000 0.15111 0.10410 =
|
354 |
+
0.10544 -0.05519 0.01552 0.06871
|
355 |
+
AFIX 43
|
356 |
+
H8 2 0.065584 0.943795 0.950554 11.00000 -1.20000
|
357 |
+
AFIX 0
|
358 |
+
|
359 |
+
RESI 2005 PET
|
360 |
+
C1 1 0.207333 0.732635 0.790931 11.00000 0.01214 0.02961 =
|
361 |
+
0.03163 -0.01200 -0.00661 -0.00122
|
362 |
+
AFIX 23
|
363 |
+
H1A 2 0.240991 0.697206 0.825965 11.00000 -1.20000
|
364 |
+
H1B 2 0.194813 0.783766 0.800761 11.00000 -1.20000
|
365 |
+
AFIX 0
|
366 |
+
C2 1 0.116917 0.688734 0.822179 11.00000 0.02623 0.03982 =
|
367 |
+
0.04882 0.00759 -0.01450 -0.01008
|
368 |
+
AFIX 23
|
369 |
+
H2A 2 0.079602 0.726772 0.793036 11.00000 -1.20000
|
370 |
+
H2B 2 0.129347 0.641676 0.805019 11.00000 -1.20000
|
371 |
+
AFIX 0
|
372 |
+
C3 1 0.065494 0.659037 0.924724 11.00000 0.01992 0.05456 =
|
373 |
+
0.04525 0.00375 -0.00542 -0.01376
|
374 |
+
C4 1 0.018168 0.715267 0.964434 11.00000 0.11229 0.12524 =
|
375 |
+
0.10794 0.02811 0.08907 0.08062
|
376 |
+
AFIX 43
|
377 |
+
H4 2 0.014353 0.770036 0.926813 11.00000 -1.20000
|
378 |
+
AFIX 0
|
379 |
+
C5 1 -0.023373 0.691828 1.058443 11.00000 0.08178 0.07673 =
|
380 |
+
0.08907 -0.05321 -0.00141 0.00629
|
381 |
+
AFIX 43
|
382 |
+
H5 2 -0.054501 0.729384 1.084486 11.00000 -1.20000
|
383 |
+
AFIX 0
|
384 |
+
C6 1 -0.015387 0.607117 1.112236 11.00000 0.06002 0.07271 =
|
385 |
+
0.03827 -0.00634 -0.00235 -0.00793
|
386 |
+
AFIX 43
|
387 |
+
H6 2 -0.042315 0.588126 1.175339 11.00000 -1.20000
|
388 |
+
AFIX 0
|
389 |
+
C7 1 0.031275 0.553509 1.072325 11.00000 0.07768 0.04023 =
|
390 |
+
0.03785 -0.00415 -0.02700 -0.00194
|
391 |
+
AFIX 43
|
392 |
+
H7 2 0.036830 0.498230 1.107427 11.00000 -1.20000
|
393 |
+
AFIX 0
|
394 |
+
C8 1 0.068271 0.581835 0.982950 11.00000 0.10778 0.02755 =
|
395 |
+
0.04233 -0.01457 -0.03562 -0.00026
|
396 |
+
AFIX 43
|
397 |
+
H8 2 0.099779 0.543865 0.957663 11.00000 -1.20000
|
398 |
+
AFIX 0
|
399 |
+
|
400 |
+
RESI 2006 PET
|
401 |
+
C1 1 0.536807 0.601931 0.816565 11.00000 0.04287 0.01736 =
|
402 |
+
0.04446 -0.00635 -0.02743 0.00411
|
403 |
+
AFIX 23
|
404 |
+
H1A 2 0.586151 0.643131 0.787730 11.00000 -1.20000
|
405 |
+
H1B 2 0.515240 0.582558 0.881942 11.00000 -1.20000
|
406 |
+
AFIX 0
|
407 |
+
C2 1 0.573348 0.529518 0.788807 11.00000 0.03083 0.02567 =
|
408 |
+
0.03255 -0.01590 -0.01082 0.00834
|
409 |
+
AFIX 23
|
410 |
+
H2A 2 0.597465 0.549348 0.723146 11.00000 -1.20000
|
411 |
+
H2B 2 0.523386 0.489508 0.815406 11.00000 -1.20000
|
412 |
+
AFIX 0
|
413 |
+
C3 1 0.649249 0.486855 0.819731 11.00000 0.03373 0.02397 =
|
414 |
+
0.05079 -0.01176 -0.02743 0.00975
|
415 |
+
C4 1 0.629952 0.424743 0.903478 11.00000 0.05619 0.04127 =
|
416 |
+
0.05749 0.01284 -0.04010 -0.01274
|
417 |
+
AFIX 43
|
418 |
+
H4 2 0.568700 0.409023 0.943155 11.00000 -1.20000
|
419 |
+
AFIX 0
|
420 |
+
C5 1 0.697533 0.384104 0.931976 11.00000 0.11321 0.05556 =
|
421 |
+
0.14314 -0.00678 -0.10362 0.00088
|
422 |
+
AFIX 43
|
423 |
+
H5 2 0.682940 0.341509 0.989388 11.00000 -1.20000
|
424 |
+
AFIX 0
|
425 |
+
C6 1 0.784896 0.408514 0.873606 11.00000 0.08806 0.05049 =
|
426 |
+
0.18910 -0.05017 -0.11182 0.03585
|
427 |
+
AFIX 43
|
428 |
+
H6 2 0.831423 0.382490 0.891889 11.00000 -1.20000
|
429 |
+
AFIX 0
|
430 |
+
C7 1 0.809141 0.470798 0.787179 11.00000 0.03072 0.09420 =
|
431 |
+
0.12059 -0.07333 -0.02497 0.00594
|
432 |
+
AFIX 43
|
433 |
+
H7 2 0.870532 0.485964 0.747627 11.00000 -1.20000
|
434 |
+
AFIX 0
|
435 |
+
C8 1 0.738474 0.510034 0.761400 11.00000 0.03382 0.05307 =
|
436 |
+
0.06136 -0.03648 -0.02010 0.00896
|
437 |
+
AFIX 43
|
438 |
+
H8 2 0.752559 0.552339 0.703893 11.00000 -1.20000
|
439 |
+
AFIX 0
|
440 |
+
|
441 |
+
RESI 2007 PET
|
442 |
+
C1 1 0.088911 0.975975 0.746423 11.00000 0.02862 0.17345 =
|
443 |
+
0.11110 -0.12038 -0.03312 0.04780
|
444 |
+
AFIX 23
|
445 |
+
H1A 2 0.104887 0.925792 0.734737 11.00000 -1.20000
|
446 |
+
H1B 2 0.078952 0.964096 0.808155 11.00000 -1.20000
|
447 |
+
AFIX 0
|
448 |
+
C2 1 0.018982 1.013857 0.726968 11.00000 0.25665 0.06204 =
|
449 |
+
0.12147 -0.05046 -0.13580 0.07981
|
450 |
+
AFIX 23
|
451 |
+
H2A 2 0.027498 1.024501 0.665962 11.00000 -1.20000
|
452 |
+
H2B 2 0.002533 1.064167 0.738370 11.00000 -1.20000
|
453 |
+
AFIX 0
|
454 |
+
C3 1 -0.054711 0.929740 0.810232 11.00000 0.18561 0.18059 =
|
455 |
+
0.06220 -0.05667 0.06530 -0.17028
|
456 |
+
C4 1 -0.111914 0.924673 0.896127 11.00000 0.16659 0.21513 =
|
457 |
+
0.05871 -0.09134 0.07407 -0.15720
|
458 |
+
AFIX 43
|
459 |
+
H4 2 -0.099530 0.959828 0.916860 11.00000 -1.20000
|
460 |
+
AFIX 0
|
461 |
+
C5 1 -0.182929 0.872932 0.950276 11.00000 0.07497 0.09238 =
|
462 |
+
0.01893 -0.02206 0.01058 -0.03393
|
463 |
+
AFIX 43
|
464 |
+
H5 2 -0.219317 0.870986 1.008473 11.00000 -1.20000
|
465 |
+
AFIX 0
|
466 |
+
C6 1 -0.202940 0.822727 0.921374 11.00000 0.02961 0.07588 =
|
467 |
+
0.07308 -0.04477 -0.00742 -0.00448
|
468 |
+
AFIX 43
|
469 |
+
H6 2 -0.254953 0.787404 0.958553 11.00000 -1.20000
|
470 |
+
AFIX 0
|
471 |
+
C7 1 -0.148034 0.823254 0.838749 11.00000 0.03512 0.07653 =
|
472 |
+
0.08517 -0.05636 -0.01251 -0.00062
|
473 |
+
AFIX 43
|
474 |
+
H7 2 -0.160918 0.786755 0.819845 11.00000 -1.20000
|
475 |
+
AFIX 0
|
476 |
+
C8 1 -0.073838 0.876727 0.782635 11.00000 0.07489 0.05786 =
|
477 |
+
0.04665 -0.02747 -0.00467 -0.02214
|
478 |
+
AFIX 43
|
479 |
+
H8 2 -0.036194 0.877001 0.725370 11.00000 -1.20000
|
480 |
+
AFIX 0
|
481 |
+
|
482 |
+
RESI 2008 PET
|
483 |
+
C1 1 0.119661 0.926676 0.437001 11.00000 0.02547
|
484 |
+
AFIX 23
|
485 |
+
H1A 2 0.110827 0.974959 0.388761 11.00000 -1.20000
|
486 |
+
H1B 2 0.178620 0.904096 0.410212 11.00000 -1.20000
|
487 |
+
AFIX 0
|
488 |
+
C2 1 0.044217 0.862155 0.478266 11.00000 0.02484 0.02406 =
|
489 |
+
0.06048 -0.02065 -0.02543 0.00485
|
490 |
+
AFIX 23
|
491 |
+
H2A 2 -0.014049 0.884912 0.506446 11.00000 -1.20000
|
492 |
+
H2B 2 0.041944 0.852662 0.429459 11.00000 -1.20000
|
493 |
+
AFIX 0
|
494 |
+
C3 1 0.052885 0.779458 0.547983 11.00000 0.02006 0.03078 =
|
495 |
+
0.05076 -0.01895 -0.01596 0.00125
|
496 |
+
C4 1 0.126390 0.729675 0.523210 11.00000 0.03430 0.02516 =
|
497 |
+
0.04413 -0.01151 -0.01415 -0.00002
|
498 |
+
AFIX 43
|
499 |
+
H4 2 0.172436 0.748710 0.464303 11.00000 -1.20000
|
500 |
+
AFIX 0
|
501 |
+
C5 1 0.130878 0.651229 0.586845 11.00000 0.02581 0.02395 =
|
502 |
+
0.06667 -0.01529 -0.01730 0.00241
|
503 |
+
AFIX 43
|
504 |
+
H5 2 0.180384 0.618188 0.570191 11.00000 -1.20000
|
505 |
+
AFIX 0
|
506 |
+
C6 1 0.063469 0.622122 0.673495 11.00000 0.03435 0.02928 =
|
507 |
+
0.05562 -0.00399 -0.02132 -0.00515
|
508 |
+
AFIX 43
|
509 |
+
H6 2 0.065704 0.569154 0.715581 11.00000 -1.20000
|
510 |
+
AFIX 0
|
511 |
+
C7 1 -0.007745 0.673083 0.696925 11.00000 0.03668 0.05802 =
|
512 |
+
0.04245 -0.01549 -0.00903 -0.01065
|
513 |
+
AFIX 43
|
514 |
+
H7 2 -0.053303 0.654319 0.756087 11.00000 -1.20000
|
515 |
+
AFIX 0
|
516 |
+
C8 1 -0.013545 0.750738 0.635621 11.00000 0.02328 0.04428 =
|
517 |
+
0.03840 -0.02389 -0.00741 -0.00230
|
518 |
+
AFIX 43
|
519 |
+
H8 2 -0.062447 0.783909 0.653414 11.00000 -1.20000
|
520 |
+
AFIX 0
|
521 |
+
|
522 |
+
RESI 2009 PET
|
523 |
+
C1 1 0.741225 0.747563 0.561351 11.00000 0.02116 0.01894 =
|
524 |
+
0.03330 -0.00681 -0.00824 -0.00392
|
525 |
+
AFIX 23
|
526 |
+
H1A 2 0.707723 0.694863 0.590085 11.00000 -1.20000
|
527 |
+
H1B 2 0.732571 0.780939 0.506160 11.00000 -1.20000
|
528 |
+
AFIX 0
|
529 |
+
C2 1 0.841588 0.732456 0.537957 11.00000 0.01972 0.03267 =
|
530 |
+
0.04808 -0.02013 -0.01335 0.00053
|
531 |
+
AFIX 23
|
532 |
+
H2A 2 0.850051 0.702682 0.593782 11.00000 -1.20000
|
533 |
+
H2B 2 0.874940 0.785590 0.506254 11.00000 -1.20000
|
534 |
+
AFIX 0
|
535 |
+
C3 1 0.881834 0.683225 0.479268 11.00000 0.01622 0.02619 =
|
536 |
+
0.06294 -0.02885 -0.00763 -0.00030
|
537 |
+
C4 1 0.963055 0.646489 0.472814 11.00000 0.04812 0.10185 =
|
538 |
+
0.14000 -0.09731 -0.04922 0.03822
|
539 |
+
AFIX 43
|
540 |
+
H4 2 0.992698 0.652379 0.504564 11.00000 -1.20000
|
541 |
+
AFIX 0
|
542 |
+
C5 1 1.003076 0.600754 0.420799 11.00000 0.06054 0.18286 =
|
543 |
+
0.21817 -0.15591 -0.06877 0.06612
|
544 |
+
AFIX 43
|
545 |
+
H5 2 1.060099 0.577879 0.415842 11.00000 -1.20000
|
546 |
+
AFIX 0
|
547 |
+
C6 1 0.958653 0.588821 0.376004 11.00000 0.04601 0.13234 =
|
548 |
+
0.18330 -0.13515 -0.03113 0.03506
|
549 |
+
AFIX 43
|
550 |
+
H6 2 0.983133 0.553765 0.345270 11.00000 -1.20000
|
551 |
+
AFIX 0
|
552 |
+
C7 1 0.880226 0.627393 0.376308 11.00000 0.03928 0.06855 =
|
553 |
+
0.07728 -0.04634 -0.00788 -0.00332
|
554 |
+
AFIX 43
|
555 |
+
H7 2 0.852684 0.622544 0.342350 11.00000 -1.20000
|
556 |
+
AFIX 0
|
557 |
+
C8 1 0.840501 0.674946 0.428347 11.00000 0.03573 0.04429 =
|
558 |
+
0.06772 -0.03415 -0.01782 0.00626
|
559 |
+
AFIX 43
|
560 |
+
H8 2 0.785926 0.701453 0.429214 11.00000 -1.20000
|
561 |
+
AFIX 0
|
562 |
+
|
563 |
+
RESI 2010 Tol
|
564 |
+
C9 1 0.550830 0.750447 0.970782 11.00000 0.03373 0.09421 =
|
565 |
+
0.03484 -0.00115 -0.01177 0.00994
|
566 |
+
AFIX 43
|
567 |
+
H9 2 0.505962 0.790169 0.974328 11.00000 -1.20000
|
568 |
+
AFIX 0
|
569 |
+
C10 1 0.608251 0.745408 0.889406 11.00000 0.05646 0.06493 =
|
570 |
+
0.05465 -0.00439 -0.03762 -0.00551
|
571 |
+
AFIX 43
|
572 |
+
H10 2 0.601092 0.781573 0.836929 11.00000 -1.20000
|
573 |
+
AFIX 0
|
574 |
+
C11 1 0.676767 0.687677 0.883442 11.00000 0.04308 0.06231 =
|
575 |
+
0.02372 -0.00911 -0.01362 -0.01401
|
576 |
+
AFIX 43
|
577 |
+
H11 2 0.716748 0.686675 0.827280 11.00000 -1.20000
|
578 |
+
AFIX 0
|
579 |
+
C12 1 0.684902 0.631946 0.961511 11.00000 0.04753 0.03699 =
|
580 |
+
0.04899 -0.01926 -0.01786 0.00318
|
581 |
+
AFIX 43
|
582 |
+
H12 2 0.729675 0.592113 0.958404 11.00000 -1.20000
|
583 |
+
AFIX 0
|
584 |
+
C13 1 0.764166 0.570533 0.957088 11.00000 0.14451 0.07218 =
|
585 |
+
0.08060 -0.05069 -0.04360 0.05040
|
586 |
+
AFIX 33
|
587 |
+
H13A 2 0.798576 0.575448 0.895498 11.00000 -1.50000
|
588 |
+
H13B 2 0.739202 0.514738 0.995401 11.00000 -1.50000
|
589 |
+
H13C 2 0.803999 0.583231 0.977614 11.00000 -1.50000
|
590 |
+
AFIX 0
|
591 |
+
C14 1 0.627656 0.634834 1.043389 11.00000 0.04359 0.04627 =
|
592 |
+
0.02319 0.00134 -0.00588 0.00627
|
593 |
+
AFIX 43
|
594 |
+
H14 2 0.632949 0.596797 1.096199 11.00000 -1.20000
|
595 |
+
AFIX 0
|
596 |
+
C15 1 0.562386 0.693858 1.047650 11.00000 0.05258 0.07618 =
|
597 |
+
0.03783 -0.00710 -0.01071 0.01145
|
598 |
+
AFIX 43
|
599 |
+
H15 2 0.524630 0.696144 1.103707 11.00000 -1.20000
|
600 |
+
|
601 |
+
AFIX 0
|
602 |
+
HKLF 4
|
603 |
+
|
604 |
+
REM ca05_trunc in P-1
|
605 |
+
REM R1 = 0.0387 for 14888 Fo > 4sig(Fo) and 0.0891 for all 22436 data
|
606 |
+
REM 897 parameters refined using 27 restraints
|
607 |
+
|
608 |
+
END
|
609 |
+
|
610 |
+
WGHT 0.0483 0.0000
|
611 |
+
|
612 |
+
REM Highest difference peak 2.625, deepest hole -2.947, 1-sigma level 0.583
|
613 |
+
Q1 1 0.5570 1.1478 0.9079 11.00000 0.05 2.62
|
614 |
+
Q2 1 -0.0717 0.9465 0.8020 11.00000 0.05 2.35
|
615 |
+
Q3 1 0.4768 1.1258 0.9414 11.00000 0.05 2.29
|
616 |
+
Q4 1 0.5205 1.0150 0.9011 11.00000 0.05 2.25
|
617 |
+
Q5 1 0.2192 0.9286 0.4472 11.00000 0.05 2.12
|
618 |
+
Q6 1 0.6393 1.0328 0.7284 11.00000 0.05 2.12
|
619 |
+
Q7 1 0.4434 1.0521 0.9572 11.00000 0.05 2.10
|
620 |
+
Q8 1 0.6405 0.9484 0.7500 11.00000 0.05 2.08
|
621 |
+
Q9 1 0.6992 1.0026 0.7353 11.00000 0.05 2.06
|
622 |
+
Q10 1 0.5639 0.9137 0.9771 11.00000 0.05 2.04
|
623 |
+
Q11 1 0.6395 1.0823 0.5582 11.00000 0.05 2.04
|
624 |
+
Q12 1 0.6820 0.9831 0.8123 11.00000 0.05 2.01
|
625 |
+
Q13 1 0.6994 0.8774 0.8839 11.00000 0.05 2.01
|
626 |
+
Q14 1 0.1616 0.9292 0.3949 11.00000 0.05 1.99
|
627 |
+
Q15 1 0.5132 0.9007 0.9593 11.00000 0.05 1.92
|
628 |
+
Q16 1 0.7975 0.9157 0.5158 11.00000 0.05 1.91
|
629 |
+
Q17 1 0.5783 0.8581 0.9558 11.00000 0.05 1.90
|
630 |
+
Q18 1 0.6804 1.0623 0.8475 11.00000 0.05 1.90
|
631 |
+
Q19 1 0.7036 1.2139 0.5919 11.00000 0.05 1.88
|
632 |
+
Q20 1 -0.0764 0.9319 0.5352 11.00000 0.05 1.88
|
633 |
+
;
|
634 |
+
_shelx_res_checksum 81280
|
635 |
+
loop_
|
636 |
+
_space_group_symop_operation_xyz
|
637 |
+
'x, y, z'
|
638 |
+
'-x, -y, -z'
|
639 |
+
loop_
|
640 |
+
_atom_site_label
|
641 |
+
_atom_site_type_symbol
|
642 |
+
_atom_site_fract_x
|
643 |
+
_atom_site_fract_y
|
644 |
+
_atom_site_fract_z
|
645 |
+
_atom_site_U_iso_or_equiv
|
646 |
+
_atom_site_adp_type
|
647 |
+
_atom_site_occupancy
|
648 |
+
_atom_site_site_symmetry_order
|
649 |
+
_atom_site_calc_flag
|
650 |
+
_atom_site_refinement_flags_posn
|
651 |
+
_atom_site_refinement_flags_adp
|
652 |
+
_atom_site_refinement_flags_occupancy
|
653 |
+
Au1 Au 0.5000 1.0000 0.5000 0.01559(12) Uani 1 2 d S . P
|
654 |
+
Au2 Au 0.39635(3) 0.85189(2) 0.61796(3) 0.01907(9) Uani 1 1 d . . .
|
655 |
+
Au3 Au 0.42089(3) 0.96788(2) 0.68477(3) 0.01966(9) Uani 1 1 d . . .
|
656 |
+
Au4 Au 0.44735(3) 1.13023(2) 0.55684(3) 0.01964(9) Uani 1 1 d . . .
|
657 |
+
Au5 Au 0.20467(3) 0.86156(3) 0.59211(3) 0.02264(10) Uani 1 1 d . . .
|
658 |
+
Au6 Au 0.77806(3) 0.92738(3) 0.55755(3) 0.02457(10) Uani 1 1 d . . .
|
659 |
+
Au7 Au 0.56794(3) 0.86901(2) 0.61051(3) 0.02087(10) Uani 1 1 d . . .
|
660 |
+
Au8 Au 0.25920(3) 1.08252(3) 0.72870(3) 0.02614(11) Uani 1 1 d . . .
|
661 |
+
Au9 Au 0.61156(3) 1.04428(3) 0.56069(3) 0.02105(10) Uani 1 1 d . . .
|
662 |
+
Au10 Au 0.31085(3) 1.00664(3) 0.58114(3) 0.02098(9) Uani 1 1 d . . .
|
663 |
+
Au11 Au 0.47387(3) 1.09909(3) 0.72886(3) 0.02508(10) Uani 1 1 d . . .
|
664 |
+
Au12 Au 0.42588(3) 0.77284(3) 0.80239(3) 0.02495(10) Uani 1 1 d . . .
|
665 |
+
Au13 Au 0.51021(3) 0.69872(2) 0.62775(3) 0.02188(10) Uani 1 1 d . . .
|
666 |
+
S14 S 0.27622(18) 0.75597(16) 0.6702(2) 0.0221(6) Uani 1 1 d . . .
|
667 |
+
S15 S 0.6304(2) 1.08577(19) 0.6632(2) 0.0291(7) Uani 1 1 d . . .
|
668 |
+
S16 S 0.4427(2) 0.64986(17) 0.7841(2) 0.0258(6) Uani 1 1 d . . .
|
669 |
+
S20 S 0.12149(19) 0.95902(17) 0.5214(2) 0.0274(7) Uani 1 1 d . . .
|
670 |
+
S21 S 0.4105(2) 0.88781(18) 0.8352(2) 0.0311(7) Uani 1 1 d . . .
|
671 |
+
S24 S 0.3201(2) 1.10907(17) 0.8108(2) 0.0278(7) Uani 1 1 d . . .
|
672 |
+
S25 S 0.1830(2) 1.0740(2) 0.6500(3) 0.0386(8) Uani 1 1 d . . .
|
673 |
+
S26 S 0.69559(19) 0.80189(18) 0.6391(2) 0.0265(6) Uani 1 1 d . . .
|
674 |
+
S28 S 0.41337(18) 1.27135(16) 0.5253(2) 0.0230(6) Uani 1 1 d . . .
|
675 |
+
C1_2001 C 0.3001(8) 1.2205(7) 0.7844(10) 0.035(3) Uani 1 1 d . . .
|
676 |
+
H1A_2001 H 0.3144 1.2497 0.7201 0.042 Uiso 1 1 calc R U .
|
677 |
+
H1B_2001 H 0.2356 1.2278 0.8182 0.042 Uiso 1 1 calc R U .
|
678 |
+
C2_2001 C 0.3592(9) 1.2585(7) 0.8087(10) 0.037(3) Uani 1 1 d . . .
|
679 |
+
H2A_2001 H 0.3414 1.2322 0.8738 0.044 Uiso 1 1 calc R U .
|
680 |
+
H2B_2001 H 0.4233 1.2473 0.7787 0.044 Uiso 1 1 calc R U .
|
681 |
+
C3_2001 C 0.3483(8) 1.3506(7) 0.7805(8) 0.031(3) Uani 1 1 d . . .
|
682 |
+
C4_2001 C 0.4235(8) 1.4048(8) 0.7277(7) 0.031(3) Uani 1 1 d . . .
|
683 |
+
H4_2001 H 0.4820 1.3846 0.7057 0.037 Uiso 1 1 calc R U .
|
684 |
+
C5_2001 C 0.4132(9) 1.4901(7) 0.7067(9) 0.037(3) Uani 1 1 d . . .
|
685 |
+
H5_2001 H 0.4642 1.5266 0.6710 0.045 Uiso 1 1 calc R U .
|
686 |
+
C6_2001 C 0.3265(10) 1.5190(8) 0.7394(11) 0.048(4) Uani 1 1 d . . .
|
687 |
+
H6_2001 H 0.3191 1.5758 0.7240 0.058 Uiso 1 1 calc R U .
|
688 |
+
C7_2001 C 0.2503(12) 1.4660(10) 0.7944(16) 0.079(7) Uani 1 1 d . . .
|
689 |
+
H7_2001 H 0.1923 1.4866 0.8176 0.095 Uiso 1 1 calc R U .
|
690 |
+
C8_2001 C 0.2609(10) 1.3811(10) 0.8151(14) 0.074(7) Uani 1 1 d . . .
|
691 |
+
H8_2001 H 0.2097 1.3447 0.8519 0.089 Uiso 1 1 calc R U .
|
692 |
+
C1_2002 C 0.6489(10) 0.9868(9) 0.7488(11) 0.051(4) Uani 1 1 d . . .
|
693 |
+
H1A_2002 H 0.6109 0.9422 0.7608 0.061 Uiso 1 1 calc R U .
|
694 |
+
H1B_2002 H 0.7128 0.9720 0.7253 0.061 Uiso 1 1 calc R U .
|
695 |
+
C2_2002 C 0.6225(14) 0.9983(13) 0.8412(14) 0.075(6) Uiso 1 1 d . . .
|
696 |
+
H2A_2002 H 0.5561 1.0018 0.8699 0.090 Uiso 1 1 calc R U .
|
697 |
+
H2B_2002 H 0.6398 0.9490 0.8822 0.090 Uiso 1 1 calc R U .
|
698 |
+
C3_2002 C 0.664(2) 1.0693(16) 0.8311(15) 0.098(8) Uani 1 1 d . . .
|
699 |
+
C4_2002 C 0.760(2) 1.0781(17) 0.7928(18) 0.150(14) Uani 1 1 d . . .
|
700 |
+
H4_2002 H 0.7947 1.0366 0.7757 0.180 Uiso 1 1 calc R U .
|
701 |
+
C5_2002 C 0.808(2) 1.1494(18) 0.778(2) 0.21(2) Uani 1 1 d . . .
|
702 |
+
H5_2002 H 0.8720 1.1522 0.7530 0.250 Uiso 1 1 calc R U .
|
703 |
+
C6_2002 C 0.759(2) 1.2118(19) 0.802(2) 0.148(13) Uani 1 1 d . . .
|
704 |
+
H6_2002 H 0.7882 1.2592 0.7912 0.178 Uiso 1 1 calc R U .
|
705 |
+
C7_2002 C 0.662(2) 1.1999(16) 0.8447(17) 0.110(9) Uani 1 1 d . . .
|
706 |
+
H7_2002 H 0.6258 1.2384 0.8672 0.132 Uiso 1 1 calc R U .
|
707 |
+
C8_2002 C 0.6176(17) 1.1335(12) 0.8540(13) 0.080(7) Uani 1 1 d . . .
|
708 |
+
H8_2002 H 0.5537 1.1323 0.8768 0.096 Uiso 1 1 calc R U .
|
709 |
+
C1_2003 C 0.4804(7) 1.3188(7) 0.5561(8) 0.027(3) Uani 1 1 d . . .
|
710 |
+
H1A_2003 H 0.4657 1.3771 0.5402 0.033 Uiso 1 1 calc R U .
|
711 |
+
H1B_2003 H 0.4595 1.2929 0.6217 0.033 Uiso 1 1 calc R U .
|
712 |
+
C2_2003 C 0.5838(7) 1.3139(7) 0.5140(8) 0.024(2) Uani 1 1 d . . .
|
713 |
+
H2A_2003 H 0.6067 1.3370 0.4482 0.029 Uiso 1 1 calc R U .
|
714 |
+
H2B_2003 H 0.6011 1.2563 0.5342 0.029 Uiso 1 1 calc R U .
|
715 |
+
C3_2003 C 0.6258(7) 1.3627(8) 0.5424(9) 0.034(3) Uani 1 1 d . . .
|
716 |
+
C4_2003 C 0.6344(8) 1.4482(8) 0.4971(10) 0.043(4) Uani 1 1 d . . .
|
717 |
+
H4_2003 H 0.6139 1.4740 0.4512 0.051 Uiso 1 1 calc R U .
|
718 |
+
C5_2003 C 0.6727(9) 1.4964(10) 0.5184(13) 0.055(5) Uani 1 1 d . . .
|
719 |
+
H5_2003 H 0.6786 1.5538 0.4866 0.066 Uiso 1 1 calc R U .
|
720 |
+
C6_2003 C 0.7018(11) 1.4585(13) 0.5869(14) 0.066(6) Uani 1 1 d . . .
|
721 |
+
H6_2003 H 0.7270 1.4906 0.6022 0.079 Uiso 1 1 calc R U .
|
722 |
+
C7_2003 C 0.6941(11) 1.3737(12) 0.6332(12) 0.058(5) Uani 1 1 d . . .
|
723 |
+
H7_2003 H 0.7142 1.3481 0.6794 0.069 Uiso 1 1 calc R U .
|
724 |
+
C8_2003 C 0.6555(9) 1.3258(10) 0.6098(10) 0.041(4) Uani 1 1 d . . .
|
725 |
+
H8_2003 H 0.6503 1.2682 0.6409 0.050 Uiso 1 1 calc R U .
|
726 |
+
C1_2004 C 0.2974(10) 0.8818(8) 0.9271(9) 0.043(4) Uani 1 1 d . . .
|
727 |
+
H1A_2004 H 0.2990 0.8414 0.9838 0.052 Uiso 1 1 calc R U .
|
728 |
+
H1B_2004 H 0.2860 0.9354 0.9315 0.052 Uiso 1 1 calc R U .
|
729 |
+
C2_2004 C 0.2225(11) 0.8600(10) 0.9187(13) 0.057(4) Uani 1 1 d . . .
|
730 |
+
H2A_2004 H 0.2322 0.8064 0.9144 0.068 Uiso 1 1 calc R U .
|
731 |
+
H2B_2004 H 0.2177 0.9010 0.8638 0.068 Uiso 1 1 calc R U .
|
732 |
+
C3_2004 C 0.1307(11) 0.8558(10) 1.0046(12) 0.064(5) Uani 1 1 d . . .
|
733 |
+
C4_2004 C 0.1207(15) 0.7939(11) 1.0897(15) 0.118(10) Uani 1 1 d . . .
|
734 |
+
H4_2004 H 0.1685 0.7580 1.0942 0.142 Uiso 1 1 calc R U .
|
735 |
+
C5_2004 C 0.0380(17) 0.7850(15) 1.170(2) 0.27(3) Uani 1 1 d . . .
|
736 |
+
H5_2004 H 0.0324 0.7438 1.2259 0.323 Uiso 1 1 calc R U .
|
737 |
+
C6_2004 C -0.0291(14) 0.8350(13) 1.1638(18) 0.096(8) Uani 1 1 d . . .
|
738 |
+
H6_2004 H -0.0840 0.8308 1.2142 0.115 Uiso 1 1 calc R U .
|
739 |
+
C7_2004 C -0.0153(15) 0.8886(17) 1.0864(19) 0.132(12) Uani 1 1 d . . .
|
740 |
+
H7_2004 H -0.0628 0.9248 1.0820 0.158 Uiso 1 1 calc R U .
|
741 |
+
C8_2004 C 0.0636(15) 0.9013(15) 1.0047(18) 0.151(14) Uani 1 1 d . . .
|
742 |
+
H8_2004 H 0.0656 0.9438 0.9506 0.181 Uiso 1 1 calc R U .
|
743 |
+
C1_2005 C 0.2073(7) 0.7326(7) 0.7909(8) 0.025(3) Uani 1 1 d . . .
|
744 |
+
H1A_2005 H 0.2410 0.6972 0.8260 0.030 Uiso 1 1 calc R U .
|
745 |
+
H1B_2005 H 0.1948 0.7838 0.8008 0.030 Uiso 1 1 calc R U .
|
746 |
+
C2_2005 C 0.1169(9) 0.6887(9) 0.8222(10) 0.047(4) Uani 1 1 d . . .
|
747 |
+
H2A_2005 H 0.0796 0.7268 0.7930 0.056 Uiso 1 1 calc R U .
|
748 |
+
H2B_2005 H 0.1293 0.6417 0.8050 0.056 Uiso 1 1 calc R U .
|
749 |
+
C3_2005 C 0.0655(8) 0.6590(10) 0.9247(10) 0.050(4) Uani 1 1 d . . .
|
750 |
+
C4_2005 C 0.0182(9) 0.7153(14) 0.9644(15) 0.21(2) Uani 1 1 d . . .
|
751 |
+
H4_2005 H 0.0144 0.7700 0.9268 0.248 Uiso 1 1 calc R U .
|
752 |
+
C5_2005 C -0.0234(11) 0.6918(13) 1.0584(15) 0.089(7) Uani 1 1 d . . .
|
753 |
+
H5_2005 H -0.0545 0.7294 1.0845 0.107 Uiso 1 1 calc R U .
|
754 |
+
C6_2005 C -0.0154(10) 0.6071(12) 1.1122(12) 0.069(5) Uani 1 1 d . . .
|
755 |
+
H6_2005 H -0.0423 0.5881 1.1753 0.083 Uiso 1 1 calc R U .
|
756 |
+
C7_2005 C 0.0313(10) 0.5535(10) 1.0723(11) 0.055(4) Uani 1 1 d . . .
|
757 |
+
H7_2005 H 0.0368 0.4982 1.1074 0.065 Uiso 1 1 calc R U .
|
758 |
+
C8_2005 C 0.0683(10) 0.5818(9) 0.9830(11) 0.057(5) Uani 1 1 d . . .
|
759 |
+
H8_2005 H 0.0998 0.5439 0.9577 0.068 Uiso 1 1 calc R U .
|
760 |
+
C1_2006 C 0.5368(9) 0.6019(7) 0.8166(10) 0.034(3) Uani 1 1 d . . .
|
761 |
+
H1A_2006 H 0.5862 0.6431 0.7877 0.041 Uiso 1 1 calc R U .
|
762 |
+
H1B_2006 H 0.5152 0.5826 0.8819 0.041 Uiso 1 1 calc R U .
|
763 |
+
C2_2006 C 0.5733(8) 0.5295(7) 0.7888(9) 0.030(3) Uani 1 1 d . . .
|
764 |
+
H2A_2006 H 0.5975 0.5493 0.7231 0.036 Uiso 1 1 calc R U .
|
765 |
+
H2B_2006 H 0.5234 0.4895 0.8154 0.036 Uiso 1 1 calc R U .
|
766 |
+
C3_2006 C 0.6492(9) 0.4869(7) 0.8197(10) 0.035(3) Uani 1 1 d . . .
|
767 |
+
C4_2006 C 0.6300(11) 0.4247(8) 0.9035(11) 0.056(5) Uani 1 1 d . . .
|
768 |
+
H4_2006 H 0.5687 0.4090 0.9432 0.067 Uiso 1 1 calc R U .
|
769 |
+
C5_2006 C 0.6975(16) 0.3841(12) 0.9320(17) 0.096(8) Uani 1 1 d . . .
|
770 |
+
H5_2006 H 0.6829 0.3415 0.9894 0.115 Uiso 1 1 calc R U .
|
771 |
+
C6_2006 C 0.7849(15) 0.4085(12) 0.874(2) 0.091(8) Uani 1 1 d . . .
|
772 |
+
H6_2006 H 0.8314 0.3825 0.8919 0.109 Uiso 1 1 calc R U .
|
773 |
+
C7_2006 C 0.8091(11) 0.4708(13) 0.7872(16) 0.073(6) Uani 1 1 d . . .
|
774 |
+
H7_2006 H 0.8705 0.4860 0.7476 0.088 Uiso 1 1 calc R U .
|
775 |
+
C8_2006 C 0.7385(9) 0.5100(10) 0.7614(11) 0.045(4) Uani 1 1 d . . .
|
776 |
+
H8_2006 H 0.7526 0.5523 0.7039 0.054 Uiso 1 1 calc R U .
|
777 |
+
C1_2007 C 0.0889(10) 0.9760(15) 0.7464(15) 0.084(8) Uani 1 1 d . . .
|
778 |
+
H1A_2007 H 0.1049 0.9258 0.7347 0.101 Uiso 1 1 calc R U .
|
779 |
+
H1B_2007 H 0.0790 0.9641 0.8082 0.101 Uiso 1 1 calc R U .
|
780 |
+
C2_2007 C 0.019(2) 1.0139(13) 0.7270(18) 0.128(12) Uani 1 1 d . . .
|
781 |
+
H2A_2007 H 0.0275 1.0245 0.6660 0.154 Uiso 1 1 calc R U .
|
782 |
+
H2B_2007 H 0.0025 1.0642 0.7384 0.154 Uiso 1 1 calc R U .
|
783 |
+
C3_2007 C -0.0547(17) 0.9297(15) 0.8102(14) 0.163(16) Uani 1 1 d . . .
|
784 |
+
C4_2007 C -0.1119(14) 0.9247(13) 0.8961(12) 0.160(16) Uani 1 1 d . . .
|
785 |
+
H4_2007 H -0.0995 0.9598 0.9169 0.192 Uiso 1 1 calc R U .
|
786 |
+
C5_2007 C -0.1829(12) 0.8729(11) 0.9503(10) 0.069(6) Uani 1 1 d . . .
|
787 |
+
H5_2007 H -0.2193 0.8710 1.0085 0.083 Uiso 1 1 calc R U .
|
788 |
+
C6_2007 C -0.2029(10) 0.8227(11) 0.9214(12) 0.059(5) Uani 1 1 d . . .
|
789 |
+
H6_2007 H -0.2550 0.7874 0.9586 0.070 Uiso 1 1 calc R U .
|
790 |
+
C7_2007 C -0.1480(10) 0.8233(11) 0.8387(13) 0.061(5) Uani 1 1 d . . .
|
791 |
+
H7_2007 H -0.1609 0.7868 0.8198 0.073 Uiso 1 1 calc R U .
|
792 |
+
C8_2007 C -0.0738(12) 0.8767(10) 0.7826(12) 0.062(5) Uani 1 1 d . . .
|
793 |
+
H8_2007 H -0.0362 0.8770 0.7254 0.075 Uiso 1 1 calc R U .
|
794 |
+
C1_2008 C 0.1197(8) 0.9267(7) 0.4370(8) 0.025(2) Uiso 1 1 d . . .
|
795 |
+
H1A_2008 H 0.1108 0.9750 0.3888 0.031 Uiso 1 1 calc R U .
|
796 |
+
H1B_2008 H 0.1786 0.9041 0.4102 0.031 Uiso 1 1 calc R U .
|
797 |
+
C2_2008 C 0.0442(8) 0.8622(7) 0.4783(10) 0.033(3) Uani 1 1 d . . .
|
798 |
+
H2A_2008 H -0.0140 0.8849 0.5064 0.039 Uiso 1 1 calc R U .
|
799 |
+
H2B_2008 H 0.0419 0.8527 0.4295 0.039 Uiso 1 1 calc R U .
|
800 |
+
C3_2008 C 0.0529(8) 0.7795(8) 0.5480(10) 0.032(3) Uani 1 1 d . . .
|
801 |
+
C4_2008 C 0.1264(9) 0.7297(7) 0.5232(10) 0.036(3) Uani 1 1 d . . .
|
802 |
+
H4_2008 H 0.1724 0.7487 0.4643 0.043 Uiso 1 1 calc R U .
|
803 |
+
C5_2008 C 0.1309(8) 0.6512(8) 0.5868(10) 0.041(4) Uani 1 1 d . . .
|
804 |
+
H5_2008 H 0.1804 0.6182 0.5702 0.049 Uiso 1 1 calc R U .
|
805 |
+
C6_2008 C 0.0635(9) 0.6221(8) 0.6735(11) 0.043(4) Uani 1 1 d . . .
|
806 |
+
H6_2008 H 0.0657 0.5692 0.7156 0.051 Uiso 1 1 calc R U .
|
807 |
+
C7_2008 C -0.0077(10) 0.6731(10) 0.6969(11) 0.049(4) Uani 1 1 d . . .
|
808 |
+
H7_2008 H -0.0533 0.6543 0.7561 0.059 Uiso 1 1 calc R U .
|
809 |
+
C8_2008 C -0.0135(8) 0.7507(8) 0.6356(9) 0.034(3) Uani 1 1 d . . .
|
810 |
+
H8_2008 H -0.0624 0.7839 0.6534 0.041 Uiso 1 1 calc R U .
|
811 |
+
C1_2009 C 0.7412(7) 0.7476(7) 0.5614(9) 0.026(3) Uani 1 1 d . . .
|
812 |
+
H1A_2009 H 0.7077 0.6949 0.5901 0.032 Uiso 1 1 calc R U .
|
813 |
+
H1B_2009 H 0.7326 0.7809 0.5062 0.032 Uiso 1 1 calc R U .
|
814 |
+
C2_2009 C 0.8416(8) 0.7325(8) 0.5380(10) 0.032(3) Uani 1 1 d . . .
|
815 |
+
H2A_2009 H 0.8501 0.7027 0.5938 0.039 Uiso 1 1 calc R U .
|
816 |
+
H2B_2009 H 0.8749 0.7856 0.5063 0.039 Uiso 1 1 calc R U .
|
817 |
+
C3_2009 C 0.8818(8) 0.6832(7) 0.4793(10) 0.034(3) Uani 1 1 d . . .
|
818 |
+
C4_2009 C 0.9631(11) 0.6465(10) 0.4728(13) 0.079(7) Uani 1 1 d . . .
|
819 |
+
H4_2009 H 0.9927 0.6524 0.5046 0.094 Uiso 1 1 calc R U .
|
820 |
+
C5_2009 C 1.0031(13) 0.6008(14) 0.4208(17) 0.129(12) Uani 1 1 d . . .
|
821 |
+
H5_2009 H 1.0601 0.5779 0.4158 0.155 Uiso 1 1 calc R U .
|
822 |
+
C6_2009 C 0.9587(12) 0.5888(14) 0.3760(17) 0.104(9) Uani 1 1 d . . .
|
823 |
+
H6_2009 H 0.9831 0.5538 0.3453 0.125 Uiso 1 1 calc R U .
|
824 |
+
C7_2009 C 0.8802(10) 0.6274(11) 0.3763(13) 0.061(5) Uani 1 1 d . . .
|
825 |
+
H7_2009 H 0.8527 0.6225 0.3424 0.073 Uiso 1 1 calc R U .
|
826 |
+
C8_2009 C 0.8405(10) 0.6749(9) 0.4283(11) 0.047(4) Uani 1 1 d . . .
|
827 |
+
H8_2009 H 0.7859 0.7015 0.4292 0.056 Uiso 1 1 calc R U .
|
828 |
+
C9_2010 C 0.5508(10) 0.7504(12) 0.9708(11) 0.066(5) Uani 1 1 d . . .
|
829 |
+
H9_2010 H 0.5060 0.7902 0.9743 0.079 Uiso 1 1 calc R U .
|
830 |
+
C10_2010 C 0.6083(11) 0.7454(11) 0.8894(12) 0.059(5) Uani 1 1 d . . .
|
831 |
+
H10_2010 H 0.6011 0.7816 0.8369 0.071 Uiso 1 1 calc R U .
|
832 |
+
C11_2010 C 0.6768(10) 0.6877(10) 0.8834(10) 0.044(4) Uani 1 1 d . . .
|
833 |
+
H11_2010 H 0.7167 0.6867 0.8273 0.053 Uiso 1 1 calc R U .
|
834 |
+
C12_2010 C 0.6849(10) 0.6319(9) 0.9615(11) 0.045(4) Uani 1 1 d . . .
|
835 |
+
H12_2010 H 0.7297 0.5921 0.9584 0.054 Uiso 1 1 calc R U .
|
836 |
+
C13_2010 C 0.7642(16) 0.5705(13) 0.9571(15) 0.099(8) Uani 1 1 d . . .
|
837 |
+
H13A_2010 H 0.7986 0.5754 0.8955 0.148 Uiso 1 1 calc R U .
|
838 |
+
H13B_2010 H 0.7392 0.5147 0.9954 0.148 Uiso 1 1 calc R U .
|
839 |
+
H13C_2010 H 0.8040 0.5832 0.9776 0.148 Uiso 1 1 calc R U .
|
840 |
+
C14_2010 C 0.6277(10) 0.6348(9) 1.0434(10) 0.047(4) Uani 1 1 d . . .
|
841 |
+
H14_2010 H 0.6329 0.5968 1.0962 0.057 Uiso 1 1 calc R U .
|
842 |
+
C15_2010 C 0.5624(11) 0.6939(11) 1.0476(12) 0.066(5) Uani 1 1 d . . .
|
843 |
+
H15_2010 H 0.5246 0.6961 1.1037 0.079 Uiso 1 1 calc R U .
|
844 |
+
loop_
|
845 |
+
_atom_site_aniso_label
|
846 |
+
_atom_site_aniso_U_11
|
847 |
+
_atom_site_aniso_U_22
|
848 |
+
_atom_site_aniso_U_33
|
849 |
+
_atom_site_aniso_U_23
|
850 |
+
_atom_site_aniso_U_13
|
851 |
+
_atom_site_aniso_U_12
|
852 |
+
Au1 0.0123(2) 0.0097(2) 0.0202(3) -0.0058(2) -0.0025(2) -0.00132(19)
|
853 |
+
Au2 0.01516(19) 0.01120(18) 0.0251(2) -0.00534(17) -0.00459(17) -0.00192(14)
|
854 |
+
Au3 0.0201(2) 0.01277(18) 0.0215(2) -0.00665(17) -0.00453(17) -0.00044(15)
|
855 |
+
Au4 0.0198(2) 0.01100(18) 0.0234(2) -0.00752(17) -0.00432(17) 0.00022(15)
|
856 |
+
Au5 0.0181(2) 0.0164(2) 0.0326(3) -0.00846(19) -0.01056(19) -0.00112(16)
|
857 |
+
Au6 0.0191(2) 0.0176(2) 0.0404(3) -0.0124(2) -0.0152(2) 0.00265(16)
|
858 |
+
Au7 0.01708(19) 0.01288(19) 0.0291(2) -0.00627(17) -0.00880(18) 0.00120(15)
|
859 |
+
Au8 0.0222(2) 0.0185(2) 0.0318(3) -0.0147(2) -0.00051(19) -0.00338(17)
|
860 |
+
Au9 0.01737(19) 0.0170(2) 0.0290(2) -0.01097(18) -0.00794(18) 0.00042(16)
|
861 |
+
Au10 0.01506(19) 0.0175(2) 0.0255(2) -0.00949(18) -0.00397(17) 0.00201(15)
|
862 |
+
Au11 0.0299(2) 0.0181(2) 0.0264(2) -0.01029(19) -0.0094(2) 0.00016(17)
|
863 |
+
Au12 0.0255(2) 0.0151(2) 0.0291(3) -0.00556(18) -0.0100(2) 0.00070(17)
|
864 |
+
Au13 0.0232(2) 0.01130(18) 0.0311(3) -0.00649(18) -0.01302(19) 0.00043(16)
|
865 |
+
S14 0.0188(13) 0.0146(12) 0.0305(16) -0.0077(12) -0.0083(12) -0.0029(10)
|
866 |
+
S15 0.0324(16) 0.0260(15) 0.0343(18) -0.0124(14) -0.0182(14) 0.0021(12)
|
867 |
+
S16 0.0258(14) 0.0132(12) 0.0339(17) -0.0030(12) -0.0142(13) -0.0008(11)
|
868 |
+
S20 0.0202(13) 0.0177(13) 0.0452(19) -0.0116(13) -0.0157(14) 0.0020(11)
|
869 |
+
S21 0.0420(18) 0.0177(14) 0.0249(16) -0.0049(12) -0.0091(14) -0.0017(13)
|
870 |
+
S24 0.0338(16) 0.0150(13) 0.0284(17) -0.0112(12) -0.0037(13) -0.0033(12)
|
871 |
+
S25 0.0178(14) 0.048(2) 0.058(2) -0.0380(19) -0.0085(15) 0.0080(13)
|
872 |
+
S26 0.0202(14) 0.0205(14) 0.0391(18) -0.0101(13) -0.0146(13) 0.0015(11)
|
873 |
+
S28 0.0191(13) 0.0149(12) 0.0361(17) -0.0123(12) -0.0107(12) 0.0016(10)
|
874 |
+
C1_2001 0.024(6) 0.022(6) 0.046(8) -0.020(6) 0.004(6) -0.003(5)
|
875 |
+
C2_2001 0.038(7) 0.023(6) 0.048(9) -0.023(6) -0.004(6) -0.012(5)
|
876 |
+
C3_2001 0.029(6) 0.026(6) 0.040(8) -0.018(6) -0.010(6) -0.001(5)
|
877 |
+
C4_2001 0.031(6) 0.039(7) 0.022(7) -0.017(6) -0.003(5) -0.010(5)
|
878 |
+
C5_2001 0.044(8) 0.018(6) 0.037(8) -0.005(6) -0.008(6) -0.011(5)
|
879 |
+
C6_2001 0.058(9) 0.019(6) 0.084(12) -0.028(8) -0.040(9) 0.010(6)
|
880 |
+
C7_2001 0.050(10) 0.052(10) 0.17(2) -0.076(14) -0.056(13) 0.021(8)
|
881 |
+
C8_2001 0.029(8) 0.047(10) 0.145(19) -0.062(12) -0.014(10) 0.001(7)
|
882 |
+
C1_2002 0.045(9) 0.046(9) 0.062(11) -0.015(8) -0.026(8) -0.004(7)
|
883 |
+
C3_2002 0.14(2) 0.103(19) 0.083(17) -0.053(15) -0.079(17) 0.055(17)
|
884 |
+
C4_2002 0.12(2) 0.20(3) 0.26(4) -0.20(3) -0.11(3) 0.06(2)
|
885 |
+
C5_2002 0.10(2) 0.28(4) 0.39(6) -0.31(5) -0.07(3) 0.04(2)
|
886 |
+
C6_2002 0.16(3) 0.16(3) 0.17(3) -0.13(3) -0.04(3) 0.00(2)
|
887 |
+
C7_2002 0.13(2) 0.11(2) 0.11(2) -0.082(18) -0.049(19) 0.051(18)
|
888 |
+
C8_2002 0.119(18) 0.064(13) 0.060(13) 0.001(10) -0.050(13) -0.040(12)
|
889 |
+
C1_2003 0.026(6) 0.023(6) 0.030(7) -0.013(5) -0.005(5) -0.007(5)
|
890 |
+
C2_2003 0.025(6) 0.019(5) 0.027(6) -0.008(5) -0.010(5) -0.003(4)
|
891 |
+
C3_2003 0.013(5) 0.044(8) 0.044(8) -0.027(7) 0.000(5) -0.007(5)
|
892 |
+
C4_2003 0.034(7) 0.035(7) 0.067(10) -0.037(8) -0.010(7) -0.004(6)
|
893 |
+
C5_2003 0.035(8) 0.058(10) 0.098(14) -0.056(11) -0.026(9) 0.006(7)
|
894 |
+
C6_2003 0.042(9) 0.092(15) 0.096(15) -0.081(13) -0.018(10) 0.014(9)
|
895 |
+
C7_2003 0.051(10) 0.084(13) 0.068(12) -0.051(11) -0.036(9) 0.017(9)
|
896 |
+
C8_2003 0.031(7) 0.061(10) 0.052(9) -0.039(8) -0.021(7) 0.011(7)
|
897 |
+
C1_2004 0.068(10) 0.023(6) 0.026(7) -0.008(6) -0.009(7) 0.002(6)
|
898 |
+
C2_2004 0.060(10) 0.038(9) 0.083(13) -0.030(9) -0.033(10) 0.002(7)
|
899 |
+
C3_2004 0.049(10) 0.042(9) 0.066(13) -0.008(9) -0.007(9) -0.005(8)
|
900 |
+
C4_2004 0.14(2) 0.050(12) 0.095(19) -0.031(13) 0.004(16) 0.029(13)
|
901 |
+
C5_2004 0.12(2) 0.068(18) 0.29(5) -0.01(2) 0.14(3) -0.013(17)
|
902 |
+
C6_2004 0.065(13) 0.057(13) 0.12(2) -0.039(14) 0.009(14) -0.001(11)
|
903 |
+
C7_2004 0.11(2) 0.13(2) 0.10(2) -0.07(2) 0.027(17) 0.030(18)
|
904 |
+
C8_2004 0.15(2) 0.10(2) 0.11(2) -0.055(18) 0.016(18) 0.069(19)
|
905 |
+
C1_2005 0.012(5) 0.030(6) 0.032(7) -0.012(5) -0.007(5) -0.001(4)
|
906 |
+
C2_2005 0.026(7) 0.040(8) 0.049(9) 0.008(7) -0.014(7) -0.010(6)
|
907 |
+
C3_2005 0.020(6) 0.055(9) 0.045(9) 0.004(8) -0.005(6) -0.014(6)
|
908 |
+
C4_2005 0.112(19) 0.13(2) 0.11(2) 0.028(17) 0.089(17) 0.081(17)
|
909 |
+
C5_2005 0.082(14) 0.077(15) 0.089(17) -0.053(14) -0.001(12) 0.006(12)
|
910 |
+
C6_2005 0.060(11) 0.073(13) 0.038(10) -0.006(9) -0.002(9) -0.008(10)
|
911 |
+
C7_2005 0.078(12) 0.040(9) 0.038(9) -0.004(7) -0.027(9) -0.002(8)
|
912 |
+
C8_2005 0.108(14) 0.028(7) 0.042(10) -0.015(7) -0.036(10) 0.000(8)
|
913 |
+
C1_2006 0.043(7) 0.017(6) 0.044(8) -0.006(6) -0.027(7) 0.004(5)
|
914 |
+
C2_2006 0.031(6) 0.026(6) 0.033(7) -0.016(6) -0.011(6) 0.008(5)
|
915 |
+
C3_2006 0.034(7) 0.024(6) 0.051(9) -0.012(6) -0.027(7) 0.010(5)
|
916 |
+
C4_2006 0.056(10) 0.041(9) 0.057(11) 0.013(8) -0.040(9) -0.013(7)
|
917 |
+
C5_2006 0.113(18) 0.056(12) 0.14(2) -0.007(13) -0.104(19) 0.001(12)
|
918 |
+
C6_2006 0.088(15) 0.050(12) 0.19(3) -0.050(15) -0.112(19) 0.036(11)
|
919 |
+
C7_2006 0.031(8) 0.094(16) 0.121(19) -0.073(15) -0.025(10) 0.006(9)
|
920 |
+
C8_2006 0.034(7) 0.053(9) 0.061(11) -0.036(8) -0.020(7) 0.009(7)
|
921 |
+
C1_2007 0.029(8) 0.17(2) 0.111(17) -0.120(18) -0.033(10) 0.048(11)
|
922 |
+
C2_2007 0.26(4) 0.062(14) 0.12(2) -0.050(15) -0.14(3) 0.080(19)
|
923 |
+
C3_2007 0.19(3) 0.18(3) 0.062(15) -0.057(17) 0.065(16) -0.17(2)
|
924 |
+
C4_2007 0.17(2) 0.22(3) 0.059(14) -0.091(18) 0.074(15) -0.16(2)
|
925 |
+
C5_2007 0.075(12) 0.092(14) 0.019(8) -0.022(9) 0.011(8) -0.034(11)
|
926 |
+
C6_2007 0.030(8) 0.076(12) 0.073(13) -0.045(11) -0.007(8) -0.004(8)
|
927 |
+
C7_2007 0.035(8) 0.077(12) 0.085(14) -0.056(11) -0.013(9) -0.001(8)
|
928 |
+
C8_2007 0.075(12) 0.058(11) 0.047(10) -0.027(9) -0.005(9) -0.022(9)
|
929 |
+
C2_2008 0.025(6) 0.024(6) 0.060(9) -0.021(6) -0.025(6) 0.005(5)
|
930 |
+
C3_2008 0.020(6) 0.031(7) 0.051(9) -0.019(6) -0.016(6) 0.001(5)
|
931 |
+
C4_2008 0.034(7) 0.025(6) 0.044(8) -0.012(6) -0.014(6) 0.000(5)
|
932 |
+
C5_2008 0.026(6) 0.024(6) 0.067(11) -0.015(7) -0.017(7) 0.002(5)
|
933 |
+
C6_2008 0.034(7) 0.029(7) 0.056(10) -0.004(7) -0.021(7) -0.005(6)
|
934 |
+
C7_2008 0.037(8) 0.058(10) 0.042(9) -0.015(8) -0.009(7) -0.011(7)
|
935 |
+
C8_2008 0.023(6) 0.044(8) 0.038(8) -0.024(7) -0.007(6) -0.002(6)
|
936 |
+
C1_2009 0.021(6) 0.019(6) 0.033(7) -0.007(5) -0.008(5) -0.004(4)
|
937 |
+
C2_2009 0.020(6) 0.033(7) 0.048(8) -0.020(6) -0.013(6) 0.001(5)
|
938 |
+
C3_2009 0.016(5) 0.026(6) 0.063(10) -0.029(7) -0.008(6) 0.000(5)
|
939 |
+
C4_2009 0.048(10) 0.102(15) 0.14(2) -0.097(16) -0.049(12) 0.038(10)
|
940 |
+
C5_2009 0.061(14) 0.18(3) 0.22(3) -0.16(3) -0.069(19) 0.066(17)
|
941 |
+
C6_2009 0.046(11) 0.13(2) 0.18(3) -0.14(2) -0.031(14) 0.035(12)
|
942 |
+
C7_2009 0.039(9) 0.069(11) 0.077(13) -0.046(11) -0.008(9) -0.003(8)
|
943 |
+
C8_2009 0.036(8) 0.044(9) 0.068(11) -0.034(8) -0.018(8) 0.006(6)
|
944 |
+
C9_2010 0.034(8) 0.094(14) 0.035(9) -0.001(9) -0.012(7) 0.010(9)
|
945 |
+
C10_2010 0.056(10) 0.065(11) 0.055(11) -0.004(9) -0.038(9) -0.006(9)
|
946 |
+
C11_2010 0.043(8) 0.062(10) 0.024(7) -0.009(7) -0.014(6) -0.014(7)
|
947 |
+
C12_2010 0.048(8) 0.037(8) 0.049(10) -0.019(7) -0.018(8) 0.003(7)
|
948 |
+
C13_2010 0.14(2) 0.072(14) 0.081(16) -0.051(13) -0.044(15) 0.050(14)
|
949 |
+
C14_2010 0.044(8) 0.046(9) 0.023(7) 0.001(6) -0.006(6) 0.006(7)
|
950 |
+
C15_2010 0.053(10) 0.076(13) 0.038(10) -0.007(9) -0.011(8) 0.011(9)
|
951 |
+
loop_
|
952 |
+
_atom_type_symbol
|
953 |
+
_atom_type_description
|
954 |
+
_atom_type_scat_dispersion_real
|
955 |
+
_atom_type_scat_dispersion_imag
|
956 |
+
_atom_type_scat_source
|
957 |
+
C C 0.0033 0.0016 'International Tables Vol C Tables 4.2.6.8 and 6.1.1.4'
|
958 |
+
H H 0.0000 0.0000 'International Tables Vol C Tables 4.2.6.8 and 6.1.1.4'
|
959 |
+
O O 0.0106 0.0060 'International Tables Vol C Tables 4.2.6.8 and 6.1.1.4'
|
960 |
+
S S 0.1246 0.1234 'International Tables Vol C Tables 4.2.6.8 and 6.1.1.4'
|
961 |
+
Au Au -2.0133 8.8022 'International Tables Vol C Tables 4.2.6.8 and 6.1.1.4'
|
962 |
+
loop_
|
963 |
+
_geom_angle_atom_site_label_1
|
964 |
+
_geom_angle_atom_site_label_2
|
965 |
+
_geom_angle_atom_site_label_3
|
966 |
+
_geom_angle
|
967 |
+
_geom_angle_site_symmetry_1
|
968 |
+
_geom_angle_site_symmetry_3
|
969 |
+
Au10 Au1 Au10 180.0 . 2_676
|
970 |
+
Au10 Au1 Au4 68.67(3) . .
|
971 |
+
Au10 Au1 Au4 111.33(3) 2_676 .
|
972 |
+
Au10 Au1 Au4 111.34(3) . 2_676
|
973 |
+
Au10 Au1 Au4 68.67(3) 2_676 2_676
|
974 |
+
Au4 Au1 Au4 180.0 . 2_676
|
975 |
+
Au10 Au1 Au7 67.61(4) . 2_676
|
976 |
+
Au10 Au1 Au7 112.39(4) 2_676 2_676
|
977 |
+
Au4 Au1 Au7 67.73(2) . 2_676
|
978 |
+
Au4 Au1 Au7 112.27(2) 2_676 2_676
|
979 |
+
Au10 Au1 Au7 112.39(4) . .
|
980 |
+
Au10 Au1 Au7 67.61(4) 2_676 .
|
981 |
+
Au4 Au1 Au7 112.27(2) . .
|
982 |
+
Au4 Au1 Au7 67.73(2) 2_676 .
|
983 |
+
Au7 Au1 Au7 180.0 2_676 .
|
984 |
+
Au10 Au1 Au2 118.79(4) . 2_676
|
985 |
+
Au10 Au1 Au2 61.21(4) 2_676 2_676
|
986 |
+
Au4 Au1 Au2 64.13(3) . 2_676
|
987 |
+
Au4 Au1 Au2 115.87(3) 2_676 2_676
|
988 |
+
Au7 Au1 Au2 59.91(3) 2_676 2_676
|
989 |
+
Au7 Au1 Au2 120.09(3) . 2_676
|
990 |
+
Au10 Au1 Au2 61.21(4) . .
|
991 |
+
Au10 Au1 Au2 118.79(4) 2_676 .
|
992 |
+
Au4 Au1 Au2 115.88(3) . .
|
993 |
+
Au4 Au1 Au2 64.12(3) 2_676 .
|
994 |
+
Au7 Au1 Au2 120.09(3) 2_676 .
|
995 |
+
Au7 Au1 Au2 59.91(3) . .
|
996 |
+
Au2 Au1 Au2 180.0 2_676 .
|
997 |
+
Au10 Au1 Au3 63.35(3) . .
|
998 |
+
Au10 Au1 Au3 116.65(3) 2_676 .
|
999 |
+
Au4 Au1 Au3 59.71(3) . .
|
1000 |
+
Au4 Au1 Au3 120.29(3) 2_676 .
|
1001 |
+
Au7 Au1 Au3 117.28(3) 2_676 .
|
1002 |
+
Au7 Au1 Au3 62.72(3) . .
|
1003 |
+
Au2 Au1 Au3 116.66(3) 2_676 .
|
1004 |
+
Au2 Au1 Au3 63.34(3) . .
|
1005 |
+
Au10 Au1 Au3 116.65(3) . 2_676
|
1006 |
+
Au10 Au1 Au3 63.35(4) 2_676 2_676
|
1007 |
+
Au4 Au1 Au3 120.29(3) . 2_676
|
1008 |
+
Au4 Au1 Au3 59.70(3) 2_676 2_676
|
1009 |
+
Au7 Au1 Au3 62.72(3) 2_676 2_676
|
1010 |
+
Au7 Au1 Au3 117.28(3) . 2_676
|
1011 |
+
Au2 Au1 Au3 63.35(4) 2_676 2_676
|
1012 |
+
Au2 Au1 Au3 116.65(4) . 2_676
|
1013 |
+
Au3 Au1 Au3 179.999(18) . 2_676
|
1014 |
+
Au10 Au1 Au9 59.20(2) . 2_676
|
1015 |
+
Au10 Au1 Au9 120.81(2) 2_676 2_676
|
1016 |
+
Au4 Au1 Au9 118.41(2) . 2_676
|
1017 |
+
Au4 Au1 Au9 61.59(2) 2_676 2_676
|
1018 |
+
Au7 Au1 Au9 63.92(2) 2_676 2_676
|
1019 |
+
Au7 Au1 Au9 116.08(2) . 2_676
|
1020 |
+
Au2 Au1 Au9 115.69(3) 2_676 2_676
|
1021 |
+
Au2 Au1 Au9 64.31(3) . 2_676
|
1022 |
+
Au3 Au1 Au9 115.07(3) . 2_676
|
1023 |
+
Au3 Au1 Au9 64.92(3) 2_676 2_676
|
1024 |
+
Au10 Au1 Au9 120.80(2) . .
|
1025 |
+
Au10 Au1 Au9 59.19(2) 2_676 .
|
1026 |
+
Au4 Au1 Au9 61.59(2) . .
|
1027 |
+
Au4 Au1 Au9 118.41(2) 2_676 .
|
1028 |
+
Au7 Au1 Au9 116.09(2) 2_676 .
|
1029 |
+
Au7 Au1 Au9 63.92(2) . .
|
1030 |
+
Au2 Au1 Au9 64.31(3) 2_676 .
|
1031 |
+
Au2 Au1 Au9 115.69(3) . .
|
1032 |
+
Au3 Au1 Au9 64.93(3) . .
|
1033 |
+
Au3 Au1 Au9 115.08(3) 2_676 .
|
1034 |
+
Au9 Au1 Au9 180.0 2_676 .
|
1035 |
+
S14 Au2 Au7 144.92(7) . .
|
1036 |
+
S14 Au2 Au1 153.26(8) . .
|
1037 |
+
Au7 Au2 Au1 59.93(3) . .
|
1038 |
+
S14 Au2 Au10 103.07(7) . .
|
1039 |
+
Au7 Au2 Au10 110.50(3) . .
|
1040 |
+
Au1 Au2 Au10 58.95(3) . .
|
1041 |
+
S14 Au2 Au3 133.63(7) . .
|
1042 |
+
Au7 Au2 Au3 60.96(3) . .
|
1043 |
+
Au1 Au2 Au3 58.34(2) . .
|
1044 |
+
Au10 Au2 Au3 60.85(2) . .
|
1045 |
+
S14 Au2 Au4 115.94(8) . 2_676
|
1046 |
+
Au7 Au2 Au4 65.30(3) . 2_676
|
1047 |
+
Au1 Au2 Au4 57.77(4) . 2_676
|
1048 |
+
Au10 Au2 Au4 104.63(4) . 2_676
|
1049 |
+
Au3 Au2 Au4 110.31(3) . 2_676
|
1050 |
+
S14 Au2 Au9 95.68(8) . 2_676
|
1051 |
+
Au7 Au2 Au9 110.94(4) . 2_676
|
1052 |
+
Au1 Au2 Au9 58.31(3) . 2_676
|
1053 |
+
Au10 Au2 Au9 56.57(3) . 2_676
|
1054 |
+
Au3 Au2 Au9 106.28(3) . 2_676
|
1055 |
+
Au4 Au2 Au9 57.69(3) 2_676 2_676
|
1056 |
+
S14 Au2 Au13 82.36(7) . .
|
1057 |
+
Au7 Au2 Au13 65.73(3) . .
|
1058 |
+
Au1 Au2 Au13 113.39(3) . .
|
1059 |
+
Au10 Au2 Au13 171.15(2) . .
|
1060 |
+
Au3 Au2 Au13 120.29(2) . .
|
1061 |
+
Au4 Au2 Au13 66.56(4) 2_676 .
|
1062 |
+
Au9 Au2 Au13 116.39(3) 2_676 .
|
1063 |
+
S14 Au2 Au12 95.30(8) . .
|
1064 |
+
Au7 Au2 Au12 60.76(4) . .
|
1065 |
+
Au1 Au2 Au12 110.30(3) . .
|
1066 |
+
Au10 Au2 Au12 116.85(3) . .
|
1067 |
+
Au3 Au2 Au12 62.97(3) . .
|
1068 |
+
Au4 Au2 Au12 120.04(3) 2_676 .
|
1069 |
+
Au9 Au2 Au12 168.352(18) 2_676 .
|
1070 |
+
Au13 Au2 Au12 69.01(3) . .
|
1071 |
+
S14 Au2 Au5 44.36(7) . .
|
1072 |
+
Au7 Au2 Au5 169.67(2) . .
|
1073 |
+
Au1 Au2 Au5 110.07(3) . .
|
1074 |
+
Au10 Au2 Au5 62.62(3) . .
|
1075 |
+
Au3 Au2 Au5 117.32(3) . .
|
1076 |
+
Au4 Au2 Au5 107.92(3) 2_676 .
|
1077 |
+
Au9 Au2 Au5 59.08(4) 2_676 .
|
1078 |
+
Au13 Au2 Au5 119.83(3) . .
|
1079 |
+
Au12 Au2 Au5 128.62(3) . .
|
1080 |
+
S21 Au3 Au4 141.17(8) . .
|
1081 |
+
S21 Au3 Au1 150.50(8) . .
|
1082 |
+
Au4 Au3 Au1 59.95(3) . .
|
1083 |
+
S21 Au3 Au7 91.98(8) . .
|
1084 |
+
Au4 Au3 Au7 109.00(4) . .
|
1085 |
+
Au1 Au3 Au7 58.52(3) . .
|
1086 |
+
S21 Au3 Au10 139.98(8) . .
|
1087 |
+
Au4 Au3 Au10 66.62(3) . .
|
1088 |
+
Au1 Au3 Au10 57.89(2) . .
|
1089 |
+
Au7 Au3 Au10 104.82(3) . .
|
1090 |
+
S21 Au3 Au2 107.14(8) . .
|
1091 |
+
Au4 Au3 Au2 111.69(3) . .
|
1092 |
+
Au1 Au3 Au2 58.32(3) . .
|
1093 |
+
Au7 Au3 Au2 57.01(2) . .
|
1094 |
+
Au10 Au3 Au2 57.85(2) . .
|
1095 |
+
S21 Au3 Au9 109.92(9) . .
|
1096 |
+
Au4 Au3 Au9 59.25(4) . .
|
1097 |
+
Au1 Au3 Au9 57.99(3) . .
|
1098 |
+
Au7 Au3 Au9 60.18(3) . .
|
1099 |
+
Au10 Au3 Au9 109.96(3) . .
|
1100 |
+
Au2 Au3 Au9 106.11(3) . .
|
1101 |
+
S21 Au3 Au8 98.77(8) . .
|
1102 |
+
Au4 Au3 Au8 64.51(4) . .
|
1103 |
+
Au1 Au3 Au8 110.62(4) . .
|
1104 |
+
Au7 Au3 Au8 168.52(2) . .
|
1105 |
+
Au10 Au3 Au8 64.18(3) . .
|
1106 |
+
Au2 Au3 Au8 115.27(3) . .
|
1107 |
+
Au9 Au3 Au8 118.89(3) . .
|
1108 |
+
S21 Au3 Au11 78.10(8) . .
|
1109 |
+
Au4 Au3 Au11 63.40(2) . .
|
1110 |
+
Au1 Au3 Au11 113.81(4) . .
|
1111 |
+
Au7 Au3 Au11 116.72(3) . .
|
1112 |
+
Au10 Au3 Au11 122.48(3) . .
|
1113 |
+
Au2 Au3 Au11 171.35(2) . .
|
1114 |
+
Au9 Au3 Au11 65.35(3) . .
|
1115 |
+
Au8 Au3 Au11 69.87(2) . .
|
1116 |
+
S21 Au3 Au12 45.63(8) . .
|
1117 |
+
Au4 Au3 Au12 168.63(2) . .
|
1118 |
+
Au1 Au3 Au12 110.14(4) . .
|
1119 |
+
Au7 Au3 Au12 59.64(4) . .
|
1120 |
+
Au10 Au3 Au12 114.09(3) . .
|
1121 |
+
Au2 Au3 Au12 62.79(2) . .
|
1122 |
+
Au9 Au3 Au12 111.53(4) . .
|
1123 |
+
Au8 Au3 Au12 126.56(4) . .
|
1124 |
+
Au11 Au3 Au12 120.59(3) . .
|
1125 |
+
S28 Au4 Au3 148.05(8) . .
|
1126 |
+
S28 Au4 Au1 149.75(8) . .
|
1127 |
+
Au3 Au4 Au1 60.34(2) . .
|
1128 |
+
S28 Au4 Au9 130.59(7) . .
|
1129 |
+
Au3 Au4 Au9 64.51(4) . .
|
1130 |
+
Au1 Au4 Au9 59.87(2) . .
|
1131 |
+
S28 Au4 Au2 99.32(9) . 2_676
|
1132 |
+
Au3 Au4 Au2 111.94(4) . 2_676
|
1133 |
+
Au1 Au4 Au2 58.10(3) . 2_676
|
1134 |
+
Au9 Au4 Au2 61.65(3) . 2_676
|
1135 |
+
S28 Au4 Au11 94.71(8) . .
|
1136 |
+
Au3 Au4 Au11 63.36(3) . .
|
1137 |
+
Au1 Au4 Au11 114.09(3) . .
|
1138 |
+
Au9 Au4 Au11 67.02(3) . .
|
1139 |
+
Au2 Au4 Au11 122.47(3) 2_676 .
|
1140 |
+
S28 Au4 Au7 94.97(8) . 2_676
|
1141 |
+
Au3 Au4 Au7 108.16(3) . 2_676
|
1142 |
+
Au1 Au4 Au7 56.19(3) . 2_676
|
1143 |
+
Au9 Au4 Au7 105.56(3) . 2_676
|
1144 |
+
Au2 Au4 Au7 54.65(2) 2_676 2_676
|
1145 |
+
Au11 Au4 Au7 170.263(18) . 2_676
|
1146 |
+
S28 Au4 Au10 120.96(7) . .
|
1147 |
+
Au3 Au4 Au10 58.90(3) . .
|
1148 |
+
Au1 Au4 Au10 55.44(2) . .
|
1149 |
+
Au9 Au4 Au10 108.12(2) . .
|
1150 |
+
Au2 Au4 Au10 103.56(4) 2_676 .
|
1151 |
+
Au11 Au4 Au10 115.77(4) . .
|
1152 |
+
Au7 Au4 Au10 59.43(4) 2_676 .
|
1153 |
+
S28 Au4 Au8 88.71(8) . .
|
1154 |
+
Au3 Au4 Au8 62.56(4) . .
|
1155 |
+
Au1 Au4 Au8 109.41(4) . .
|
1156 |
+
Au9 Au4 Au8 121.86(3) . .
|
1157 |
+
Au2 Au4 Au8 164.78(2) 2_676 .
|
1158 |
+
Au11 Au4 Au8 69.18(3) . .
|
1159 |
+
Au7 Au4 Au8 112.08(3) 2_676 .
|
1160 |
+
Au10 Au4 Au8 61.26(3) . .
|
1161 |
+
S28 Au4 Au13 44.50(8) . 2_676
|
1162 |
+
Au3 Au4 Au13 166.48(2) . 2_676
|
1163 |
+
Au1 Au4 Au13 106.33(3) . 2_676
|
1164 |
+
Au9 Au4 Au13 112.15(4) . 2_676
|
1165 |
+
Au2 Au4 Au13 57.73(4) 2_676 2_676
|
1166 |
+
Au11 Au4 Au13 128.66(3) . 2_676
|
1167 |
+
Au7 Au4 Au13 59.24(2) 2_676 2_676
|
1168 |
+
Au10 Au4 Au13 112.77(4) . 2_676
|
1169 |
+
Au8 Au4 Au13 124.81(4) . 2_676
|
1170 |
+
S20 Au5 S14 174.77(10) . .
|
1171 |
+
S20 Au5 Au9 91.11(8) . 2_676
|
1172 |
+
S14 Au5 Au9 93.84(8) . 2_676
|
1173 |
+
S20 Au5 Au10 90.28(7) . .
|
1174 |
+
S14 Au5 Au10 94.10(7) . .
|
1175 |
+
Au9 Au5 Au10 51.68(3) 2_676 .
|
1176 |
+
S20 Au5 Au2 138.97(7) . .
|
1177 |
+
S14 Au5 Au2 46.12(7) . .
|
1178 |
+
Au9 Au5 Au2 55.36(3) 2_676 .
|
1179 |
+
Au10 Au5 Au2 51.43(2) . .
|
1180 |
+
S20 Au6 S26 171.56(10) 2_676 .
|
1181 |
+
S20 Au6 Au10 92.62(9) 2_676 2_676
|
1182 |
+
S26 Au6 Au10 93.59(8) . 2_676
|
1183 |
+
S20 Au6 Au9 90.62(7) 2_676 .
|
1184 |
+
S26 Au6 Au9 97.70(8) . .
|
1185 |
+
Au10 Au6 Au9 52.36(3) 2_676 .
|
1186 |
+
S20 Au6 Au7 142.86(8) 2_676 .
|
1187 |
+
S26 Au6 Au7 45.48(8) . .
|
1188 |
+
Au10 Au6 Au7 57.20(3) 2_676 .
|
1189 |
+
Au9 Au6 Au7 54.64(2) . .
|
1190 |
+
S26 Au7 Au2 147.14(7) . .
|
1191 |
+
S26 Au7 Au1 148.92(8) . .
|
1192 |
+
Au2 Au7 Au1 60.16(4) . .
|
1193 |
+
S26 Au7 Au3 136.21(8) . .
|
1194 |
+
Au2 Au7 Au3 62.03(2) . .
|
1195 |
+
Au1 Au7 Au3 58.76(3) . .
|
1196 |
+
S26 Au7 Au9 101.19(7) . .
|
1197 |
+
Au2 Au7 Au9 111.35(4) . .
|
1198 |
+
Au1 Au7 Au9 58.62(2) . .
|
1199 |
+
Au3 Au7 Au9 61.75(3) . .
|
1200 |
+
S26 Au7 Au12 94.76(8) . .
|
1201 |
+
Au2 Au7 Au12 66.57(3) . .
|
1202 |
+
Au1 Au7 Au12 115.20(3) . .
|
1203 |
+
Au3 Au7 Au12 65.33(3) . .
|
1204 |
+
Au9 Au7 Au12 117.62(4) . .
|
1205 |
+
S26 Au7 Au10 93.41(8) . 2_676
|
1206 |
+
Au2 Au7 Au10 108.96(4) . 2_676
|
1207 |
+
Au1 Au7 Au10 55.90(3) . 2_676
|
1208 |
+
Au3 Au7 Au10 104.25(4) . 2_676
|
1209 |
+
Au9 Au7 Au10 54.17(3) . 2_676
|
1210 |
+
Au12 Au7 Au10 169.57(2) . 2_676
|
1211 |
+
S26 Au7 Au4 116.36(8) . 2_676
|
1212 |
+
Au2 Au7 Au4 60.06(3) . 2_676
|
1213 |
+
Au1 Au7 Au4 56.08(2) . 2_676
|
1214 |
+
Au3 Au7 Au4 107.20(3) . 2_676
|
1215 |
+
Au9 Au7 Au4 104.89(4) . 2_676
|
1216 |
+
Au12 Au7 Au4 120.55(3) . 2_676
|
1217 |
+
Au10 Au7 Au4 60.72(2) 2_676 2_676
|
1218 |
+
S26 Au7 Au13 87.76(7) . .
|
1219 |
+
Au2 Au7 Au13 60.84(3) . .
|
1220 |
+
Au1 Au7 Au13 109.66(3) . .
|
1221 |
+
Au3 Au7 Au13 116.90(3) . .
|
1222 |
+
Au9 Au7 Au13 167.73(2) . .
|
1223 |
+
Au12 Au7 Au13 69.36(4) . .
|
1224 |
+
Au10 Au7 Au13 117.48(4) 2_676 .
|
1225 |
+
Au4 Au7 Au13 63.28(3) 2_676 .
|
1226 |
+
S26 Au7 Au6 44.26(7) . .
|
1227 |
+
Au2 Au7 Au6 166.69(2) . .
|
1228 |
+
Au1 Au7 Au6 106.92(4) . .
|
1229 |
+
Au3 Au7 Au6 115.51(3) . .
|
1230 |
+
Au9 Au7 Au6 59.48(3) . .
|
1231 |
+
Au12 Au7 Au6 125.46(3) . .
|
1232 |
+
Au10 Au7 Au6 58.15(3) 2_676 .
|
1233 |
+
Au4 Au7 Au6 111.13(4) 2_676 .
|
1234 |
+
Au13 Au7 Au6 126.17(3) . .
|
1235 |
+
S25 Au8 S24 170.50(11) . .
|
1236 |
+
S25 Au8 Au3 101.56(8) . .
|
1237 |
+
S24 Au8 Au3 87.77(8) . .
|
1238 |
+
S25 Au8 Au4 92.69(9) . .
|
1239 |
+
S24 Au8 Au4 91.51(8) . .
|
1240 |
+
Au3 Au8 Au4 52.94(3) . .
|
1241 |
+
S25 Au8 Au10 47.06(8) . .
|
1242 |
+
S24 Au8 Au10 141.63(8) . .
|
1243 |
+
Au3 Au8 Au10 55.37(3) . .
|
1244 |
+
Au4 Au8 Au10 59.22(3) . .
|
1245 |
+
S15 Au9 Au10 149.01(8) . 2_676
|
1246 |
+
S15 Au9 Au1 151.43(8) . .
|
1247 |
+
Au10 Au9 Au1 59.43(2) 2_676 .
|
1248 |
+
S15 Au9 Au4 98.65(8) . .
|
1249 |
+
Au10 Au9 Au4 108.96(3) 2_676 .
|
1250 |
+
Au1 Au9 Au4 58.536(19) . .
|
1251 |
+
S15 Au9 Au7 121.51(8) . .
|
1252 |
+
Au10 Au9 Au7 65.16(4) 2_676 .
|
1253 |
+
Au1 Au9 Au7 57.46(3) . .
|
1254 |
+
Au4 Au9 Au7 104.76(3) . .
|
1255 |
+
S15 Au9 Au2 129.63(8) . 2_676
|
1256 |
+
Au10 Au9 Au2 58.84(3) 2_676 2_676
|
1257 |
+
Au1 Au9 Au2 57.38(3) . 2_676
|
1258 |
+
Au4 Au9 Au2 60.66(4) . 2_676
|
1259 |
+
Au7 Au9 Au2 108.49(4) . 2_676
|
1260 |
+
S15 Au9 Au3 96.81(8) . .
|
1261 |
+
Au10 Au9 Au3 110.00(3) 2_676 .
|
1262 |
+
Au1 Au9 Au3 57.09(2) . .
|
1263 |
+
Au4 Au9 Au3 56.24(3) . .
|
1264 |
+
Au7 Au9 Au3 58.07(4) . .
|
1265 |
+
Au2 Au9 Au3 104.76(4) 2_676 .
|
1266 |
+
S15 Au9 Au5 89.70(8) . 2_676
|
1267 |
+
Au10 Au9 Au5 66.01(3) 2_676 2_676
|
1268 |
+
Au1 Au9 Au5 114.89(3) . 2_676
|
1269 |
+
Au4 Au9 Au5 115.77(3) . 2_676
|
1270 |
+
Au7 Au9 Au5 123.95(4) . 2_676
|
1271 |
+
Au2 Au9 Au5 65.56(3) 2_676 2_676
|
1272 |
+
Au3 Au9 Au5 170.31(2) . 2_676
|
1273 |
+
S15 Au9 Au6 90.52(8) . .
|
1274 |
+
Au10 Au9 Au6 63.58(3) 2_676 .
|
1275 |
+
Au1 Au9 Au6 111.18(2) . .
|
1276 |
+
Au4 Au9 Au6 169.57(2) . .
|
1277 |
+
Au7 Au9 Au6 65.88(3) . .
|
1278 |
+
Au2 Au9 Au6 116.65(4) 2_676 .
|
1279 |
+
Au3 Au9 Au6 117.96(3) . .
|
1280 |
+
Au5 Au9 Au6 68.95(3) 2_676 .
|
1281 |
+
S15 Au9 Au11 44.30(8) . .
|
1282 |
+
Au10 Au9 Au11 166.68(2) 2_676 .
|
1283 |
+
Au1 Au9 Au11 107.26(3) . .
|
1284 |
+
Au4 Au9 Au11 59.80(3) . .
|
1285 |
+
Au7 Au9 Au11 109.08(4) . .
|
1286 |
+
Au2 Au9 Au11 115.15(3) 2_676 .
|
1287 |
+
Au3 Au9 Au11 58.53(3) . .
|
1288 |
+
Au5 Au9 Au11 124.07(3) 2_676 .
|
1289 |
+
Au6 Au9 Au11 126.41(3) . .
|
1290 |
+
S25 Au10 Au9 141.51(10) . 2_676
|
1291 |
+
S25 Au10 Au1 148.02(8) . .
|
1292 |
+
Au9 Au10 Au1 61.38(3) 2_676 .
|
1293 |
+
S25 Au10 Au2 141.13(10) . .
|
1294 |
+
Au9 Au10 Au2 64.59(3) 2_676 .
|
1295 |
+
Au1 Au10 Au2 59.84(4) . .
|
1296 |
+
S25 Au10 Au3 105.50(10) . .
|
1297 |
+
Au9 Au10 Au3 112.98(3) 2_676 .
|
1298 |
+
Au1 Au10 Au3 58.76(2) . .
|
1299 |
+
Au2 Au10 Au3 61.31(3) . .
|
1300 |
+
S25 Au10 Au7 109.38(10) . 2_676
|
1301 |
+
Au9 Au10 Au7 60.66(3) 2_676 2_676
|
1302 |
+
Au1 Au10 Au7 56.48(4) . 2_676
|
1303 |
+
Au2 Au10 Au7 109.38(4) . 2_676
|
1304 |
+
Au3 Au10 Au7 104.86(3) . 2_676
|
1305 |
+
S25 Au10 Au6 77.99(10) . 2_676
|
1306 |
+
Au9 Au10 Au6 64.06(3) 2_676 2_676
|
1307 |
+
Au1 Au10 Au6 113.08(3) . 2_676
|
1308 |
+
Au2 Au10 Au6 122.12(3) . 2_676
|
1309 |
+
Au3 Au10 Au6 169.41(2) . 2_676
|
1310 |
+
Au7 Au10 Au6 64.65(3) 2_676 2_676
|
1311 |
+
S25 Au10 Au4 92.13(8) . .
|
1312 |
+
Au9 Au10 Au4 109.45(4) 2_676 .
|
1313 |
+
Au1 Au10 Au4 55.90(3) . .
|
1314 |
+
Au2 Au10 Au4 104.76(3) . .
|
1315 |
+
Au3 Au10 Au4 54.48(3) . .
|
1316 |
+
Au7 Au10 Au4 59.85(3) 2_676 .
|
1317 |
+
Au6 Au10 Au4 115.93(3) 2_676 .
|
1318 |
+
S25 Au10 Au8 45.98(9) . .
|
1319 |
+
Au9 Au10 Au8 168.87(2) 2_676 .
|
1320 |
+
Au1 Au10 Au8 108.27(3) . .
|
1321 |
+
Au2 Au10 Au8 115.01(3) . .
|
1322 |
+
Au3 Au10 Au8 60.45(2) . .
|
1323 |
+
Au7 Au10 Au8 110.95(3) 2_676 .
|
1324 |
+
Au6 Au10 Au8 120.55(3) 2_676 .
|
1325 |
+
Au4 Au10 Au8 59.52(3) . .
|
1326 |
+
S25 Au10 Au5 98.56(9) . .
|
1327 |
+
Au9 Au10 Au5 62.31(3) 2_676 .
|
1328 |
+
Au1 Au10 Au5 113.42(3) . .
|
1329 |
+
Au2 Au10 Au5 65.95(2) . .
|
1330 |
+
Au3 Au10 Au5 120.66(3) . .
|
1331 |
+
Au7 Au10 Au5 116.82(3) 2_676 .
|
1332 |
+
Au6 Au10 Au5 67.87(3) 2_676 .
|
1333 |
+
Au4 Au10 Au5 169.249(19) . .
|
1334 |
+
Au8 Au10 Au5 128.42(3) . .
|
1335 |
+
S24 Au11 S15 172.68(12) . .
|
1336 |
+
S24 Au11 Au3 87.88(8) . .
|
1337 |
+
S15 Au11 Au3 96.39(8) . .
|
1338 |
+
S24 Au11 Au4 92.96(9) . .
|
1339 |
+
S15 Au11 Au4 94.36(9) . .
|
1340 |
+
Au3 Au11 Au4 53.25(3) . .
|
1341 |
+
S24 Au11 Au9 140.11(8) . .
|
1342 |
+
S15 Au11 Au9 46.34(8) . .
|
1343 |
+
Au3 Au11 Au9 56.12(3) . .
|
1344 |
+
Au4 Au11 Au9 53.19(2) . .
|
1345 |
+
S16 Au12 S21 173.84(12) . .
|
1346 |
+
S16 Au12 Au7 94.20(9) . .
|
1347 |
+
S21 Au12 Au7 89.91(9) . .
|
1348 |
+
S16 Au12 Au2 85.19(8) . .
|
1349 |
+
S21 Au12 Au2 100.96(9) . .
|
1350 |
+
Au7 Au12 Au2 52.67(2) . .
|
1351 |
+
S16 Au12 Au3 138.18(8) . .
|
1352 |
+
S21 Au12 Au3 47.90(8) . .
|
1353 |
+
Au7 Au12 Au3 55.03(4) . .
|
1354 |
+
Au2 Au12 Au3 54.24(3) . .
|
1355 |
+
S28 Au13 S16 171.64(10) 2_676 .
|
1356 |
+
S28 Au13 Au2 98.69(8) 2_676 .
|
1357 |
+
S16 Au13 Au2 89.57(8) . .
|
1358 |
+
S28 Au13 Au7 94.57(8) 2_676 .
|
1359 |
+
S16 Au13 Au7 91.40(8) . .
|
1360 |
+
Au2 Au13 Au7 53.429(19) . .
|
1361 |
+
S28 Au13 Au4 45.89(7) 2_676 2_676
|
1362 |
+
S16 Au13 Au4 142.31(7) . 2_676
|
1363 |
+
Au2 Au13 Au4 55.71(3) . 2_676
|
1364 |
+
Au7 Au13 Au4 57.49(3) . 2_676
|
1365 |
+
C1_2005 S14 Au5 106.5(4) . .
|
1366 |
+
C1_2005 S14 Au2 107.4(4) . .
|
1367 |
+
Au5 S14 Au2 89.52(10) . .
|
1368 |
+
C1_2002 S15 Au11 102.6(5) . .
|
1369 |
+
C1_2002 S15 Au9 104.3(5) . .
|
1370 |
+
Au11 S15 Au9 89.36(11) . .
|
1371 |
+
C1_2006 S16 Au12 103.3(4) . .
|
1372 |
+
C1_2006 S16 Au13 103.7(5) . .
|
1373 |
+
Au12 S16 Au13 100.24(11) . .
|
1374 |
+
C1_2008 S20 Au5 106.0(4) . .
|
1375 |
+
C1_2008 S20 Au6 107.0(4) . 2_676
|
1376 |
+
Au5 S20 Au6 99.99(11) . 2_676
|
1377 |
+
C1_2004 S21 Au12 108.8(4) . .
|
1378 |
+
C1_2004 S21 Au3 115.7(5) . .
|
1379 |
+
Au12 S21 Au3 86.47(11) . .
|
1380 |
+
C1_2001 S24 Au11 106.3(4) . .
|
1381 |
+
C1_2001 S24 Au8 102.5(5) . .
|
1382 |
+
Au11 S24 Au8 100.32(12) . .
|
1383 |
+
C1_2007 S25 Au8 102.5(5) . .
|
1384 |
+
C1_2007 S25 Au10 102.5(5) . .
|
1385 |
+
Au8 S25 Au10 86.96(11) . .
|
1386 |
+
C1_2009 S26 Au6 104.7(4) . .
|
1387 |
+
C1_2009 S26 Au7 102.2(4) . .
|
1388 |
+
Au6 S26 Au7 90.26(11) . .
|
1389 |
+
C1_2003 S28 Au13 108.0(4) . 2_676
|
1390 |
+
C1_2003 S28 Au4 110.8(4) . .
|
1391 |
+
Au13 S28 Au4 89.60(10) 2_676 .
|
1392 |
+
C2_2001 C1_2001 S24 111.8(9) . .
|
1393 |
+
C2_2001 C1_2001 H1A_2001 109.3 . .
|
1394 |
+
S24 C1_2001 H1A_2001 109.3 . .
|
1395 |
+
C2_2001 C1_2001 H1B_2001 109.3 . .
|
1396 |
+
S24 C1_2001 H1B_2001 109.3 . .
|
1397 |
+
H1A_2001 C1_2001 H1B_2001 107.9 . .
|
1398 |
+
C3_2001 C2_2001 C1_2001 111.7(11) . .
|
1399 |
+
C3_2001 C2_2001 H2A_2001 109.3 . .
|
1400 |
+
C1_2001 C2_2001 H2A_2001 109.3 . .
|
1401 |
+
C3_2001 C2_2001 H2B_2001 109.3 . .
|
1402 |
+
C1_2001 C2_2001 H2B_2001 109.3 . .
|
1403 |
+
H2A_2001 C2_2001 H2B_2001 107.9 . .
|
1404 |
+
C4_2001 C3_2001 C8_2001 119.4(12) . .
|
1405 |
+
C4_2001 C3_2001 C2_2001 121.2(11) . .
|
1406 |
+
C8_2001 C3_2001 C2_2001 119.2(12) . .
|
1407 |
+
C3_2001 C4_2001 C5_2001 120.8(12) . .
|
1408 |
+
C3_2001 C4_2001 H4_2001 119.6 . .
|
1409 |
+
C5_2001 C4_2001 H4_2001 119.6 . .
|
1410 |
+
C6_2001 C5_2001 C4_2001 118.9(12) . .
|
1411 |
+
C6_2001 C5_2001 H5_2001 120.6 . .
|
1412 |
+
C4_2001 C5_2001 H5_2001 120.6 . .
|
1413 |
+
C7_2001 C6_2001 C5_2001 121.6(12) . .
|
1414 |
+
C7_2001 C6_2001 H6_2001 119.2 . .
|
1415 |
+
C5_2001 C6_2001 H6_2001 119.2 . .
|
1416 |
+
C6_2001 C7_2001 C8_2001 119.3(14) . .
|
1417 |
+
C6_2001 C7_2001 H7_2001 120.3 . .
|
1418 |
+
C8_2001 C7_2001 H7_2001 120.3 . .
|
1419 |
+
C7_2001 C8_2001 C3_2001 120.0(14) . .
|
1420 |
+
C7_2001 C8_2001 H8_2001 120.0 . .
|
1421 |
+
C3_2001 C8_2001 H8_2001 120.0 . .
|
1422 |
+
C2_2002 C1_2002 S15 109.4(12) . .
|
1423 |
+
C2_2002 C1_2002 H1A_2002 109.8 . .
|
1424 |
+
S15 C1_2002 H1A_2002 109.8 . .
|
1425 |
+
C2_2002 C1_2002 H1B_2002 109.8 . .
|
1426 |
+
S15 C1_2002 H1B_2002 109.8 . .
|
1427 |
+
H1A_2002 C1_2002 H1B_2002 108.2 . .
|
1428 |
+
C3_2002 C2_2002 C1_2002 115.6(17) . .
|
1429 |
+
C3_2002 C2_2002 H2A_2002 108.4 . .
|
1430 |
+
C1_2002 C2_2002 H2A_2002 108.4 . .
|
1431 |
+
C3_2002 C2_2002 H2B_2002 108.4 . .
|
1432 |
+
C1_2002 C2_2002 H2B_2002 108.4 . .
|
1433 |
+
H2A_2002 C2_2002 H2B_2002 107.4 . .
|
1434 |
+
C8_2002 C3_2002 C2_2002 126(2) . .
|
1435 |
+
C8_2002 C3_2002 C4_2002 115(2) . .
|
1436 |
+
C2_2002 C3_2002 C4_2002 120(2) . .
|
1437 |
+
C3_2002 C4_2002 C5_2002 123(2) . .
|
1438 |
+
C3_2002 C4_2002 H4_2002 118.4 . .
|
1439 |
+
C5_2002 C4_2002 H4_2002 118.4 . .
|
1440 |
+
C6_2002 C5_2002 C4_2002 120(3) . .
|
1441 |
+
C6_2002 C5_2002 H5_2002 119.9 . .
|
1442 |
+
C4_2002 C5_2002 H5_2002 119.9 . .
|
1443 |
+
C5_2002 C6_2002 C7_2002 116(3) . .
|
1444 |
+
C5_2002 C6_2002 H6_2002 122.1 . .
|
1445 |
+
C7_2002 C6_2002 H6_2002 122.1 . .
|
1446 |
+
C8_2002 C7_2002 C6_2002 123(2) . .
|
1447 |
+
C8_2002 C7_2002 H7_2002 118.6 . .
|
1448 |
+
C6_2002 C7_2002 H7_2002 118.6 . .
|
1449 |
+
C3_2002 C8_2002 C7_2002 123(3) . .
|
1450 |
+
C3_2002 C8_2002 H8_2002 118.4 . .
|
1451 |
+
C7_2002 C8_2002 H8_2002 118.4 . .
|
1452 |
+
C2_2003 C1_2003 S28 117.8(8) . .
|
1453 |
+
C2_2003 C1_2003 H1A_2003 107.9 . .
|
1454 |
+
S28 C1_2003 H1A_2003 107.9 . .
|
1455 |
+
C2_2003 C1_2003 H1B_2003 107.9 . .
|
1456 |
+
S28 C1_2003 H1B_2003 107.9 . .
|
1457 |
+
H1A_2003 C1_2003 H1B_2003 107.2 . .
|
1458 |
+
C1_2003 C2_2003 C3_2003 109.1(9) . .
|
1459 |
+
C1_2003 C2_2003 H2A_2003 109.9 . .
|
1460 |
+
C3_2003 C2_2003 H2A_2003 109.9 . .
|
1461 |
+
C1_2003 C2_2003 H2B_2003 109.9 . .
|
1462 |
+
C3_2003 C2_2003 H2B_2003 109.9 . .
|
1463 |
+
H2A_2003 C2_2003 H2B_2003 108.3 . .
|
1464 |
+
C8_2003 C3_2003 C4_2003 118.7(13) . .
|
1465 |
+
C8_2003 C3_2003 C2_2003 122.9(12) . .
|
1466 |
+
C4_2003 C3_2003 C2_2003 118.4(13) . .
|
1467 |
+
C5_2003 C4_2003 C3_2003 121.6(16) . .
|
1468 |
+
C5_2003 C4_2003 H4_2003 119.2 . .
|
1469 |
+
C3_2003 C4_2003 H4_2003 119.2 . .
|
1470 |
+
C6_2003 C5_2003 C4_2003 119.2(17) . .
|
1471 |
+
C6_2003 C5_2003 H5_2003 120.4 . .
|
1472 |
+
C4_2003 C5_2003 H5_2003 120.4 . .
|
1473 |
+
C7_2003 C6_2003 C5_2003 120.5(15) . .
|
1474 |
+
C7_2003 C6_2003 H6_2003 119.7 . .
|
1475 |
+
C5_2003 C6_2003 H6_2003 119.7 . .
|
1476 |
+
C6_2003 C7_2003 C8_2003 119.3(16) . .
|
1477 |
+
C6_2003 C7_2003 H7_2003 120.4 . .
|
1478 |
+
C8_2003 C7_2003 H7_2003 120.4 . .
|
1479 |
+
C3_2003 C8_2003 C7_2003 120.7(15) . .
|
1480 |
+
C3_2003 C8_2003 H8_2003 119.6 . .
|
1481 |
+
C7_2003 C8_2003 H8_2003 119.6 . .
|
1482 |
+
C2_2004 C1_2004 S21 116.1(11) . .
|
1483 |
+
C2_2004 C1_2004 H1A_2004 108.3 . .
|
1484 |
+
S21 C1_2004 H1A_2004 108.3 . .
|
1485 |
+
C2_2004 C1_2004 H1B_2004 108.3 . .
|
1486 |
+
S21 C1_2004 H1B_2004 108.3 . .
|
1487 |
+
H1A_2004 C1_2004 H1B_2004 107.4 . .
|
1488 |
+
C1_2004 C2_2004 C3_2004 109.4(14) . .
|
1489 |
+
C1_2004 C2_2004 H2A_2004 109.8 . .
|
1490 |
+
C3_2004 C2_2004 H2A_2004 109.8 . .
|
1491 |
+
C1_2004 C2_2004 H2B_2004 109.8 . .
|
1492 |
+
C3_2004 C2_2004 H2B_2004 109.8 . .
|
1493 |
+
H2A_2004 C2_2004 H2B_2004 108.2 . .
|
1494 |
+
C8_2004 C3_2004 C4_2004 115(2) . .
|
1495 |
+
C8_2004 C3_2004 C2_2004 126(2) . .
|
1496 |
+
C4_2004 C3_2004 C2_2004 118.2(16) . .
|
1497 |
+
C3_2004 C4_2004 C5_2004 121(2) . .
|
1498 |
+
C3_2004 C4_2004 H4_2004 119.5 . .
|
1499 |
+
C5_2004 C4_2004 H4_2004 119.5 . .
|
1500 |
+
C6_2004 C5_2004 C4_2004 120(3) . .
|
1501 |
+
C6_2004 C5_2004 H5_2004 120.2 . .
|
1502 |
+
C4_2004 C5_2004 H5_2004 120.2 . .
|
1503 |
+
C7_2004 C6_2004 C5_2004 116(2) . .
|
1504 |
+
C7_2004 C6_2004 H6_2004 122.1 . .
|
1505 |
+
C5_2004 C6_2004 H6_2004 122.1 . .
|
1506 |
+
C6_2004 C7_2004 C8_2004 128(3) . .
|
1507 |
+
C6_2004 C7_2004 H7_2004 116.0 . .
|
1508 |
+
C8_2004 C7_2004 H7_2004 116.0 . .
|
1509 |
+
C3_2004 C8_2004 C7_2004 120(3) . .
|
1510 |
+
C3_2004 C8_2004 H8_2004 119.9 . .
|
1511 |
+
C7_2004 C8_2004 H8_2004 119.9 . .
|
1512 |
+
C2_2005 C1_2005 S14 109.3(9) . .
|
1513 |
+
C2_2005 C1_2005 H1A_2005 109.8 . .
|
1514 |
+
S14 C1_2005 H1A_2005 109.8 . .
|
1515 |
+
C2_2005 C1_2005 H1B_2005 109.8 . .
|
1516 |
+
S14 C1_2005 H1B_2005 109.8 . .
|
1517 |
+
H1A_2005 C1_2005 H1B_2005 108.3 . .
|
1518 |
+
C3_2005 C2_2005 C1_2005 109.3(12) . .
|
1519 |
+
C3_2005 C2_2005 H2A_2005 109.8 . .
|
1520 |
+
C1_2005 C2_2005 H2A_2005 109.8 . .
|
1521 |
+
C3_2005 C2_2005 H2B_2005 109.8 . .
|
1522 |
+
C1_2005 C2_2005 H2B_2005 109.8 . .
|
1523 |
+
H2A_2005 C2_2005 H2B_2005 108.3 . .
|
1524 |
+
C8_2005 C3_2005 C4_2005 115.4(16) . .
|
1525 |
+
C8_2005 C3_2005 C2_2005 123.8(15) . .
|
1526 |
+
C4_2005 C3_2005 C2_2005 120.5(15) . .
|
1527 |
+
C5_2005 C4_2005 C3_2005 122(2) . .
|
1528 |
+
C5_2005 C4_2005 H4_2005 118.9 . .
|
1529 |
+
C3_2005 C4_2005 H4_2005 118.9 . .
|
1530 |
+
C4_2005 C5_2005 C6_2005 116.1(18) . .
|
1531 |
+
C4_2005 C5_2005 H5_2005 121.9 . .
|
1532 |
+
C6_2005 C5_2005 H5_2005 121.9 . .
|
1533 |
+
C7_2005 C6_2005 C5_2005 120.8(17) . .
|
1534 |
+
C7_2005 C6_2005 H6_2005 119.6 . .
|
1535 |
+
C5_2005 C6_2005 H6_2005 119.6 . .
|
1536 |
+
C8_2005 C7_2005 C6_2005 118.4(16) . .
|
1537 |
+
C8_2005 C7_2005 H7_2005 120.8 . .
|
1538 |
+
C6_2005 C7_2005 H7_2005 120.8 . .
|
1539 |
+
C7_2005 C8_2005 C3_2005 127.1(16) . .
|
1540 |
+
C7_2005 C8_2005 H8_2005 116.5 . .
|
1541 |
+
C3_2005 C8_2005 H8_2005 116.5 . .
|
1542 |
+
C2_2006 C1_2006 S16 111.4(9) . .
|
1543 |
+
C2_2006 C1_2006 H1A_2006 109.4 . .
|
1544 |
+
S16 C1_2006 H1A_2006 109.4 . .
|
1545 |
+
C2_2006 C1_2006 H1B_2006 109.4 . .
|
1546 |
+
S16 C1_2006 H1B_2006 109.4 . .
|
1547 |
+
H1A_2006 C1_2006 H1B_2006 108.0 . .
|
1548 |
+
C1_2006 C2_2006 C3_2006 111.4(10) . .
|
1549 |
+
C1_2006 C2_2006 H2A_2006 109.3 . .
|
1550 |
+
C3_2006 C2_2006 H2A_2006 109.3 . .
|
1551 |
+
C1_2006 C2_2006 H2B_2006 109.3 . .
|
1552 |
+
C3_2006 C2_2006 H2B_2006 109.3 . .
|
1553 |
+
H2A_2006 C2_2006 H2B_2006 108.0 . .
|
1554 |
+
C4_2006 C3_2006 C8_2006 119.0(13) . .
|
1555 |
+
C4_2006 C3_2006 C2_2006 121.8(13) . .
|
1556 |
+
C8_2006 C3_2006 C2_2006 119.2(13) . .
|
1557 |
+
C3_2006 C4_2006 C5_2006 122.7(17) . .
|
1558 |
+
C3_2006 C4_2006 H4_2006 118.7 . .
|
1559 |
+
C5_2006 C4_2006 H4_2006 118.7 . .
|
1560 |
+
C6_2006 C5_2006 C4_2006 117(2) . .
|
1561 |
+
C6_2006 C5_2006 H5_2006 121.4 . .
|
1562 |
+
C4_2006 C5_2006 H5_2006 121.4 . .
|
1563 |
+
C5_2006 C6_2006 C7_2006 122.9(17) . .
|
1564 |
+
C5_2006 C6_2006 H6_2006 118.5 . .
|
1565 |
+
C7_2006 C6_2006 H6_2006 118.5 . .
|
1566 |
+
C8_2006 C7_2006 C6_2006 117.8(17) . .
|
1567 |
+
C8_2006 C7_2006 H7_2006 121.1 . .
|
1568 |
+
C6_2006 C7_2006 H7_2006 121.1 . .
|
1569 |
+
C3_2006 C8_2006 C7_2006 120.4(17) . .
|
1570 |
+
C3_2006 C8_2006 H8_2006 119.8 . .
|
1571 |
+
C7_2006 C8_2006 H8_2006 119.8 . .
|
1572 |
+
C2_2007 C1_2007 S25 95(2) . .
|
1573 |
+
C2_2007 C1_2007 H1A_2007 112.8 . .
|
1574 |
+
S25 C1_2007 H1A_2007 112.8 . .
|
1575 |
+
C2_2007 C1_2007 H1B_2007 112.8 . .
|
1576 |
+
S25 C1_2007 H1B_2007 112.8 . .
|
1577 |
+
H1A_2007 C1_2007 H1B_2007 110.2 . .
|
1578 |
+
C1_2007 C2_2007 C3_2007 91.4(19) . .
|
1579 |
+
C1_2007 C2_2007 H2A_2007 113.4 . .
|
1580 |
+
C3_2007 C2_2007 H2A_2007 113.4 . .
|
1581 |
+
C1_2007 C2_2007 H2B_2007 113.4 . .
|
1582 |
+
C3_2007 C2_2007 H2B_2007 113.4 . .
|
1583 |
+
H2A_2007 C2_2007 H2B_2007 110.7 . .
|
1584 |
+
C8_2007 C3_2007 C4_2007 116.9(16) . .
|
1585 |
+
C8_2007 C3_2007 C2_2007 117.1(18) . .
|
1586 |
+
C4_2007 C3_2007 C2_2007 123.9(19) . .
|
1587 |
+
C5_2007 C4_2007 C3_2007 123.2(19) . .
|
1588 |
+
C5_2007 C4_2007 H4_2007 118.4 . .
|
1589 |
+
C3_2007 C4_2007 H4_2007 118.4 . .
|
1590 |
+
C4_2007 C5_2007 C6_2007 119.4(16) . .
|
1591 |
+
C4_2007 C5_2007 H5_2007 120.3 . .
|
1592 |
+
C6_2007 C5_2007 H5_2007 120.3 . .
|
1593 |
+
C7_2007 C6_2007 C5_2007 120.1(15) . .
|
1594 |
+
C7_2007 C6_2007 H6_2007 120.0 . .
|
1595 |
+
C5_2007 C6_2007 H6_2007 120.0 . .
|
1596 |
+
C6_2007 C7_2007 C8_2007 120.4(16) . .
|
1597 |
+
C6_2007 C7_2007 H7_2007 119.8 . .
|
1598 |
+
C8_2007 C7_2007 H7_2007 119.8 . .
|
1599 |
+
C7_2007 C8_2007 C3_2007 119.9(17) . .
|
1600 |
+
C7_2007 C8_2007 H8_2007 120.1 . .
|
1601 |
+
C3_2007 C8_2007 H8_2007 120.1 . .
|
1602 |
+
C2_2008 C1_2008 S20 112.2(9) . .
|
1603 |
+
C2_2008 C1_2008 H1A_2008 109.2 . .
|
1604 |
+
S20 C1_2008 H1A_2008 109.2 . .
|
1605 |
+
C2_2008 C1_2008 H1B_2008 109.2 . .
|
1606 |
+
S20 C1_2008 H1B_2008 109.2 . .
|
1607 |
+
H1A_2008 C1_2008 H1B_2008 107.9 . .
|
1608 |
+
C3_2008 C2_2008 C1_2008 116.1(10) . .
|
1609 |
+
C3_2008 C2_2008 H2A_2008 108.2 . .
|
1610 |
+
C1_2008 C2_2008 H2A_2008 108.2 . .
|
1611 |
+
C3_2008 C2_2008 H2B_2008 108.2 . .
|
1612 |
+
C1_2008 C2_2008 H2B_2008 108.2 . .
|
1613 |
+
H2A_2008 C2_2008 H2B_2008 107.4 . .
|
1614 |
+
C8_2008 C3_2008 C4_2008 119.2(13) . .
|
1615 |
+
C8_2008 C3_2008 C2_2008 120.5(11) . .
|
1616 |
+
C4_2008 C3_2008 C2_2008 120.2(12) . .
|
1617 |
+
C5_2008 C4_2008 C3_2008 119.8(13) . .
|
1618 |
+
C5_2008 C4_2008 H4_2008 120.1 . .
|
1619 |
+
C3_2008 C4_2008 H4_2008 120.1 . .
|
1620 |
+
C4_2008 C5_2008 C6_2008 120.8(12) . .
|
1621 |
+
C4_2008 C5_2008 H5_2008 119.6 . .
|
1622 |
+
C6_2008 C5_2008 H5_2008 119.6 . .
|
1623 |
+
C7_2008 C6_2008 C5_2008 118.4(13) . .
|
1624 |
+
C7_2008 C6_2008 H6_2008 120.8 . .
|
1625 |
+
C5_2008 C6_2008 H6_2008 120.8 . .
|
1626 |
+
C6_2008 C7_2008 C8_2008 121.9(14) . .
|
1627 |
+
C6_2008 C7_2008 H7_2008 119.0 . .
|
1628 |
+
C8_2008 C7_2008 H7_2008 119.0 . .
|
1629 |
+
C3_2008 C8_2008 C7_2008 119.9(13) . .
|
1630 |
+
C3_2008 C8_2008 H8_2008 120.0 . .
|
1631 |
+
C7_2008 C8_2008 H8_2008 120.0 . .
|
1632 |
+
C2_2009 C1_2009 S26 110.4(8) . .
|
1633 |
+
C2_2009 C1_2009 H1A_2009 109.6 . .
|
1634 |
+
S26 C1_2009 H1A_2009 109.6 . .
|
1635 |
+
C2_2009 C1_2009 H1B_2009 109.6 . .
|
1636 |
+
S26 C1_2009 H1B_2009 109.6 . .
|
1637 |
+
H1A_2009 C1_2009 H1B_2009 108.1 . .
|
1638 |
+
C1_2009 C2_2009 C3_2009 113.1(10) . .
|
1639 |
+
C1_2009 C2_2009 H2A_2009 109.0 . .
|
1640 |
+
C3_2009 C2_2009 H2A_2009 109.0 . .
|
1641 |
+
C1_2009 C2_2009 H2B_2009 109.0 . .
|
1642 |
+
C3_2009 C2_2009 H2B_2009 109.0 . .
|
1643 |
+
H2A_2009 C2_2009 H2B_2009 107.8 . .
|
1644 |
+
C4_2009 C3_2009 C8_2009 117.4(13) . .
|
1645 |
+
C4_2009 C3_2009 C2_2009 119.2(13) . .
|
1646 |
+
C8_2009 C3_2009 C2_2009 123.4(11) . .
|
1647 |
+
C5_2009 C4_2009 C3_2009 122.0(18) . .
|
1648 |
+
C5_2009 C4_2009 H4_2009 119.0 . .
|
1649 |
+
C3_2009 C4_2009 H4_2009 119.0 . .
|
1650 |
+
C4_2009 C5_2009 C6_2009 119.9(18) . .
|
1651 |
+
C4_2009 C5_2009 H5_2009 120.1 . .
|
1652 |
+
C6_2009 C5_2009 H5_2009 120.1 . .
|
1653 |
+
C7_2009 C6_2009 C5_2009 120.5(18) . .
|
1654 |
+
C7_2009 C6_2009 H6_2009 119.7 . .
|
1655 |
+
C5_2009 C6_2009 H6_2009 119.7 . .
|
1656 |
+
C6_2009 C7_2009 C8_2009 119.1(18) . .
|
1657 |
+
C6_2009 C7_2009 H7_2009 120.4 . .
|
1658 |
+
C8_2009 C7_2009 H7_2009 120.4 . .
|
1659 |
+
C3_2009 C8_2009 C7_2009 120.9(14) . .
|
1660 |
+
C3_2009 C8_2009 H8_2009 119.5 . .
|
1661 |
+
C7_2009 C8_2009 H8_2009 119.5 . .
|
1662 |
+
C10_2010 C9_2010 C15_2010 117.3(16) . .
|
1663 |
+
C10_2010 C9_2010 H9_2010 121.4 . .
|
1664 |
+
C15_2010 C9_2010 H9_2010 121.4 . .
|
1665 |
+
C9_2010 C10_2010 C11_2010 121.6(15) . .
|
1666 |
+
C9_2010 C10_2010 H10_2010 119.2 . .
|
1667 |
+
C11_2010 C10_2010 H10_2010 119.2 . .
|
1668 |
+
C12_2010 C11_2010 C10_2010 119.2(15) . .
|
1669 |
+
C12_2010 C11_2010 H11_2010 120.4 . .
|
1670 |
+
C10_2010 C11_2010 H11_2010 120.4 . .
|
1671 |
+
C14_2010 C12_2010 C11_2010 120.3(14) . .
|
1672 |
+
C14_2010 C12_2010 C13_2010 118.8(15) . .
|
1673 |
+
C11_2010 C12_2010 C13_2010 120.8(15) . .
|
1674 |
+
C14_2010 C12_2010 H12_2010 119.9 . .
|
1675 |
+
C11_2010 C12_2010 H12_2010 119.9 . .
|
1676 |
+
C13_2010 C12_2010 H12_2010 4.9 . .
|
1677 |
+
C12_2010 C13_2010 H13A_2010 109.5 . .
|
1678 |
+
C12_2010 C13_2010 H13B_2010 109.5 . .
|
1679 |
+
H13A_2010 C13_2010 H13B_2010 109.5 . .
|
1680 |
+
C12_2010 C13_2010 H13C_2010 109.5 . .
|
1681 |
+
H13A_2010 C13_2010 H13C_2010 109.5 . .
|
1682 |
+
H13B_2010 C13_2010 H13C_2010 109.5 . .
|
1683 |
+
C15_2010 C14_2010 C12_2010 119.7(15) . .
|
1684 |
+
C15_2010 C14_2010 H14_2010 120.1 . .
|
1685 |
+
C12_2010 C14_2010 H14_2010 120.1 . .
|
1686 |
+
C14_2010 C15_2010 C9_2010 121.9(17) . .
|
1687 |
+
C14_2010 C15_2010 H15_2010 119.0 . .
|
1688 |
+
C9_2010 C15_2010 H15_2010 119.0 . .
|
1689 |
+
loop_
|
1690 |
+
_geom_bond_atom_site_label_1
|
1691 |
+
_geom_bond_atom_site_label_2
|
1692 |
+
_geom_bond_distance
|
1693 |
+
_geom_bond_site_symmetry_2
|
1694 |
+
Au1 Au10 2.7599(10) .
|
1695 |
+
Au1 Au10 2.7599(10) 2_676
|
1696 |
+
Au1 Au4 2.7750(8) .
|
1697 |
+
Au1 Au4 2.7751(8) 2_676
|
1698 |
+
Au1 Au7 2.7787(11) 2_676
|
1699 |
+
Au1 Au7 2.7787(12) .
|
1700 |
+
Au1 Au2 2.7851(15) 2_676
|
1701 |
+
Au1 Au2 2.7851(15) .
|
1702 |
+
Au1 Au3 2.7858(11) .
|
1703 |
+
Au1 Au3 2.7858(11) 2_676
|
1704 |
+
Au1 Au9 2.8138(7) 2_676
|
1705 |
+
Au1 Au9 2.8139(7) .
|
1706 |
+
Au2 S14 2.377(3) .
|
1707 |
+
Au2 Au7 2.7781(8) .
|
1708 |
+
Au2 Au10 2.8230(11) .
|
1709 |
+
Au2 Au3 2.9251(8) .
|
1710 |
+
Au2 Au4 2.9516(15) 2_676
|
1711 |
+
Au2 Au9 2.9799(12) 2_676
|
1712 |
+
Au2 Au13 3.0207(11) .
|
1713 |
+
Au2 Au12 3.2059(11) .
|
1714 |
+
Au2 Au5 3.2973(9) .
|
1715 |
+
Au3 S21 2.387(3) .
|
1716 |
+
Au3 Au4 2.7681(13) .
|
1717 |
+
Au3 Au7 2.8957(12) .
|
1718 |
+
Au3 Au10 2.9121(10) .
|
1719 |
+
Au3 Au9 3.0057(16) .
|
1720 |
+
Au3 Au8 3.0786(12) .
|
1721 |
+
Au3 Au11 3.0879(9) .
|
1722 |
+
Au3 Au12 3.2109(13) .
|
1723 |
+
Au4 S28 2.354(3) .
|
1724 |
+
Au4 Au9 2.8616(11) .
|
1725 |
+
Au4 Au2 2.9516(15) 2_676
|
1726 |
+
Au4 Au11 3.0890(10) .
|
1727 |
+
Au4 Au7 3.0946(9) 2_676
|
1728 |
+
Au4 Au10 3.1217(11) .
|
1729 |
+
Au4 Au8 3.1312(17) .
|
1730 |
+
Au4 Au13 3.2778(17) 2_676
|
1731 |
+
Au5 S20 2.304(3) .
|
1732 |
+
Au5 S14 2.306(3) .
|
1733 |
+
Au5 Au9 3.1073(18) 2_676
|
1734 |
+
Au5 Au10 3.2062(10) .
|
1735 |
+
Au6 S20 2.303(3) 2_676
|
1736 |
+
Au6 S26 2.312(3) .
|
1737 |
+
Au6 Au10 3.1139(11) 2_676
|
1738 |
+
Au6 Au9 3.1268(11) .
|
1739 |
+
Au6 Au7 3.3128(11) .
|
1740 |
+
Au7 S26 2.362(3) .
|
1741 |
+
Au7 Au9 2.9603(10) .
|
1742 |
+
Au7 Au12 3.0489(18) .
|
1743 |
+
Au7 Au10 3.0816(19) 2_676
|
1744 |
+
Au7 Au4 3.0946(9) 2_676
|
1745 |
+
Au7 Au13 3.1536(9) .
|
1746 |
+
Au8 S25 2.294(4) .
|
1747 |
+
Au8 S24 2.309(3) .
|
1748 |
+
Au8 Au10 3.1857(11) .
|
1749 |
+
Au9 S15 2.381(3) .
|
1750 |
+
Au9 Au10 2.7533(10) 2_676
|
1751 |
+
Au9 Au2 2.9799(13) 2_676
|
1752 |
+
Au9 Au5 3.1073(18) 2_676
|
1753 |
+
Au9 Au11 3.2906(14) .
|
1754 |
+
Au10 S25 2.335(3) .
|
1755 |
+
Au10 Au9 2.7533(10) 2_676
|
1756 |
+
Au10 Au7 3.0816(19) 2_676
|
1757 |
+
Au10 Au6 3.1140(11) 2_676
|
1758 |
+
Au11 S24 2.290(3) .
|
1759 |
+
Au11 S15 2.299(3) .
|
1760 |
+
Au12 S16 2.298(3) .
|
1761 |
+
Au12 S21 2.300(3) .
|
1762 |
+
Au13 S28 2.298(3) 2_676
|
1763 |
+
Au13 S16 2.303(3) .
|
1764 |
+
Au13 Au4 3.2779(17) 2_676
|
1765 |
+
S14 C1_2005 1.827(12) .
|
1766 |
+
S15 C1_2002 1.864(16) .
|
1767 |
+
S16 C1_2006 1.824(12) .
|
1768 |
+
S20 C1_2008 1.836(12) .
|
1769 |
+
S20 Au6 2.303(3) 2_676
|
1770 |
+
S21 C1_2004 1.825(14) .
|
1771 |
+
S24 C1_2001 1.840(12) .
|
1772 |
+
S25 C1_2007 2.07(2) .
|
1773 |
+
S26 C1_2009 1.845(12) .
|
1774 |
+
S28 C1_2003 1.840(11) .
|
1775 |
+
S28 Au13 2.298(3) 2_676
|
1776 |
+
C1_2001 C2_2001 1.537(17) .
|
1777 |
+
C1_2001 H1A_2001 0.9700 .
|
1778 |
+
C1_2001 H1B_2001 0.9700 .
|
1779 |
+
C2_2001 C3_2001 1.500(16) .
|
1780 |
+
C2_2001 H2A_2001 0.9700 .
|
1781 |
+
C2_2001 H2B_2001 0.9700 .
|
1782 |
+
C3_2001 C4_2001 1.375(16) .
|
1783 |
+
C3_2001 C8_2001 1.397(18) .
|
1784 |
+
C4_2001 C5_2001 1.397(17) .
|
1785 |
+
C4_2001 H4_2001 0.9300 .
|
1786 |
+
C5_2001 C6_2001 1.371(19) .
|
1787 |
+
C5_2001 H5_2001 0.9300 .
|
1788 |
+
C6_2001 C7_2001 1.37(2) .
|
1789 |
+
C6_2001 H6_2001 0.9300 .
|
1790 |
+
C7_2001 C8_2001 1.39(2) .
|
1791 |
+
C7_2001 H7_2001 0.9300 .
|
1792 |
+
C8_2001 H8_2001 0.9300 .
|
1793 |
+
C1_2002 C2_2002 1.61(2) .
|
1794 |
+
C1_2002 H1A_2002 0.9700 .
|
1795 |
+
C1_2002 H1B_2002 0.9700 .
|
1796 |
+
C2_2002 C3_2002 1.43(3) .
|
1797 |
+
C2_2002 H2A_2002 0.9700 .
|
1798 |
+
C2_2002 H2B_2002 0.9700 .
|
1799 |
+
C3_2002 C8_2002 1.37(3) .
|
1800 |
+
C3_2002 C4_2002 1.40(3) .
|
1801 |
+
C4_2002 C5_2002 1.46(3) .
|
1802 |
+
C4_2002 H4_2002 0.9300 .
|
1803 |
+
C5_2002 C6_2002 1.36(3) .
|
1804 |
+
C5_2002 H5_2002 0.9300 .
|
1805 |
+
C6_2002 C7_2002 1.43(4) .
|
1806 |
+
C6_2002 H6_2002 0.9300 .
|
1807 |
+
C7_2002 C8_2002 1.38(3) .
|
1808 |
+
C7_2002 H7_2002 0.9300 .
|
1809 |
+
C8_2002 H8_2002 0.9300 .
|
1810 |
+
C1_2003 C2_2003 1.509(15) .
|
1811 |
+
C1_2003 H1A_2003 0.9700 .
|
1812 |
+
C1_2003 H1B_2003 0.9700 .
|
1813 |
+
C2_2003 C3_2003 1.524(16) .
|
1814 |
+
C2_2003 H2A_2003 0.9700 .
|
1815 |
+
C2_2003 H2B_2003 0.9700 .
|
1816 |
+
C3_2003 C8_2003 1.36(2) .
|
1817 |
+
C3_2003 C4_2003 1.380(19) .
|
1818 |
+
C4_2003 C5_2003 1.379(18) .
|
1819 |
+
C4_2003 H4_2003 0.9300 .
|
1820 |
+
C5_2003 C6_2003 1.37(3) .
|
1821 |
+
C5_2003 H5_2003 0.9300 .
|
1822 |
+
C6_2003 C7_2003 1.37(2) .
|
1823 |
+
C6_2003 H6_2003 0.9300 .
|
1824 |
+
C7_2003 C8_2003 1.41(2) .
|
1825 |
+
C7_2003 H7_2003 0.9300 .
|
1826 |
+
C8_2003 H8_2003 0.9300 .
|
1827 |
+
C1_2004 C2_2004 1.41(2) .
|
1828 |
+
C1_2004 H1A_2004 0.9700 .
|
1829 |
+
C1_2004 H1B_2004 0.9700 .
|
1830 |
+
C2_2004 C3_2004 1.58(2) .
|
1831 |
+
C2_2004 H2A_2004 0.9700 .
|
1832 |
+
C2_2004 H2B_2004 0.9700 .
|
1833 |
+
C3_2004 C8_2004 1.25(3) .
|
1834 |
+
C3_2004 C4_2004 1.40(3) .
|
1835 |
+
C4_2004 C5_2004 1.43(3) .
|
1836 |
+
C4_2004 H4_2004 0.9300 .
|
1837 |
+
C5_2004 C6_2004 1.30(3) .
|
1838 |
+
C5_2004 H5_2004 0.9300 .
|
1839 |
+
C6_2004 C7_2004 1.24(3) .
|
1840 |
+
C6_2004 H6_2004 0.9300 .
|
1841 |
+
C7_2004 C8_2004 1.41(3) .
|
1842 |
+
C7_2004 H7_2004 0.9300 .
|
1843 |
+
C8_2004 H8_2004 0.9300 .
|
1844 |
+
C1_2005 C2_2005 1.527(16) .
|
1845 |
+
C1_2005 H1A_2005 0.9700 .
|
1846 |
+
C1_2005 H1B_2005 0.9700 .
|
1847 |
+
C2_2005 C3_2005 1.52(2) .
|
1848 |
+
C2_2005 H2A_2005 0.9700 .
|
1849 |
+
C2_2005 H2B_2005 0.9700 .
|
1850 |
+
C3_2005 C8_2005 1.33(2) .
|
1851 |
+
C3_2005 C4_2005 1.40(3) .
|
1852 |
+
C4_2005 C5_2005 1.39(3) .
|
1853 |
+
C4_2005 H4_2005 0.9300 .
|
1854 |
+
C5_2005 C6_2005 1.42(3) .
|
1855 |
+
C5_2005 H5_2005 0.9300 .
|
1856 |
+
C6_2005 C7_2005 1.36(2) .
|
1857 |
+
C6_2005 H6_2005 0.9300 .
|
1858 |
+
C7_2005 C8_2005 1.32(2) .
|
1859 |
+
C7_2005 H7_2005 0.9300 .
|
1860 |
+
C8_2005 H8_2005 0.9300 .
|
1861 |
+
C1_2006 C2_2006 1.513(16) .
|
1862 |
+
C1_2006 H1A_2006 0.9700 .
|
1863 |
+
C1_2006 H1B_2006 0.9700 .
|
1864 |
+
C2_2006 C3_2006 1.528(17) .
|
1865 |
+
C2_2006 H2A_2006 0.9700 .
|
1866 |
+
C2_2006 H2B_2006 0.9700 .
|
1867 |
+
C3_2006 C4_2006 1.360(19) .
|
1868 |
+
C3_2006 C8_2006 1.357(19) .
|
1869 |
+
C4_2006 C5_2006 1.38(2) .
|
1870 |
+
C4_2006 H4_2006 0.9300 .
|
1871 |
+
C5_2006 C6_2006 1.34(3) .
|
1872 |
+
C5_2006 H5_2006 0.9300 .
|
1873 |
+
C6_2006 C7_2006 1.38(3) .
|
1874 |
+
C6_2006 H6_2006 0.9300 .
|
1875 |
+
C7_2006 C8_2006 1.39(2) .
|
1876 |
+
C7_2006 H7_2006 0.9300 .
|
1877 |
+
C8_2006 H8_2006 0.9300 .
|
1878 |
+
C1_2007 C2_2007 1.33(3) .
|
1879 |
+
C1_2007 H1A_2007 0.9700 .
|
1880 |
+
C1_2007 H1B_2007 0.9700 .
|
1881 |
+
C2_2007 C3_2007 1.73(3) .
|
1882 |
+
C2_2007 H2A_2007 0.9700 .
|
1883 |
+
C2_2007 H2B_2007 0.9700 .
|
1884 |
+
C3_2007 C8_2007 1.36(3) .
|
1885 |
+
C3_2007 C4_2007 1.37(3) .
|
1886 |
+
C4_2007 C5_2007 1.30(2) .
|
1887 |
+
C4_2007 H4_2007 0.9300 .
|
1888 |
+
C5_2007 C6_2007 1.34(2) .
|
1889 |
+
C5_2007 H5_2007 0.9300 .
|
1890 |
+
C6_2007 C7_2007 1.34(2) .
|
1891 |
+
C6_2007 H6_2007 0.9300 .
|
1892 |
+
C7_2007 C8_2007 1.36(2) .
|
1893 |
+
C7_2007 H7_2007 0.9300 .
|
1894 |
+
C8_2007 H8_2007 0.9300 .
|
1895 |
+
C1_2008 C2_2008 1.510(15) .
|
1896 |
+
C1_2008 H1A_2008 0.9700 .
|
1897 |
+
C1_2008 H1B_2008 0.9700 .
|
1898 |
+
C2_2008 C3_2008 1.505(18) .
|
1899 |
+
C2_2008 H2A_2008 0.9700 .
|
1900 |
+
C2_2008 H2B_2008 0.9700 .
|
1901 |
+
C3_2008 C8_2008 1.372(18) .
|
1902 |
+
C3_2008 C4_2008 1.389(17) .
|
1903 |
+
C4_2008 C5_2008 1.391(18) .
|
1904 |
+
C4_2008 H4_2008 0.9300 .
|
1905 |
+
C5_2008 C6_2008 1.37(2) .
|
1906 |
+
C5_2008 H5_2008 0.9300 .
|
1907 |
+
C6_2008 C7_2008 1.37(2) .
|
1908 |
+
C6_2008 H6_2008 0.9300 .
|
1909 |
+
C7_2008 C8_2008 1.37(2) .
|
1910 |
+
C7_2008 H7_2008 0.9300 .
|
1911 |
+
C8_2008 H8_2008 0.9300 .
|
1912 |
+
C1_2009 C2_2009 1.498(15) .
|
1913 |
+
C1_2009 H1A_2009 0.9700 .
|
1914 |
+
C1_2009 H1B_2009 0.9700 .
|
1915 |
+
C2_2009 C3_2009 1.510(17) .
|
1916 |
+
C2_2009 H2A_2009 0.9700 .
|
1917 |
+
C2_2009 H2B_2009 0.9700 .
|
1918 |
+
C3_2009 C4_2009 1.352(19) .
|
1919 |
+
C3_2009 C8_2009 1.40(2) .
|
1920 |
+
C4_2009 C5_2009 1.37(3) .
|
1921 |
+
C4_2009 H4_2009 0.9300 .
|
1922 |
+
C5_2009 C6_2009 1.38(3) .
|
1923 |
+
C5_2009 H5_2009 0.9300 .
|
1924 |
+
C6_2009 C7_2009 1.34(2) .
|
1925 |
+
C6_2009 H6_2009 0.9300 .
|
1926 |
+
C7_2009 C8_2009 1.40(2) .
|
1927 |
+
C7_2009 H7_2009 0.9300 .
|
1928 |
+
C8_2009 H8_2009 0.9300 .
|
1929 |
+
C9_2010 C10_2010 1.37(2) .
|
1930 |
+
C9_2010 C15_2010 1.39(2) .
|
1931 |
+
C9_2010 H9_2010 0.9300 .
|
1932 |
+
C10_2010 C11_2010 1.39(2) .
|
1933 |
+
C10_2010 H10_2010 0.9300 .
|
1934 |
+
C11_2010 C12_2010 1.37(2) .
|
1935 |
+
C11_2010 H11_2010 0.9300 .
|
1936 |
+
C12_2010 C14_2010 1.36(2) .
|
1937 |
+
C12_2010 C13_2010 1.54(2) .
|
1938 |
+
C12_2010 H12_2010 0.9300 .
|
1939 |
+
C13_2010 H13A_2010 0.9600 .
|
1940 |
+
C13_2010 H13B_2010 0.9600 .
|
1941 |
+
C13_2010 H13C_2010 0.9600 .
|
1942 |
+
C14_2010 C15_2010 1.37(2) .
|
1943 |
+
C14_2010 H14_2010 0.9300 .
|
1944 |
+
C15_2010 H15_2010 0.9300 .
|
examples/inorganic_crystal.cif
ADDED
@@ -0,0 +1,75 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# generated using pymatgen
|
2 |
+
data_LiMn2O4
|
3 |
+
_symmetry_space_group_name_H-M 'P 1'
|
4 |
+
_cell_length_a 5.70118782
|
5 |
+
_cell_length_b 8.06767022
|
6 |
+
_cell_length_c 9.87795035
|
7 |
+
_cell_angle_alpha 114.09949373
|
8 |
+
_cell_angle_beta 106.76964054
|
9 |
+
_cell_angle_gamma 90.00002135
|
10 |
+
_symmetry_Int_Tables_number 1
|
11 |
+
_chemical_formula_structural LiMn2O4
|
12 |
+
_chemical_formula_sum 'Li6 Mn12 O24'
|
13 |
+
_cell_volume 393.47630577
|
14 |
+
_cell_formula_units_Z 6
|
15 |
+
loop_
|
16 |
+
_symmetry_equiv_pos_site_id
|
17 |
+
_symmetry_equiv_pos_as_xyz
|
18 |
+
1 'x, y, z'
|
19 |
+
loop_
|
20 |
+
_atom_type_symbol
|
21 |
+
_atom_type_oxidation_number
|
22 |
+
Li+ 1.0
|
23 |
+
Mn3+ 3.0
|
24 |
+
Mn4+ 4.0
|
25 |
+
O2- -2.0
|
26 |
+
loop_
|
27 |
+
_atom_site_type_symbol
|
28 |
+
_atom_site_label
|
29 |
+
_atom_site_symmetry_multiplicity
|
30 |
+
_atom_site_fract_x
|
31 |
+
_atom_site_fract_y
|
32 |
+
_atom_site_fract_z
|
33 |
+
_atom_site_occupancy
|
34 |
+
Li+ Li0 1 0.91714273 0.04131819 0.83347123 1
|
35 |
+
Li+ Li1 1 0.58335526 0.70911487 0.16676469 1
|
36 |
+
Li+ Li2 1 0.08323822 0.95802295 0.16684024 1
|
37 |
+
Li+ Li3 1 0.75056154 0.62548778 0.49989611 1
|
38 |
+
Li+ Li4 1 0.41715766 0.29060308 0.83357001 1
|
39 |
+
Li+ Li5 1 0.25003958 0.37445342 0.50018293 1
|
40 |
+
Mn3+ Mn6 1 0.83358214 0.33306641 0.16680334 1
|
41 |
+
Mn3+ Mn7 1 0.66809993 0.66615172 0.83358383 1
|
42 |
+
Mn3+ Mn8 1 0.16797705 0.66624466 0.83358751 1
|
43 |
+
Mn3+ Mn9 1 0.00039185 0.99958913 0.50013453 1
|
44 |
+
Mn3+ Mn10 1 0.33359680 0.33299799 0.16683103 1
|
45 |
+
Mn3+ Mn11 1 0.50029665 0.99960030 0.50012492 1
|
46 |
+
Mn4+ Mn12 1 0.50070403 0.99972330 0.00020421 1
|
47 |
+
Mn4+ Mn13 1 0.16707531 0.66622817 0.33349613 1
|
48 |
+
Mn4+ Mn14 1 0.00077602 0.49968002 0.00022251 1
|
49 |
+
Mn4+ Mn15 1 0.83417104 0.33282978 0.66685445 1
|
50 |
+
Mn4+ Mn16 1 0.33430183 0.83272152 0.66698147 1
|
51 |
+
Mn4+ Mn17 1 0.66698763 0.16655350 0.33349705 1
|
52 |
+
O2- O18 1 0.82542226 0.08711994 0.65018107 1
|
53 |
+
O2- O19 1 0.14258653 0.42877551 0.83357077 1
|
54 |
+
O2- O20 1 0.50865415 0.24534957 0.01687179 1
|
55 |
+
O2- O21 1 0.49291906 0.75395612 0.98347559 1
|
56 |
+
O2- O22 1 0.97542250 0.23692762 0.50009031 1
|
57 |
+
O2- O23 1 0.35872214 0.09551602 0.16675809 1
|
58 |
+
O2- O24 1 0.47548904 0.76218014 0.50013846 1
|
59 |
+
O2- O25 1 0.00871754 0.27056033 0.01682709 1
|
60 |
+
O2- O26 1 0.30894205 0.57045269 0.16695366 1
|
61 |
+
O2- O27 1 0.67541170 0.93741069 0.35024778 1
|
62 |
+
O2- O28 1 0.15852979 0.42048160 0.31679160 1
|
63 |
+
O2- O29 1 0.32540385 0.06180908 0.65010675 1
|
64 |
+
O2- O30 1 0.65862057 0.39554984 0.31685382 1
|
65 |
+
O2- O31 1 0.64264563 0.90368470 0.83363130 1
|
66 |
+
O2- O32 1 0.99298078 0.72871349 0.98362566 1
|
67 |
+
O2- O33 1 0.34299453 0.60372501 0.68359964 1
|
68 |
+
O2- O34 1 0.02584613 0.76221785 0.50030835 1
|
69 |
+
O2- O35 1 0.17534743 0.91197518 0.35010492 1
|
70 |
+
O2- O36 1 0.69255997 0.42879261 0.83354118 1
|
71 |
+
O2- O37 1 0.19251743 0.90360317 0.83355327 1
|
72 |
+
O2- O38 1 0.85869384 0.57047595 0.16677477 1
|
73 |
+
O2- O39 1 0.80876520 0.09575025 0.16693826 1
|
74 |
+
O2- O40 1 0.84299557 0.57868936 0.68355179 1
|
75 |
+
O2- O41 1 0.52556405 0.23711750 0.50026589 1
|
examples/metal_cplx.pdb
ADDED
@@ -0,0 +1,243 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
TITLE 7043848_molecule_0_1_6
|
2 |
+
REMARK 4 COMPLIES WITH FORMAT V. 3.0, 1-DEC-2006
|
3 |
+
REMARK 888
|
4 |
+
REMARK 888 WRITTEN BY MAESTRO (A PRODUCT OF SCHRODINGER, LLC)
|
5 |
+
HETATM 1 Fe1 UNK 0 4.781 17.798 5.309 1.00 1.98 Fe3+
|
6 |
+
ANISOU 1 Fe1 UNK 0 246 268 262 0 132 0
|
7 |
+
HETATM 2 N2 UNK 0 4.953 17.762 3.418 1.00 2.65 N1-
|
8 |
+
ANISOU 2 N2 UNK 0 390 350 260 10 130 40
|
9 |
+
HETATM 3 N1 UNK 0 3.512 16.312 4.982 1.00 2.46 N
|
10 |
+
ANISOU 3 N1 UNK 0 250 260 440 0 170 40
|
11 |
+
HETATM 4 N4 UNK 0 6.171 19.186 5.425 1.00 3.51 N
|
12 |
+
ANISOU 4 N4 UNK 0 470 450 510 -30 310 -90
|
13 |
+
HETATM 5 C7 UNK 0 5.365 18.820 2.668 1.00 2.42 C
|
14 |
+
ANISOU 5 C7 UNK 0 270 390 260 20 120 -10
|
15 |
+
HETATM 6 C12 UNK 0 6.032 19.891 3.329 1.00 3.08 C
|
16 |
+
ANISOU 6 C12 UNK 0 320 510 390 90 210 0
|
17 |
+
HETATM 7 N3 UNK 0 6.513 19.986 4.632 1.00 4.46 N
|
18 |
+
ANISOU 7 N3 UNK 0 520 720 400 260 150 60
|
19 |
+
HETATM 8 C13 UNK 0 6.910 19.549 6.760 1.00 3.30 C
|
20 |
+
ANISOU 8 C13 UNK 0 420 630 300 210 250 100
|
21 |
+
HETATM 9 C1 UNK 0 2.707 15.711 5.860 1.00 3.34 C
|
22 |
+
ANISOU 9 C1 UNK 0 460 200 760 70 410 50
|
23 |
+
HETATM 10 C14 UNK 0 7.673 18.569 7.310 1.00 2.79 C
|
24 |
+
ANISOU 10 C14 UNK 0 280 500 340 -100 190 -100
|
25 |
+
HETATM 11 O1 UNK 0 4.772 16.216 1.692 1.00 6.63 O
|
26 |
+
ANISOU 11 O1 UNK 0 1480 550 280 -220 190 -90
|
27 |
+
HETATM 12 C5 UNK 0 3.640 15.794 3.749 1.00 3.19 C
|
28 |
+
ANISOU 12 C5 UNK 0 370 360 330 0 10 0
|
29 |
+
HETATM 13 C15 UNK 0 8.274 18.767 8.525 1.00 2.91 C
|
30 |
+
ANISOU 13 C15 UNK 0 240 550 300 50 110 110
|
31 |
+
HETATM 14 C8 UNK 0 5.128 18.979 1.304 1.00 3.02 C
|
32 |
+
ANISOU 14 C8 UNK 0 340 490 300 30 120 50
|
33 |
+
HETATM 15 C16 UNK 0 8.083 19.993 9.175 1.00 4.18 C
|
34 |
+
ANISOU 15 C16 UNK 0 340 970 280 -230 120 -250
|
35 |
+
HETATM 16 C9 UNK 0 5.471 20.152 0.664 1.00 3.81 C
|
36 |
+
ANISOU 16 C9 UNK 0 540 610 340 40 220 50
|
37 |
+
HETATM 17 C11 UNK 0 6.403 21.059 2.630 1.00 3.99 C
|
38 |
+
ANISOU 17 C11 UNK 0 460 520 620 -80 310 -30
|
39 |
+
HETATM 18 C6 UNK 0 4.513 16.587 2.809 1.00 3.83 C
|
40 |
+
ANISOU 18 C6 UNK 0 580 370 370 -40 80 -30
|
41 |
+
HETATM 19 C10 UNK 0 6.098 21.183 1.318 1.00 4.23 C
|
42 |
+
ANISOU 19 C10 UNK 0 690 550 590 30 480 100
|
43 |
+
HETATM 20 C17 UNK 0 7.314 20.974 8.581 1.00 4.90 C
|
44 |
+
ANISOU 20 C17 UNK 0 700 440 1020 -100 660 -210
|
45 |
+
HETATM 21 C2 UNK 0 1.947 14.568 5.459 1.00 4.66 C
|
46 |
+
ANISOU 21 C2 UNK 0 520 340 1120 60 540 140
|
47 |
+
HETATM 22 C18 UNK 0 6.742 20.747 7.360 1.00 4.05 C
|
48 |
+
ANISOU 22 C18 UNK 0 510 600 470 130 250 170
|
49 |
+
HETATM 23 C4 UNK 0 2.978 14.690 3.315 1.00 4.66 C
|
50 |
+
ANISOU 23 C4 UNK 0 580 340 630 -50 60 -50
|
51 |
+
HETATM 24 C3 UNK 0 2.096 14.097 4.189 1.00 4.97 C
|
52 |
+
ANISOU 24 C3 UNK 0 350 330 1070 -80 180 -60
|
53 |
+
HETATM 25 N2 UNK 0 4.609 17.762 7.200 1.00 2.65 N1-
|
54 |
+
ANISOU 25 N2 UNK 0 390 350 260 10 130 40
|
55 |
+
HETATM 26 N1 UNK 0 6.050 16.312 5.636 1.00 2.46 N
|
56 |
+
ANISOU 26 N1 UNK 0 250 260 440 0 170 40
|
57 |
+
HETATM 27 N4 UNK 0 3.391 19.186 5.194 1.00 3.51 N
|
58 |
+
ANISOU 27 N4 UNK 0 470 450 510 -30 310 -90
|
59 |
+
HETATM 28 C7 UNK 0 4.197 18.820 7.950 1.00 2.42 C
|
60 |
+
ANISOU 28 C7 UNK 0 270 390 260 20 120 -10
|
61 |
+
HETATM 29 C12 UNK 0 3.530 19.891 7.290 1.00 3.08 C
|
62 |
+
ANISOU 29 C12 UNK 0 320 510 390 90 210 0
|
63 |
+
HETATM 30 N3 UNK 0 3.049 19.986 5.987 1.00 4.46 N
|
64 |
+
ANISOU 30 N3 UNK 0 520 720 400 260 150 60
|
65 |
+
HETATM 31 C13 UNK 0 2.652 19.549 3.859 1.00 3.30 C
|
66 |
+
ANISOU 31 C13 UNK 0 420 630 300 210 250 100
|
67 |
+
HETATM 32 C1 UNK 0 6.855 15.711 4.758 1.00 3.34 C
|
68 |
+
ANISOU 32 C1 UNK 0 460 200 760 70 410 50
|
69 |
+
HETATM 33 C14 UNK 0 1.889 18.569 3.309 1.00 2.79 C
|
70 |
+
ANISOU 33 C14 UNK 0 280 500 340 -100 190 -100
|
71 |
+
HETATM 34 O1 UNK 0 4.790 16.216 8.927 1.00 6.63 O
|
72 |
+
ANISOU 34 O1 UNK 0 1480 550 280 -220 190 -90
|
73 |
+
HETATM 35 C5 UNK 0 5.922 15.794 6.869 1.00 3.19 C
|
74 |
+
ANISOU 35 C5 UNK 0 370 360 330 0 10 0
|
75 |
+
HETATM 36 C15 UNK 0 1.288 18.767 2.094 1.00 2.91 C
|
76 |
+
ANISOU 36 C15 UNK 0 240 550 300 50 110 110
|
77 |
+
HETATM 37 C8 UNK 0 4.434 18.979 9.315 1.00 3.02 C
|
78 |
+
ANISOU 37 C8 UNK 0 340 490 300 30 120 50
|
79 |
+
HETATM 38 C16 UNK 0 1.479 19.993 1.443 1.00 4.18 C
|
80 |
+
ANISOU 38 C16 UNK 0 340 970 280 -230 120 -250
|
81 |
+
HETATM 39 C9 UNK 0 4.091 20.152 9.955 1.00 3.81 C
|
82 |
+
ANISOU 39 C9 UNK 0 540 610 340 40 220 50
|
83 |
+
HETATM 40 C11 UNK 0 3.159 21.059 7.988 1.00 3.99 C
|
84 |
+
ANISOU 40 C11 UNK 0 460 520 620 -80 310 -30
|
85 |
+
HETATM 41 C6 UNK 0 5.049 16.587 7.810 1.00 3.83 C
|
86 |
+
ANISOU 41 C6 UNK 0 580 370 370 -40 80 -30
|
87 |
+
HETATM 42 C10 UNK 0 3.464 21.183 9.301 1.00 4.23 C
|
88 |
+
ANISOU 42 C10 UNK 0 690 550 590 30 480 100
|
89 |
+
HETATM 43 C17 UNK 0 2.248 20.974 2.038 1.00 4.90 C
|
90 |
+
ANISOU 43 C17 UNK 0 700 440 1020 -100 660 -210
|
91 |
+
HETATM 44 C2 UNK 0 7.615 14.568 5.160 1.00 4.66 C
|
92 |
+
ANISOU 44 C2 UNK 0 520 340 1120 60 540 140
|
93 |
+
HETATM 45 C18 UNK 0 2.820 20.747 3.259 1.00 4.05 C
|
94 |
+
ANISOU 45 C18 UNK 0 510 600 470 130 250 170
|
95 |
+
HETATM 46 C4 UNK 0 6.584 14.690 7.303 1.00 4.66 C
|
96 |
+
ANISOU 46 C4 UNK 0 580 340 630 -50 60 -50
|
97 |
+
HETATM 47 C3 UNK 0 7.466 14.097 6.430 1.00 4.97 C
|
98 |
+
ANISOU 47 C3 UNK 0 350 330 1070 -80 180 -60
|
99 |
+
HETATM 48 H1 UNK 0 2.640 16.034 6.729 1.00 4.03 H
|
100 |
+
HETATM 49 H14 UNK 0 7.789 17.763 6.859 1.00 3.32 H
|
101 |
+
HETATM 50 H15 UNK 0 8.795 18.100 8.910 1.00 3.47 H
|
102 |
+
HETATM 51 H8 UNK 0 4.734 18.289 0.821 1.00 3.63 H
|
103 |
+
HETATM 52 H16 UNK 0 8.474 20.147 10.006 1.00 5.05 H
|
104 |
+
HETATM 53 H9 UNK 0 5.272 20.247 -0.240 1.00 4.58 H
|
105 |
+
HETATM 54 H11 UNK 0 6.856 21.741 3.071 1.00 4.82 H
|
106 |
+
HETATM 55 H10 UNK 0 6.313 21.965 0.861 1.00 5.05 H
|
107 |
+
HETATM 56 H17 UNK 0 7.184 21.788 9.011 1.00 5.84 H
|
108 |
+
HETATM 57 H2 UNK 0 1.361 14.154 6.052 1.00 5.61 H
|
109 |
+
HETATM 58 H18 UNK 0 6.242 21.411 6.945 1.00 4.90 H
|
110 |
+
HETATM 59 H4 UNK 0 3.116 14.347 2.461 1.00 5.61 H
|
111 |
+
HETATM 60 H3 UNK 0 1.595 13.366 3.909 1.00 5.92 H
|
112 |
+
HETATM 61 H1 UNK 0 6.922 16.034 3.889 1.00 4.03 H
|
113 |
+
HETATM 62 H14 UNK 0 1.773 17.763 3.759 1.00 3.32 H
|
114 |
+
HETATM 63 H15 UNK 0 0.767 18.100 1.708 1.00 3.47 H
|
115 |
+
HETATM 64 H8 UNK 0 4.828 18.289 9.798 1.00 3.63 H
|
116 |
+
HETATM 65 H16 UNK 0 1.088 20.147 0.613 1.00 5.05 H
|
117 |
+
HETATM 66 H9 UNK 0 4.290 20.247 10.859 1.00 4.58 H
|
118 |
+
HETATM 67 H11 UNK 0 2.706 21.741 7.548 1.00 4.82 H
|
119 |
+
HETATM 68 H10 UNK 0 3.249 21.965 9.758 1.00 5.05 H
|
120 |
+
HETATM 69 H17 UNK 0 2.378 21.788 1.608 1.00 5.84 H
|
121 |
+
HETATM 70 H2 UNK 0 8.201 14.154 4.567 1.00 5.61 H
|
122 |
+
HETATM 71 H18 UNK 0 3.320 21.411 3.673 1.00 4.90 H
|
123 |
+
HETATM 72 H4 UNK 0 6.446 14.347 8.157 1.00 5.61 H
|
124 |
+
HETATM 73 H3 UNK 0 7.967 13.366 6.709 1.00 5.92 H
|
125 |
+
CONECT 1 2 25 4 27
|
126 |
+
CONECT 1 26 3
|
127 |
+
CONECT 2 1 5 18
|
128 |
+
CONECT 3 1 9 12
|
129 |
+
CONECT 3 12
|
130 |
+
CONECT 4 1 7 8
|
131 |
+
CONECT 4 7
|
132 |
+
CONECT 5 2 14 6
|
133 |
+
CONECT 5 14
|
134 |
+
CONECT 6 5 7 17
|
135 |
+
CONECT 6 17
|
136 |
+
CONECT 7 4 6
|
137 |
+
CONECT 7 4
|
138 |
+
CONECT 8 4 22 10
|
139 |
+
CONECT 8 22
|
140 |
+
CONECT 9 3 48 21
|
141 |
+
CONECT 9 21
|
142 |
+
CONECT 48 9
|
143 |
+
CONECT 10 8 49 13
|
144 |
+
CONECT 10 13
|
145 |
+
CONECT 49 10
|
146 |
+
CONECT 11 18
|
147 |
+
CONECT 11 18
|
148 |
+
CONECT 12 3 23 18
|
149 |
+
CONECT 12 3
|
150 |
+
CONECT 13 10 50 15
|
151 |
+
CONECT 13 10
|
152 |
+
CONECT 50 13
|
153 |
+
CONECT 14 5 51 16
|
154 |
+
CONECT 14 5
|
155 |
+
CONECT 51 14
|
156 |
+
CONECT 15 13 52 20
|
157 |
+
CONECT 15 20
|
158 |
+
CONECT 52 15
|
159 |
+
CONECT 16 14 53 19
|
160 |
+
CONECT 16 19
|
161 |
+
CONECT 53 16
|
162 |
+
CONECT 17 6 54 19
|
163 |
+
CONECT 17 6
|
164 |
+
CONECT 54 17
|
165 |
+
CONECT 18 2 11 12
|
166 |
+
CONECT 18 11
|
167 |
+
CONECT 19 16 17 55
|
168 |
+
CONECT 19 16
|
169 |
+
CONECT 55 19
|
170 |
+
CONECT 20 15 56 22
|
171 |
+
CONECT 20 15
|
172 |
+
CONECT 56 20
|
173 |
+
CONECT 21 9 57 24
|
174 |
+
CONECT 21 9
|
175 |
+
CONECT 57 21
|
176 |
+
CONECT 22 8 20 58
|
177 |
+
CONECT 22 8
|
178 |
+
CONECT 58 22
|
179 |
+
CONECT 23 12 59 24
|
180 |
+
CONECT 23 24
|
181 |
+
CONECT 59 23
|
182 |
+
CONECT 24 21 23 60
|
183 |
+
CONECT 24 23
|
184 |
+
CONECT 60 24
|
185 |
+
CONECT 25 1 28 41
|
186 |
+
CONECT 26 1 32 35
|
187 |
+
CONECT 26 35
|
188 |
+
CONECT 27 1 30 31
|
189 |
+
CONECT 27 30
|
190 |
+
CONECT 28 25 37 29
|
191 |
+
CONECT 28 37
|
192 |
+
CONECT 29 28 30 40
|
193 |
+
CONECT 29 40
|
194 |
+
CONECT 30 27 29
|
195 |
+
CONECT 30 27
|
196 |
+
CONECT 31 27 45 33
|
197 |
+
CONECT 31 45
|
198 |
+
CONECT 32 26 61 44
|
199 |
+
CONECT 32 44
|
200 |
+
CONECT 61 32
|
201 |
+
CONECT 33 31 62 36
|
202 |
+
CONECT 33 36
|
203 |
+
CONECT 62 33
|
204 |
+
CONECT 34 41
|
205 |
+
CONECT 34 41
|
206 |
+
CONECT 35 26 46 41
|
207 |
+
CONECT 35 26
|
208 |
+
CONECT 36 33 63 38
|
209 |
+
CONECT 36 33
|
210 |
+
CONECT 63 36
|
211 |
+
CONECT 37 28 64 39
|
212 |
+
CONECT 37 28
|
213 |
+
CONECT 64 37
|
214 |
+
CONECT 38 36 65 43
|
215 |
+
CONECT 38 43
|
216 |
+
CONECT 65 38
|
217 |
+
CONECT 39 37 66 42
|
218 |
+
CONECT 39 42
|
219 |
+
CONECT 66 39
|
220 |
+
CONECT 40 29 67 42
|
221 |
+
CONECT 40 29
|
222 |
+
CONECT 67 40
|
223 |
+
CONECT 41 25 34 35
|
224 |
+
CONECT 41 34
|
225 |
+
CONECT 42 39 40 68
|
226 |
+
CONECT 42 39
|
227 |
+
CONECT 68 42
|
228 |
+
CONECT 43 38 69 45
|
229 |
+
CONECT 43 38
|
230 |
+
CONECT 69 43
|
231 |
+
CONECT 44 32 70 47
|
232 |
+
CONECT 44 32
|
233 |
+
CONECT 70 44
|
234 |
+
CONECT 45 31 43 71
|
235 |
+
CONECT 45 31
|
236 |
+
CONECT 71 45
|
237 |
+
CONECT 46 35 72 47
|
238 |
+
CONECT 46 47
|
239 |
+
CONECT 72 46
|
240 |
+
CONECT 47 44 46 73
|
241 |
+
CONECT 47 46
|
242 |
+
CONECT 73 47
|
243 |
+
END
|
examples/organic_molecular_crystal.cif
ADDED
@@ -0,0 +1,257 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
data_image0
|
2 |
+
_chemical_formula_structural SO2NC2H2C3HCHCHCH2C2HBrC2HCOHSO2NC2H2C3HCHCHCH2C2HBrC2HCOHSO2NC2H2C3HCHCHCH2C2HBrC2HCOHSO2NC2H2C3HCHCHCH2C2HBrC2HCOHSO2NC2H2C3HCHCHCH2C2HBrC2HCOHSO2NC2H2C3HCHCHCH2C2HBrC2HCOHSO2NC2H2C3HCHCHCH2C2HBrC2HCOHSO2NC2H2C3HCHCHCH2C2HBrC2HCOH
|
3 |
+
_chemical_formula_sum "S8 O24 N8 C104 H80 Br8"
|
4 |
+
_cell_length_a 13.423146423109205
|
5 |
+
_cell_length_b 13.423146423109205
|
6 |
+
_cell_length_c 13.6638898495986
|
7 |
+
_cell_angle_alpha 90.0
|
8 |
+
_cell_angle_beta 90.0
|
9 |
+
_cell_angle_gamma 90.0
|
10 |
+
|
11 |
+
_space_group_name_H-M_alt "P 1"
|
12 |
+
_space_group_IT_number 1
|
13 |
+
|
14 |
+
loop_
|
15 |
+
_space_group_symop_operation_xyz
|
16 |
+
'x, y, z'
|
17 |
+
|
18 |
+
loop_
|
19 |
+
_atom_site_type_symbol
|
20 |
+
_atom_site_label
|
21 |
+
_atom_site_symmetry_multiplicity
|
22 |
+
_atom_site_fract_x
|
23 |
+
_atom_site_fract_y
|
24 |
+
_atom_site_fract_z
|
25 |
+
_atom_site_occupancy
|
26 |
+
S S1 1.0 0.9275461529470431 0.8155896023122877 0.2941211283258369 1.0000
|
27 |
+
O O1 1.0 0.9372220992434028 0.9265573250362035 0.2881057270882305 1.0000
|
28 |
+
O O2 1.0 0.7938257294941448 0.613458320160412 0.3325817036686815 1.0000
|
29 |
+
N N1 1.0 0.7094294676765264 0.6315815144358788 0.3643853618085062 1.0000
|
30 |
+
C C1 1.0 0.04722194744393815 0.7664571194860146 0.3324408693324965 1.0000
|
31 |
+
C C2 1.0 0.8637010100550786 0.7901090817201828 0.41480828284433924 1.0000
|
32 |
+
H H1 1.0 0.8828132168696473 0.713926921711797 0.4356050026060773 1.0000
|
33 |
+
H H2 1.0 0.8990216567280933 0.8438518355897033 0.4644104859507723 1.0000
|
34 |
+
C C3 1.0 0.7547742291758802 0.8091132478236331 0.40549736222237937 1.0000
|
35 |
+
C C4 1.0 0.6823975071369104 0.7367685032901754 0.38218155259699743 1.0000
|
36 |
+
C C5 1.0 0.5812093405094393 0.7596978068934275 0.37558287238095706 1.0000
|
37 |
+
H H3 1.0 0.5289766916653209 0.7000637700023311 0.35916711510461696 1.0000
|
38 |
+
C C6 1.0 0.5496372088965512 0.8573060172331419 0.3891811661042275 1.0000
|
39 |
+
H H4 1.0 0.4709107389129744 0.8756720552830178 0.3825211764085389 1.0000
|
40 |
+
C C7 1.0 0.6195186980453679 0.9309846509461215 0.4114651541949892 1.0000
|
41 |
+
H H5 1.0 0.5957249701097564 0.007785244103282407 0.4223759572337825 1.0000
|
42 |
+
C C8 1.0 0.7199004905916212 0.9066603112226315 0.4202079011847202 1.0000
|
43 |
+
H H6 1.0 0.7741686341527089 0.9642133552690426 0.4380555929366669 1.0000
|
44 |
+
H H7 1.0 0.10728745316766286 0.9129321031479888 0.35471103015530164 1.0000
|
45 |
+
C C9 1.0 0.15729100969569187 0.6271254223041515 0.3583665559774094 1.0000
|
46 |
+
C C10 1.0 0.0639946379748706 0.66374801042789 0.33171135136525254 1.0000
|
47 |
+
H H8 1.0 0.004899415930414541 0.6122306354425116 0.31063325530424696 1.0000
|
48 |
+
Br Br1 1.0 0.3599752297084762 0.6443068017173645 0.42009103215509896 1.0000
|
49 |
+
C C11 1.0 0.12256687007673928 0.8331621497102379 0.3571832339149155 1.0000
|
50 |
+
C C12 1.0 0.21619123110409633 0.7968984767016225 0.38363901688186314 1.0000
|
51 |
+
H H9 1.0 0.276002226249074 0.8478692462897375 0.40328266801719487 1.0000
|
52 |
+
C C13 1.0 0.23232330779138866 0.694247403522436 0.3842252287422828 1.0000
|
53 |
+
O O3 1.0 0.645815613938436 0.5678074831662694 0.38140471043720314 1.0000
|
54 |
+
H H10 1.0 0.17175608640296902 0.5473527460604474 0.3585904002479444 1.0000
|
55 |
+
S S2 1.0 0.8155896023122877 0.07245384705295688 0.7058790442100105 1.0000
|
56 |
+
O O4 1.0 0.9265573250362035 0.06277790075659728 0.7118944454476168 1.0000
|
57 |
+
O O5 1.0 0.613458320160412 0.20617427050585538 0.6674184688671658 1.0000
|
58 |
+
N N2 1.0 0.6315815144358788 0.29057053232347374 0.6356148107273412 1.0000
|
59 |
+
C C14 1.0 0.7664571194860146 0.9527780525560618 0.6675593032033508 1.0000
|
60 |
+
C C15 1.0 0.7901090817201828 0.1362989899449214 0.5851918896915079 1.0000
|
61 |
+
H H11 1.0 0.713926921711797 0.11718678313035269 0.56439516992977 1.0000
|
62 |
+
H H12 1.0 0.8438518355897033 0.1009783432719068 0.5355896865850751 1.0000
|
63 |
+
C C16 1.0 0.8091132478236331 0.2452257708241198 0.5945028103134679 1.0000
|
64 |
+
C C17 1.0 0.7367685032901754 0.31760249286308967 0.6178186199388498 1.0000
|
65 |
+
C C18 1.0 0.7596978068934275 0.4187906594905607 0.6244173001548903 1.0000
|
66 |
+
H H13 1.0 0.7000637700023311 0.47102330833467915 0.6408330574312303 1.0000
|
67 |
+
C C19 1.0 0.8573060172331419 0.45036279110344885 0.6108190064316199 1.0000
|
68 |
+
H H14 1.0 0.8756720552830178 0.5290892610870257 0.6174789961273085 1.0000
|
69 |
+
C C20 1.0 0.9309846509461215 0.38048130195463215 0.5885350183408582 1.0000
|
70 |
+
H H15 1.0 0.007785244103282407 0.40427502989024366 0.5776242153020649 1.0000
|
71 |
+
C C21 1.0 0.9066603112226315 0.2800995094083789 0.5797922713511272 1.0000
|
72 |
+
H H16 1.0 0.9642133552690426 0.22583136584729124 0.5619445795991804 1.0000
|
73 |
+
H H17 1.0 0.9129321031479888 0.8927125468323371 0.6452891423805457 1.0000
|
74 |
+
C C22 1.0 0.6271254223041515 0.8427089903043081 0.6416336165584379 1.0000
|
75 |
+
C C23 1.0 0.66374801042789 0.9360053620251294 0.6682888211705948 1.0000
|
76 |
+
H H18 1.0 0.6122306354425116 0.9951005840695855 0.6893669172316004 1.0000
|
77 |
+
Br Br2 1.0 0.6443068017173645 0.6400247702915238 0.5799091403807484 1.0000
|
78 |
+
C C24 1.0 0.8331621497102379 0.877433129923261 0.6428169386209319 1.0000
|
79 |
+
C C25 1.0 0.7968984767016225 0.7838087688959037 0.6163611556539842 1.0000
|
80 |
+
H H19 1.0 0.8478692462897375 0.723997773750926 0.5967175045186525 1.0000
|
81 |
+
C C26 1.0 0.694247403522436 0.7676766922086116 0.6157749437935646 1.0000
|
82 |
+
O O6 1.0 0.5678074831662694 0.35418438606156416 0.6185954620986442 1.0000
|
83 |
+
H H20 1.0 0.5473527460604474 0.828243913597031 0.6414097722879029 1.0000
|
84 |
+
S S3 1.0 0.07245384705295688 0.18441039768771228 0.2941211283258369 1.0000
|
85 |
+
O O7 1.0 0.06277790075659728 0.07344267496379653 0.2881057270882305 1.0000
|
86 |
+
O O8 1.0 0.20617427050585538 0.386541679839588 0.3325817036686815 1.0000
|
87 |
+
N N3 1.0 0.29057053232347374 0.36841848556412116 0.3643853618085062 1.0000
|
88 |
+
C C27 1.0 0.9527780525560618 0.23354288051398545 0.3324408693324965 1.0000
|
89 |
+
C C28 1.0 0.1362989899449214 0.2098909182798172 0.41480828284433924 1.0000
|
90 |
+
H H21 1.0 0.11718678313035269 0.28607307828820305 0.4356050026060773 1.0000
|
91 |
+
H H22 1.0 0.1009783432719068 0.15614816441029666 0.4644104859507723 1.0000
|
92 |
+
C C29 1.0 0.2452257708241198 0.1908867521763669 0.40549736222237937 1.0000
|
93 |
+
C C30 1.0 0.31760249286308967 0.2632314967098247 0.38218155259699743 1.0000
|
94 |
+
C C31 1.0 0.4187906594905607 0.24030219310657253 0.37558287238095706 1.0000
|
95 |
+
H H23 1.0 0.47102330833467915 0.29993622999766906 0.35916711510461696 1.0000
|
96 |
+
C C32 1.0 0.45036279110344885 0.14269398276685819 0.3891811661042275 1.0000
|
97 |
+
H H24 1.0 0.5290892610870257 0.12432794471698216 0.3825211764085389 1.0000
|
98 |
+
C C33 1.0 0.38048130195463215 0.06901534905387852 0.4114651541949892 1.0000
|
99 |
+
H H25 1.0 0.40427502989024366 0.9922147558967178 0.4223759572337825 1.0000
|
100 |
+
C C34 1.0 0.2800995094083789 0.09333968877736865 0.4202079011847202 1.0000
|
101 |
+
H H26 1.0 0.22583136584729124 0.0357866447309575 0.4380555929366669 1.0000
|
102 |
+
H H27 1.0 0.8927125468323371 0.08706789685201123 0.35471103015530164 1.0000
|
103 |
+
C C35 1.0 0.8427089903043081 0.3728745776958487 0.3583665559774094 1.0000
|
104 |
+
C C36 1.0 0.9360053620251294 0.33625198957211 0.33171135136525254 1.0000
|
105 |
+
H H28 1.0 0.9951005840695855 0.3877693645574885 0.31063325530424696 1.0000
|
106 |
+
Br Br3 1.0 0.6400247702915238 0.3556931982826356 0.42009103215509896 1.0000
|
107 |
+
C C37 1.0 0.877433129923261 0.16683785028976206 0.3571832339149155 1.0000
|
108 |
+
C C38 1.0 0.7838087688959037 0.2031015232983776 0.38363901688186314 1.0000
|
109 |
+
H H29 1.0 0.723997773750926 0.15213075371026252 0.40328266801719487 1.0000
|
110 |
+
C C39 1.0 0.7676766922086116 0.3057525964775641 0.3842252287422828 1.0000
|
111 |
+
O O9 1.0 0.35418438606156416 0.4321925168337306 0.38140471043720314 1.0000
|
112 |
+
H H30 1.0 0.828243913597031 0.4526472539395527 0.3585904002479444 1.0000
|
113 |
+
S S4 1.0 0.18441039768771228 0.9275461529470431 0.7058790442100105 1.0000
|
114 |
+
O O10 1.0 0.07344267496379653 0.9372220992434028 0.7118944454476168 1.0000
|
115 |
+
O O11 1.0 0.386541679839588 0.7938257294941448 0.6674184688671658 1.0000
|
116 |
+
N N4 1.0 0.36841848556412116 0.7094294676765264 0.6356148107273412 1.0000
|
117 |
+
C C40 1.0 0.23354288051398545 0.04722194744393815 0.6675593032033508 1.0000
|
118 |
+
C C41 1.0 0.2098909182798172 0.8637010100550786 0.5851918896915079 1.0000
|
119 |
+
H H31 1.0 0.28607307828820305 0.8828132168696473 0.56439516992977 1.0000
|
120 |
+
H H32 1.0 0.15614816441029666 0.8990216567280933 0.5355896865850751 1.0000
|
121 |
+
C C42 1.0 0.1908867521763669 0.7547742291758802 0.5945028103134679 1.0000
|
122 |
+
C C43 1.0 0.2632314967098247 0.6823975071369104 0.6178186199388498 1.0000
|
123 |
+
C C44 1.0 0.24030219310657253 0.5812093405094393 0.6244173001548903 1.0000
|
124 |
+
H H33 1.0 0.29993622999766906 0.5289766916653209 0.6408330574312303 1.0000
|
125 |
+
C C45 1.0 0.14269398276685819 0.5496372088965512 0.6108190064316199 1.0000
|
126 |
+
H H34 1.0 0.12432794471698216 0.4709107389129744 0.6174789961273085 1.0000
|
127 |
+
C C46 1.0 0.06901534905387852 0.6195186980453679 0.5885350183408582 1.0000
|
128 |
+
H H35 1.0 0.9922147558967178 0.5957249701097564 0.5776242153020649 1.0000
|
129 |
+
C C47 1.0 0.09333968877736865 0.7199004905916212 0.5797922713511272 1.0000
|
130 |
+
H H36 1.0 0.0357866447309575 0.7741686341527089 0.5619445795991804 1.0000
|
131 |
+
H H37 1.0 0.08706789685201123 0.10728745316766286 0.6452891423805457 1.0000
|
132 |
+
C C48 1.0 0.3728745776958487 0.15729100969569187 0.6416336165584379 1.0000
|
133 |
+
C C49 1.0 0.33625198957211 0.0639946379748706 0.6682888211705948 1.0000
|
134 |
+
H H38 1.0 0.3877693645574885 0.004899415930414541 0.6893669172316004 1.0000
|
135 |
+
Br Br4 1.0 0.3556931982826356 0.3599752297084762 0.5799091403807484 1.0000
|
136 |
+
C C50 1.0 0.16683785028976206 0.12256687007673928 0.6428169386209319 1.0000
|
137 |
+
C C51 1.0 0.2031015232983776 0.21619123110409633 0.6163611556539842 1.0000
|
138 |
+
H H39 1.0 0.15213075371026252 0.276002226249074 0.5967175045186525 1.0000
|
139 |
+
C C52 1.0 0.3057525964775641 0.23232330779138866 0.6157749437935646 1.0000
|
140 |
+
O O12 1.0 0.4321925168337306 0.645815613938436 0.6185954620986442 1.0000
|
141 |
+
H H40 1.0 0.4526472539395527 0.17175608640296902 0.6414097722879029 1.0000
|
142 |
+
S S5 1.0 0.427546152947043 0.6844103976877124 0.2058790442100104 1.0000
|
143 |
+
O O13 1.0 0.43722209924340266 0.5734426749637965 0.21189444544761685 1.0000
|
144 |
+
O O14 1.0 0.29382572949414465 0.886541679839588 0.1674184688671658 1.0000
|
145 |
+
N N5 1.0 0.2094294676765263 0.8684184855641212 0.1356148107273411 1.0000
|
146 |
+
C C53 1.0 0.5472219474439382 0.7335428805139854 0.16755930320335088 1.0000
|
147 |
+
C C54 1.0 0.3637010100550786 0.7098909182798173 0.08519188969150808 1.0000
|
148 |
+
H H41 1.0 0.38281321686964725 0.786073078288203 0.06439516992977005 1.0000
|
149 |
+
H H42 1.0 0.39902165672809314 0.6561481644102967 0.03558968658507505 1.0000
|
150 |
+
C C55 1.0 0.25477422917588033 0.6908867521763669 0.09450281031346801 1.0000
|
151 |
+
C C56 1.0 0.1823975071369104 0.7632314967098247 0.11781861993884989 1.0000
|
152 |
+
C C57 1.0 0.08120934050943918 0.7403021931065726 0.12441730015489026 1.0000
|
153 |
+
H H43 1.0 0.02897669166532091 0.799936229997669 0.14083305743123042 1.0000
|
154 |
+
C C58 1.0 0.04963720889655133 0.6426939827668582 0.1108190064316199 1.0000
|
155 |
+
H H44 1.0 0.9709107389129743 0.6243279447169823 0.1174789961273085 1.0000
|
156 |
+
C C59 1.0 0.11951869804536797 0.5690153490538785 0.0885350183408582 1.0000
|
157 |
+
H H45 1.0 0.09572497010975622 0.4922147558967178 0.07762421530206486 1.0000
|
158 |
+
C C60 1.0 0.2199004905916211 0.5933396887773688 0.07979227135112721 1.0000
|
159 |
+
H H46 1.0 0.27416863415270876 0.5357866447309575 0.061944579599180476 1.0000
|
160 |
+
H H47 1.0 0.6072874531676629 0.5870678968520112 0.1452891423805457 1.0000
|
161 |
+
C C61 1.0 0.6572910096956919 0.8728745776958486 0.14163361655843795 1.0000
|
162 |
+
C C62 1.0 0.5639946379748706 0.83625198957211 0.16828882117059485 1.0000
|
163 |
+
H H48 1.0 0.5048994159304145 0.8877693645574886 0.18936691723160043 1.0000
|
164 |
+
Br Br5 1.0 0.8599752297084763 0.8556931982826356 0.07990914038074841 1.0000
|
165 |
+
C C63 1.0 0.6225668700767392 0.6668378502897622 0.14281693862093187 1.0000
|
166 |
+
C C64 1.0 0.7161912311040964 0.7031015232983776 0.11636115565398424 1.0000
|
167 |
+
H H49 1.0 0.776002226249074 0.6521307537102625 0.09671750451865246 1.0000
|
168 |
+
C C65 1.0 0.7323233077913884 0.8057525964775641 0.11577494379356457 1.0000
|
169 |
+
O O15 1.0 0.1458156139384359 0.9321925168337307 0.11859546209864419 1.0000
|
170 |
+
H H50 1.0 0.671756086402969 0.9526472539395526 0.1414097722879029 1.0000
|
171 |
+
S S6 1.0 0.3155896023122877 0.427546152947043 0.7941211283258368 1.0000
|
172 |
+
O O16 1.0 0.4265573250362036 0.43722209924340266 0.7881057270882305 1.0000
|
173 |
+
O O17 1.0 0.11345832016041202 0.29382572949414465 0.8325817036686816 1.0000
|
174 |
+
N N6 1.0 0.13158151443587895 0.2094294676765263 0.8643853618085062 1.0000
|
175 |
+
C C66 1.0 0.2664571194860146 0.5472219474439382 0.8324408693324965 1.0000
|
176 |
+
C C67 1.0 0.29010908172018285 0.3637010100550786 0.9148082828443393 1.0000
|
177 |
+
H H51 1.0 0.21392692171179695 0.38281321686964725 0.9356050026060773 1.0000
|
178 |
+
H H52 1.0 0.34385183558970334 0.39902165672809314 0.9644104859507722 1.0000
|
179 |
+
C C68 1.0 0.30911324782363314 0.25477422917588033 0.9054973622223793 1.0000
|
180 |
+
C C69 1.0 0.2367685032901754 0.1823975071369104 0.8821815525969975 1.0000
|
181 |
+
C C70 1.0 0.25969780689342753 0.08120934050943918 0.875582872380957 1.0000
|
182 |
+
H H53 1.0 0.2000637700023309 0.02897669166532091 0.859167115104617 1.0000
|
183 |
+
C C71 1.0 0.3573060172331419 0.04963720889655133 0.8891811661042275 1.0000
|
184 |
+
H H54 1.0 0.37567205528301795 0.9709107389129743 0.8825211764085389 1.0000
|
185 |
+
C C72 1.0 0.4309846509461215 0.11951869804536797 0.9114651541949892 1.0000
|
186 |
+
H H55 1.0 0.5077852441032822 0.09572497010975622 0.9223759572337825 1.0000
|
187 |
+
C C73 1.0 0.4066603112226313 0.2199004905916211 0.9202079011847202 1.0000
|
188 |
+
H H56 1.0 0.4642133552690426 0.27416863415270876 0.9380555929366668 1.0000
|
189 |
+
H H57 1.0 0.41293210314798895 0.6072874531676629 0.8547110301553016 1.0000
|
190 |
+
C C74 1.0 0.12712542230415136 0.6572910096956919 0.8583665559774093 1.0000
|
191 |
+
C C75 1.0 0.1637480104278901 0.5639946379748706 0.8317113513652525 1.0000
|
192 |
+
H H58 1.0 0.11223063544251156 0.5048994159304145 0.8106332553042469 1.0000
|
193 |
+
Br Br6 1.0 0.14430680171736432 0.8599752297084763 0.9200910321550989 1.0000
|
194 |
+
C C76 1.0 0.33316214971023794 0.6225668700767392 0.8571832339149155 1.0000
|
195 |
+
C C77 1.0 0.2968984767016223 0.7161912311040964 0.8836390168818631 1.0000
|
196 |
+
H H59 1.0 0.3478692462897375 0.776002226249074 0.9032826680171948 1.0000
|
197 |
+
C C78 1.0 0.194247403522436 0.7323233077913884 0.8842252287422828 1.0000
|
198 |
+
O O18 1.0 0.06780748316626939 0.1458156139384359 0.8814047104372031 1.0000
|
199 |
+
H H60 1.0 0.04735274606044726 0.671756086402969 0.8585904002479444 1.0000
|
200 |
+
S S7 1.0 0.5724538470529569 0.3155896023122877 0.2058790442100104 1.0000
|
201 |
+
O O19 1.0 0.5627779007565973 0.4265573250362036 0.21189444544761685 1.0000
|
202 |
+
O O20 1.0 0.7061742705058554 0.11345832016041202 0.1674184688671658 1.0000
|
203 |
+
N N7 1.0 0.7905705323234737 0.13158151443587895 0.1356148107273411 1.0000
|
204 |
+
C C79 1.0 0.45277805255606185 0.2664571194860146 0.16755930320335088 1.0000
|
205 |
+
C C80 1.0 0.6362989899449214 0.29010908172018285 0.08519188969150808 1.0000
|
206 |
+
H H61 1.0 0.6171867831303527 0.21392692171179695 0.06439516992977005 1.0000
|
207 |
+
H H62 1.0 0.6009783432719068 0.34385183558970334 0.03558968658507505 1.0000
|
208 |
+
C C81 1.0 0.7452257708241198 0.30911324782363314 0.09450281031346801 1.0000
|
209 |
+
C C82 1.0 0.8176024928630897 0.2367685032901754 0.11781861993884989 1.0000
|
210 |
+
C C83 1.0 0.9187906594905607 0.25969780689342753 0.12441730015489026 1.0000
|
211 |
+
H H63 1.0 0.9710233083346791 0.2000637700023309 0.14083305743123042 1.0000
|
212 |
+
C C84 1.0 0.9503627911034489 0.3573060172331419 0.1108190064316199 1.0000
|
213 |
+
H H64 1.0 0.029089261087025697 0.37567205528301795 0.1174789961273085 1.0000
|
214 |
+
C C85 1.0 0.8804813019546321 0.4309846509461215 0.0885350183408582 1.0000
|
215 |
+
H H65 1.0 0.9042750298902437 0.5077852441032822 0.07762421530206486 1.0000
|
216 |
+
C C86 1.0 0.7800995094083789 0.4066603112226313 0.07979227135112721 1.0000
|
217 |
+
H H66 1.0 0.7258313658472912 0.4642133552690426 0.061944579599180476 1.0000
|
218 |
+
H H67 1.0 0.39271254683233714 0.41293210314798895 0.1452891423805457 1.0000
|
219 |
+
C C87 1.0 0.3427089903043081 0.12712542230415136 0.14163361655843795 1.0000
|
220 |
+
C C88 1.0 0.43600536202512946 0.1637480104278901 0.16828882117059485 1.0000
|
221 |
+
H H68 1.0 0.49510058406958546 0.11223063544251156 0.18936691723160043 1.0000
|
222 |
+
Br Br7 1.0 0.14002477029152383 0.14430680171736432 0.07990914038074841 1.0000
|
223 |
+
C C89 1.0 0.377433129923261 0.33316214971023794 0.14281693862093187 1.0000
|
224 |
+
C C90 1.0 0.2838087688959037 0.2968984767016223 0.11636115565398424 1.0000
|
225 |
+
H H69 1.0 0.22399777375092603 0.3478692462897375 0.09671750451865246 1.0000
|
226 |
+
C C91 1.0 0.26767669220861157 0.194247403522436 0.11577494379356457 1.0000
|
227 |
+
O O21 1.0 0.8541843860615641 0.06780748316626939 0.11859546209864419 1.0000
|
228 |
+
H H70 1.0 0.32824391359703103 0.04735274606044726 0.1414097722879029 1.0000
|
229 |
+
S S8 1.0 0.6844103976877124 0.5724538470529569 0.7941211283258368 1.0000
|
230 |
+
O O22 1.0 0.5734426749637965 0.5627779007565973 0.7881057270882305 1.0000
|
231 |
+
O O23 1.0 0.886541679839588 0.7061742705058554 0.8325817036686816 1.0000
|
232 |
+
N N8 1.0 0.8684184855641212 0.7905705323234737 0.8643853618085062 1.0000
|
233 |
+
C C92 1.0 0.7335428805139854 0.45277805255606185 0.8324408693324965 1.0000
|
234 |
+
C C93 1.0 0.7098909182798173 0.6362989899449214 0.9148082828443393 1.0000
|
235 |
+
H H71 1.0 0.786073078288203 0.6171867831303527 0.9356050026060773 1.0000
|
236 |
+
H H72 1.0 0.6561481644102967 0.6009783432719068 0.9644104859507722 1.0000
|
237 |
+
C C94 1.0 0.6908867521763669 0.7452257708241198 0.9054973622223793 1.0000
|
238 |
+
C C95 1.0 0.7632314967098247 0.8176024928630897 0.8821815525969975 1.0000
|
239 |
+
C C96 1.0 0.7403021931065726 0.9187906594905607 0.875582872380957 1.0000
|
240 |
+
H H73 1.0 0.799936229997669 0.9710233083346791 0.859167115104617 1.0000
|
241 |
+
C C97 1.0 0.6426939827668582 0.9503627911034489 0.8891811661042275 1.0000
|
242 |
+
H H74 1.0 0.6243279447169823 0.029089261087025697 0.8825211764085389 1.0000
|
243 |
+
C C98 1.0 0.5690153490538785 0.8804813019546321 0.9114651541949892 1.0000
|
244 |
+
H H75 1.0 0.4922147558967178 0.9042750298902437 0.9223759572337825 1.0000
|
245 |
+
C C99 1.0 0.5933396887773688 0.7800995094083789 0.9202079011847202 1.0000
|
246 |
+
H H76 1.0 0.5357866447309575 0.7258313658472912 0.9380555929366668 1.0000
|
247 |
+
H H77 1.0 0.5870678968520112 0.39271254683233714 0.8547110301553016 1.0000
|
248 |
+
C C100 1.0 0.8728745776958486 0.3427089903043081 0.8583665559774093 1.0000
|
249 |
+
C C101 1.0 0.83625198957211 0.43600536202512946 0.8317113513652525 1.0000
|
250 |
+
H H78 1.0 0.8877693645574886 0.49510058406958546 0.8106332553042469 1.0000
|
251 |
+
Br Br8 1.0 0.8556931982826356 0.14002477029152383 0.9200910321550989 1.0000
|
252 |
+
C C102 1.0 0.6668378502897622 0.377433129923261 0.8571832339149155 1.0000
|
253 |
+
C C103 1.0 0.7031015232983776 0.2838087688959037 0.8836390168818631 1.0000
|
254 |
+
H H79 1.0 0.6521307537102625 0.22399777375092603 0.9032826680171948 1.0000
|
255 |
+
C C104 1.0 0.8057525964775641 0.26767669220861157 0.8842252287422828 1.0000
|
256 |
+
O O24 1.0 0.9321925168337307 0.8541843860615641 0.8814047104372031 1.0000
|
257 |
+
H H80 1.0 0.9526472539395526 0.32824391359703103 0.8585904002479444 1.0000
|
examples/protein.pdb
ADDED
@@ -0,0 +1,755 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
CRYST1 27.285 19.353 21.501 90.00 90.00 90.00 P 1
|
2 |
+
MODEL 1
|
3 |
+
ATOM 1 N ILE 1 4.769 7.706 15.234 1.00 1.36 N
|
4 |
+
ATOM 2 CA ILE 1 5.318 7.181 13.957 1.00 0.28 C
|
5 |
+
ATOM 3 C ILE 1 6.145 8.241 13.237 1.00 0.30 C
|
6 |
+
ATOM 4 O ILE 1 5.612 9.248 12.771 1.00 0.55 O
|
7 |
+
ATOM 5 CB ILE 1 4.190 6.704 13.019 1.00 1.48 C
|
8 |
+
ATOM 6 CG1 ILE 1 3.351 5.624 13.706 1.00 1.64 C
|
9 |
+
ATOM 7 CG2 ILE 1 4.770 6.184 11.711 1.00 2.51 C
|
10 |
+
ATOM 8 CD1 ILE 1 2.117 5.224 12.922 1.00 2.53 C
|
11 |
+
ATOM 9 H1 ILE 1 4.128 8.502 15.046 1.00 1.90 H
|
12 |
+
ATOM 10 H2 ILE 1 5.541 8.033 15.848 1.00 1.95 H
|
13 |
+
ATOM 11 H3 ILE 1 4.242 6.959 15.730 1.00 1.91 H
|
14 |
+
ATOM 12 HA ILE 1 5.954 6.336 14.182 1.00 1.02 H
|
15 |
+
ATOM 13 HB ILE 1 3.559 7.550 12.792 1.00 2.12 H
|
16 |
+
ATOM 14 HG12 ILE 1 3.955 4.739 13.841 1.00 1.76 H
|
17 |
+
ATOM 15 HG13 ILE 1 3.030 5.986 14.671 1.00 1.90 H
|
18 |
+
ATOM 16 HG21 ILE 1 3.968 5.865 11.062 1.00 3.01 H
|
19 |
+
ATOM 17 HG22 ILE 1 5.423 5.348 11.913 1.00 2.95 H
|
20 |
+
ATOM 18 HG23 ILE 1 5.332 6.970 11.228 1.00 2.97 H
|
21 |
+
ATOM 19 HD11 ILE 1 2.412 4.823 11.966 1.00 2.80 H
|
22 |
+
ATOM 20 HD12 ILE 1 1.491 6.092 12.771 1.00 3.03 H
|
23 |
+
ATOM 21 HD13 ILE 1 1.567 4.476 13.474 1.00 3.02 H
|
24 |
+
ATOM 22 N LYS 2 7.451 8.007 13.152 1.00 0.08 N
|
25 |
+
ATOM 23 CA LYS 2 8.350 8.942 12.484 1.00 0.07 C
|
26 |
+
ATOM 24 C LYS 2 8.153 8.903 10.970 1.00 0.08 C
|
27 |
+
ATOM 25 O LYS 2 8.090 7.830 10.369 1.00 0.09 O
|
28 |
+
ATOM 26 CB LYS 2 9.812 8.619 12.813 1.00 0.08 C
|
29 |
+
ATOM 27 CG LYS 2 10.200 8.880 14.260 1.00 0.11 C
|
30 |
+
ATOM 28 CD LYS 2 11.632 8.440 14.552 1.00 0.12 C
|
31 |
+
ATOM 29 CE LYS 2 11.713 6.946 14.820 1.00 0.62 C
|
32 |
+
ATOM 30 NZ LYS 2 11.445 6.137 13.600 1.00 1.15 N
|
33 |
+
ATOM 31 H LYS 2 7.818 7.190 13.548 1.00 0.19 H
|
34 |
+
ATOM 32 HA LYS 2 8.121 9.935 12.839 1.00 0.09 H
|
35 |
+
ATOM 33 HB2 LYS 2 9.996 7.577 12.597 1.00 0.10 H
|
36 |
+
ATOM 34 HB3 LYS 2 10.448 9.221 12.180 1.00 0.10 H
|
37 |
+
ATOM 35 HG2 LYS 2 10.113 9.939 14.459 1.00 0.13 H
|
38 |
+
ATOM 36 HG3 LYS 2 9.528 8.334 14.905 1.00 0.12 H
|
39 |
+
ATOM 37 HD2 LYS 2 12.262 8.678 13.700 1.00 0.56 H
|
40 |
+
ATOM 38 HD3 LYS 2 11.990 8.972 15.421 1.00 0.49 H
|
41 |
+
ATOM 39 HE2 LYS 2 12.703 6.714 15.183 1.00 1.15 H
|
42 |
+
ATOM 40 HE3 LYS 2 10.987 6.690 15.578 1.00 1.06 H
|
43 |
+
ATOM 41 HZ1 LYS 2 12.140 6.362 12.860 1.00 1.67 H
|
44 |
+
ATOM 42 HZ2 LYS 2 10.492 6.339 13.240 1.00 1.71 H
|
45 |
+
ATOM 43 HZ3 LYS 2 11.510 5.123 13.823 1.00 1.58 H
|
46 |
+
ATOM 44 N LYS 3 8.050 10.080 10.364 1.00 0.08 N
|
47 |
+
ATOM 45 CA LYS 3 7.886 10.189 8.922 1.00 0.09 C
|
48 |
+
ATOM 46 C LYS 3 9.237 10.505 8.308 1.00 0.06 C
|
49 |
+
ATOM 47 O LYS 3 9.838 9.674 7.627 1.00 0.07 O
|
50 |
+
ATOM 48 CB LYS 3 6.873 11.280 8.573 1.00 0.12 C
|
51 |
+
ATOM 49 CG LYS 3 5.495 11.049 9.176 1.00 0.17 C
|
52 |
+
ATOM 50 CD LYS 3 4.537 12.181 8.840 1.00 0.70 C
|
53 |
+
ATOM 51 CE LYS 3 4.204 12.213 7.356 1.00 1.36 C
|
54 |
+
ATOM 52 NZ LYS 3 3.564 10.947 6.902 1.00 2.00 N
|
55 |
+
ATOM 53 H LYS 3 8.100 10.899 10.897 1.00 0.09 H
|
56 |
+
ATOM 54 HA LYS 3 7.537 9.237 8.547 1.00 0.11 H
|
57 |
+
ATOM 55 HB2 LYS 3 7.244 12.228 8.933 1.00 0.12 H
|
58 |
+
ATOM 56 HB3 LYS 3 6.768 11.329 7.499 1.00 0.13 H
|
59 |
+
ATOM 57 HG2 LYS 3 5.093 10.124 8.787 1.00 0.62 H
|
60 |
+
ATOM 58 HG3 LYS 3 5.592 10.978 10.250 1.00 0.55 H
|
61 |
+
ATOM 59 HD2 LYS 3 3.623 12.043 9.398 1.00 1.30 H
|
62 |
+
ATOM 60 HD3 LYS 3 4.993 13.120 9.118 1.00 1.35 H
|
63 |
+
ATOM 61 HE2 LYS 3 3.530 13.035 7.168 1.00 1.96 H
|
64 |
+
ATOM 62 HE3 LYS 3 5.118 12.363 6.799 1.00 1.95 H
|
65 |
+
ATOM 63 HZ1 LYS 3 2.678 10.785 7.424 1.00 2.29 H
|
66 |
+
ATOM 64 HZ2 LYS 3 4.203 10.144 7.070 1.00 2.50 H
|
67 |
+
ATOM 65 HZ3 LYS 3 3.350 11.000 5.886 1.00 2.53 H
|
68 |
+
ATOM 66 N ILE 4 9.708 11.720 8.555 1.00 0.05 N
|
69 |
+
ATOM 67 CA ILE 4 11.010 12.144 8.083 1.00 0.05 C
|
70 |
+
ATOM 68 C ILE 4 12.047 11.833 9.147 1.00 0.05 C
|
71 |
+
ATOM 69 O ILE 4 13.197 11.517 8.848 1.00 0.09 O
|
72 |
+
ATOM 70 CB ILE 4 11.030 13.652 7.757 1.00 0.09 C
|
73 |
+
ATOM 71 CG1 ILE 4 10.008 13.981 6.663 1.00 0.13 C
|
74 |
+
ATOM 72 CG2 ILE 4 12.427 14.093 7.340 1.00 0.11 C
|
75 |
+
ATOM 73 CD1 ILE 4 10.257 13.267 5.350 1.00 0.56 C
|
76 |
+
ATOM 74 H ILE 4 9.163 12.351 9.072 1.00 0.07 H
|
77 |
+
ATOM 75 HA ILE 4 11.245 11.586 7.191 1.00 0.05 H
|
78 |
+
ATOM 76 HB ILE 4 10.765 14.185 8.656 1.00 0.11 H
|
79 |
+
ATOM 77 HG12 ILE 4 9.023 13.704 7.007 1.00 0.46 H
|
80 |
+
ATOM 78 HG13 ILE 4 10.029 15.045 6.472 1.00 0.43 H
|
81 |
+
ATOM 79 HG21 ILE 4 12.728 13.551 6.456 1.00 0.97 H
|
82 |
+
ATOM 80 HG22 ILE 4 13.123 13.890 8.141 1.00 1.02 H
|
83 |
+
ATOM 81 HG23 ILE 4 12.422 15.152 7.128 1.00 1.01 H
|
84 |
+
ATOM 82 HD11 ILE 4 11.232 13.537 4.974 1.00 1.20 H
|
85 |
+
ATOM 83 HD12 ILE 4 9.502 13.555 4.635 1.00 1.04 H
|
86 |
+
ATOM 84 HD13 ILE 4 10.215 12.200 5.508 1.00 1.09 H
|
87 |
+
ATOM 85 N LEU 5 11.613 11.920 10.403 1.00 0.05 N
|
88 |
+
ATOM 86 CA LEU 5 12.471 11.633 11.540 1.00 0.07 C
|
89 |
+
ATOM 87 C LEU 5 12.819 10.151 11.573 1.00 0.06 C
|
90 |
+
ATOM 88 O LEU 5 13.675 9.721 12.340 1.00 0.08 O
|
91 |
+
ATOM 89 CB LEU 5 11.776 12.042 12.842 1.00 0.09 C
|
92 |
+
ATOM 90 CG LEU 5 11.696 13.548 13.103 1.00 0.26 C
|
93 |
+
ATOM 91 CD1 LEU 5 10.978 14.260 11.970 1.00 1.43 C
|
94 |
+
ATOM 92 CD2 LEU 5 10.989 13.814 14.421 1.00 1.25 C
|
95 |
+
ATOM 93 H LEU 5 10.684 12.189 10.567 1.00 0.06 H
|
96 |
+
ATOM 94 HA LEU 5 13.378 12.205 11.427 1.00 0.08 H
|
97 |
+
ATOM 95 HB2 LEU 5 10.771 11.647 12.826 1.00 0.16 H
|
98 |
+
ATOM 96 HB3 LEU 5 12.307 11.588 13.661 1.00 0.14 H
|
99 |
+
ATOM 97 HG LEU 5 12.696 13.951 13.173 1.00 1.14 H
|
100 |
+
ATOM 98 HD11 LEU 5 11.554 14.161 11.063 1.00 2.10 H
|
101 |
+
ATOM 99 HD12 LEU 5 10.864 15.304 12.213 1.00 1.95 H
|
102 |
+
ATOM 100 HD13 LEU 5 10.004 13.815 11.827 1.00 1.99 H
|
103 |
+
ATOM 101 HD21 LEU 5 10.000 13.383 14.388 1.00 1.86 H
|
104 |
+
ATOM 102 HD22 LEU 5 10.914 14.878 14.581 1.00 1.80 H
|
105 |
+
ATOM 103 HD23 LEU 5 11.550 13.366 15.227 1.00 1.89 H
|
106 |
+
ATOM 104 N SER 6 12.132 9.374 10.736 1.00 0.05 N
|
107 |
+
ATOM 105 CA SER 6 12.359 7.934 10.651 1.00 0.06 C
|
108 |
+
ATOM 106 C SER 6 13.630 7.656 9.866 1.00 0.07 C
|
109 |
+
ATOM 107 O SER 6 14.596 7.112 10.402 1.00 0.09 O
|
110 |
+
ATOM 108 CB SER 6 11.170 7.241 9.985 1.00 0.07 C
|
111 |
+
ATOM 109 OG SER 6 11.405 5.850 9.840 1.00 0.10 O
|
112 |
+
ATOM 110 H SER 6 11.463 9.785 10.152 1.00 0.04 H
|
113 |
+
ATOM 111 HA SER 6 12.476 7.555 11.655 1.00 0.07 H
|
114 |
+
ATOM 112 HB2 SER 6 10.290 7.381 10.595 1.00 0.10 H
|
115 |
+
ATOM 113 HB3 SER 6 11.003 7.671 9.008 1.00 0.09 H
|
116 |
+
ATOM 114 HG SER 6 12.184 5.713 9.297 1.00 0.91 H
|
117 |
+
ATOM 115 N LYS 7 13.621 8.024 8.587 1.00 0.08 N
|
118 |
+
ATOM 116 CA LYS 7 14.791 7.845 7.742 1.00 0.10 C
|
119 |
+
ATOM 117 C LYS 7 15.961 8.580 8.376 1.00 0.10 C
|
120 |
+
ATOM 118 O LYS 7 17.125 8.244 8.160 1.00 0.12 O
|
121 |
+
ATOM 119 CB LYS 7 14.527 8.378 6.333 1.00 0.13 C
|
122 |
+
ATOM 120 CG LYS 7 14.215 9.869 6.295 1.00 0.15 C
|
123 |
+
ATOM 121 CD LYS 7 13.850 10.335 4.893 1.00 0.21 C
|
124 |
+
ATOM 122 CE LYS 7 15.026 10.223 3.936 1.00 1.35 C
|
125 |
+
ATOM 123 NZ LYS 7 14.702 10.781 2.594 1.00 2.09 N
|
126 |
+
ATOM 124 H LYS 7 12.811 8.426 8.207 1.00 0.08 H
|
127 |
+
ATOM 125 HA LYS 7 15.016 6.789 7.693 1.00 0.11 H
|
128 |
+
ATOM 126 HB2 LYS 7 15.401 8.201 5.722 1.00 0.17 H
|
129 |
+
ATOM 127 HB3 LYS 7 13.688 7.847 5.908 1.00 0.14 H
|
130 |
+
ATOM 128 HG2 LYS 7 13.385 10.068 6.956 1.00 0.19 H
|
131 |
+
ATOM 129 HG3 LYS 7 15.085 10.415 6.630 1.00 0.18 H
|
132 |
+
ATOM 130 HD2 LYS 7 13.039 9.726 4.523 1.00 1.10 H
|
133 |
+
ATOM 131 HD3 LYS 7 13.534 11.366 4.941 1.00 1.04 H
|
134 |
+
ATOM 132 HE2 LYS 7 15.864 10.764 4.349 1.00 2.08 H
|
135 |
+
ATOM 133 HE3 LYS 7 15.290 9.180 3.830 1.00 1.93 H
|
136 |
+
ATOM 134 HZ1 LYS 7 14.450 11.787 2.676 1.00 2.64 H
|
137 |
+
ATOM 135 HZ2 LYS 7 13.901 10.267 2.177 1.00 2.54 H
|
138 |
+
ATOM 136 HZ3 LYS 7 15.524 10.690 1.962 1.00 2.44 H
|
139 |
+
ATOM 137 N ILE 8 15.617 9.590 9.168 1.00 0.09 N
|
140 |
+
ATOM 138 CA ILE 8 16.598 10.397 9.879 1.00 0.10 C
|
141 |
+
ATOM 139 C ILE 8 17.063 9.692 11.155 1.00 0.08 C
|
142 |
+
ATOM 140 O ILE 8 18.226 9.794 11.540 1.00 0.08 O
|
143 |
+
ATOM 141 CB ILE 8 16.005 11.774 10.239 1.00 0.11 C
|
144 |
+
ATOM 142 CG1 ILE 8 15.951 12.676 8.999 1.00 0.13 C
|
145 |
+
ATOM 143 CG2 ILE 8 16.806 12.434 11.350 1.00 0.11 C
|
146 |
+
ATOM 144 CD1 ILE 8 17.311 12.986 8.404 1.00 0.16 C
|
147 |
+
ATOM 145 H ILE 8 14.662 9.806 9.272 1.00 0.09 H
|
148 |
+
ATOM 146 HA ILE 8 17.447 10.549 9.230 1.00 0.12 H
|
149 |
+
ATOM 147 HB ILE 8 14.996 11.615 10.601 1.00 0.10 H
|
150 |
+
ATOM 148 HG12 ILE 8 15.361 12.192 8.236 1.00 0.13 H
|
151 |
+
ATOM 149 HG13 ILE 8 15.484 13.614 9.265 1.00 0.14 H
|
152 |
+
ATOM 150 HG21 ILE 8 17.853 12.431 11.087 1.00 1.00 H
|
153 |
+
ATOM 151 HG22 ILE 8 16.663 11.884 12.269 1.00 1.01 H
|
154 |
+
ATOM 152 HG23 ILE 8 16.469 13.451 11.483 1.00 1.03 H
|
155 |
+
ATOM 153 HD11 ILE 8 17.919 13.491 9.140 1.00 1.01 H
|
156 |
+
ATOM 154 HD12 ILE 8 17.188 13.620 7.539 1.00 0.97 H
|
157 |
+
ATOM 155 HD13 ILE 8 17.793 12.066 8.110 1.00 1.05 H
|
158 |
+
ATOM 156 N LYS 9 16.140 8.987 11.805 1.00 0.08 N
|
159 |
+
ATOM 157 CA LYS 9 16.444 8.262 13.038 1.00 0.07 C
|
160 |
+
ATOM 158 C LYS 9 17.712 7.426 12.887 1.00 0.04 C
|
161 |
+
ATOM 159 O LYS 9 18.456 7.228 13.847 1.00 0.07 O
|
162 |
+
ATOM 160 CB LYS 9 15.275 7.354 13.421 1.00 0.11 C
|
163 |
+
ATOM 161 CG LYS 9 15.356 6.829 14.845 1.00 0.17 C
|
164 |
+
ATOM 162 CD LYS 9 14.879 5.387 14.939 1.00 0.31 C
|
165 |
+
ATOM 163 CE LYS 9 14.924 4.879 16.371 1.00 0.95 C
|
166 |
+
ATOM 164 NZ LYS 9 14.480 3.462 16.473 1.00 1.63 N
|
167 |
+
ATOM 165 H LYS 9 15.225 8.961 11.454 1.00 0.08 H
|
168 |
+
ATOM 166 HA LYS 9 16.595 8.987 13.820 1.00 0.10 H
|
169 |
+
ATOM 167 HB2 LYS 9 14.355 7.907 13.317 1.00 0.12 H
|
170 |
+
ATOM 168 HB3 LYS 9 15.253 6.509 12.749 1.00 0.12 H
|
171 |
+
ATOM 169 HG2 LYS 9 16.379 6.881 15.183 1.00 0.23 H
|
172 |
+
ATOM 170 HG3 LYS 9 14.732 7.445 15.478 1.00 0.20 H
|
173 |
+
ATOM 171 HD2 LYS 9 13.865 5.327 14.579 1.00 0.68 H
|
174 |
+
ATOM 172 HD3 LYS 9 15.520 4.767 14.328 1.00 0.74 H
|
175 |
+
ATOM 173 HE2 LYS 9 15.938 4.956 16.737 1.00 1.50 H
|
176 |
+
ATOM 174 HE3 LYS 9 14.277 5.495 16.977 1.00 1.67 H
|
177 |
+
ATOM 175 HZ1 LYS 9 15.096 2.852 15.898 1.00 1.93 H
|
178 |
+
ATOM 176 HZ2 LYS 9 13.502 3.368 16.130 1.00 2.14 H
|
179 |
+
ATOM 177 HZ3 LYS 9 14.520 3.144 17.462 1.00 2.25 H
|
180 |
+
ATOM 178 N LYS 10 17.947 6.937 11.674 1.00 0.06 N
|
181 |
+
ATOM 179 CA LYS 10 19.117 6.113 11.393 1.00 0.10 C
|
182 |
+
ATOM 180 C LYS 10 20.300 6.962 10.940 1.00 0.11 C
|
183 |
+
ATOM 181 O LYS 10 21.456 6.554 11.070 1.00 0.16 O
|
184 |
+
ATOM 182 CB LYS 10 18.785 5.066 10.327 1.00 0.15 C
|
185 |
+
ATOM 183 CG LYS 10 17.736 4.060 10.772 1.00 0.20 C
|
186 |
+
ATOM 184 CD LYS 10 17.405 3.065 9.670 1.00 0.28 C
|
187 |
+
ATOM 185 CE LYS 10 16.672 3.732 8.517 1.00 1.21 C
|
188 |
+
ATOM 186 NZ LYS 10 15.384 4.335 8.953 1.00 2.02 N
|
189 |
+
ATOM 187 H LYS 10 17.321 7.144 10.948 1.00 0.07 H
|
190 |
+
ATOM 188 HA LYS 10 19.387 5.605 12.306 1.00 0.10 H
|
191 |
+
ATOM 189 HB2 LYS 10 18.418 5.571 9.445 1.00 0.15 H
|
192 |
+
ATOM 190 HB3 LYS 10 19.685 4.527 10.074 1.00 0.20 H
|
193 |
+
ATOM 191 HG2 LYS 10 18.109 3.521 11.630 1.00 0.23 H
|
194 |
+
ATOM 192 HG3 LYS 10 16.835 4.593 11.045 1.00 0.19 H
|
195 |
+
ATOM 193 HD2 LYS 10 18.325 2.637 9.299 1.00 1.06 H
|
196 |
+
ATOM 194 HD3 LYS 10 16.782 2.284 10.078 1.00 0.95 H
|
197 |
+
ATOM 195 HE2 LYS 10 17.301 4.508 8.107 1.00 1.88 H
|
198 |
+
ATOM 196 HE3 LYS 10 16.476 2.990 7.755 1.00 1.79 H
|
199 |
+
ATOM 197 HZ1 LYS 10 15.551 5.263 9.390 1.00 2.60 H
|
200 |
+
ATOM 198 HZ2 LYS 10 14.914 3.716 9.646 1.00 2.39 H
|
201 |
+
ATOM 199 HZ3 LYS 10 14.752 4.458 8.135 1.00 2.43 H
|
202 |
+
ATOM 200 N LEU 11 20.008 8.143 10.406 1.00 0.08 N
|
203 |
+
ATOM 201 CA LEU 11 21.050 9.046 9.927 1.00 0.12 C
|
204 |
+
ATOM 202 C LEU 11 21.619 9.898 11.060 1.00 0.13 C
|
205 |
+
ATOM 203 O LEU 11 22.776 9.733 11.447 1.00 0.17 O
|
206 |
+
ATOM 204 CB LEU 11 20.502 9.947 8.817 1.00 0.13 C
|
207 |
+
ATOM 205 CG LEU 11 20.046 9.216 7.552 1.00 0.13 C
|
208 |
+
ATOM 206 CD1 LEU 11 19.395 10.190 6.582 1.00 0.16 C
|
209 |
+
ATOM 207 CD2 LEU 11 21.221 8.509 6.890 1.00 0.18 C
|
210 |
+
ATOM 208 H LEU 11 19.069 8.414 10.329 1.00 0.08 H
|
211 |
+
ATOM 209 HA LEU 11 21.846 8.439 9.520 1.00 0.16 H
|
212 |
+
ATOM 210 HB2 LEU 11 19.662 10.498 9.211 1.00 0.14 H
|
213 |
+
ATOM 211 HB3 LEU 11 21.274 10.649 8.540 1.00 0.15 H
|
214 |
+
ATOM 212 HG LEU 11 19.313 8.470 7.820 1.00 0.14 H
|
215 |
+
ATOM 213 HD11 LEU 11 19.053 9.653 5.709 1.00 1.00 H
|
216 |
+
ATOM 214 HD12 LEU 11 20.116 10.937 6.283 1.00 1.01 H
|
217 |
+
ATOM 215 HD13 LEU 11 18.556 10.669 7.062 1.00 1.06 H
|
218 |
+
ATOM 216 HD21 LEU 11 21.974 9.236 6.625 1.00 0.98 H
|
219 |
+
ATOM 217 HD22 LEU 11 20.879 8.002 6.000 1.00 0.96 H
|
220 |
+
ATOM 218 HD23 LEU 11 21.642 7.789 7.577 1.00 1.08 H
|
221 |
+
ATOM 219 N LEU 12 20.805 10.810 11.590 1.00 0.12 N
|
222 |
+
ATOM 220 CA LEU 12 21.249 11.684 12.674 1.00 0.16 C
|
223 |
+
ATOM 221 C LEU 12 20.242 11.722 13.822 1.00 0.18 C
|
224 |
+
ATOM 222 O LEU 12 20.523 11.228 14.914 1.00 0.26 O
|
225 |
+
ATOM 223 CB LEU 12 21.502 13.103 12.153 1.00 0.24 C
|
226 |
+
ATOM 224 CG LEU 12 20.502 13.609 11.110 1.00 0.19 C
|
227 |
+
ATOM 225 CD1 LEU 12 20.252 15.097 11.289 1.00 0.30 C
|
228 |
+
ATOM 226 CD2 LEU 12 21.010 13.319 9.706 1.00 0.24 C
|
229 |
+
ATOM 227 H LEU 12 19.891 10.895 11.245 1.00 0.10 H
|
230 |
+
ATOM 228 HA LEU 12 22.179 11.285 13.050 1.00 0.23 H
|
231 |
+
ATOM 229 HB2 LEU 12 21.484 13.779 12.997 1.00 0.40 H
|
232 |
+
ATOM 230 HB3 LEU 12 22.488 13.132 11.716 1.00 0.36 H
|
233 |
+
ATOM 231 HG LEU 12 19.562 13.093 11.242 1.00 0.24 H
|
234 |
+
ATOM 232 HD11 LEU 12 21.179 15.637 11.161 1.00 0.93 H
|
235 |
+
ATOM 233 HD12 LEU 12 19.863 15.282 12.280 1.00 1.07 H
|
236 |
+
ATOM 234 HD13 LEU 12 19.536 15.433 10.554 1.00 1.11 H
|
237 |
+
ATOM 235 HD21 LEU 12 21.899 13.901 9.516 1.00 0.98 H
|
238 |
+
ATOM 236 HD22 LEU 12 20.248 13.580 8.986 1.00 1.04 H
|
239 |
+
ATOM 237 HD23 LEU 12 21.242 12.268 9.618 1.00 1.08 H
|
240 |
+
ATOM 238 N LYS 13 19.073 12.313 13.571 1.00 0.24 N
|
241 |
+
ATOM 239 CA LYS 13 18.029 12.423 14.590 1.00 0.34 C
|
242 |
+
ATOM 240 C LYS 13 18.520 13.234 15.786 1.00 0.74 C
|
243 |
+
ATOM 241 O LYS 13 18.299 14.463 15.796 1.00 1.46 O
|
244 |
+
ATOM 242 CB LYS 13 17.570 11.035 15.046 1.00 0.26 C
|
245 |
+
ATOM 243 CG LYS 13 16.554 11.065 16.180 1.00 0.26 C
|
246 |
+
ATOM 244 CD LYS 13 15.205 11.595 15.720 1.00 0.77 C
|
247 |
+
ATOM 245 CE LYS 13 14.250 10.465 15.359 1.00 0.29 C
|
248 |
+
ATOM 246 NZ LYS 13 14.086 9.500 16.480 1.00 1.13 N
|
249 |
+
ATOM 247 OXT LYS 13 19.125 12.635 16.701 1.00 1.39 O
|
250 |
+
ATOM 248 H LYS 13 18.908 12.681 12.681 1.00 0.26 H
|
251 |
+
ATOM 249 HA LYS 13 17.191 12.939 14.144 1.00 0.60 H
|
252 |
+
ATOM 250 HB2 LYS 13 17.122 10.526 14.207 1.00 0.52 H
|
253 |
+
ATOM 251 HB3 LYS 13 18.431 10.473 15.378 1.00 0.49 H
|
254 |
+
ATOM 252 HG2 LYS 13 16.424 10.062 16.559 1.00 0.74 H
|
255 |
+
ATOM 253 HG3 LYS 13 16.931 11.701 16.968 1.00 0.63 H
|
256 |
+
ATOM 254 HD2 LYS 13 14.770 12.181 16.515 1.00 1.56 H
|
257 |
+
ATOM 255 HD3 LYS 13 15.353 12.218 14.850 1.00 1.50 H
|
258 |
+
ATOM 256 HE2 LYS 13 13.286 10.892 15.122 1.00 0.93 H
|
259 |
+
ATOM 257 HE3 LYS 13 14.632 9.942 14.496 1.00 0.64 H
|
260 |
+
ATOM 258 HZ1 LYS 13 13.705 9.986 17.318 1.00 1.65 H
|
261 |
+
ATOM 259 HZ2 LYS 13 15.003 9.077 16.727 1.00 1.80 H
|
262 |
+
ATOM 260 HZ3 LYS 13 13.431 8.740 16.206 1.00 1.60 H
|
263 |
+
ATOM 261 CL CL 1 9.897 9.251 3.567 1.00 0.00 CL
|
264 |
+
ATOM 262 O SPC 1 6.261 1.831 15.733 1.00 0.00 O
|
265 |
+
ATOM 263 H1 SPC 1 6.919 1.134 15.447 1.00 0.00 H
|
266 |
+
ATOM 264 H2 SPC 1 6.561 2.727 15.405 1.00 0.00 H
|
267 |
+
ATOM 265 CL CL 2 7.297 8.301 18.972 1.00 0.00 CL
|
268 |
+
ATOM 266 O SPC 2 5.298 13.416 16.279 1.00 0.00 O
|
269 |
+
ATOM 267 H1 SPC 2 4.303 13.510 16.233 1.00 0.00 H
|
270 |
+
ATOM 268 H2 SPC 2 5.652 13.988 17.019 1.00 0.00 H
|
271 |
+
ATOM 269 CL CL 3 26.559 3.463 7.601 1.00 0.00 CL
|
272 |
+
ATOM 270 O SPC 3 16.856 1.187 2.515 1.00 0.00 O
|
273 |
+
ATOM 271 H1 SPC 3 15.863 1.216 2.634 1.00 0.00 H
|
274 |
+
ATOM 272 H2 SPC 3 17.123 0.287 2.170 1.00 0.00 H
|
275 |
+
ATOM 273 CL CL 4 23.395 17.562 10.867 1.00 0.00 CL
|
276 |
+
ATOM 274 O SPC 4 18.956 17.830 1.634 1.00 0.00 O
|
277 |
+
ATOM 275 H1 SPC 4 19.856 17.797 1.200 1.00 0.00 H
|
278 |
+
ATOM 276 H2 SPC 4 19.055 17.682 2.618 1.00 0.00 H
|
279 |
+
ATOM 277 CL CL 5 21.358 18.733 6.168 1.00 0.00 CL
|
280 |
+
ATOM 278 O SPC 5 10.657 0.664 14.626 1.00 0.00 O
|
281 |
+
ATOM 279 H1 SPC 5 10.920 -0.198 14.193 1.00 0.00 H
|
282 |
+
ATOM 280 H2 SPC 5 11.426 1.018 15.158 1.00 0.00 H
|
283 |
+
ATOM 281 CL CL 6 6.667 5.421 2.438 1.00 0.00 CL
|
284 |
+
ATOM 282 O SPC 6 12.517 17.139 20.263 1.00 0.00 O
|
285 |
+
ATOM 283 H1 SPC 6 12.551 16.600 19.421 1.00 0.00 H
|
286 |
+
ATOM 284 H2 SPC 6 12.134 18.042 20.065 1.00 0.00 H
|
287 |
+
ATOM 285 O SPC 7 19.141 10.625 1.841 1.00 0.00 O
|
288 |
+
ATOM 286 H1 SPC 7 19.462 10.641 2.788 1.00 0.00 H
|
289 |
+
ATOM 287 H2 SPC 7 19.510 11.414 1.350 1.00 0.00 H
|
290 |
+
ATOM 288 O SPC 8 19.223 14.264 2.661 1.00 0.00 O
|
291 |
+
ATOM 289 H1 SPC 8 19.942 14.112 1.984 1.00 0.00 H
|
292 |
+
ATOM 290 H2 SPC 8 18.352 13.925 2.304 1.00 0.00 H
|
293 |
+
ATOM 291 O SPC 9 13.406 17.838 5.743 1.00 0.00 O
|
294 |
+
ATOM 292 H1 SPC 9 13.573 17.071 6.363 1.00 0.00 H
|
295 |
+
ATOM 293 H2 SPC 9 12.463 17.800 5.413 1.00 0.00 H
|
296 |
+
ATOM 294 O SPC 10 21.294 4.393 14.866 1.00 0.00 O
|
297 |
+
ATOM 295 H1 SPC 10 21.576 3.433 14.878 1.00 0.00 H
|
298 |
+
ATOM 296 H2 SPC 10 21.379 4.752 13.936 1.00 0.00 H
|
299 |
+
ATOM 297 O SPC 11 5.918 15.436 18.750 1.00 0.00 O
|
300 |
+
ATOM 298 H1 SPC 11 5.520 16.336 18.930 1.00 0.00 H
|
301 |
+
ATOM 299 H2 SPC 11 5.291 14.725 19.067 1.00 0.00 H
|
302 |
+
ATOM 300 O SPC 12 20.585 6.909 18.582 1.00 0.00 O
|
303 |
+
ATOM 301 H1 SPC 12 20.293 6.188 19.210 1.00 0.00 H
|
304 |
+
ATOM 302 H2 SPC 12 20.234 6.716 17.666 1.00 0.00 H
|
305 |
+
ATOM 303 O SPC 13 12.344 7.267 18.653 1.00 0.00 O
|
306 |
+
ATOM 304 H1 SPC 13 11.490 7.357 18.140 1.00 0.00 H
|
307 |
+
ATOM 305 H2 SPC 13 12.474 6.312 18.921 1.00 0.00 H
|
308 |
+
ATOM 306 O SPC 14 17.718 16.195 6.438 1.00 0.00 O
|
309 |
+
ATOM 307 H1 SPC 14 17.305 17.003 6.858 1.00 0.00 H
|
310 |
+
ATOM 308 H2 SPC 14 18.294 15.728 7.110 1.00 0.00 H
|
311 |
+
ATOM 309 O SPC 15 9.912 14.515 19.459 1.00 0.00 O
|
312 |
+
ATOM 310 H1 SPC 15 9.733 14.289 18.502 1.00 0.00 H
|
313 |
+
ATOM 311 H2 SPC 15 10.550 15.284 19.507 1.00 0.00 H
|
314 |
+
ATOM 312 O SPC 16 11.920 11.940 19.925 1.00 0.00 O
|
315 |
+
ATOM 313 H1 SPC 16 11.855 12.599 20.675 1.00 0.00 H
|
316 |
+
ATOM 314 H2 SPC 16 11.004 11.626 19.677 1.00 0.00 H
|
317 |
+
ATOM 315 O SPC 17 20.400 3.866 3.797 1.00 0.00 O
|
318 |
+
ATOM 316 H1 SPC 17 20.658 4.772 3.463 1.00 0.00 H
|
319 |
+
ATOM 317 H2 SPC 17 19.636 3.516 3.256 1.00 0.00 H
|
320 |
+
ATOM 318 O SPC 18 5.982 15.132 12.363 1.00 0.00 O
|
321 |
+
ATOM 319 H1 SPC 18 5.536 14.306 12.019 1.00 0.00 H
|
322 |
+
ATOM 320 H2 SPC 18 5.857 15.876 11.707 1.00 0.00 H
|
323 |
+
ATOM 321 O SPC 19 11.014 3.970 20.071 1.00 0.00 O
|
324 |
+
ATOM 322 H1 SPC 19 11.995 4.059 19.901 1.00 0.00 H
|
325 |
+
ATOM 323 H2 SPC 19 10.838 3.125 20.576 1.00 0.00 H
|
326 |
+
ATOM 324 O SPC 20 4.258 13.880 3.901 1.00 0.00 O
|
327 |
+
ATOM 325 H1 SPC 20 3.792 13.612 4.744 1.00 0.00 H
|
328 |
+
ATOM 326 H2 SPC 20 5.219 14.073 4.097 1.00 0.00 H
|
329 |
+
ATOM 327 O SPC 21 14.164 1.782 2.849 1.00 0.00 O
|
330 |
+
ATOM 328 H1 SPC 21 14.182 2.690 2.429 1.00 0.00 H
|
331 |
+
ATOM 329 H2 SPC 21 13.232 1.567 3.140 1.00 0.00 H
|
332 |
+
ATOM 330 O SPC 22 7.985 3.467 7.556 1.00 0.00 O
|
333 |
+
ATOM 331 H1 SPC 22 7.309 4.176 7.754 1.00 0.00 H
|
334 |
+
ATOM 332 H2 SPC 22 7.836 2.686 8.163 1.00 0.00 H
|
335 |
+
ATOM 333 O SPC 23 16.618 17.897 11.065 1.00 0.00 O
|
336 |
+
ATOM 334 H1 SPC 23 17.509 18.275 11.316 1.00 0.00 H
|
337 |
+
ATOM 335 H2 SPC 23 16.063 18.608 10.634 1.00 0.00 H
|
338 |
+
ATOM 336 O SPC 24 11.707 1.635 4.132 1.00 0.00 O
|
339 |
+
ATOM 337 H1 SPC 24 11.422 1.100 4.927 1.00 0.00 H
|
340 |
+
ATOM 338 H2 SPC 24 12.027 2.534 4.432 1.00 0.00 H
|
341 |
+
ATOM 339 O SPC 25 10.599 2.726 7.183 1.00 0.00 O
|
342 |
+
ATOM 340 H1 SPC 25 9.633 2.922 7.352 1.00 0.00 H
|
343 |
+
ATOM 341 H2 SPC 25 10.837 1.844 7.589 1.00 0.00 H
|
344 |
+
ATOM 342 O SPC 26 7.809 10.947 16.146 1.00 0.00 O
|
345 |
+
ATOM 343 H1 SPC 26 8.603 11.000 16.752 1.00 0.00 H
|
346 |
+
ATOM 344 H2 SPC 26 7.188 10.234 16.472 1.00 0.00 H
|
347 |
+
ATOM 345 O SPC 27 19.669 18.552 11.161 1.00 0.00 O
|
348 |
+
ATOM 346 H1 SPC 27 19.731 18.823 10.200 1.00 0.00 H
|
349 |
+
ATOM 347 H2 SPC 27 20.224 17.734 11.314 1.00 0.00 H
|
350 |
+
ATOM 348 O SPC 28 4.856 18.276 3.656 1.00 0.00 O
|
351 |
+
ATOM 349 H1 SPC 28 5.410 18.559 4.438 1.00 0.00 H
|
352 |
+
ATOM 350 H2 SPC 28 4.204 17.575 3.945 1.00 0.00 H
|
353 |
+
ATOM 351 O SPC 29 21.625 1.298 18.698 1.00 0.00 O
|
354 |
+
ATOM 352 H1 SPC 29 22.155 2.125 18.510 1.00 0.00 H
|
355 |
+
ATOM 353 H2 SPC 29 21.384 1.270 19.668 1.00 0.00 H
|
356 |
+
ATOM 354 O SPC 30 16.688 18.172 7.860 1.00 0.00 O
|
357 |
+
ATOM 355 H1 SPC 30 16.240 18.965 7.448 1.00 0.00 H
|
358 |
+
ATOM 356 H2 SPC 30 17.356 18.480 8.537 1.00 0.00 H
|
359 |
+
ATOM 357 O SPC 31 8.823 17.984 4.545 1.00 0.00 O
|
360 |
+
ATOM 358 H1 SPC 31 9.592 17.404 4.276 1.00 0.00 H
|
361 |
+
ATOM 359 H2 SPC 31 8.400 18.376 3.728 1.00 0.00 H
|
362 |
+
ATOM 360 O SPC 32 4.721 3.752 18.667 1.00 0.00 O
|
363 |
+
ATOM 361 H1 SPC 32 5.555 4.251 18.430 1.00 0.00 H
|
364 |
+
ATOM 362 H2 SPC 32 4.061 4.381 19.077 1.00 0.00 H
|
365 |
+
ATOM 363 O SPC 33 14.212 4.749 2.506 1.00 0.00 O
|
366 |
+
ATOM 364 H1 SPC 33 14.108 4.871 3.493 1.00 0.00 H
|
367 |
+
ATOM 365 H2 SPC 33 14.965 5.318 2.177 1.00 0.00 H
|
368 |
+
ATOM 366 O SPC 34 9.087 4.361 4.883 1.00 0.00 O
|
369 |
+
ATOM 367 H1 SPC 34 9.043 3.762 4.084 1.00 0.00 H
|
370 |
+
ATOM 368 H2 SPC 34 9.715 3.973 5.557 1.00 0.00 H
|
371 |
+
ATOM 369 O SPC 35 22.138 17.630 16.643 1.00 0.00 O
|
372 |
+
ATOM 370 H1 SPC 35 23.135 17.693 16.598 1.00 0.00 H
|
373 |
+
ATOM 371 H2 SPC 35 21.813 18.074 17.478 1.00 0.00 H
|
374 |
+
ATOM 372 O SPC 36 6.593 1.462 18.547 1.00 0.00 O
|
375 |
+
ATOM 373 H1 SPC 36 6.607 1.684 17.572 1.00 0.00 H
|
376 |
+
ATOM 374 H2 SPC 36 5.915 2.033 19.009 1.00 0.00 H
|
377 |
+
ATOM 375 O SPC 37 19.103 16.688 4.060 1.00 0.00 O
|
378 |
+
ATOM 376 H1 SPC 37 18.866 15.885 3.513 1.00 0.00 H
|
379 |
+
ATOM 377 H2 SPC 37 18.602 16.663 4.925 1.00 0.00 H
|
380 |
+
ATOM 378 O SPC 38 6.487 1.180 12.550 1.00 0.00 O
|
381 |
+
ATOM 379 H1 SPC 38 6.846 0.976 13.460 1.00 0.00 H
|
382 |
+
ATOM 380 H2 SPC 38 6.402 2.171 12.440 1.00 0.00 H
|
383 |
+
ATOM 381 O SPC 39 7.987 18.699 14.735 1.00 0.00 O
|
384 |
+
ATOM 382 H1 SPC 39 8.933 19.008 14.834 1.00 0.00 H
|
385 |
+
ATOM 383 H2 SPC 39 7.977 17.762 14.385 1.00 0.00 H
|
386 |
+
ATOM 384 O SPC 40 9.451 3.332 15.442 1.00 0.00 O
|
387 |
+
ATOM 385 H1 SPC 40 9.442 2.387 15.117 1.00 0.00 H
|
388 |
+
ATOM 386 H2 SPC 40 9.388 3.954 14.661 1.00 0.00 H
|
389 |
+
ATOM 387 O SPC 41 14.629 17.007 17.563 1.00 0.00 O
|
390 |
+
ATOM 388 H1 SPC 41 15.022 16.841 18.467 1.00 0.00 H
|
391 |
+
ATOM 389 H2 SPC 41 15.255 16.667 16.860 1.00 0.00 H
|
392 |
+
ATOM 390 O SPC 42 18.095 18.198 17.459 1.00 0.00 O
|
393 |
+
ATOM 391 H1 SPC 42 17.283 18.734 17.689 1.00 0.00 H
|
394 |
+
ATOM 392 H2 SPC 42 18.620 18.016 18.291 1.00 0.00 H
|
395 |
+
ATOM 393 O SPC 43 7.751 12.684 2.074 1.00 0.00 O
|
396 |
+
ATOM 394 H1 SPC 43 8.272 13.385 1.587 1.00 0.00 H
|
397 |
+
ATOM 395 H2 SPC 43 6.906 12.491 1.576 1.00 0.00 H
|
398 |
+
ATOM 396 O SPC 44 6.761 14.926 4.575 1.00 0.00 O
|
399 |
+
ATOM 397 H1 SPC 44 7.479 14.385 5.013 1.00 0.00 H
|
400 |
+
ATOM 398 H2 SPC 44 7.103 15.298 3.712 1.00 0.00 H
|
401 |
+
ATOM 399 O SPC 45 21.072 2.084 12.096 1.00 0.00 O
|
402 |
+
ATOM 400 H1 SPC 45 20.445 1.317 11.959 1.00 0.00 H
|
403 |
+
ATOM 401 H2 SPC 45 21.539 1.979 12.974 1.00 0.00 H
|
404 |
+
ATOM 402 O SPC 46 9.511 4.678 17.663 1.00 0.00 O
|
405 |
+
ATOM 403 H1 SPC 46 9.351 4.034 16.915 1.00 0.00 H
|
406 |
+
ATOM 404 H2 SPC 46 9.858 4.184 18.460 1.00 0.00 H
|
407 |
+
ATOM 405 O SPC 47 19.135 9.231 18.266 1.00 0.00 O
|
408 |
+
ATOM 406 H1 SPC 47 19.818 8.510 18.383 1.00 0.00 H
|
409 |
+
ATOM 407 H2 SPC 47 19.085 9.783 19.098 1.00 0.00 H
|
410 |
+
ATOM 408 O SPC 48 6.482 5.844 8.313 1.00 0.00 O
|
411 |
+
ATOM 409 H1 SPC 48 6.638 5.763 9.297 1.00 0.00 H
|
412 |
+
ATOM 410 H2 SPC 48 5.544 5.572 8.100 1.00 0.00 H
|
413 |
+
ATOM 411 O SPC 49 5.359 17.384 8.062 1.00 0.00 O
|
414 |
+
ATOM 412 H1 SPC 49 5.184 17.496 9.040 1.00 0.00 H
|
415 |
+
ATOM 413 H2 SPC 49 5.918 18.145 7.734 1.00 0.00 H
|
416 |
+
ATOM 414 O SPC 50 13.657 4.551 5.299 1.00 0.00 O
|
417 |
+
ATOM 415 H1 SPC 50 14.115 4.420 6.178 1.00 0.00 H
|
418 |
+
ATOM 416 H2 SPC 50 13.042 5.338 5.357 1.00 0.00 H
|
419 |
+
ATOM 417 O SPC 51 16.589 6.095 2.292 1.00 0.00 O
|
420 |
+
ATOM 418 H1 SPC 51 16.819 6.762 2.999 1.00 0.00 H
|
421 |
+
ATOM 419 H2 SPC 51 17.197 5.304 2.368 1.00 0.00 H
|
422 |
+
ATOM 420 O SPC 52 9.029 0.856 11.098 1.00 0.00 O
|
423 |
+
ATOM 421 H1 SPC 52 9.717 0.588 11.772 1.00 0.00 H
|
424 |
+
ATOM 422 H2 SPC 52 8.116 0.681 11.466 1.00 0.00 H
|
425 |
+
ATOM 423 O SPC 53 11.303 0.988 19.585 1.00 0.00 O
|
426 |
+
ATOM 424 H1 SPC 53 10.559 0.668 18.998 1.00 0.00 H
|
427 |
+
ATOM 425 H2 SPC 53 10.933 1.255 20.475 1.00 0.00 H
|
428 |
+
ATOM 426 O SPC 54 22.625 4.355 7.686 1.00 0.00 O
|
429 |
+
ATOM 427 H1 SPC 54 22.459 3.600 7.052 1.00 0.00 H
|
430 |
+
ATOM 428 H2 SPC 54 22.613 4.011 8.625 1.00 0.00 H
|
431 |
+
ATOM 429 O SPC 55 14.411 16.629 3.546 1.00 0.00 O
|
432 |
+
ATOM 430 H1 SPC 55 14.129 17.141 4.357 1.00 0.00 H
|
433 |
+
ATOM 431 H2 SPC 55 13.960 17.009 2.738 1.00 0.00 H
|
434 |
+
ATOM 432 O SPC 56 12.497 15.449 17.708 1.00 0.00 O
|
435 |
+
ATOM 433 H1 SPC 56 13.385 15.901 17.618 1.00 0.00 H
|
436 |
+
ATOM 434 H2 SPC 56 12.620 14.458 17.649 1.00 0.00 H
|
437 |
+
ATOM 435 O SPC 57 10.650 18.495 6.345 1.00 0.00 O
|
438 |
+
ATOM 436 H1 SPC 57 10.490 18.642 7.321 1.00 0.00 H
|
439 |
+
ATOM 437 H2 SPC 57 9.863 18.026 5.945 1.00 0.00 H
|
440 |
+
ATOM 438 O SPC 58 9.230 18.485 18.121 1.00 0.00 O
|
441 |
+
ATOM 439 H1 SPC 58 8.475 19.011 17.729 1.00 0.00 H
|
442 |
+
ATOM 440 H2 SPC 58 9.326 17.621 17.627 1.00 0.00 H
|
443 |
+
ATOM 441 O SPC 59 5.443 11.472 19.165 1.00 0.00 O
|
444 |
+
ATOM 442 H1 SPC 59 5.348 10.913 18.342 1.00 0.00 H
|
445 |
+
ATOM 443 H2 SPC 59 5.660 10.884 19.944 1.00 0.00 H
|
446 |
+
ATOM 444 O SPC 60 5.856 9.963 2.730 1.00 0.00 O
|
447 |
+
ATOM 445 H1 SPC 60 5.040 9.579 3.160 1.00 0.00 H
|
448 |
+
ATOM 446 H2 SPC 60 6.658 9.754 3.290 1.00 0.00 H
|
449 |
+
ATOM 447 O SPC 61 4.298 13.641 19.867 1.00 0.00 O
|
450 |
+
ATOM 448 H1 SPC 61 4.782 12.820 19.565 1.00 0.00 H
|
451 |
+
ATOM 449 H2 SPC 61 4.093 13.567 20.843 1.00 0.00 H
|
452 |
+
ATOM 450 O SPC 62 22.334 1.767 14.655 1.00 0.00 O
|
453 |
+
ATOM 451 H1 SPC 62 21.720 1.051 14.988 1.00 0.00 H
|
454 |
+
ATOM 452 H2 SPC 62 23.132 1.828 15.255 1.00 0.00 H
|
455 |
+
ATOM 453 O SPC 63 4.784 17.732 19.659 1.00 0.00 O
|
456 |
+
ATOM 454 H1 SPC 63 4.767 17.787 20.657 1.00 0.00 H
|
457 |
+
ATOM 455 H2 SPC 63 4.976 18.637 19.278 1.00 0.00 H
|
458 |
+
ATOM 456 O SPC 64 11.068 16.275 3.866 1.00 0.00 O
|
459 |
+
ATOM 457 H1 SPC 64 11.664 16.630 3.146 1.00 0.00 H
|
460 |
+
ATOM 458 H2 SPC 64 11.200 15.288 3.953 1.00 0.00 H
|
461 |
+
ATOM 459 O SPC 65 20.355 4.147 17.856 1.00 0.00 O
|
462 |
+
ATOM 460 H1 SPC 65 20.727 3.808 16.991 1.00 0.00 H
|
463 |
+
ATOM 461 H2 SPC 65 19.392 3.888 17.928 1.00 0.00 H
|
464 |
+
ATOM 462 O SPC 66 4.815 17.547 10.820 1.00 0.00 O
|
465 |
+
ATOM 463 H1 SPC 66 4.152 16.921 11.231 1.00 0.00 H
|
466 |
+
ATOM 464 H2 SPC 66 4.746 18.442 11.259 1.00 0.00 H
|
467 |
+
ATOM 465 O SPC 67 22.062 9.053 3.444 1.00 0.00 O
|
468 |
+
ATOM 466 H1 SPC 67 21.873 8.526 2.616 1.00 0.00 H
|
469 |
+
ATOM 467 H2 SPC 67 21.212 9.454 3.785 1.00 0.00 H
|
470 |
+
ATOM 468 O SPC 68 6.834 0.527 6.251 1.00 0.00 O
|
471 |
+
ATOM 469 H1 SPC 68 7.614 0.241 5.695 1.00 0.00 H
|
472 |
+
ATOM 470 H2 SPC 68 6.765 1.524 6.241 1.00 0.00 H
|
473 |
+
ATOM 471 O SPC 69 12.762 17.941 10.027 1.00 0.00 O
|
474 |
+
ATOM 472 H1 SPC 69 13.754 18.035 10.105 1.00 0.00 H
|
475 |
+
ATOM 473 H2 SPC 69 12.477 17.071 10.430 1.00 0.00 H
|
476 |
+
ATOM 474 O SPC 70 16.766 13.324 20.246 1.00 0.00 O
|
477 |
+
ATOM 475 H1 SPC 70 16.271 12.562 20.663 1.00 0.00 H
|
478 |
+
ATOM 476 H2 SPC 70 16.680 13.274 19.251 1.00 0.00 H
|
479 |
+
ATOM 477 O SPC 71 7.652 16.077 2.148 1.00 0.00 O
|
480 |
+
ATOM 478 H1 SPC 71 7.170 15.894 1.291 1.00 0.00 H
|
481 |
+
ATOM 479 H2 SPC 71 8.576 15.696 2.098 1.00 0.00 H
|
482 |
+
ATOM 480 O SPC 72 16.286 15.930 19.543 1.00 0.00 O
|
483 |
+
ATOM 481 H1 SPC 72 16.200 15.181 20.200 1.00 0.00 H
|
484 |
+
ATOM 482 H2 SPC 72 17.041 16.527 19.814 1.00 0.00 H
|
485 |
+
ATOM 483 O SPC 73 13.664 1.172 12.470 1.00 0.00 O
|
486 |
+
ATOM 484 H1 SPC 73 14.046 0.867 11.598 1.00 0.00 H
|
487 |
+
ATOM 485 H2 SPC 73 13.463 2.150 12.423 1.00 0.00 H
|
488 |
+
ATOM 486 O SPC 74 6.873 1.924 9.405 1.00 0.00 O
|
489 |
+
ATOM 487 H1 SPC 74 7.192 1.611 10.300 1.00 0.00 H
|
490 |
+
ATOM 488 H2 SPC 74 5.956 2.313 9.495 1.00 0.00 H
|
491 |
+
ATOM 489 O SPC 75 8.784 6.377 6.759 1.00 0.00 O
|
492 |
+
ATOM 490 H1 SPC 75 7.952 6.473 7.305 1.00 0.00 H
|
493 |
+
ATOM 491 H2 SPC 75 8.718 5.556 6.192 1.00 0.00 H
|
494 |
+
ATOM 492 O SPC 76 17.750 3.671 2.186 1.00 0.00 O
|
495 |
+
ATOM 493 H1 SPC 76 17.577 2.712 2.411 1.00 0.00 H
|
496 |
+
ATOM 494 H2 SPC 76 17.853 3.768 1.196 1.00 0.00 H
|
497 |
+
ATOM 495 O SPC 77 15.646 14.881 5.366 1.00 0.00 O
|
498 |
+
ATOM 496 H1 SPC 77 16.376 15.291 5.913 1.00 0.00 H
|
499 |
+
ATOM 497 H2 SPC 77 15.259 15.572 4.756 1.00 0.00 H
|
500 |
+
ATOM 498 O SPC 78 7.903 16.016 13.873 1.00 0.00 O
|
501 |
+
ATOM 499 H1 SPC 78 7.006 15.938 13.438 1.00 0.00 H
|
502 |
+
ATOM 500 H2 SPC 78 7.864 15.618 14.790 1.00 0.00 H
|
503 |
+
ATOM 501 O SPC 79 13.572 16.924 13.138 1.00 0.00 O
|
504 |
+
ATOM 502 H1 SPC 79 13.432 17.856 12.803 1.00 0.00 H
|
505 |
+
ATOM 503 H2 SPC 79 12.685 16.485 13.282 1.00 0.00 H
|
506 |
+
ATOM 504 O SPC 80 16.856 1.187 21.136 1.00 0.00 O
|
507 |
+
ATOM 505 H1 SPC 80 15.863 1.216 21.255 1.00 0.00 H
|
508 |
+
ATOM 506 H2 SPC 80 17.123 0.287 20.791 1.00 0.00 H
|
509 |
+
ATOM 507 O SPC 81 18.956 17.830 20.255 1.00 0.00 O
|
510 |
+
ATOM 508 H1 SPC 81 19.856 17.797 19.821 1.00 0.00 H
|
511 |
+
ATOM 509 H2 SPC 81 19.055 17.682 21.239 1.00 0.00 H
|
512 |
+
ATOM 510 O SPC 82 12.517 17.139 1.642 1.00 0.00 O
|
513 |
+
ATOM 511 H1 SPC 82 12.551 16.600 0.800 1.00 0.00 H
|
514 |
+
ATOM 512 H2 SPC 82 12.134 18.042 1.445 1.00 0.00 H
|
515 |
+
ATOM 513 O SPC 83 19.141 10.625 20.461 1.00 0.00 O
|
516 |
+
ATOM 514 H1 SPC 83 19.462 10.641 21.408 1.00 0.00 H
|
517 |
+
ATOM 515 H2 SPC 83 19.510 11.414 19.971 1.00 0.00 H
|
518 |
+
ATOM 516 O SPC 84 9.912 14.515 0.839 1.00 0.00 O
|
519 |
+
ATOM 517 H1 SPC 84 9.733 14.289 -0.119 1.00 0.00 H
|
520 |
+
ATOM 518 H2 SPC 84 10.550 15.284 0.886 1.00 0.00 H
|
521 |
+
ATOM 519 O SPC 85 11.014 3.970 1.451 1.00 0.00 O
|
522 |
+
ATOM 520 H1 SPC 85 11.995 4.059 1.280 1.00 0.00 H
|
523 |
+
ATOM 521 H2 SPC 85 10.838 3.125 1.956 1.00 0.00 H
|
524 |
+
ATOM 522 O SPC 86 7.751 12.684 20.695 1.00 0.00 O
|
525 |
+
ATOM 523 H1 SPC 86 8.272 13.385 20.207 1.00 0.00 H
|
526 |
+
ATOM 524 H2 SPC 86 6.906 12.491 20.197 1.00 0.00 H
|
527 |
+
ATOM 525 O SPC 87 16.589 6.095 20.912 1.00 0.00 O
|
528 |
+
ATOM 526 H1 SPC 87 16.819 6.762 21.620 1.00 0.00 H
|
529 |
+
ATOM 527 H2 SPC 87 17.197 5.304 20.989 1.00 0.00 H
|
530 |
+
ATOM 528 O SPC 88 11.303 0.988 0.965 1.00 0.00 O
|
531 |
+
ATOM 529 H1 SPC 88 10.559 0.668 0.377 1.00 0.00 H
|
532 |
+
ATOM 530 H2 SPC 88 10.933 1.255 1.854 1.00 0.00 H
|
533 |
+
ATOM 531 O SPC 89 4.298 13.641 1.247 1.00 0.00 O
|
534 |
+
ATOM 532 H1 SPC 89 4.782 12.820 0.945 1.00 0.00 H
|
535 |
+
ATOM 533 H2 SPC 89 4.093 13.567 2.223 1.00 0.00 H
|
536 |
+
ATOM 534 O SPC 90 4.784 17.732 1.038 1.00 0.00 O
|
537 |
+
ATOM 535 H1 SPC 90 4.767 17.787 2.036 1.00 0.00 H
|
538 |
+
ATOM 536 H2 SPC 90 4.976 18.637 0.658 1.00 0.00 H
|
539 |
+
ATOM 537 O SPC 91 16.766 13.324 1.625 1.00 0.00 O
|
540 |
+
ATOM 538 H1 SPC 91 16.271 12.562 2.042 1.00 0.00 H
|
541 |
+
ATOM 539 H2 SPC 91 16.680 13.274 0.630 1.00 0.00 H
|
542 |
+
ATOM 540 O SPC 92 7.652 16.077 20.768 1.00 0.00 O
|
543 |
+
ATOM 541 H1 SPC 92 7.170 15.894 19.911 1.00 0.00 H
|
544 |
+
ATOM 542 H2 SPC 92 8.576 15.696 20.719 1.00 0.00 H
|
545 |
+
ATOM 543 O SPC 93 16.286 15.930 0.922 1.00 0.00 O
|
546 |
+
ATOM 544 H1 SPC 93 16.200 15.181 1.579 1.00 0.00 H
|
547 |
+
ATOM 545 H2 SPC 93 17.041 16.527 1.193 1.00 0.00 H
|
548 |
+
ATOM 546 O SPC 94 17.750 3.671 20.807 1.00 0.00 O
|
549 |
+
ATOM 547 H1 SPC 94 17.577 2.712 21.032 1.00 0.00 H
|
550 |
+
ATOM 548 H2 SPC 94 17.853 3.768 19.817 1.00 0.00 H
|
551 |
+
ATOM 549 O SPC 95 24.882 1.831 15.733 1.00 0.00 O
|
552 |
+
ATOM 550 H1 SPC 95 25.540 1.134 15.447 1.00 0.00 H
|
553 |
+
ATOM 551 H2 SPC 95 25.182 2.727 15.405 1.00 0.00 H
|
554 |
+
ATOM 552 O SPC 96 1.798 12.257 13.339 1.00 0.00 O
|
555 |
+
ATOM 553 H1 SPC 96 2.693 11.812 13.387 1.00 0.00 H
|
556 |
+
ATOM 554 H2 SPC 96 1.099 11.577 13.117 1.00 0.00 H
|
557 |
+
ATOM 555 O SPC 97 23.919 13.416 16.279 1.00 0.00 O
|
558 |
+
ATOM 556 H1 SPC 97 22.924 13.510 16.233 1.00 0.00 H
|
559 |
+
ATOM 557 H2 SPC 97 24.273 13.988 17.019 1.00 0.00 H
|
560 |
+
ATOM 558 O SPC 98 1.285 12.800 5.118 1.00 0.00 O
|
561 |
+
ATOM 559 H1 SPC 98 0.812 13.133 5.933 1.00 0.00 H
|
562 |
+
ATOM 560 H2 SPC 98 1.074 13.395 4.343 1.00 0.00 H
|
563 |
+
ATOM 561 O SPC 99 23.846 12.106 7.927 1.00 0.00 O
|
564 |
+
ATOM 562 H1 SPC 99 23.104 11.507 7.628 1.00 0.00 H
|
565 |
+
ATOM 563 H2 SPC 99 23.575 13.061 7.800 1.00 0.00 H
|
566 |
+
ATOM 564 O SPC 100 0.520 10.625 1.841 1.00 0.00 O
|
567 |
+
ATOM 565 H1 SPC 100 0.842 10.641 2.788 1.00 0.00 H
|
568 |
+
ATOM 566 H2 SPC 100 0.889 11.414 1.350 1.00 0.00 H
|
569 |
+
ATOM 567 O SPC 101 0.602 14.264 2.661 1.00 0.00 O
|
570 |
+
ATOM 568 H1 SPC 101 1.322 14.112 1.984 1.00 0.00 H
|
571 |
+
ATOM 569 H2 SPC 101 -0.269 13.925 2.304 1.00 0.00 H
|
572 |
+
ATOM 570 O SPC 102 26.321 8.416 4.919 1.00 0.00 O
|
573 |
+
ATOM 571 H1 SPC 102 25.775 8.888 5.611 1.00 0.00 H
|
574 |
+
ATOM 572 H2 SPC 102 26.424 7.455 5.175 1.00 0.00 H
|
575 |
+
ATOM 573 O SPC 103 24.539 15.436 18.750 1.00 0.00 O
|
576 |
+
ATOM 574 H1 SPC 103 24.141 16.336 18.930 1.00 0.00 H
|
577 |
+
ATOM 575 H2 SPC 103 23.911 14.725 19.067 1.00 0.00 H
|
578 |
+
ATOM 576 O SPC 104 1.965 6.909 18.582 1.00 0.00 O
|
579 |
+
ATOM 577 H1 SPC 104 1.673 6.188 19.210 1.00 0.00 H
|
580 |
+
ATOM 578 H2 SPC 104 1.614 6.716 17.666 1.00 0.00 H
|
581 |
+
ATOM 579 O SPC 105 26.115 9.341 9.983 1.00 0.00 O
|
582 |
+
ATOM 580 H1 SPC 105 26.904 8.833 9.641 1.00 0.00 H
|
583 |
+
ATOM 581 H2 SPC 105 26.403 9.944 10.728 1.00 0.00 H
|
584 |
+
ATOM 582 O SPC 106 2.876 18.601 9.014 1.00 0.00 O
|
585 |
+
ATOM 583 H1 SPC 106 3.273 17.956 9.667 1.00 0.00 H
|
586 |
+
ATOM 584 H2 SPC 106 3.358 18.530 8.141 1.00 0.00 H
|
587 |
+
ATOM 585 O SPC 107 1.245 10.221 4.500 1.00 0.00 O
|
588 |
+
ATOM 586 H1 SPC 107 0.662 9.700 5.123 1.00 0.00 H
|
589 |
+
ATOM 587 H2 SPC 107 1.118 11.200 4.666 1.00 0.00 H
|
590 |
+
ATOM 588 O SPC 108 3.411 2.574 5.422 1.00 0.00 O
|
591 |
+
ATOM 589 H1 SPC 108 2.956 3.365 5.014 1.00 0.00 H
|
592 |
+
ATOM 590 H2 SPC 108 4.367 2.800 5.611 1.00 0.00 H
|
593 |
+
ATOM 591 O SPC 109 1.780 3.866 3.797 1.00 0.00 O
|
594 |
+
ATOM 592 H1 SPC 109 2.038 4.772 3.463 1.00 0.00 H
|
595 |
+
ATOM 593 H2 SPC 109 1.015 3.516 3.256 1.00 0.00 H
|
596 |
+
ATOM 594 O SPC 110 2.715 18.729 6.229 1.00 0.00 O
|
597 |
+
ATOM 595 H1 SPC 110 2.720 17.982 5.564 1.00 0.00 H
|
598 |
+
ATOM 596 H2 SPC 110 3.101 19.551 5.809 1.00 0.00 H
|
599 |
+
ATOM 597 O SPC 111 22.878 13.880 3.901 1.00 0.00 O
|
600 |
+
ATOM 598 H1 SPC 111 22.413 13.612 4.744 1.00 0.00 H
|
601 |
+
ATOM 599 H2 SPC 111 23.839 14.073 4.097 1.00 0.00 H
|
602 |
+
ATOM 600 O SPC 112 3.617 5.961 5.521 1.00 0.00 O
|
603 |
+
ATOM 601 H1 SPC 112 4.024 5.242 6.085 1.00 0.00 H
|
604 |
+
ATOM 602 H2 SPC 112 3.974 6.850 5.806 1.00 0.00 H
|
605 |
+
ATOM 603 O SPC 113 24.422 7.751 13.389 1.00 0.00 O
|
606 |
+
ATOM 604 H1 SPC 113 24.196 7.067 12.695 1.00 0.00 H
|
607 |
+
ATOM 605 H2 SPC 113 23.723 8.466 13.391 1.00 0.00 H
|
608 |
+
ATOM 606 O SPC 114 26.430 10.947 16.146 1.00 0.00 O
|
609 |
+
ATOM 607 H1 SPC 114 27.224 11.000 16.752 1.00 0.00 H
|
610 |
+
ATOM 608 H2 SPC 114 25.809 10.234 16.472 1.00 0.00 H
|
611 |
+
ATOM 609 O SPC 115 1.049 18.552 11.161 1.00 0.00 O
|
612 |
+
ATOM 610 H1 SPC 115 1.110 18.823 10.200 1.00 0.00 H
|
613 |
+
ATOM 611 H2 SPC 115 1.603 17.734 11.314 1.00 0.00 H
|
614 |
+
ATOM 612 O SPC 116 3.005 1.298 18.698 1.00 0.00 O
|
615 |
+
ATOM 613 H1 SPC 116 3.534 2.125 18.510 1.00 0.00 H
|
616 |
+
ATOM 614 H2 SPC 116 2.763 1.270 19.668 1.00 0.00 H
|
617 |
+
ATOM 615 O SPC 117 26.598 10.908 12.079 1.00 0.00 O
|
618 |
+
ATOM 616 H1 SPC 117 25.918 11.051 12.798 1.00 0.00 H
|
619 |
+
ATOM 617 H2 SPC 117 27.516 10.953 12.474 1.00 0.00 H
|
620 |
+
ATOM 618 O SPC 118 23.342 3.752 18.667 1.00 0.00 O
|
621 |
+
ATOM 619 H1 SPC 118 24.175 4.251 18.430 1.00 0.00 H
|
622 |
+
ATOM 620 H2 SPC 118 22.682 4.381 19.077 1.00 0.00 H
|
623 |
+
ATOM 621 O SPC 119 3.517 17.630 16.643 1.00 0.00 O
|
624 |
+
ATOM 622 H1 SPC 119 4.514 17.693 16.598 1.00 0.00 H
|
625 |
+
ATOM 623 H2 SPC 119 3.192 18.074 17.478 1.00 0.00 H
|
626 |
+
ATOM 624 O SPC 120 25.214 1.462 18.547 1.00 0.00 O
|
627 |
+
ATOM 625 H1 SPC 120 25.228 1.684 17.572 1.00 0.00 H
|
628 |
+
ATOM 626 H2 SPC 120 24.535 2.033 19.009 1.00 0.00 H
|
629 |
+
ATOM 627 O SPC 121 0.544 13.127 7.849 1.00 0.00 O
|
630 |
+
ATOM 628 H1 SPC 121 -0.134 12.468 8.174 1.00 0.00 H
|
631 |
+
ATOM 629 H2 SPC 121 0.538 13.932 8.443 1.00 0.00 H
|
632 |
+
ATOM 630 O SPC 122 0.483 16.688 4.060 1.00 0.00 O
|
633 |
+
ATOM 631 H1 SPC 122 0.246 15.885 3.513 1.00 0.00 H
|
634 |
+
ATOM 632 H2 SPC 122 -0.018 16.663 4.925 1.00 0.00 H
|
635 |
+
ATOM 633 O SPC 123 2.700 7.033 8.371 1.00 0.00 O
|
636 |
+
ATOM 634 H1 SPC 123 3.508 7.041 8.961 1.00 0.00 H
|
637 |
+
ATOM 635 H2 SPC 123 2.819 6.348 7.652 1.00 0.00 H
|
638 |
+
ATOM 636 O SPC 124 25.601 5.623 10.942 1.00 0.00 O
|
639 |
+
ATOM 637 H1 SPC 124 26.518 5.406 10.607 1.00 0.00 H
|
640 |
+
ATOM 638 H2 SPC 124 25.335 4.958 11.640 1.00 0.00 H
|
641 |
+
ATOM 639 O SPC 125 2.679 1.302 2.905 1.00 0.00 O
|
642 |
+
ATOM 640 H1 SPC 125 3.629 1.006 3.005 1.00 0.00 H
|
643 |
+
ATOM 641 H2 SPC 125 2.476 2.007 3.584 1.00 0.00 H
|
644 |
+
ATOM 642 O SPC 126 2.840 16.317 12.099 1.00 0.00 O
|
645 |
+
ATOM 643 H1 SPC 126 3.113 15.972 12.997 1.00 0.00 H
|
646 |
+
ATOM 644 H2 SPC 126 2.173 15.693 11.691 1.00 0.00 H
|
647 |
+
ATOM 645 O SPC 127 1.342 6.630 4.320 1.00 0.00 O
|
648 |
+
ATOM 646 H1 SPC 127 0.648 6.245 4.929 1.00 0.00 H
|
649 |
+
ATOM 647 H2 SPC 127 2.225 6.647 4.789 1.00 0.00 H
|
650 |
+
ATOM 648 O SPC 128 25.243 5.398 2.478 1.00 0.00 O
|
651 |
+
ATOM 649 H1 SPC 128 26.163 5.688 2.741 1.00 0.00 H
|
652 |
+
ATOM 650 H2 SPC 128 25.119 5.533 1.495 1.00 0.00 H
|
653 |
+
ATOM 651 O SPC 129 4.116 2.589 9.891 1.00 0.00 O
|
654 |
+
ATOM 652 H1 SPC 129 3.309 2.104 9.553 1.00 0.00 H
|
655 |
+
ATOM 653 H2 SPC 129 3.897 3.033 10.760 1.00 0.00 H
|
656 |
+
ATOM 654 O SPC 130 26.607 18.699 14.735 1.00 0.00 O
|
657 |
+
ATOM 655 H1 SPC 130 27.554 19.008 14.834 1.00 0.00 H
|
658 |
+
ATOM 656 H2 SPC 130 26.597 17.762 14.385 1.00 0.00 H
|
659 |
+
ATOM 657 O SPC 131 26.372 12.684 2.074 1.00 0.00 O
|
660 |
+
ATOM 658 H1 SPC 131 26.893 13.385 1.587 1.00 0.00 H
|
661 |
+
ATOM 659 H2 SPC 131 25.527 12.491 1.576 1.00 0.00 H
|
662 |
+
ATOM 660 O SPC 132 23.812 14.967 7.121 1.00 0.00 O
|
663 |
+
ATOM 661 H1 SPC 132 24.197 15.006 6.198 1.00 0.00 H
|
664 |
+
ATOM 662 H2 SPC 132 23.813 15.884 7.521 1.00 0.00 H
|
665 |
+
ATOM 663 O SPC 133 2.108 12.809 18.973 1.00 0.00 O
|
666 |
+
ATOM 664 H1 SPC 133 1.942 13.016 18.009 1.00 0.00 H
|
667 |
+
ATOM 665 H2 SPC 133 3.015 13.141 19.234 1.00 0.00 H
|
668 |
+
ATOM 666 O SPC 134 0.682 14.342 11.973 1.00 0.00 O
|
669 |
+
ATOM 667 H1 SPC 134 1.014 13.536 12.464 1.00 0.00 H
|
670 |
+
ATOM 668 H2 SPC 134 -0.119 14.094 11.429 1.00 0.00 H
|
671 |
+
ATOM 669 O SPC 135 25.381 14.926 4.575 1.00 0.00 O
|
672 |
+
ATOM 670 H1 SPC 135 26.099 14.385 5.013 1.00 0.00 H
|
673 |
+
ATOM 671 H2 SPC 135 25.723 15.298 3.712 1.00 0.00 H
|
674 |
+
ATOM 672 O SPC 136 23.022 6.220 16.426 1.00 0.00 O
|
675 |
+
ATOM 673 H1 SPC 136 22.991 6.151 17.423 1.00 0.00 H
|
676 |
+
ATOM 674 H2 SPC 136 22.351 5.595 16.027 1.00 0.00 H
|
677 |
+
ATOM 675 O SPC 137 25.409 5.467 18.293 1.00 0.00 O
|
678 |
+
ATOM 676 H1 SPC 137 25.493 6.419 18.589 1.00 0.00 H
|
679 |
+
ATOM 677 H2 SPC 137 26.320 5.062 18.213 1.00 0.00 H
|
680 |
+
ATOM 678 O SPC 138 0.514 9.231 18.266 1.00 0.00 O
|
681 |
+
ATOM 679 H1 SPC 138 1.197 8.510 18.383 1.00 0.00 H
|
682 |
+
ATOM 680 H2 SPC 138 0.465 9.783 19.098 1.00 0.00 H
|
683 |
+
ATOM 681 O SPC 139 2.630 13.525 16.202 1.00 0.00 O
|
684 |
+
ATOM 682 H1 SPC 139 2.685 14.435 15.789 1.00 0.00 H
|
685 |
+
ATOM 683 H2 SPC 139 1.786 13.077 15.909 1.00 0.00 H
|
686 |
+
ATOM 684 O SPC 140 4.004 4.355 7.686 1.00 0.00 O
|
687 |
+
ATOM 685 H1 SPC 140 3.838 3.600 7.052 1.00 0.00 H
|
688 |
+
ATOM 686 H2 SPC 140 3.992 4.011 8.625 1.00 0.00 H
|
689 |
+
ATOM 687 O SPC 141 24.064 11.472 19.165 1.00 0.00 O
|
690 |
+
ATOM 688 H1 SPC 141 23.969 10.913 18.342 1.00 0.00 H
|
691 |
+
ATOM 689 H2 SPC 141 24.281 10.884 19.944 1.00 0.00 H
|
692 |
+
ATOM 690 O SPC 142 24.477 9.963 2.730 1.00 0.00 O
|
693 |
+
ATOM 691 H1 SPC 142 23.660 9.579 3.160 1.00 0.00 H
|
694 |
+
ATOM 692 H2 SPC 142 25.279 9.754 3.290 1.00 0.00 H
|
695 |
+
ATOM 693 O SPC 143 22.918 13.641 19.867 1.00 0.00 O
|
696 |
+
ATOM 694 H1 SPC 143 23.403 12.820 19.565 1.00 0.00 H
|
697 |
+
ATOM 695 H2 SPC 143 22.713 13.567 20.843 1.00 0.00 H
|
698 |
+
ATOM 696 O SPC 144 3.714 1.767 14.655 1.00 0.00 O
|
699 |
+
ATOM 697 H1 SPC 144 3.100 1.051 14.988 1.00 0.00 H
|
700 |
+
ATOM 698 H2 SPC 144 4.511 1.828 15.255 1.00 0.00 H
|
701 |
+
ATOM 699 O SPC 145 23.405 17.732 19.659 1.00 0.00 O
|
702 |
+
ATOM 700 H1 SPC 145 23.388 17.787 20.657 1.00 0.00 H
|
703 |
+
ATOM 701 H2 SPC 145 23.597 18.637 19.278 1.00 0.00 H
|
704 |
+
ATOM 702 O SPC 146 1.734 4.147 17.856 1.00 0.00 O
|
705 |
+
ATOM 703 H1 SPC 146 2.106 3.808 16.991 1.00 0.00 H
|
706 |
+
ATOM 704 H2 SPC 146 0.771 3.888 17.928 1.00 0.00 H
|
707 |
+
ATOM 705 O SPC 147 24.668 8.740 16.368 1.00 0.00 O
|
708 |
+
ATOM 706 H1 SPC 147 25.324 8.515 15.648 1.00 0.00 H
|
709 |
+
ATOM 707 H2 SPC 147 23.958 8.037 16.404 1.00 0.00 H
|
710 |
+
ATOM 708 O SPC 148 3.441 9.053 3.444 1.00 0.00 O
|
711 |
+
ATOM 709 H1 SPC 148 3.253 8.526 2.616 1.00 0.00 H
|
712 |
+
ATOM 710 H2 SPC 148 2.591 9.454 3.785 1.00 0.00 H
|
713 |
+
ATOM 711 O SPC 149 25.807 10.518 6.606 1.00 0.00 O
|
714 |
+
ATOM 712 H1 SPC 149 26.168 10.094 7.436 1.00 0.00 H
|
715 |
+
ATOM 713 H2 SPC 149 25.034 11.107 6.841 1.00 0.00 H
|
716 |
+
ATOM 714 O SPC 150 25.024 4.455 15.245 1.00 0.00 O
|
717 |
+
ATOM 715 H1 SPC 150 25.904 4.839 14.964 1.00 0.00 H
|
718 |
+
ATOM 716 H2 SPC 150 24.564 5.093 15.863 1.00 0.00 H
|
719 |
+
ATOM 717 O SPC 151 26.273 16.077 2.148 1.00 0.00 O
|
720 |
+
ATOM 718 H1 SPC 151 25.791 15.894 1.291 1.00 0.00 H
|
721 |
+
ATOM 719 H2 SPC 151 27.197 15.696 2.098 1.00 0.00 H
|
722 |
+
ATOM 720 O SPC 152 3.137 16.467 4.329 1.00 0.00 O
|
723 |
+
ATOM 721 H1 SPC 152 3.688 15.693 4.017 1.00 0.00 H
|
724 |
+
ATOM 722 H2 SPC 152 2.169 16.274 4.167 1.00 0.00 H
|
725 |
+
ATOM 723 O SPC 153 24.168 3.773 12.681 1.00 0.00 O
|
726 |
+
ATOM 724 H1 SPC 153 23.305 4.108 12.302 1.00 0.00 H
|
727 |
+
ATOM 725 H2 SPC 153 24.345 4.225 13.555 1.00 0.00 H
|
728 |
+
ATOM 726 O SPC 154 2.208 16.036 14.973 1.00 0.00 O
|
729 |
+
ATOM 727 H1 SPC 154 2.785 16.650 15.511 1.00 0.00 H
|
730 |
+
ATOM 728 H2 SPC 154 1.442 16.551 14.588 1.00 0.00 H
|
731 |
+
ATOM 729 O SPC 155 26.523 16.016 13.873 1.00 0.00 O
|
732 |
+
ATOM 730 H1 SPC 155 25.627 15.938 13.438 1.00 0.00 H
|
733 |
+
ATOM 731 H2 SPC 155 26.485 15.618 14.790 1.00 0.00 H
|
734 |
+
ATOM 732 O SPC 156 24.982 11.785 14.019 1.00 0.00 O
|
735 |
+
ATOM 733 H1 SPC 156 25.590 11.349 14.684 1.00 0.00 H
|
736 |
+
ATOM 734 H2 SPC 156 24.517 12.558 14.450 1.00 0.00 H
|
737 |
+
ATOM 735 O SPC 157 0.520 10.625 20.461 1.00 0.00 O
|
738 |
+
ATOM 736 H1 SPC 157 0.842 10.641 21.408 1.00 0.00 H
|
739 |
+
ATOM 737 H2 SPC 157 0.889 11.414 19.971 1.00 0.00 H
|
740 |
+
ATOM 738 O SPC 158 25.243 5.398 21.099 1.00 0.00 O
|
741 |
+
ATOM 739 H1 SPC 158 26.163 5.688 21.362 1.00 0.00 H
|
742 |
+
ATOM 740 H2 SPC 158 25.119 5.533 20.116 1.00 0.00 H
|
743 |
+
ATOM 741 O SPC 159 26.372 12.684 20.695 1.00 0.00 O
|
744 |
+
ATOM 742 H1 SPC 159 26.893 13.385 20.207 1.00 0.00 H
|
745 |
+
ATOM 743 H2 SPC 159 25.527 12.491 20.197 1.00 0.00 H
|
746 |
+
ATOM 744 O SPC 160 22.918 13.641 1.247 1.00 0.00 O
|
747 |
+
ATOM 745 H1 SPC 160 23.403 12.820 0.945 1.00 0.00 H
|
748 |
+
ATOM 746 H2 SPC 160 22.713 13.567 2.223 1.00 0.00 H
|
749 |
+
ATOM 747 O SPC 161 23.405 17.732 1.038 1.00 0.00 O
|
750 |
+
ATOM 748 H1 SPC 161 23.388 17.787 2.036 1.00 0.00 H
|
751 |
+
ATOM 749 H2 SPC 161 23.597 18.637 0.658 1.00 0.00 H
|
752 |
+
ATOM 750 O SPC 162 26.273 16.077 20.768 1.00 0.00 O
|
753 |
+
ATOM 751 H1 SPC 162 25.791 15.894 19.911 1.00 0.00 H
|
754 |
+
ATOM 752 H2 SPC 162 27.197 15.696 20.719 1.00 0.00 H
|
755 |
+
ENDMDL
|
gradio_molecule3d/LICENSE
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Copyright 2023 Simon Dürr
|
2 |
+
|
3 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
4 |
+
|
5 |
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
6 |
+
|
7 |
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
gradio_molecule3d/README.md
ADDED
@@ -0,0 +1,438 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
tags: [gradio-custom-component, File]
|
3 |
+
title: gradio_molecule3d
|
4 |
+
short_description: A gradio custom component
|
5 |
+
colorFrom: blue
|
6 |
+
colorTo: yellow
|
7 |
+
sdk: gradio
|
8 |
+
pinned: false
|
9 |
+
app_file: space.py
|
10 |
+
---
|
11 |
+
|
12 |
+
# `gradio_molecule3d`
|
13 |
+
<a href="https://pypi.org/project/gradio_molecule3d/" target="_blank"><img alt="PyPI - Version" src="https://img.shields.io/pypi/v/gradio_molecule3d"></a>
|
14 |
+
|
15 |
+
Python library for easily interacting with trained machine learning models
|
16 |
+
|
17 |
+
## Installation
|
18 |
+
|
19 |
+
```bash
|
20 |
+
pip install gradio_molecule3d
|
21 |
+
```
|
22 |
+
|
23 |
+
## Usage
|
24 |
+
|
25 |
+
```python
|
26 |
+
|
27 |
+
import gradio as gr
|
28 |
+
from gradio_molecule3d import Molecule3D
|
29 |
+
|
30 |
+
|
31 |
+
example = Molecule3D().example_value()
|
32 |
+
|
33 |
+
|
34 |
+
reps = [
|
35 |
+
{
|
36 |
+
"model": 0,
|
37 |
+
"chain": "",
|
38 |
+
"resname": "",
|
39 |
+
"style": "cartoon",
|
40 |
+
"color": "hydrophobicity",
|
41 |
+
# "residue_range": "",
|
42 |
+
"around": 0,
|
43 |
+
"byres": False,
|
44 |
+
# "visible": False,
|
45 |
+
# "opacity": 0.5
|
46 |
+
}
|
47 |
+
]
|
48 |
+
|
49 |
+
|
50 |
+
|
51 |
+
def predict(x):
|
52 |
+
print("predict function", x)
|
53 |
+
print(x.name)
|
54 |
+
return x
|
55 |
+
|
56 |
+
# def update_color(mol, color):
|
57 |
+
# reps[0]['color'] = color
|
58 |
+
# print(reps)
|
59 |
+
# return Molecule3D(mol, reps=reps)
|
60 |
+
|
61 |
+
with gr.Blocks() as demo:
|
62 |
+
gr.Markdown("# Molecule3D")
|
63 |
+
# color_choices = ['redCarbon', 'greenCarbon', 'orangeCarbon', 'blackCarbon', 'blueCarbon', 'grayCarbon', 'cyanCarbon']
|
64 |
+
|
65 |
+
inp = Molecule3D(label="Molecule3D", reps=reps)
|
66 |
+
# cdr_color = gr.Dropdown(choices=color_choices, label="CDR color", value='redCarbon')
|
67 |
+
out = Molecule3D(label="Output", reps=reps)
|
68 |
+
# cdr_color.change(update_color, inputs=[inp,cdr_color], outputs=out)
|
69 |
+
btn = gr.Button("Predict")
|
70 |
+
gr.Markdown("""
|
71 |
+
You can configure the default rendering of the molecule by adding a list of representations
|
72 |
+
<pre>
|
73 |
+
reps = [
|
74 |
+
{
|
75 |
+
"model": 0,
|
76 |
+
"style": "cartoon",
|
77 |
+
"color": "whiteCarbon",
|
78 |
+
"residue_range": "",
|
79 |
+
"around": 0,
|
80 |
+
"opacity":1
|
81 |
+
|
82 |
+
},
|
83 |
+
{
|
84 |
+
"model": 0,
|
85 |
+
"chain": "A",
|
86 |
+
"resname": "HIS",
|
87 |
+
"style": "stick",
|
88 |
+
"color": "red"
|
89 |
+
}
|
90 |
+
]
|
91 |
+
</pre>
|
92 |
+
""")
|
93 |
+
btn.click(predict, inputs=inp, outputs=out)
|
94 |
+
|
95 |
+
|
96 |
+
if __name__ == "__main__":
|
97 |
+
demo.launch()
|
98 |
+
|
99 |
+
```
|
100 |
+
|
101 |
+
## `Molecule3D`
|
102 |
+
|
103 |
+
### Initialization
|
104 |
+
|
105 |
+
<table>
|
106 |
+
<thead>
|
107 |
+
<tr>
|
108 |
+
<th align="left">name</th>
|
109 |
+
<th align="left" style="width: 25%;">type</th>
|
110 |
+
<th align="left">default</th>
|
111 |
+
<th align="left">description</th>
|
112 |
+
</tr>
|
113 |
+
</thead>
|
114 |
+
<tbody>
|
115 |
+
<tr>
|
116 |
+
<td align="left"><code>value</code></td>
|
117 |
+
<td align="left" style="width: 25%;">
|
118 |
+
|
119 |
+
```python
|
120 |
+
str | list[str] | Callable | None
|
121 |
+
```
|
122 |
+
|
123 |
+
</td>
|
124 |
+
<td align="left"><code>None</code></td>
|
125 |
+
<td align="left">Default file(s) to display, given as a str file path or URL, or a list of str file paths / URLs. If callable, the function will be called whenever the app loads to set the initial value of the component.</td>
|
126 |
+
</tr>
|
127 |
+
|
128 |
+
<tr>
|
129 |
+
<td align="left"><code>reps</code></td>
|
130 |
+
<td align="left" style="width: 25%;">
|
131 |
+
|
132 |
+
```python
|
133 |
+
Any | None
|
134 |
+
```
|
135 |
+
|
136 |
+
</td>
|
137 |
+
<td align="left"><code>[]</code></td>
|
138 |
+
<td align="left">None</td>
|
139 |
+
</tr>
|
140 |
+
|
141 |
+
<tr>
|
142 |
+
<td align="left"><code>config</code></td>
|
143 |
+
<td align="left" style="width: 25%;">
|
144 |
+
|
145 |
+
```python
|
146 |
+
Any | None
|
147 |
+
```
|
148 |
+
|
149 |
+
</td>
|
150 |
+
<td align="left"><code>{
|
151 |
+
"backgroundColor": "white",
|
152 |
+
"orthographic": False,
|
153 |
+
"disableFog": False,
|
154 |
+
"unitCell": True,
|
155 |
+
}</code></td>
|
156 |
+
<td align="left">dictionary of config options</td>
|
157 |
+
</tr>
|
158 |
+
|
159 |
+
<tr>
|
160 |
+
<td align="left"><code>confidenceLabel</code></td>
|
161 |
+
<td align="left" style="width: 25%;">
|
162 |
+
|
163 |
+
```python
|
164 |
+
str | None
|
165 |
+
```
|
166 |
+
|
167 |
+
</td>
|
168 |
+
<td align="left"><code>"pLDDT"</code></td>
|
169 |
+
<td align="left">label for confidence values stored in the bfactor column of a pdb file</td>
|
170 |
+
</tr>
|
171 |
+
|
172 |
+
<tr>
|
173 |
+
<td align="left"><code>file_count</code></td>
|
174 |
+
<td align="left" style="width: 25%;">
|
175 |
+
|
176 |
+
```python
|
177 |
+
Literal["single", "multiple", "directory"]
|
178 |
+
```
|
179 |
+
|
180 |
+
</td>
|
181 |
+
<td align="left"><code>"single"</code></td>
|
182 |
+
<td align="left">if single, allows user to upload one file. If "multiple", user uploads multiple files. If "directory", user uploads all files in selected directory. Return type will be list for each file in case of "multiple" or "directory".</td>
|
183 |
+
</tr>
|
184 |
+
|
185 |
+
<tr>
|
186 |
+
<td align="left"><code>file_types</code></td>
|
187 |
+
<td align="left" style="width: 25%;">
|
188 |
+
|
189 |
+
```python
|
190 |
+
list[str] | None
|
191 |
+
```
|
192 |
+
|
193 |
+
</td>
|
194 |
+
<td align="left"><code>None</code></td>
|
195 |
+
<td align="left">List of file extensions or types of files to be uploaded (e.g. ['image', '.json', '.mp4']). "file" allows any file to be uploaded, "image" allows only image files to be uploaded, "audio" allows only audio files to be uploaded, "video" allows only video files to be uploaded, "text" allows only text files to be uploaded.</td>
|
196 |
+
</tr>
|
197 |
+
|
198 |
+
<tr>
|
199 |
+
<td align="left"><code>type</code></td>
|
200 |
+
<td align="left" style="width: 25%;">
|
201 |
+
|
202 |
+
```python
|
203 |
+
Literal["filepath", "binary"]
|
204 |
+
```
|
205 |
+
|
206 |
+
</td>
|
207 |
+
<td align="left"><code>"filepath"</code></td>
|
208 |
+
<td align="left">Type of value to be returned by component. "file" returns a temporary file object with the same base name as the uploaded file, whose full path can be retrieved by file_obj.name, "binary" returns an bytes object.</td>
|
209 |
+
</tr>
|
210 |
+
|
211 |
+
<tr>
|
212 |
+
<td align="left"><code>label</code></td>
|
213 |
+
<td align="left" style="width: 25%;">
|
214 |
+
|
215 |
+
```python
|
216 |
+
str | None
|
217 |
+
```
|
218 |
+
|
219 |
+
</td>
|
220 |
+
<td align="left"><code>None</code></td>
|
221 |
+
<td align="left">The label for this component. Appears above the component and is also used as the header if there are a table of examples for this component. If None and used in a `gr.Interface`, the label will be the name of the parameter this component is assigned to.</td>
|
222 |
+
</tr>
|
223 |
+
|
224 |
+
<tr>
|
225 |
+
<td align="left"><code>every</code></td>
|
226 |
+
<td align="left" style="width: 25%;">
|
227 |
+
|
228 |
+
```python
|
229 |
+
Timer | float | None
|
230 |
+
```
|
231 |
+
|
232 |
+
</td>
|
233 |
+
<td align="left"><code>None</code></td>
|
234 |
+
<td align="left">Continously calls `value` to recalculate it if `value` is a function (has no effect otherwise). Can provide a Timer whose tick resets `value`, or a float that provides the regular interval for the reset Timer.</td>
|
235 |
+
</tr>
|
236 |
+
|
237 |
+
<tr>
|
238 |
+
<td align="left"><code>inputs</code></td>
|
239 |
+
<td align="left" style="width: 25%;">
|
240 |
+
|
241 |
+
```python
|
242 |
+
Component | Sequence[Component] | set[Component] | None
|
243 |
+
```
|
244 |
+
|
245 |
+
</td>
|
246 |
+
<td align="left"><code>None</code></td>
|
247 |
+
<td align="left">Components that are used as inputs to calculate `value` if `value` is a function (has no effect otherwise). `value` is recalculated any time the inputs change.</td>
|
248 |
+
</tr>
|
249 |
+
|
250 |
+
<tr>
|
251 |
+
<td align="left"><code>show_label</code></td>
|
252 |
+
<td align="left" style="width: 25%;">
|
253 |
+
|
254 |
+
```python
|
255 |
+
bool | None
|
256 |
+
```
|
257 |
+
|
258 |
+
</td>
|
259 |
+
<td align="left"><code>None</code></td>
|
260 |
+
<td align="left">if True, will display label.</td>
|
261 |
+
</tr>
|
262 |
+
|
263 |
+
<tr>
|
264 |
+
<td align="left"><code>container</code></td>
|
265 |
+
<td align="left" style="width: 25%;">
|
266 |
+
|
267 |
+
```python
|
268 |
+
bool
|
269 |
+
```
|
270 |
+
|
271 |
+
</td>
|
272 |
+
<td align="left"><code>True</code></td>
|
273 |
+
<td align="left">If True, will place the component in a container - providing some extra padding around the border.</td>
|
274 |
+
</tr>
|
275 |
+
|
276 |
+
<tr>
|
277 |
+
<td align="left"><code>scale</code></td>
|
278 |
+
<td align="left" style="width: 25%;">
|
279 |
+
|
280 |
+
```python
|
281 |
+
int | None
|
282 |
+
```
|
283 |
+
|
284 |
+
</td>
|
285 |
+
<td align="left"><code>None</code></td>
|
286 |
+
<td align="left">relative size compared to adjacent Components. For example if Components A and B are in a Row, and A has scale=2, and B has scale=1, A will be twice as wide as B. Should be an integer. scale applies in Rows, and to top-level Components in Blocks where fill_height=True.</td>
|
287 |
+
</tr>
|
288 |
+
|
289 |
+
<tr>
|
290 |
+
<td align="left"><code>min_width</code></td>
|
291 |
+
<td align="left" style="width: 25%;">
|
292 |
+
|
293 |
+
```python
|
294 |
+
int
|
295 |
+
```
|
296 |
+
|
297 |
+
</td>
|
298 |
+
<td align="left"><code>160</code></td>
|
299 |
+
<td align="left">minimum pixel width, will wrap if not sufficient screen space to satisfy this value. If a certain scale value results in this Component being narrower than min_width, the min_width parameter will be respected first.</td>
|
300 |
+
</tr>
|
301 |
+
|
302 |
+
<tr>
|
303 |
+
<td align="left"><code>height</code></td>
|
304 |
+
<td align="left" style="width: 25%;">
|
305 |
+
|
306 |
+
```python
|
307 |
+
int | float | None
|
308 |
+
```
|
309 |
+
|
310 |
+
</td>
|
311 |
+
<td align="left"><code>None</code></td>
|
312 |
+
<td align="left">The maximum height of the file component, specified in pixels if a number is passed, or in CSS units if a string is passed. If more files are uploaded than can fit in the height, a scrollbar will appear.</td>
|
313 |
+
</tr>
|
314 |
+
|
315 |
+
<tr>
|
316 |
+
<td align="left"><code>interactive</code></td>
|
317 |
+
<td align="left" style="width: 25%;">
|
318 |
+
|
319 |
+
```python
|
320 |
+
bool | None
|
321 |
+
```
|
322 |
+
|
323 |
+
</td>
|
324 |
+
<td align="left"><code>None</code></td>
|
325 |
+
<td align="left">if True, will allow users to upload a file; if False, can only be used to display files. If not provided, this is inferred based on whether the component is used as an input or output.</td>
|
326 |
+
</tr>
|
327 |
+
|
328 |
+
<tr>
|
329 |
+
<td align="left"><code>visible</code></td>
|
330 |
+
<td align="left" style="width: 25%;">
|
331 |
+
|
332 |
+
```python
|
333 |
+
bool
|
334 |
+
```
|
335 |
+
|
336 |
+
</td>
|
337 |
+
<td align="left"><code>True</code></td>
|
338 |
+
<td align="left">If False, component will be hidden.</td>
|
339 |
+
</tr>
|
340 |
+
|
341 |
+
<tr>
|
342 |
+
<td align="left"><code>elem_id</code></td>
|
343 |
+
<td align="left" style="width: 25%;">
|
344 |
+
|
345 |
+
```python
|
346 |
+
str | None
|
347 |
+
```
|
348 |
+
|
349 |
+
</td>
|
350 |
+
<td align="left"><code>None</code></td>
|
351 |
+
<td align="left">An optional string that is assigned as the id of this component in the HTML DOM. Can be used for targeting CSS styles.</td>
|
352 |
+
</tr>
|
353 |
+
|
354 |
+
<tr>
|
355 |
+
<td align="left"><code>elem_classes</code></td>
|
356 |
+
<td align="left" style="width: 25%;">
|
357 |
+
|
358 |
+
```python
|
359 |
+
list[str] | str | None
|
360 |
+
```
|
361 |
+
|
362 |
+
</td>
|
363 |
+
<td align="left"><code>None</code></td>
|
364 |
+
<td align="left">An optional list of strings that are assigned as the classes of this component in the HTML DOM. Can be used for targeting CSS styles.</td>
|
365 |
+
</tr>
|
366 |
+
|
367 |
+
<tr>
|
368 |
+
<td align="left"><code>render</code></td>
|
369 |
+
<td align="left" style="width: 25%;">
|
370 |
+
|
371 |
+
```python
|
372 |
+
bool
|
373 |
+
```
|
374 |
+
|
375 |
+
</td>
|
376 |
+
<td align="left"><code>True</code></td>
|
377 |
+
<td align="left">If False, component will not render be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later.</td>
|
378 |
+
</tr>
|
379 |
+
|
380 |
+
<tr>
|
381 |
+
<td align="left"><code>key</code></td>
|
382 |
+
<td align="left" style="width: 25%;">
|
383 |
+
|
384 |
+
```python
|
385 |
+
int | str | None
|
386 |
+
```
|
387 |
+
|
388 |
+
</td>
|
389 |
+
<td align="left"><code>None</code></td>
|
390 |
+
<td align="left">if assigned, will be used to assume identity across a re-render. Components that have the same key across a re-render will have their value preserved.</td>
|
391 |
+
</tr>
|
392 |
+
|
393 |
+
<tr>
|
394 |
+
<td align="left"><code>showviewer</code></td>
|
395 |
+
<td align="left" style="width: 25%;">
|
396 |
+
|
397 |
+
```python
|
398 |
+
bool
|
399 |
+
```
|
400 |
+
|
401 |
+
</td>
|
402 |
+
<td align="left"><code>True</code></td>
|
403 |
+
<td align="left">If True, will display the 3Dmol.js viewer. If False, will not display the 3Dmol.js viewer.</td>
|
404 |
+
</tr>
|
405 |
+
</tbody></table>
|
406 |
+
|
407 |
+
|
408 |
+
### Events
|
409 |
+
|
410 |
+
| name | description |
|
411 |
+
|:-----|:------------|
|
412 |
+
| `change` | Triggered when the value of the Molecule3D changes either because of user input (e.g. a user types in a textbox) OR because of a function update (e.g. an image receives a value from the output of an event trigger). See `.input()` for a listener that is only triggered by user input. |
|
413 |
+
| `select` | Event listener for when the user selects or deselects the Molecule3D. Uses event data gradio.SelectData to carry `value` referring to the label of the Molecule3D, and `selected` to refer to state of the Molecule3D. See EventData documentation on how to use this event data |
|
414 |
+
| `clear` | This listener is triggered when the user clears the Molecule3D using the clear button for the component. |
|
415 |
+
| `upload` | This listener is triggered when the user uploads a file into the Molecule3D. |
|
416 |
+
| `delete` | This listener is triggered when the user deletes and item from the Molecule3D. Uses event data gradio.DeletedFileData to carry `value` referring to the file that was deleted as an instance of FileData. See EventData documentation on how to use this event data |
|
417 |
+
|
418 |
+
|
419 |
+
|
420 |
+
### User function
|
421 |
+
|
422 |
+
The impact on the users predict function varies depending on whether the component is used as an input or output for an event (or both).
|
423 |
+
|
424 |
+
- When used as an Input, the component only impacts the input signature of the user function.
|
425 |
+
- When used as an output, the component only impacts the return signature of the user function.
|
426 |
+
|
427 |
+
The code snippet below is accurate in cases where the component is used as both an input and an output.
|
428 |
+
|
429 |
+
- **As output:** Is passed, passes the file as a `str` or `bytes` object, or a list of `str` or list of `bytes` objects, depending on `type` and `file_count`.
|
430 |
+
- **As input:** Should return, expects a `str` filepath or URL, or a `list[str]` of filepaths/URLs.
|
431 |
+
|
432 |
+
```python
|
433 |
+
def predict(
|
434 |
+
value: bytes | str | list[bytes] | list[str] | None
|
435 |
+
) -> str | list[str] | None:
|
436 |
+
return value
|
437 |
+
```
|
438 |
+
|
gradio_molecule3d/backend/gradio_molecule3d/__init__.py
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
from .molecule3d import Molecule3D
|
3 |
+
|
4 |
+
__all__ = ['Molecule3D']
|
gradio_molecule3d/backend/gradio_molecule3d/molecule3d.py
ADDED
@@ -0,0 +1,352 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"""gr.File() component"""
|
2 |
+
|
3 |
+
from __future__ import annotations
|
4 |
+
|
5 |
+
import tempfile
|
6 |
+
import warnings
|
7 |
+
from pathlib import Path
|
8 |
+
from typing import TYPE_CHECKING, Any, Callable, Literal, Sequence
|
9 |
+
|
10 |
+
import gradio_client.utils as client_utils
|
11 |
+
from gradio_client import handle_file
|
12 |
+
from gradio_client.documentation import document
|
13 |
+
|
14 |
+
from gradio import processing_utils
|
15 |
+
from gradio.components.base import Component
|
16 |
+
from gradio.data_classes import FileData, ListFiles
|
17 |
+
from gradio.events import Events
|
18 |
+
from gradio.utils import NamedString
|
19 |
+
import ase.io
|
20 |
+
import numpy as np
|
21 |
+
|
22 |
+
if TYPE_CHECKING:
|
23 |
+
from gradio.components import Timer
|
24 |
+
|
25 |
+
|
26 |
+
def write_proteindatabank(fileobj, images, write_arrays=True):
|
27 |
+
"""Write images to PDB-file.
|
28 |
+
From ASE, but edited to not use the upper-case element symbols.
|
29 |
+
"""
|
30 |
+
rot_t = None
|
31 |
+
if hasattr(images, 'get_positions'):
|
32 |
+
images = [images]
|
33 |
+
|
34 |
+
# 1234567 123 6789012345678901 89 67 456789012345678901234567 890
|
35 |
+
format = ('ATOM %5d %4s %4s %4d %8.3f%8.3f%8.3f%6.2f%6.2f'
|
36 |
+
' %2s \n')
|
37 |
+
|
38 |
+
# RasMol complains if the atom index exceeds 100000. There might
|
39 |
+
# be a limit of 5 digit numbers in this field.
|
40 |
+
MAXNUM = 100000
|
41 |
+
|
42 |
+
symbols = images[0].get_chemical_symbols()
|
43 |
+
natoms = len(symbols)
|
44 |
+
|
45 |
+
for n, atoms in enumerate(images):
|
46 |
+
if atoms.get_pbc().any():
|
47 |
+
currentcell = atoms.get_cell()
|
48 |
+
cellpar = currentcell.cellpar()
|
49 |
+
_, rot_t = currentcell.standard_form()
|
50 |
+
# ignoring Z-value, using P1 since we have all atoms defined
|
51 |
+
# explicitly
|
52 |
+
cellformat = 'CRYST1%9.3f%9.3f%9.3f%7.2f%7.2f%7.2f P 1\n'
|
53 |
+
fileobj.write(cellformat % (cellpar[0], cellpar[1], cellpar[2],
|
54 |
+
cellpar[3], cellpar[4], cellpar[5]))
|
55 |
+
fileobj.write('MODEL ' + str(n + 1) + '\n')
|
56 |
+
p = atoms.get_positions()
|
57 |
+
if rot_t is not None:
|
58 |
+
p = p.dot(rot_t.T)
|
59 |
+
occupancy = np.ones(len(atoms))
|
60 |
+
bfactor = np.zeros(len(atoms))
|
61 |
+
residuenames = ['MOL '] * len(atoms)
|
62 |
+
residuenumbers = np.ones(len(atoms))
|
63 |
+
names = atoms.get_chemical_symbols()
|
64 |
+
if write_arrays:
|
65 |
+
if 'occupancy' in atoms.arrays:
|
66 |
+
occupancy = atoms.get_array('occupancy')
|
67 |
+
if 'bfactor' in atoms.arrays:
|
68 |
+
bfactor = atoms.get_array('bfactor')
|
69 |
+
if 'residuenames' in atoms.arrays:
|
70 |
+
residuenames = atoms.get_array('residuenames')
|
71 |
+
if 'residuenumbers' in atoms.arrays:
|
72 |
+
residuenumbers = atoms.get_array('residuenumbers')
|
73 |
+
if 'atomtypes' in atoms.arrays:
|
74 |
+
names = atoms.get_array('atomtypes')
|
75 |
+
for a in range(natoms):
|
76 |
+
x, y, z = p[a]
|
77 |
+
occ = occupancy[a]
|
78 |
+
bf = bfactor[a]
|
79 |
+
resname = residuenames[a].ljust(4)
|
80 |
+
resseq = residuenumbers[a]
|
81 |
+
name = names[a]
|
82 |
+
fileobj.write(format % ((a + 1) % MAXNUM, name, resname, resseq,
|
83 |
+
x, y, z, occ, bf, symbols[a]))
|
84 |
+
fileobj.write('ENDMDL\n')
|
85 |
+
|
86 |
+
def find_minimum_repeats(atoms, min_length):
|
87 |
+
"""
|
88 |
+
Find the minimum number of repeats in each unit cell direction
|
89 |
+
to meet at least `min_length` angstroms.
|
90 |
+
|
91 |
+
Parameters:
|
92 |
+
atoms (ase.Atoms): The ASE Atoms object.
|
93 |
+
min_length (float): The minimum length required in each direction.
|
94 |
+
|
95 |
+
Returns:
|
96 |
+
tuple: A tuple of integers representing the number of repeats
|
97 |
+
in the x, y, and z directions.
|
98 |
+
"""
|
99 |
+
cell_lengths = atoms.get_cell().lengths() # Get the lengths of the unit cell
|
100 |
+
repeats = [max(1, int(np.ceil(min_length / length))) for length in cell_lengths]
|
101 |
+
return tuple(repeats)
|
102 |
+
|
103 |
+
def convert_file_to_pdb(file_path: str | Path, gradio_cache: str | Path) -> str:
|
104 |
+
# Read the file using ASE, and convert even if it's pdb to make sure all elements go lower case
|
105 |
+
structures = ase.io.read(file_path, ':')
|
106 |
+
|
107 |
+
if all(structures[0].pbc):
|
108 |
+
# find the minimum number of repeats in each unit cell direction to meet at least 20 angstroms
|
109 |
+
repeats = find_minimum_repeats(structures[0], min_length=15.0)
|
110 |
+
|
111 |
+
structures = [s.repeat(repeats) if all(s.pbc) else s for s in structures]
|
112 |
+
|
113 |
+
# Create a temporary PDB file
|
114 |
+
with tempfile.NamedTemporaryFile(
|
115 |
+
delete=False, dir=gradio_cache, suffix=".pdb", mode='w',
|
116 |
+
) as temp_pdb_file:
|
117 |
+
write_proteindatabank(temp_pdb_file, structures)
|
118 |
+
file_name = temp_pdb_file.name
|
119 |
+
return file_name
|
120 |
+
|
121 |
+
|
122 |
+
class Molecule3D(Component):
|
123 |
+
"""
|
124 |
+
Creates a file component that allows uploading one or more generic files (when used as an input) or displaying generic files or URLs for download (as output).
|
125 |
+
|
126 |
+
Demo: zip_files, zip_to_json
|
127 |
+
"""
|
128 |
+
|
129 |
+
EVENTS = [Events.change, Events.select, Events.clear, Events.upload, Events.delete]
|
130 |
+
|
131 |
+
def __init__(
|
132 |
+
self,
|
133 |
+
value: str | list[str] | Callable | None = None,
|
134 |
+
reps: Any | None = [],
|
135 |
+
config: Any | None = {
|
136 |
+
"backgroundColor": "white",
|
137 |
+
"orthographic": False,
|
138 |
+
"disableFog": False,
|
139 |
+
},
|
140 |
+
confidenceLabel: str | None = "pLDDT",
|
141 |
+
*,
|
142 |
+
file_count: Literal["single", "multiple", "directory"] = "single",
|
143 |
+
file_types: list[str] | None = None,
|
144 |
+
type: Literal["filepath", "binary"] = "filepath",
|
145 |
+
label: str | None = None,
|
146 |
+
every: Timer | float | None = None,
|
147 |
+
inputs: Component | Sequence[Component] | set[Component] | None = None,
|
148 |
+
show_label: bool | None = None,
|
149 |
+
container: bool = True,
|
150 |
+
scale: int | None = None,
|
151 |
+
min_width: int = 160,
|
152 |
+
height: int | float | None = None,
|
153 |
+
interactive: bool | None = None,
|
154 |
+
visible: bool = True,
|
155 |
+
elem_id: str | None = None,
|
156 |
+
elem_classes: list[str] | str | None = None,
|
157 |
+
render: bool = True,
|
158 |
+
key: int | str | None = None,
|
159 |
+
showviewer: bool = True
|
160 |
+
):
|
161 |
+
"""
|
162 |
+
Parameters:
|
163 |
+
value: Default file(s) to display, given as a str file path or URL, or a list of str file paths / URLs. If callable, the function will be called whenever the app loads to set the initial value of the component.
|
164 |
+
file_count: if single, allows user to upload one file. If "multiple", user uploads multiple files. If "directory", user uploads all files in selected directory. Return type will be list for each file in case of "multiple" or "directory".
|
165 |
+
file_types: List of file extensions or types of files to be uploaded (e.g. ['image', '.json', '.mp4']). "file" allows any file to be uploaded, "image" allows only image files to be uploaded, "audio" allows only audio files to be uploaded, "video" allows only video files to be uploaded, "text" allows only text files to be uploaded.
|
166 |
+
representations: list of representation objects
|
167 |
+
config: dictionary of config options
|
168 |
+
confidenceLabel: label for confidence values stored in the bfactor column of a pdb file
|
169 |
+
type: Type of value to be returned by component. "file" returns a temporary file object with the same base name as the uploaded file, whose full path can be retrieved by file_obj.name, "binary" returns an bytes object.
|
170 |
+
label: The label for this component. Appears above the component and is also used as the header if there are a table of examples for this component. If None and used in a `gr.Interface`, the label will be the name of the parameter this component is assigned to.
|
171 |
+
every: Continously calls `value` to recalculate it if `value` is a function (has no effect otherwise). Can provide a Timer whose tick resets `value`, or a float that provides the regular interval for the reset Timer.
|
172 |
+
inputs: Components that are used as inputs to calculate `value` if `value` is a function (has no effect otherwise). `value` is recalculated any time the inputs change.
|
173 |
+
show_label: if True, will display label.
|
174 |
+
container: If True, will place the component in a container - providing some extra padding around the border.
|
175 |
+
scale: relative size compared to adjacent Components. For example if Components A and B are in a Row, and A has scale=2, and B has scale=1, A will be twice as wide as B. Should be an integer. scale applies in Rows, and to top-level Components in Blocks where fill_height=True.
|
176 |
+
min_width: minimum pixel width, will wrap if not sufficient screen space to satisfy this value. If a certain scale value results in this Component being narrower than min_width, the min_width parameter will be respected first.
|
177 |
+
height: The maximum height of the file component, specified in pixels if a number is passed, or in CSS units if a string is passed. If more files are uploaded than can fit in the height, a scrollbar will appear.
|
178 |
+
interactive: if True, will allow users to upload a file; if False, can only be used to display files. If not provided, this is inferred based on whether the component is used as an input or output.
|
179 |
+
visible: If False, component will be hidden.
|
180 |
+
elem_id: An optional string that is assigned as the id of this component in the HTML DOM. Can be used for targeting CSS styles.
|
181 |
+
elem_classes: An optional list of strings that are assigned as the classes of this component in the HTML DOM. Can be used for targeting CSS styles.
|
182 |
+
render: If False, component will not render be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later.
|
183 |
+
key: if assigned, will be used to assume identity across a re-render. Components that have the same key across a re-render will have their value preserved.
|
184 |
+
showviewer: If True, will display the 3Dmol.js viewer. If False, will not display the 3Dmol.js viewer.
|
185 |
+
"""
|
186 |
+
file_count_valid_types = ["single", "multiple", "directory"]
|
187 |
+
self.file_count = file_count
|
188 |
+
|
189 |
+
if self.file_count not in file_count_valid_types:
|
190 |
+
raise ValueError(
|
191 |
+
f"Parameter file_count must be one of them: {file_count_valid_types}"
|
192 |
+
)
|
193 |
+
elif self.file_count in ["multiple", "directory"]:
|
194 |
+
self.data_model = ListFiles
|
195 |
+
else:
|
196 |
+
self.data_model = FileData
|
197 |
+
self.file_types = file_types
|
198 |
+
if file_types is not None and not isinstance(file_types, list):
|
199 |
+
raise ValueError(
|
200 |
+
f"Parameter file_types must be a list. Received {file_types.__class__.__name__}"
|
201 |
+
)
|
202 |
+
valid_types = [
|
203 |
+
"filepath",
|
204 |
+
"binary",
|
205 |
+
]
|
206 |
+
if type not in valid_types:
|
207 |
+
raise ValueError(
|
208 |
+
f"Invalid value for parameter `type`: {type}. Please choose from one of: {valid_types}"
|
209 |
+
)
|
210 |
+
if file_count == "directory" and file_types is not None:
|
211 |
+
warnings.warn(
|
212 |
+
"The `file_types` parameter is ignored when `file_count` is 'directory'."
|
213 |
+
)
|
214 |
+
super().__init__(
|
215 |
+
label=label,
|
216 |
+
every=every,
|
217 |
+
inputs=inputs,
|
218 |
+
show_label=show_label,
|
219 |
+
container=container,
|
220 |
+
scale=scale,
|
221 |
+
min_width=min_width,
|
222 |
+
interactive=interactive,
|
223 |
+
visible=visible,
|
224 |
+
elem_id=elem_id,
|
225 |
+
elem_classes=elem_classes,
|
226 |
+
render=render,
|
227 |
+
key=key,
|
228 |
+
value=value,
|
229 |
+
)
|
230 |
+
self.type = type
|
231 |
+
self.height = height
|
232 |
+
self.reps = reps
|
233 |
+
self.config = config
|
234 |
+
self.confidenceLabel = confidenceLabel
|
235 |
+
self.showviewer = showviewer
|
236 |
+
|
237 |
+
def _process_single_file(self, f: FileData) -> NamedString | bytes:
|
238 |
+
file_name = f.path
|
239 |
+
|
240 |
+
file_name = convert_file_to_pdb(file_name, self.GRADIO_CACHE)
|
241 |
+
|
242 |
+
if self.type == "filepath":
|
243 |
+
return NamedString(file_name)
|
244 |
+
elif self.type == "binary":
|
245 |
+
with open(file_name, "rb") as file_data:
|
246 |
+
return file_data.read()
|
247 |
+
else:
|
248 |
+
raise ValueError(
|
249 |
+
"Unknown type: "
|
250 |
+
+ str(type)
|
251 |
+
+ ". Please choose from: 'filepath', 'binary'."
|
252 |
+
)
|
253 |
+
|
254 |
+
def preprocess(
|
255 |
+
self, payload: ListFiles | FileData | None
|
256 |
+
) -> bytes | str | list[bytes] | list[str] | None:
|
257 |
+
"""
|
258 |
+
Parameters:
|
259 |
+
payload: molecule3d information as a FileData object, or a list of FileData objects.
|
260 |
+
Returns:
|
261 |
+
Passes the file as a `str` or `bytes` object, or a list of `str` or list of `bytes` objects, depending on `type` and `file_count`.
|
262 |
+
"""
|
263 |
+
if payload is None:
|
264 |
+
return None
|
265 |
+
|
266 |
+
if self.file_count == "single":
|
267 |
+
if isinstance(payload, ListFiles):
|
268 |
+
return self._process_single_file(payload[0])
|
269 |
+
return self._process_single_file(payload)
|
270 |
+
if isinstance(payload, ListFiles):
|
271 |
+
return [self._process_single_file(f) for f in payload] # type: ignore
|
272 |
+
return [self._process_single_file(payload)] # type: ignore
|
273 |
+
|
274 |
+
def _download_files(self, value: str | list[str]) -> str | list[str]:
|
275 |
+
downloaded_files = []
|
276 |
+
if isinstance(value, list):
|
277 |
+
for file in value:
|
278 |
+
if client_utils.is_http_url_like(file):
|
279 |
+
downloaded_file = processing_utils.save_url_to_cache(
|
280 |
+
file, self.GRADIO_CACHE
|
281 |
+
)
|
282 |
+
downloaded_files.append(downloaded_file)
|
283 |
+
else:
|
284 |
+
downloaded_files.append(file)
|
285 |
+
return downloaded_files
|
286 |
+
if client_utils.is_http_url_like(value):
|
287 |
+
downloaded_file = processing_utils.save_url_to_cache(
|
288 |
+
value, self.GRADIO_CACHE
|
289 |
+
)
|
290 |
+
return downloaded_file
|
291 |
+
else:
|
292 |
+
return value
|
293 |
+
|
294 |
+
def postprocess(self, value: str | list[str] | None) -> ListFiles | FileData | None:
|
295 |
+
"""
|
296 |
+
Parameters:
|
297 |
+
value: Expects a `str` filepath or URL, or a `list[str]` of filepaths/URLs.
|
298 |
+
Returns:
|
299 |
+
molecule3d information as a FileData object, or a list of FileData objects.
|
300 |
+
"""
|
301 |
+
if value is None:
|
302 |
+
return None
|
303 |
+
value = self._download_files(value)
|
304 |
+
|
305 |
+
|
306 |
+
if isinstance(value, list):
|
307 |
+
value = [convert_file_to_pdb(str(path), self.GRADIO_CACHE) for path in value]
|
308 |
+
return ListFiles(
|
309 |
+
root=[
|
310 |
+
FileData(
|
311 |
+
path=file,
|
312 |
+
orig_name=Path(file).name,
|
313 |
+
size=Path(file).stat().st_size,
|
314 |
+
)
|
315 |
+
for file in value
|
316 |
+
]
|
317 |
+
)
|
318 |
+
else:
|
319 |
+
value = convert_file_to_pdb(str(value), self.GRADIO_CACHE)
|
320 |
+
return FileData(
|
321 |
+
path=value,
|
322 |
+
orig_name=Path(value).name,
|
323 |
+
size=Path(value).stat().st_size,
|
324 |
+
)
|
325 |
+
|
326 |
+
def process_example(self, value: str | list | None) -> str:
|
327 |
+
if value is None:
|
328 |
+
return ""
|
329 |
+
elif isinstance(value, list):
|
330 |
+
return ", ".join([Path(file).name for file in value])
|
331 |
+
else:
|
332 |
+
return Path(value).name
|
333 |
+
|
334 |
+
def example_payload(self) -> Any:
|
335 |
+
if self.file_count == "single":
|
336 |
+
return handle_file(
|
337 |
+
"https://files.rcsb.org/view/1PGA.pdb"
|
338 |
+
)
|
339 |
+
else:
|
340 |
+
return [
|
341 |
+
handle_file(
|
342 |
+
"https://files.rcsb.org/view/1PGA.pdb"
|
343 |
+
)
|
344 |
+
]
|
345 |
+
|
346 |
+
def example_value(self) -> Any:
|
347 |
+
if self.file_count == "single":
|
348 |
+
return "https://files.rcsb.org/view/1PGA.pdb"
|
349 |
+
else:
|
350 |
+
return [
|
351 |
+
"https://files.rcsb.org/view/1PGA.pdb"
|
352 |
+
]
|
gradio_molecule3d/demo/__init__.py
ADDED
File without changes
|
gradio_molecule3d/demo/app.py
ADDED
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
import gradio as gr
|
3 |
+
from gradio_molecule3d import Molecule3D
|
4 |
+
|
5 |
+
|
6 |
+
example = Molecule3D().example_value()
|
7 |
+
|
8 |
+
|
9 |
+
reps = [
|
10 |
+
{
|
11 |
+
"model": 0,
|
12 |
+
"chain": "",
|
13 |
+
"resname": "",
|
14 |
+
"style": "cartoon",
|
15 |
+
"color": "hydrophobicity",
|
16 |
+
# "residue_range": "",
|
17 |
+
"around": 0,
|
18 |
+
"byres": False,
|
19 |
+
# "visible": False,
|
20 |
+
# "opacity": 0.5
|
21 |
+
}
|
22 |
+
]
|
23 |
+
|
24 |
+
|
25 |
+
|
26 |
+
def predict(x):
|
27 |
+
print("predict function", x)
|
28 |
+
print(x.name)
|
29 |
+
return x
|
30 |
+
|
31 |
+
# def update_color(mol, color):
|
32 |
+
# reps[0]['color'] = color
|
33 |
+
# print(reps)
|
34 |
+
# return Molecule3D(mol, reps=reps)
|
35 |
+
|
36 |
+
with gr.Blocks() as demo:
|
37 |
+
gr.Markdown("# Molecule3D")
|
38 |
+
# color_choices = ['redCarbon', 'greenCarbon', 'orangeCarbon', 'blackCarbon', 'blueCarbon', 'grayCarbon', 'cyanCarbon']
|
39 |
+
|
40 |
+
inp = Molecule3D(label="Molecule3D", reps=reps)
|
41 |
+
# cdr_color = gr.Dropdown(choices=color_choices, label="CDR color", value='redCarbon')
|
42 |
+
out = Molecule3D(label="Output", reps=reps)
|
43 |
+
# cdr_color.change(update_color, inputs=[inp,cdr_color], outputs=out)
|
44 |
+
btn = gr.Button("Predict")
|
45 |
+
gr.Markdown("""
|
46 |
+
You can configure the default rendering of the molecule by adding a list of representations
|
47 |
+
<pre>
|
48 |
+
reps = [
|
49 |
+
{
|
50 |
+
"model": 0,
|
51 |
+
"style": "cartoon",
|
52 |
+
"color": "whiteCarbon",
|
53 |
+
"residue_range": "",
|
54 |
+
"around": 0,
|
55 |
+
"opacity":1
|
56 |
+
|
57 |
+
},
|
58 |
+
{
|
59 |
+
"model": 0,
|
60 |
+
"chain": "A",
|
61 |
+
"resname": "HIS",
|
62 |
+
"style": "stick",
|
63 |
+
"color": "red"
|
64 |
+
}
|
65 |
+
]
|
66 |
+
</pre>
|
67 |
+
""")
|
68 |
+
btn.click(predict, inputs=inp, outputs=out)
|
69 |
+
|
70 |
+
|
71 |
+
if __name__ == "__main__":
|
72 |
+
demo.launch()
|
gradio_molecule3d/demo/css.css
ADDED
@@ -0,0 +1,157 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
html {
|
2 |
+
font-family: Inter;
|
3 |
+
font-size: 16px;
|
4 |
+
font-weight: 400;
|
5 |
+
line-height: 1.5;
|
6 |
+
-webkit-text-size-adjust: 100%;
|
7 |
+
background: #fff;
|
8 |
+
color: #323232;
|
9 |
+
-webkit-font-smoothing: antialiased;
|
10 |
+
-moz-osx-font-smoothing: grayscale;
|
11 |
+
text-rendering: optimizeLegibility;
|
12 |
+
}
|
13 |
+
|
14 |
+
:root {
|
15 |
+
--space: 1;
|
16 |
+
--vspace: calc(var(--space) * 1rem);
|
17 |
+
--vspace-0: calc(3 * var(--space) * 1rem);
|
18 |
+
--vspace-1: calc(2 * var(--space) * 1rem);
|
19 |
+
--vspace-2: calc(1.5 * var(--space) * 1rem);
|
20 |
+
--vspace-3: calc(0.5 * var(--space) * 1rem);
|
21 |
+
}
|
22 |
+
|
23 |
+
.app {
|
24 |
+
max-width: 748px !important;
|
25 |
+
}
|
26 |
+
|
27 |
+
.prose p {
|
28 |
+
margin: var(--vspace) 0;
|
29 |
+
line-height: var(--vspace * 2);
|
30 |
+
font-size: 1rem;
|
31 |
+
}
|
32 |
+
|
33 |
+
code {
|
34 |
+
font-family: "Inconsolata", sans-serif;
|
35 |
+
font-size: 16px;
|
36 |
+
}
|
37 |
+
|
38 |
+
h1,
|
39 |
+
h1 code {
|
40 |
+
font-weight: 400;
|
41 |
+
line-height: calc(2.5 / var(--space) * var(--vspace));
|
42 |
+
}
|
43 |
+
|
44 |
+
h1 code {
|
45 |
+
background: none;
|
46 |
+
border: none;
|
47 |
+
letter-spacing: 0.05em;
|
48 |
+
padding-bottom: 5px;
|
49 |
+
position: relative;
|
50 |
+
padding: 0;
|
51 |
+
}
|
52 |
+
|
53 |
+
h2 {
|
54 |
+
margin: var(--vspace-1) 0 var(--vspace-2) 0;
|
55 |
+
line-height: 1em;
|
56 |
+
}
|
57 |
+
|
58 |
+
h3,
|
59 |
+
h3 code {
|
60 |
+
margin: var(--vspace-1) 0 var(--vspace-2) 0;
|
61 |
+
line-height: 1em;
|
62 |
+
}
|
63 |
+
|
64 |
+
h4,
|
65 |
+
h5,
|
66 |
+
h6 {
|
67 |
+
margin: var(--vspace-3) 0 var(--vspace-3) 0;
|
68 |
+
line-height: var(--vspace);
|
69 |
+
}
|
70 |
+
|
71 |
+
.bigtitle,
|
72 |
+
h1,
|
73 |
+
h1 code {
|
74 |
+
font-size: calc(8px * 4.5);
|
75 |
+
word-break: break-word;
|
76 |
+
}
|
77 |
+
|
78 |
+
.title,
|
79 |
+
h2,
|
80 |
+
h2 code {
|
81 |
+
font-size: calc(8px * 3.375);
|
82 |
+
font-weight: lighter;
|
83 |
+
word-break: break-word;
|
84 |
+
border: none;
|
85 |
+
background: none;
|
86 |
+
}
|
87 |
+
|
88 |
+
.subheading1,
|
89 |
+
h3,
|
90 |
+
h3 code {
|
91 |
+
font-size: calc(8px * 1.8);
|
92 |
+
font-weight: 600;
|
93 |
+
border: none;
|
94 |
+
background: none;
|
95 |
+
letter-spacing: 0.1em;
|
96 |
+
text-transform: uppercase;
|
97 |
+
}
|
98 |
+
|
99 |
+
h2 code {
|
100 |
+
padding: 0;
|
101 |
+
position: relative;
|
102 |
+
letter-spacing: 0.05em;
|
103 |
+
}
|
104 |
+
|
105 |
+
blockquote {
|
106 |
+
font-size: calc(8px * 1.1667);
|
107 |
+
font-style: italic;
|
108 |
+
line-height: calc(1.1667 * var(--vspace));
|
109 |
+
margin: var(--vspace-2) var(--vspace-2);
|
110 |
+
}
|
111 |
+
|
112 |
+
.subheading2,
|
113 |
+
h4 {
|
114 |
+
font-size: calc(8px * 1.4292);
|
115 |
+
text-transform: uppercase;
|
116 |
+
font-weight: 600;
|
117 |
+
}
|
118 |
+
|
119 |
+
.subheading3,
|
120 |
+
h5 {
|
121 |
+
font-size: calc(8px * 1.2917);
|
122 |
+
line-height: calc(1.2917 * var(--vspace));
|
123 |
+
|
124 |
+
font-weight: lighter;
|
125 |
+
text-transform: uppercase;
|
126 |
+
letter-spacing: 0.15em;
|
127 |
+
}
|
128 |
+
|
129 |
+
h6 {
|
130 |
+
font-size: calc(8px * 1.1667);
|
131 |
+
font-size: 1.1667em;
|
132 |
+
font-weight: normal;
|
133 |
+
font-style: italic;
|
134 |
+
font-family: "le-monde-livre-classic-byol", serif !important;
|
135 |
+
letter-spacing: 0px !important;
|
136 |
+
}
|
137 |
+
|
138 |
+
#start .md > *:first-child {
|
139 |
+
margin-top: 0;
|
140 |
+
}
|
141 |
+
|
142 |
+
h2 + h3 {
|
143 |
+
margin-top: 0;
|
144 |
+
}
|
145 |
+
|
146 |
+
.md hr {
|
147 |
+
border: none;
|
148 |
+
border-top: 1px solid var(--block-border-color);
|
149 |
+
margin: var(--vspace-2) 0 var(--vspace-2) 0;
|
150 |
+
}
|
151 |
+
.prose ul {
|
152 |
+
margin: var(--vspace-2) 0 var(--vspace-1) 0;
|
153 |
+
}
|
154 |
+
|
155 |
+
.gap {
|
156 |
+
gap: 0;
|
157 |
+
}
|
gradio_molecule3d/demo/requirements.txt
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
gradio_molecule3d
|
gradio_molecule3d/frontend/Example.svelte
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script lang="ts">
|
2 |
+
import type { FileData } from "@gradio/client";
|
3 |
+
|
4 |
+
export let value: FileData | null;
|
5 |
+
export let type: "gallery" | "table";
|
6 |
+
export let selected = false;
|
7 |
+
</script>
|
8 |
+
|
9 |
+
<div
|
10 |
+
class:table={type === "table"}
|
11 |
+
class:gallery={type === "gallery"}
|
12 |
+
class:selected
|
13 |
+
>
|
14 |
+
{value ? (Array.isArray(value) ? value.join(", ") : value) : ""}
|
15 |
+
</div>
|
16 |
+
|
17 |
+
<style>
|
18 |
+
div {
|
19 |
+
overflow: hidden;
|
20 |
+
text-overflow: ellipsis;
|
21 |
+
white-space: nowrap;
|
22 |
+
}
|
23 |
+
.gallery {
|
24 |
+
display: flex;
|
25 |
+
align-items: center;
|
26 |
+
cursor: pointer;
|
27 |
+
padding: var(--size-1) var(--size-2);
|
28 |
+
text-align: left;
|
29 |
+
}
|
30 |
+
</style>
|
gradio_molecule3d/frontend/Index.svelte
ADDED
@@ -0,0 +1,339 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<svelte:options accessors={true} />
|
2 |
+
|
3 |
+
<script context="module" lang="ts">
|
4 |
+
export { default as FilePreview } from "./shared/FilePreview.svelte";
|
5 |
+
export { default as BaseFileUpload } from "./shared/FileUpload.svelte";
|
6 |
+
export { default as BaseFile } from "./shared/File.svelte";
|
7 |
+
export { default as BaseExample } from "./Example.svelte";
|
8 |
+
</script>
|
9 |
+
|
10 |
+
<script lang="ts">
|
11 |
+
import "./style.css";
|
12 |
+
|
13 |
+
import type { Gradio, SelectData } from "@gradio/utils";
|
14 |
+
import File from "./shared/File.svelte";
|
15 |
+
import FileUpload from "./shared/FileUpload.svelte";
|
16 |
+
import type { FileData } from "@gradio/client";
|
17 |
+
import { Block, UploadText } from "@gradio/atoms";
|
18 |
+
|
19 |
+
import { StatusTracker } from "@gradio/statustracker";
|
20 |
+
import type { LoadingStatus } from "@gradio/statustracker";
|
21 |
+
|
22 |
+
export let elem_id = "";
|
23 |
+
export let elem_classes: string[] = [];
|
24 |
+
export let visible = true;
|
25 |
+
export let value: null | FileData | FileData[];
|
26 |
+
|
27 |
+
export let interactive: boolean;
|
28 |
+
export let root: string;
|
29 |
+
export let label: string;
|
30 |
+
export let show_label: boolean;
|
31 |
+
export let height: number | undefined = undefined;
|
32 |
+
|
33 |
+
//Molecule3D specific arguments
|
34 |
+
export let reps: any = [];
|
35 |
+
export let config: any = {};
|
36 |
+
export let confidenceLabel: string = "";
|
37 |
+
export let showviewer: boolean = true;
|
38 |
+
|
39 |
+
export let _selectable = false;
|
40 |
+
export let loading_status: LoadingStatus;
|
41 |
+
export let container = true;
|
42 |
+
export let scale: number | null = null;
|
43 |
+
export let min_width: number | undefined = undefined;
|
44 |
+
export let gradio: Gradio<{
|
45 |
+
change: never;
|
46 |
+
error: string;
|
47 |
+
upload: never;
|
48 |
+
clear: never;
|
49 |
+
select: SelectData;
|
50 |
+
clear_status: LoadingStatus;
|
51 |
+
delete: FileData;
|
52 |
+
}>;
|
53 |
+
export let file_count: "single" | "multiple" | "directory";
|
54 |
+
export let file_types: string[] = ["file"];
|
55 |
+
|
56 |
+
let old_value = value;
|
57 |
+
$: if (JSON.stringify(old_value) !== JSON.stringify(value)) {
|
58 |
+
gradio.dispatch("change");
|
59 |
+
old_value = value;
|
60 |
+
|
61 |
+
moldata = null;
|
62 |
+
retrieveContent(value);
|
63 |
+
}
|
64 |
+
|
65 |
+
$: if (JSON.stringify(reps) !== JSON.stringify(reps)) {
|
66 |
+
gradio.dispatch("change");
|
67 |
+
old_value = value;
|
68 |
+
|
69 |
+
// console.log("reps changed");
|
70 |
+
// console.log(reps);
|
71 |
+
|
72 |
+
moldata = null;
|
73 |
+
retrieveContent(value);
|
74 |
+
}
|
75 |
+
|
76 |
+
let dragging = false;
|
77 |
+
let pending_upload = false;
|
78 |
+
|
79 |
+
let keys_for_reps = {
|
80 |
+
model: {
|
81 |
+
type: Number,
|
82 |
+
default: 0,
|
83 |
+
},
|
84 |
+
chain: {
|
85 |
+
type: String,
|
86 |
+
default: "",
|
87 |
+
},
|
88 |
+
resname: {
|
89 |
+
type: String,
|
90 |
+
default: "",
|
91 |
+
},
|
92 |
+
style: {
|
93 |
+
type: String,
|
94 |
+
default: "cartoon",
|
95 |
+
choices: ["cartoon", "stick", "sphere", "surface"],
|
96 |
+
},
|
97 |
+
color: {
|
98 |
+
type: String,
|
99 |
+
default: "whiteCarbon",
|
100 |
+
choices: [
|
101 |
+
"whiteCarbon",
|
102 |
+
"orangeCarbon",
|
103 |
+
"redCarbon",
|
104 |
+
"blackCarbon",
|
105 |
+
"blueCarbon",
|
106 |
+
"grayCarbon",
|
107 |
+
"greenCarbon",
|
108 |
+
"cyanCarbon",
|
109 |
+
"alphafold",
|
110 |
+
"default",
|
111 |
+
"Jmol",
|
112 |
+
"chain",
|
113 |
+
"spectrum",
|
114 |
+
],
|
115 |
+
},
|
116 |
+
opacity: {
|
117 |
+
type: Number,
|
118 |
+
default: 1,
|
119 |
+
},
|
120 |
+
residue_range: {
|
121 |
+
type: String,
|
122 |
+
default: "",
|
123 |
+
},
|
124 |
+
around: {
|
125 |
+
type: Number,
|
126 |
+
default: 0,
|
127 |
+
},
|
128 |
+
byres: {
|
129 |
+
type: Boolean,
|
130 |
+
default: false,
|
131 |
+
},
|
132 |
+
visible: {
|
133 |
+
type: Boolean,
|
134 |
+
default: true,
|
135 |
+
},
|
136 |
+
};
|
137 |
+
let moldata = null;
|
138 |
+
let allowed_extensions = ["pdb", "sdf", "mol2", "pdb1", "cif", "traj", "xyz"];
|
139 |
+
async function fetchFileContent(url) {
|
140 |
+
const response = await fetch(url);
|
141 |
+
const content = await response.text();
|
142 |
+
return content;
|
143 |
+
}
|
144 |
+
let promise = null;
|
145 |
+
let errors = [];
|
146 |
+
async function retrieveContent(value) {
|
147 |
+
if (value == null) {
|
148 |
+
return [];
|
149 |
+
} else if (Array.isArray(value)) {
|
150 |
+
let tempMoldata = [];
|
151 |
+
// get file extension
|
152 |
+
for (const element of value) {
|
153 |
+
let ext = element.orig_name.split(".").pop();
|
154 |
+
if (!allowed_extensions.includes(ext)) {
|
155 |
+
errors.push(
|
156 |
+
`Invalid file extension for ${
|
157 |
+
element.orig_name
|
158 |
+
}. Expected one of ${allowed_extensions.join(", ")}, got ${ext}`
|
159 |
+
);
|
160 |
+
moldata = null;
|
161 |
+
continue;
|
162 |
+
}
|
163 |
+
tempMoldata.push({
|
164 |
+
data: await fetchFileContent(element.url),
|
165 |
+
name: element.orig_name,
|
166 |
+
format: ext,
|
167 |
+
asFrames: false,
|
168 |
+
});
|
169 |
+
}
|
170 |
+
moldata = tempMoldata;
|
171 |
+
} else if (typeof value === "object" && value !== null) {
|
172 |
+
let ext = value.orig_name.split(".").pop();
|
173 |
+
if (!allowed_extensions.includes(ext)) {
|
174 |
+
errors.push(
|
175 |
+
`Invalid file extension for ${
|
176 |
+
value.orig_name
|
177 |
+
}. Expected one of ${allowed_extensions.join(", ")}, got ${ext}`
|
178 |
+
);
|
179 |
+
moldata = null;
|
180 |
+
} else {
|
181 |
+
let t = await fetchFileContent(value.url);
|
182 |
+
let ext = value.orig_name.split(".").pop();
|
183 |
+
if (ext === "pdb1") {
|
184 |
+
ext = "pdb";
|
185 |
+
}
|
186 |
+
moldata = [
|
187 |
+
{ data: t, name: value.orig_name, format: ext, asFrames: false },
|
188 |
+
];
|
189 |
+
}
|
190 |
+
} else {
|
191 |
+
moldata = null;
|
192 |
+
}
|
193 |
+
// value is object
|
194 |
+
}
|
195 |
+
// go through each rep, do a type check and add missing keys to the rep
|
196 |
+
let lenMoldata = 0;
|
197 |
+
$: lenMoldata = moldata ? moldata.length : 0;
|
198 |
+
let representations = [];
|
199 |
+
//first add all missing keys
|
200 |
+
$: {
|
201 |
+
reps.forEach((rep) => {
|
202 |
+
for (const [key, value] of Object.entries(keys_for_reps)) {
|
203 |
+
if (rep[key] === undefined) {
|
204 |
+
rep[key] = value["default"];
|
205 |
+
}
|
206 |
+
if (rep[key].constructor != value["type"]) {
|
207 |
+
errors.push(
|
208 |
+
`Invalid type for ${key} in reps. Expected ${
|
209 |
+
value["type"]
|
210 |
+
}, got ${typeof rep[key]}`
|
211 |
+
);
|
212 |
+
}
|
213 |
+
}
|
214 |
+
});
|
215 |
+
// then check if model does exist and add to representations
|
216 |
+
reps.forEach((rep) => {
|
217 |
+
if (rep["model"] <= lenMoldata) {
|
218 |
+
representations.push(rep);
|
219 |
+
}
|
220 |
+
});
|
221 |
+
}
|
222 |
+
$: promise = retrieveContent(value);
|
223 |
+
</script>
|
224 |
+
|
225 |
+
<Block
|
226 |
+
{visible}
|
227 |
+
variant={value ? "solid" : "dashed"}
|
228 |
+
border_mode={dragging ? "focus" : "base"}
|
229 |
+
padding={false}
|
230 |
+
{elem_id}
|
231 |
+
{elem_classes}
|
232 |
+
{container}
|
233 |
+
{scale}
|
234 |
+
{min_width}
|
235 |
+
allow_overflow={false}
|
236 |
+
>
|
237 |
+
<StatusTracker
|
238 |
+
autoscroll={gradio.autoscroll}
|
239 |
+
i18n={gradio.i18n}
|
240 |
+
{...loading_status}
|
241 |
+
status={pending_upload
|
242 |
+
? "generating"
|
243 |
+
: loading_status?.status || "complete"}
|
244 |
+
on:clear_status={() => gradio.dispatch("clear_status", loading_status)}
|
245 |
+
/>
|
246 |
+
{#if !interactive}
|
247 |
+
<File
|
248 |
+
on:select={({ detail }) => gradio.dispatch("select", detail)}
|
249 |
+
selectable={_selectable}
|
250 |
+
{value}
|
251 |
+
{label}
|
252 |
+
{show_label}
|
253 |
+
{height}
|
254 |
+
{representations}
|
255 |
+
{config}
|
256 |
+
{confidenceLabel}
|
257 |
+
{moldata}
|
258 |
+
{errors}
|
259 |
+
i18n={gradio.i18n}
|
260 |
+
molviewer={showviewer}
|
261 |
+
/>
|
262 |
+
{:else}
|
263 |
+
<FileUpload
|
264 |
+
upload={gradio.client.upload}
|
265 |
+
stream_handler={gradio.client.stream}
|
266 |
+
{label}
|
267 |
+
{show_label}
|
268 |
+
{value}
|
269 |
+
{file_count}
|
270 |
+
{file_types}
|
271 |
+
selectable={_selectable}
|
272 |
+
{root}
|
273 |
+
{height}
|
274 |
+
{representations}
|
275 |
+
{config}
|
276 |
+
{confidenceLabel}
|
277 |
+
{moldata}
|
278 |
+
molviewer={showviewer}
|
279 |
+
max_file_size={gradio.max_file_size}
|
280 |
+
on:change={({ detail }) => {
|
281 |
+
value = detail;
|
282 |
+
}}
|
283 |
+
on:drag={({ detail }) => (dragging = detail)}
|
284 |
+
on:clear={() => gradio.dispatch("clear")}
|
285 |
+
on:select={({ detail }) => gradio.dispatch("select", detail)}
|
286 |
+
on:notfound={() =>
|
287 |
+
gradio.dispatch(
|
288 |
+
"error",
|
289 |
+
"identifier not found in database, check spelling"
|
290 |
+
)}
|
291 |
+
on:upload={() => gradio.dispatch("upload")}
|
292 |
+
on:error={({ detail }) => {
|
293 |
+
loading_status = loading_status || {};
|
294 |
+
loading_status.status = "error";
|
295 |
+
gradio.dispatch("error", detail);
|
296 |
+
}}
|
297 |
+
on:delete={({ detail }) => {
|
298 |
+
gradio.dispatch("delete", detail);
|
299 |
+
}}
|
300 |
+
i18n={gradio.i18n}
|
301 |
+
>
|
302 |
+
<UploadText i18n={gradio.i18n} type="file" />
|
303 |
+
</FileUpload>
|
304 |
+
{/if}
|
305 |
+
|
306 |
+
{#if errors.length > 0 && value !== null}
|
307 |
+
<div
|
308 |
+
class="flex m-2 p-4 mb-4 text-sm text-red-800 rounded-lg bg-red-50 dark:bg-gray-800 dark:text-red-400"
|
309 |
+
role="alert"
|
310 |
+
>
|
311 |
+
<svg
|
312 |
+
class="flex-shrink-0 inline w-4 h-4 mr-3 mt-[2px]"
|
313 |
+
xmlns="http://www.w3.org/2000/svg"
|
314 |
+
fill="none"
|
315 |
+
viewBox="0 0 24 24"
|
316 |
+
stroke-width="1.5"
|
317 |
+
stroke="currentColor"
|
318 |
+
>
|
319 |
+
<path
|
320 |
+
stroke-linecap="round"
|
321 |
+
stroke-linejoin="round"
|
322 |
+
d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z"
|
323 |
+
/>
|
324 |
+
</svg>
|
325 |
+
|
326 |
+
<span class="sr-only">Error in the representations</span>
|
327 |
+
<div>
|
328 |
+
<span class="font-medium"
|
329 |
+
>Couldn't display Molecule. Fix the following problems:</span
|
330 |
+
>
|
331 |
+
<ul class="mt-1.5 ml-4 list-disc list-inside">
|
332 |
+
{#each errors as error}
|
333 |
+
<li>{error}</li>
|
334 |
+
{/each}
|
335 |
+
</ul>
|
336 |
+
</div>
|
337 |
+
</div>
|
338 |
+
{/if}
|
339 |
+
</Block>
|
gradio_molecule3d/frontend/gradio.config.js
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import tailwindcss from "@tailwindcss/vite";
|
2 |
+
|
3 |
+
export default {
|
4 |
+
plugins: [tailwindcss()],
|
5 |
+
svelte: {
|
6 |
+
preprocess: [],
|
7 |
+
},
|
8 |
+
build: {
|
9 |
+
target: "modules",
|
10 |
+
},
|
11 |
+
};
|
gradio_molecule3d/frontend/package-lock.json
ADDED
The diff for this file is too large to render.
See raw diff
|
|
gradio_molecule3d/frontend/package.json
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"name": "gradio_molecule3d",
|
3 |
+
"version": "0.9.2",
|
4 |
+
"description": "Gradio UI packages",
|
5 |
+
"type": "module",
|
6 |
+
"author": "",
|
7 |
+
"license": "ISC",
|
8 |
+
"private": false,
|
9 |
+
"dependencies": {
|
10 |
+
"@gradio/atoms": "^0.9.0",
|
11 |
+
"@gradio/client": "^1.6.0",
|
12 |
+
"@gradio/icons": "^0.8.0",
|
13 |
+
"@gradio/markdown": "^0.10.1",
|
14 |
+
"@gradio/statustracker": "^0.8.1",
|
15 |
+
"@gradio/upload": "^0.13.1",
|
16 |
+
"@gradio/utils": "^0.7.0",
|
17 |
+
"@gradio/wasm": "^0.14.1",
|
18 |
+
"@tailwindcss/vite": "^4.0.0-alpha.30",
|
19 |
+
"3dmol": "^2.4.0",
|
20 |
+
"tailwindcss": "^4.0.0-alpha.30"
|
21 |
+
},
|
22 |
+
"devDependencies": {
|
23 |
+
"@gradio/preview": "0.12.0"
|
24 |
+
},
|
25 |
+
"main": "./Index.svelte",
|
26 |
+
"main_changeset": true,
|
27 |
+
"exports": {
|
28 |
+
".": {
|
29 |
+
"gradio": "./Index.svelte"
|
30 |
+
},
|
31 |
+
"./example": {
|
32 |
+
"gradio": "./Example.svelte"
|
33 |
+
},
|
34 |
+
"./package.json": "./package.json"
|
35 |
+
}
|
36 |
+
}
|
gradio_molecule3d/frontend/shared/File.svelte
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script lang="ts">
|
2 |
+
import type { FileData } from "@gradio/client";
|
3 |
+
import { BlockLabel, Empty } from "@gradio/atoms";
|
4 |
+
import { File } from "@gradio/icons";
|
5 |
+
import FilePreview from "./FilePreview.svelte";
|
6 |
+
import type { I18nFormatter } from "@gradio/utils";
|
7 |
+
|
8 |
+
import MolecularViewer from "./MolecularViewer.svelte";
|
9 |
+
|
10 |
+
export let value: FileData | FileData[] | null = null;
|
11 |
+
export let label: string;
|
12 |
+
export let show_label = true;
|
13 |
+
export let selectable = false;
|
14 |
+
export let height: number | undefined = undefined;
|
15 |
+
export let i18n: I18nFormatter;
|
16 |
+
|
17 |
+
export let config = {};
|
18 |
+
export let confidenceLabel = "";
|
19 |
+
export let representations = [];
|
20 |
+
export let moldata = null;
|
21 |
+
export let molviewer = false;
|
22 |
+
</script>
|
23 |
+
|
24 |
+
<BlockLabel
|
25 |
+
{show_label}
|
26 |
+
float={value === null}
|
27 |
+
Icon={File}
|
28 |
+
label={label || "File"}
|
29 |
+
/>
|
30 |
+
|
31 |
+
{#if value && (Array.isArray(value) ? value.length > 0 : true)}
|
32 |
+
<!-- <FilePreview {i18n} {selectable} on:select {value} {height} /> -->
|
33 |
+
|
34 |
+
{#if moldata != null && molviewer}
|
35 |
+
<MolecularViewer {moldata} {config} {confidenceLabel} {representations} />
|
36 |
+
{/if}
|
37 |
+
{:else}
|
38 |
+
<Empty unpadded_box={true} size="large"><File /></Empty>
|
39 |
+
{/if}
|
gradio_molecule3d/frontend/shared/FilePreview.svelte
ADDED
@@ -0,0 +1,197 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script lang="ts">
|
2 |
+
import type { FileData } from "@gradio/client";
|
3 |
+
import { prettyBytes } from "./utils";
|
4 |
+
import { createEventDispatcher } from "svelte";
|
5 |
+
import type { I18nFormatter, SelectData } from "@gradio/utils";
|
6 |
+
import { DownloadLink } from "@gradio/wasm/svelte";
|
7 |
+
|
8 |
+
const dispatch = createEventDispatcher<{
|
9 |
+
select: SelectData;
|
10 |
+
change: FileData[] | FileData;
|
11 |
+
delete: FileData;
|
12 |
+
}>();
|
13 |
+
export let value: FileData | FileData[];
|
14 |
+
export let selectable = false;
|
15 |
+
export let height: number | undefined = undefined;
|
16 |
+
export let i18n: I18nFormatter;
|
17 |
+
|
18 |
+
function split_filename(filename: string): [string, string] {
|
19 |
+
const last_dot = filename.lastIndexOf(".");
|
20 |
+
if (last_dot === -1) {
|
21 |
+
return [filename, ""];
|
22 |
+
}
|
23 |
+
return [filename.slice(0, last_dot), filename.slice(last_dot)];
|
24 |
+
}
|
25 |
+
|
26 |
+
$: normalized_files = (Array.isArray(value) ? value : [value]).map((file) => {
|
27 |
+
const [filename_stem, filename_ext] = split_filename(file.orig_name ?? "");
|
28 |
+
return {
|
29 |
+
...file,
|
30 |
+
filename_stem,
|
31 |
+
filename_ext
|
32 |
+
};
|
33 |
+
});
|
34 |
+
|
35 |
+
function handle_row_click(
|
36 |
+
event: MouseEvent & { currentTarget: HTMLTableRowElement },
|
37 |
+
index: number
|
38 |
+
): void {
|
39 |
+
const tr = event.currentTarget;
|
40 |
+
const should_select =
|
41 |
+
event.target === tr || // Only select if the click is on the row itself
|
42 |
+
(tr &&
|
43 |
+
tr.firstElementChild &&
|
44 |
+
event.composedPath().includes(tr.firstElementChild)); // Or if the click is on the name column
|
45 |
+
|
46 |
+
if (should_select) {
|
47 |
+
dispatch("select", { value: normalized_files[index].orig_name, index });
|
48 |
+
}
|
49 |
+
}
|
50 |
+
|
51 |
+
function remove_file(index: number): void {
|
52 |
+
const removed = normalized_files.splice(index, 1);
|
53 |
+
normalized_files = [...normalized_files];
|
54 |
+
value = normalized_files;
|
55 |
+
dispatch("delete", removed[0]);
|
56 |
+
dispatch("change", normalized_files);
|
57 |
+
}
|
58 |
+
</script>
|
59 |
+
|
60 |
+
<div
|
61 |
+
class="file-preview-holder"
|
62 |
+
style="max-height: {typeof height === undefined ? 'auto' : height + 'px'};"
|
63 |
+
>
|
64 |
+
<table class="file-preview">
|
65 |
+
<tbody>
|
66 |
+
{#each normalized_files as file, i (file)}
|
67 |
+
<tr
|
68 |
+
class="file"
|
69 |
+
class:selectable
|
70 |
+
on:click={(event) => {
|
71 |
+
handle_row_click(event, i);
|
72 |
+
}}
|
73 |
+
>
|
74 |
+
<td class="filename" aria-label={file.orig_name}>
|
75 |
+
<span class="stem">{file.filename_stem}</span>
|
76 |
+
<span class="ext">{file.filename_ext}</span>
|
77 |
+
</td>
|
78 |
+
|
79 |
+
<td class="download">
|
80 |
+
{#if file.url}
|
81 |
+
<DownloadLink
|
82 |
+
href={file.url}
|
83 |
+
download={window.__is_colab__ ? null : file.orig_name}
|
84 |
+
>
|
85 |
+
{@html file.size != null
|
86 |
+
? prettyBytes(file.size)
|
87 |
+
: "(size unknown)"} ⇣
|
88 |
+
</DownloadLink>
|
89 |
+
{:else}
|
90 |
+
{i18n("file.uploading")}
|
91 |
+
{/if}
|
92 |
+
</td>
|
93 |
+
|
94 |
+
{#if normalized_files.length > 1}
|
95 |
+
<td>
|
96 |
+
<button
|
97 |
+
class="label-clear-button"
|
98 |
+
aria-label="Remove this file"
|
99 |
+
on:click={() => {
|
100 |
+
remove_file(i);
|
101 |
+
}}
|
102 |
+
on:keydown={(event) => {
|
103 |
+
if (event.key === "Enter") {
|
104 |
+
remove_file(i);
|
105 |
+
}
|
106 |
+
}}
|
107 |
+
>×
|
108 |
+
</button>
|
109 |
+
</td>
|
110 |
+
{/if}
|
111 |
+
</tr>
|
112 |
+
{/each}
|
113 |
+
</tbody>
|
114 |
+
</table>
|
115 |
+
</div>
|
116 |
+
|
117 |
+
<style>
|
118 |
+
.label-clear-button {
|
119 |
+
color: var(--body-text-color-subdued);
|
120 |
+
position: relative;
|
121 |
+
left: -3px;
|
122 |
+
}
|
123 |
+
|
124 |
+
.label-clear-button:hover {
|
125 |
+
color: var(--body-text-color);
|
126 |
+
}
|
127 |
+
|
128 |
+
.file-preview {
|
129 |
+
table-layout: fixed;
|
130 |
+
width: var(--size-full);
|
131 |
+
max-height: var(--size-60);
|
132 |
+
overflow-y: auto;
|
133 |
+
margin-top: var(--size-1);
|
134 |
+
color: var(--body-text-color);
|
135 |
+
}
|
136 |
+
|
137 |
+
.file-preview-holder {
|
138 |
+
overflow: auto;
|
139 |
+
}
|
140 |
+
|
141 |
+
.file {
|
142 |
+
display: flex;
|
143 |
+
width: var(--size-full);
|
144 |
+
}
|
145 |
+
|
146 |
+
.file > * {
|
147 |
+
padding: var(--size-1) var(--size-2-5);
|
148 |
+
}
|
149 |
+
|
150 |
+
.filename {
|
151 |
+
flex-grow: 1;
|
152 |
+
display: flex;
|
153 |
+
overflow: hidden;
|
154 |
+
}
|
155 |
+
.filename .stem {
|
156 |
+
overflow: hidden;
|
157 |
+
text-overflow: ellipsis;
|
158 |
+
white-space: nowrap;
|
159 |
+
}
|
160 |
+
.filename .ext {
|
161 |
+
white-space: nowrap;
|
162 |
+
}
|
163 |
+
|
164 |
+
.download {
|
165 |
+
min-width: 8rem;
|
166 |
+
width: 10%;
|
167 |
+
white-space: nowrap;
|
168 |
+
text-align: right;
|
169 |
+
}
|
170 |
+
.download:hover {
|
171 |
+
text-decoration: underline;
|
172 |
+
}
|
173 |
+
.download > :global(a) {
|
174 |
+
color: var(--link-text-color);
|
175 |
+
}
|
176 |
+
|
177 |
+
.download > :global(a:hover) {
|
178 |
+
color: var(--link-text-color-hover);
|
179 |
+
}
|
180 |
+
.download > :global(a:visited) {
|
181 |
+
color: var(--link-text-color-visited);
|
182 |
+
}
|
183 |
+
.download > :global(a:active) {
|
184 |
+
color: var(--link-text-color-active);
|
185 |
+
}
|
186 |
+
.selectable {
|
187 |
+
cursor: pointer;
|
188 |
+
}
|
189 |
+
|
190 |
+
tbody > tr:nth-child(even) {
|
191 |
+
background: var(--block-background-fill);
|
192 |
+
}
|
193 |
+
|
194 |
+
tbody > tr:nth-child(odd) {
|
195 |
+
background: var(--table-odd-background-fill);
|
196 |
+
}
|
197 |
+
</style>
|
gradio_molecule3d/frontend/shared/FileRetrieval.svelte
ADDED
@@ -0,0 +1,159 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script lang="ts">
|
2 |
+
import { createEventDispatcher, tick, getContext } from "svelte";
|
3 |
+
|
4 |
+
import { FileData } from "@gradio/client";
|
5 |
+
import LoadingSpinner from "./loading_spinner.svelte";
|
6 |
+
let uploaded_files;
|
7 |
+
const dispatch = createEventDispatcher();
|
8 |
+
|
9 |
+
import type { Client } from "@Gradio Uptime/client";
|
10 |
+
export let upload: Client["upload"];
|
11 |
+
|
12 |
+
export let root: string;
|
13 |
+
async function handle_upload(file_data: FileData): Promise<void> {
|
14 |
+
await tick();
|
15 |
+
const upload_id = Math.random().toString(36).substring(2, 15);
|
16 |
+
uploaded_files = await upload([file_data], root, upload_id);
|
17 |
+
dispatch("load", uploaded_files[0]);
|
18 |
+
}
|
19 |
+
let loading = false;
|
20 |
+
async function fetchFromDB(identifier, database): Promise<void> {
|
21 |
+
let dbs = {
|
22 |
+
pdb_assym: {
|
23 |
+
url: "https://files.rcsb.org/view/",
|
24 |
+
ext: ".pdb",
|
25 |
+
},
|
26 |
+
pdb_bioass: {
|
27 |
+
url: "https://files.rcsb.org/view/",
|
28 |
+
ext: ".pdb1",
|
29 |
+
},
|
30 |
+
af: {
|
31 |
+
url: "https://alphafold.ebi.ac.uk/files/AF-",
|
32 |
+
ext: "-F1-model_v4.pdb",
|
33 |
+
},
|
34 |
+
esm: {
|
35 |
+
url: "https://api.esmatlas.com/fetchPredictedStructure/",
|
36 |
+
ext: ".pdb",
|
37 |
+
},
|
38 |
+
// pubchem: "pubchem",
|
39 |
+
// text: "text",
|
40 |
+
};
|
41 |
+
let url = dbs[database]["url"];
|
42 |
+
let ext = dbs[database]["ext"];
|
43 |
+
// load the file and save blob
|
44 |
+
// emulate file upload by fetching from the db and triggering upload
|
45 |
+
// check if response status is 200, then return blob
|
46 |
+
loading = true;
|
47 |
+
let file = null;
|
48 |
+
try {
|
49 |
+
file = await fetch(url + identifier + ext)
|
50 |
+
.then((r) => {
|
51 |
+
loading = false;
|
52 |
+
if (r.status == 200) {
|
53 |
+
return r.blob();
|
54 |
+
} else {
|
55 |
+
dispatch("notfound");
|
56 |
+
}
|
57 |
+
})
|
58 |
+
.then((blob) => {
|
59 |
+
return new File([blob], identifier + ".pdb", { type: "text/plain" });
|
60 |
+
});
|
61 |
+
} catch (error) {
|
62 |
+
loading = false;
|
63 |
+
dispatch("notfound");
|
64 |
+
}
|
65 |
+
let file_data = new FileData({
|
66 |
+
path: identifier + ".pdb",
|
67 |
+
orig_name: identifier + ".pdb",
|
68 |
+
blob: file,
|
69 |
+
size: file.size,
|
70 |
+
mime_type: file.type,
|
71 |
+
is_stream: false,
|
72 |
+
});
|
73 |
+
await handle_upload(file_data);
|
74 |
+
}
|
75 |
+
let selectedValue = "pdb_assym";
|
76 |
+
let placeholder = "";
|
77 |
+
let textInput = "";
|
78 |
+
function handleSelect(event) {
|
79 |
+
selectedValue = event.target.value;
|
80 |
+
}
|
81 |
+
let placeholders = {
|
82 |
+
pdb_assym: "Enter PDB identifier",
|
83 |
+
pdb_bioass: "Enter PDB identifier",
|
84 |
+
af: "Enter UniProt identifier",
|
85 |
+
esm: "Enter MGnify protein identifier",
|
86 |
+
// pubchem: "Enter PubChem identifier",
|
87 |
+
// text: "Enter molecule in PDB or mol2 format",
|
88 |
+
};
|
89 |
+
$: placeholder = placeholders[selectedValue];
|
90 |
+
function isEnterPressed(event) {
|
91 |
+
if (event.key === "Enter") {
|
92 |
+
fetchFromDB(textInput, selectedValue);
|
93 |
+
}
|
94 |
+
}
|
95 |
+
</script>
|
96 |
+
|
97 |
+
<style>
|
98 |
+
.py {
|
99 |
+
padding: 10px 0;
|
100 |
+
}
|
101 |
+
.btn {
|
102 |
+
margin: 0 5px;
|
103 |
+
padding: 3px 15px;
|
104 |
+
border: var(--button-border-width) solid
|
105 |
+
var(--button-secondary-border-color);
|
106 |
+
background: var(--button-secondary-background-fill);
|
107 |
+
color: var(--button-secondary-text-color);
|
108 |
+
border-radius: var(--button-large-radius);
|
109 |
+
padding: var(--button-large-padding);
|
110 |
+
font-weight: var(--button-large-text-weight);
|
111 |
+
font-size: var(--button-large-text-size);
|
112 |
+
cursor: pointer;
|
113 |
+
}
|
114 |
+
.btn:hover {
|
115 |
+
border-color: var(--button-secondary-border-color-hover);
|
116 |
+
background: var(--button-secondary-background-fill-hover);
|
117 |
+
color: var(--button-secondary-text-color-hover);
|
118 |
+
box-shadow: var(--button-shadow-hover);
|
119 |
+
}
|
120 |
+
.or {
|
121 |
+
color: var(--body-text-color-subdued);
|
122 |
+
text-align: center;
|
123 |
+
display: block;
|
124 |
+
}
|
125 |
+
.wfull {
|
126 |
+
width: 100%;
|
127 |
+
}
|
128 |
+
.mt-2 {
|
129 |
+
margin-top: 2rem;
|
130 |
+
}
|
131 |
+
.input {
|
132 |
+
box-shadow: var(--input-shadow);
|
133 |
+
background: var(--input-background-fill);
|
134 |
+
border: var(--input-border-width) solid var(--input-border-color);
|
135 |
+
border-radius: var(--input-radius);
|
136 |
+
margin: 0 5px;
|
137 |
+
}
|
138 |
+
.select {
|
139 |
+
outline: none;
|
140 |
+
border: none;
|
141 |
+
}
|
142 |
+
.flex {
|
143 |
+
display: flex;
|
144 |
+
justify-content: space-between;
|
145 |
+
}
|
146 |
+
.inp {
|
147 |
+
width: 100%;
|
148 |
+
border: 0 #fff !important;
|
149 |
+
outline: none !important;
|
150 |
+
}
|
151 |
+
.inp:focus,
|
152 |
+
.inp:hover {
|
153 |
+
border: 0 !important;
|
154 |
+
outline: none !important;
|
155 |
+
}
|
156 |
+
.text-center {
|
157 |
+
text-align: center;
|
158 |
+
}
|
159 |
+
</style>
|
gradio_molecule3d/frontend/shared/FileUpload.svelte
ADDED
@@ -0,0 +1,100 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script lang="ts">
|
2 |
+
import { createEventDispatcher, tick } from "svelte";
|
3 |
+
import { Upload, ModifyUpload } from "@gradio/upload";
|
4 |
+
import type { FileData, Client } from "@gradio/client";
|
5 |
+
import { BlockLabel } from "@gradio/atoms";
|
6 |
+
import { File } from "@gradio/icons";
|
7 |
+
import FileRetrieval from "./FileRetrieval.svelte";
|
8 |
+
|
9 |
+
import FilePreview from "./FilePreview.svelte";
|
10 |
+
import type { I18nFormatter } from "@gradio/utils";
|
11 |
+
import MolecularViewer from "./MolecularViewer.svelte";
|
12 |
+
|
13 |
+
export let value: null | FileData | FileData[];
|
14 |
+
|
15 |
+
export let label: string;
|
16 |
+
export let show_label = true;
|
17 |
+
export let file_count: "single" | "multiple" | "directory" = "single";
|
18 |
+
export let file_types: string[] | null = null;
|
19 |
+
export let selectable = false;
|
20 |
+
export let root: string;
|
21 |
+
export let height: number | undefined = undefined;
|
22 |
+
export let i18n: I18nFormatter;
|
23 |
+
export let max_file_size: number | null = null;
|
24 |
+
export let upload: Client["upload"];
|
25 |
+
export let stream_handler: Client["stream"];
|
26 |
+
|
27 |
+
export let config = {};
|
28 |
+
export let confidenceLabel = "";
|
29 |
+
export let representations = [];
|
30 |
+
export let moldata = null;
|
31 |
+
export let molviewer = false;
|
32 |
+
|
33 |
+
async function handle_upload({
|
34 |
+
detail,
|
35 |
+
}: CustomEvent<FileData | FileData[]>): Promise<void> {
|
36 |
+
value = detail;
|
37 |
+
console.log("upload", detail);
|
38 |
+
|
39 |
+
await tick();
|
40 |
+
dispatch("change", value);
|
41 |
+
dispatch("upload", detail);
|
42 |
+
}
|
43 |
+
|
44 |
+
function handle_clear(): void {
|
45 |
+
value = null;
|
46 |
+
oldata = null;
|
47 |
+
dispatch("change", null);
|
48 |
+
dispatch("clear");
|
49 |
+
}
|
50 |
+
|
51 |
+
const dispatch = createEventDispatcher<{
|
52 |
+
change: FileData[] | FileData | null;
|
53 |
+
clear: undefined;
|
54 |
+
drag: boolean;
|
55 |
+
upload: FileData[] | FileData;
|
56 |
+
load: FileData[] | FileData;
|
57 |
+
error: string;
|
58 |
+
}>();
|
59 |
+
|
60 |
+
let dragging = false;
|
61 |
+
$: dispatch("drag", dragging);
|
62 |
+
</script>
|
63 |
+
|
64 |
+
<BlockLabel {show_label} Icon={File} float={!value} label={label || "File"} />
|
65 |
+
|
66 |
+
{#if value && (Array.isArray(value) ? value.length > 0 : true)}
|
67 |
+
<ModifyUpload {i18n} on:clear={handle_clear} absolute />
|
68 |
+
<FilePreview
|
69 |
+
{i18n}
|
70 |
+
on:select
|
71 |
+
{selectable}
|
72 |
+
{value}
|
73 |
+
{height}
|
74 |
+
on:change
|
75 |
+
on:delete
|
76 |
+
/>
|
77 |
+
{#if moldata != null && molviewer}
|
78 |
+
<MolecularViewer {moldata} {config} {confidenceLabel} {representations} />
|
79 |
+
{/if}
|
80 |
+
{:else}
|
81 |
+
<FileRetrieval
|
82 |
+
{root}
|
83 |
+
on:load={handle_upload}
|
84 |
+
{upload}
|
85 |
+
on:notfound={() => dispatch("notfound")}
|
86 |
+
/>
|
87 |
+
<Upload
|
88 |
+
on:load={handle_upload}
|
89 |
+
filetype={file_types}
|
90 |
+
{file_count}
|
91 |
+
{max_file_size}
|
92 |
+
{root}
|
93 |
+
bind:dragging
|
94 |
+
on:error
|
95 |
+
{stream_handler}
|
96 |
+
{upload}
|
97 |
+
>
|
98 |
+
<slot />
|
99 |
+
</Upload>
|
100 |
+
{/if}
|
gradio_molecule3d/frontend/shared/MolecularViewer.svelte
ADDED
@@ -0,0 +1,2438 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<script lang="ts">
|
2 |
+
import * as mol from "3dmol/build/3Dmol.js";
|
3 |
+
let TDmol = mol;
|
4 |
+
|
5 |
+
import { onMount, onDestroy, beforeUpdate } from "svelte";
|
6 |
+
|
7 |
+
let viewer;
|
8 |
+
export let confidenceLabel = null;
|
9 |
+
|
10 |
+
export let moldata = null;
|
11 |
+
|
12 |
+
let settings = {
|
13 |
+
backgroundColor: {
|
14 |
+
type: "select",
|
15 |
+
options: ["white", "black", "gray", "lightgray", "beige", "orange"],
|
16 |
+
},
|
17 |
+
orthographic: {
|
18 |
+
type: "toggle",
|
19 |
+
},
|
20 |
+
disableFog: {
|
21 |
+
type: "toggle",
|
22 |
+
},
|
23 |
+
};
|
24 |
+
export let config = {
|
25 |
+
backgroundColor: "white",
|
26 |
+
orthographic: false,
|
27 |
+
disableFog: false,
|
28 |
+
};
|
29 |
+
|
30 |
+
$: {
|
31 |
+
if (view != undefined) {
|
32 |
+
view.setBackgroundColor(config.backgroundColor);
|
33 |
+
view.enableFog(!config.disableFog);
|
34 |
+
view.setCameraParameters({ orthographic: config.orthographic });
|
35 |
+
}
|
36 |
+
}
|
37 |
+
|
38 |
+
let labelHover = true;
|
39 |
+
|
40 |
+
let showCiteTooltip = false;
|
41 |
+
|
42 |
+
function toggleCiteTooltip() {
|
43 |
+
showCiteTooltip = !showCiteTooltip;
|
44 |
+
}
|
45 |
+
|
46 |
+
export let representations = [];
|
47 |
+
|
48 |
+
let showOffCanvas = false;
|
49 |
+
let showOffCanvasReps = false;
|
50 |
+
|
51 |
+
function toggleOffCanvas() {
|
52 |
+
showOffCanvas = !showOffCanvas;
|
53 |
+
}
|
54 |
+
|
55 |
+
function toggleOffCanvasReps() {
|
56 |
+
showOffCanvasReps = !showOffCanvasReps;
|
57 |
+
}
|
58 |
+
function deleteRep(index) {
|
59 |
+
representations.splice(index, 1);
|
60 |
+
representations = representations;
|
61 |
+
}
|
62 |
+
function insertRep() {
|
63 |
+
representations.push({
|
64 |
+
model: 0,
|
65 |
+
chain: "",
|
66 |
+
resname: "",
|
67 |
+
style: "cartoon",
|
68 |
+
color: "grayCarbon",
|
69 |
+
residue_range: "",
|
70 |
+
around: 0,
|
71 |
+
byres: false,
|
72 |
+
visible: true,
|
73 |
+
opacity: 1,
|
74 |
+
scale: 1,
|
75 |
+
});
|
76 |
+
representations = representations;
|
77 |
+
}
|
78 |
+
|
79 |
+
function fade(node, { delay = 0, duration = 50 }) {
|
80 |
+
const o = +getComputedStyle(node).opacity;
|
81 |
+
|
82 |
+
return {
|
83 |
+
delay,
|
84 |
+
duration,
|
85 |
+
css: (t) => `opacity: ${t * o}`,
|
86 |
+
};
|
87 |
+
}
|
88 |
+
let colorAlpha = function (atom) {
|
89 |
+
if (atom.b < 50) {
|
90 |
+
return "OrangeRed";
|
91 |
+
} else if (atom.b < 70) {
|
92 |
+
return "Gold";
|
93 |
+
} else if (atom.b < 90) {
|
94 |
+
return "MediumTurquoise";
|
95 |
+
} else {
|
96 |
+
return "Blue";
|
97 |
+
}
|
98 |
+
};
|
99 |
+
|
100 |
+
let colorHydrophobicity = function (atom) {
|
101 |
+
let kyte_doolittle = {
|
102 |
+
ILE: 4.5,
|
103 |
+
VAL: 4.2,
|
104 |
+
LEU: 3.8,
|
105 |
+
PHE: 2.8,
|
106 |
+
CYS: 2.5,
|
107 |
+
MET: 1.9,
|
108 |
+
ALA: 1.8,
|
109 |
+
GLY: -0.4,
|
110 |
+
THR: -0.7,
|
111 |
+
SER: -0.8,
|
112 |
+
TRP: -0.9,
|
113 |
+
TYR: -1.3,
|
114 |
+
PRO: -1.6,
|
115 |
+
HIS: -3.2,
|
116 |
+
GLU: -3.5,
|
117 |
+
GLN: -3.5,
|
118 |
+
ASP: -3.5,
|
119 |
+
ASN: -3.5,
|
120 |
+
LYS: -3.9,
|
121 |
+
ARG: -4.5,
|
122 |
+
};
|
123 |
+
if (atom.resn in kyte_doolittle) {
|
124 |
+
const value = kyte_doolittle[atom.resn];
|
125 |
+
const min = -4.5;
|
126 |
+
const max = 4.5;
|
127 |
+
|
128 |
+
// Normalize the value to a range of 0 to 1
|
129 |
+
const normalized = (value - min) / (max - min);
|
130 |
+
|
131 |
+
// Interpolate colors between DarkCyan, White, and DarkGoldenRod
|
132 |
+
const interpolateColor = (start, end, factor) => {
|
133 |
+
const startRGB = parseInt(start.slice(1), 16);
|
134 |
+
const endRGB = parseInt(end.slice(1), 16);
|
135 |
+
|
136 |
+
const r = Math.round(
|
137 |
+
((endRGB >> 16) - (startRGB >> 16)) * factor + (startRGB >> 16),
|
138 |
+
);
|
139 |
+
const g = Math.round(
|
140 |
+
(((endRGB >> 8) & 0xff) - ((startRGB >> 8) & 0xff)) * factor +
|
141 |
+
((startRGB >> 8) & 0xff),
|
142 |
+
);
|
143 |
+
const b = Math.round(
|
144 |
+
((endRGB & 0xff) - (startRGB & 0xff)) * factor + (startRGB & 0xff),
|
145 |
+
);
|
146 |
+
|
147 |
+
return `#${((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)}`;
|
148 |
+
};
|
149 |
+
|
150 |
+
if (normalized <= 0.5) {
|
151 |
+
// Interpolate between DarkCyan and White
|
152 |
+
return interpolateColor("#008B8B", "#FFFFFF", normalized * 2);
|
153 |
+
} else {
|
154 |
+
// Interpolate between White and DarkGoldenRod
|
155 |
+
return interpolateColor("#FFFFFF", "#B8860B", (normalized - 0.5) * 2);
|
156 |
+
}
|
157 |
+
} else {
|
158 |
+
return "#FFFFFF"; // White
|
159 |
+
}
|
160 |
+
};
|
161 |
+
|
162 |
+
let view;
|
163 |
+
|
164 |
+
function resetZoom(rep) {
|
165 |
+
// if is not pointerevent
|
166 |
+
if (rep.type != undefined) {
|
167 |
+
view.zoomTo();
|
168 |
+
} else {
|
169 |
+
let sel = {
|
170 |
+
model: rep.model,
|
171 |
+
};
|
172 |
+
if (rep.chain !== "") {
|
173 |
+
sel.chain = rep.chain;
|
174 |
+
}
|
175 |
+
if (rep.residue_range !== "") {
|
176 |
+
sel.resi = rep.residue_range;
|
177 |
+
}
|
178 |
+
if (rep.resname !== "") {
|
179 |
+
sel.resn = rep.resname;
|
180 |
+
}
|
181 |
+
view.zoomTo(sel);
|
182 |
+
}
|
183 |
+
}
|
184 |
+
function applyStyles(representations) {
|
185 |
+
if (view !== undefined) {
|
186 |
+
view.setStyle();
|
187 |
+
view.removeAllSurfaces();
|
188 |
+
representations.forEach((rep) => {
|
189 |
+
let colorObj;
|
190 |
+
|
191 |
+
if (rep.color === "alphafold") {
|
192 |
+
colorObj = { colorfunc: colorAlpha };
|
193 |
+
} else if (rep.color === "hydrophobicity") {
|
194 |
+
colorObj = { colorfunc: colorHydrophobicity };
|
195 |
+
} else if (rep.color == "spectrum") {
|
196 |
+
colorObj = { color: "spectrum" };
|
197 |
+
} else {
|
198 |
+
colorObj = { colorscheme: rep.color };
|
199 |
+
}
|
200 |
+
|
201 |
+
colorObj.opacity = rep.opacity;
|
202 |
+
|
203 |
+
let selObj = { model: rep.model };
|
204 |
+
if (rep.chain !== "") {
|
205 |
+
selObj.chain = rep.chain;
|
206 |
+
}
|
207 |
+
if (rep.residue_range !== "") {
|
208 |
+
selObj.resi = rep.residue_range;
|
209 |
+
}
|
210 |
+
if (rep.resname !== "") {
|
211 |
+
selObj.resn = rep.resname;
|
212 |
+
}
|
213 |
+
selObj.byres = rep.byres;
|
214 |
+
if (rep.around !== 0) {
|
215 |
+
selObj.expand = rep.around;
|
216 |
+
}
|
217 |
+
if (rep.sidechain) {
|
218 |
+
selObj = {
|
219 |
+
and: [selObj, { atom: ["N", "C", "O"], invert: true }],
|
220 |
+
};
|
221 |
+
}
|
222 |
+
|
223 |
+
if (rep.style == "sphere") {
|
224 |
+
colorObj["scale"] = rep.scale;
|
225 |
+
} else if (rep.style == "stick") {
|
226 |
+
colorObj["scale"] = rep.scale;
|
227 |
+
}
|
228 |
+
|
229 |
+
if (rep.style === "surface") {
|
230 |
+
view.addSurface(TDmol.SurfaceType.VDW, colorObj, selObj);
|
231 |
+
} else {
|
232 |
+
try {
|
233 |
+
if (view.getModel(selObj.model) != null) {
|
234 |
+
view.addStyle(selObj, {
|
235 |
+
[rep.style]: colorObj,
|
236 |
+
});
|
237 |
+
}
|
238 |
+
} catch (error) {
|
239 |
+
console.log(error);
|
240 |
+
}
|
241 |
+
}
|
242 |
+
});
|
243 |
+
|
244 |
+
view.render();
|
245 |
+
}
|
246 |
+
}
|
247 |
+
|
248 |
+
onMount(() => {
|
249 |
+
console.log("MolecularViewer Mounted");
|
250 |
+
let startingConfig = { ...config, cartoonQuality: 7 };
|
251 |
+
|
252 |
+
view = TDmol.createViewer(viewer, startingConfig);
|
253 |
+
|
254 |
+
//filter duplicate representations
|
255 |
+
let uniqueReps = [];
|
256 |
+
representations.forEach((rep) => {
|
257 |
+
if (
|
258 |
+
!uniqueReps.some(
|
259 |
+
(uniqueRep) =>
|
260 |
+
uniqueRep.model === rep.model &&
|
261 |
+
uniqueRep.chain === rep.chain &&
|
262 |
+
uniqueRep.resname === rep.resname &&
|
263 |
+
uniqueRep.style === rep.style &&
|
264 |
+
uniqueRep.color === rep.color &&
|
265 |
+
uniqueRep.residue_range === rep.residue_range &&
|
266 |
+
uniqueRep.around === rep.around &&
|
267 |
+
uniqueRep.byres === rep.byres &&
|
268 |
+
uniqueRep.sidechain === rep.sidechain &&
|
269 |
+
uniqueRep.scale == rep.scale,
|
270 |
+
)
|
271 |
+
) {
|
272 |
+
uniqueReps.push(rep);
|
273 |
+
}
|
274 |
+
});
|
275 |
+
representations = uniqueReps;
|
276 |
+
if (moldata.length > 0) {
|
277 |
+
moldata.forEach((element) => {
|
278 |
+
view.addModelsAsFrames(element.data, element.format, {
|
279 |
+
keepH: true,
|
280 |
+
multiModel: true,
|
281 |
+
});
|
282 |
+
});
|
283 |
+
}
|
284 |
+
|
285 |
+
view.addUnitCell(view.getModel(), {
|
286 |
+
box: {
|
287 |
+
color: "black", // Set color to black
|
288 |
+
linewidth: 2, // Set line width
|
289 |
+
hidden: false,
|
290 |
+
},
|
291 |
+
});
|
292 |
+
|
293 |
+
applyStyles(representations);
|
294 |
+
view.zoomTo();
|
295 |
+
view.render();
|
296 |
+
view.zoom(0.9, 100);
|
297 |
+
|
298 |
+
representations.forEach((rep) => {
|
299 |
+
if (rep.color === "alphafold") {
|
300 |
+
anyColorAlphaFold = true;
|
301 |
+
}
|
302 |
+
if (rep.color === "hydrophobicity") {
|
303 |
+
anyColorHydrophobic = true;
|
304 |
+
}
|
305 |
+
});
|
306 |
+
|
307 |
+
if (labelHover) {
|
308 |
+
view.setHoverable(
|
309 |
+
{},
|
310 |
+
true,
|
311 |
+
function (atom, view, event, container) {
|
312 |
+
if (!atom.label) {
|
313 |
+
let label;
|
314 |
+
if (anyColorAlphaFold) {
|
315 |
+
label =
|
316 |
+
atom.resn +
|
317 |
+
":" +
|
318 |
+
atom.resi +
|
319 |
+
":" +
|
320 |
+
atom.atom +
|
321 |
+
" (" +
|
322 |
+
confidenceLabel +
|
323 |
+
" " +
|
324 |
+
atom.b +
|
325 |
+
")";
|
326 |
+
} else {
|
327 |
+
label = atom.resn + ":" + atom.resi + ":" + atom.atom;
|
328 |
+
}
|
329 |
+
atom.label = view.addLabel(label, {
|
330 |
+
position: atom,
|
331 |
+
backgroundColor: "#ffffff",
|
332 |
+
borderColor: "#dddddd",
|
333 |
+
fontColor: "black",
|
334 |
+
});
|
335 |
+
}
|
336 |
+
},
|
337 |
+
function (atom, view) {
|
338 |
+
if (atom.label) {
|
339 |
+
view.removeLabel(atom.label);
|
340 |
+
delete atom.label;
|
341 |
+
}
|
342 |
+
},
|
343 |
+
);
|
344 |
+
}
|
345 |
+
|
346 |
+
if (view.getNumFrames() > 1) {
|
347 |
+
toggleAnimation();
|
348 |
+
}
|
349 |
+
});
|
350 |
+
|
351 |
+
beforeUpdate(() => {
|
352 |
+
// console.log("beforeUpdate");
|
353 |
+
// console.log(representations);
|
354 |
+
});
|
355 |
+
|
356 |
+
$: applyStyles(representations);
|
357 |
+
let hasFrames = true;
|
358 |
+
let isAnimated = false;
|
359 |
+
|
360 |
+
let anyColorAlphaFold = false;
|
361 |
+
$: {
|
362 |
+
anyColorAlphaFold = false;
|
363 |
+
representations.forEach((rep) => {
|
364 |
+
if (rep.color === "alphafold") {
|
365 |
+
anyColorAlphaFold = true;
|
366 |
+
}
|
367 |
+
});
|
368 |
+
}
|
369 |
+
|
370 |
+
let anyColorHydrophobic = false;
|
371 |
+
$: {
|
372 |
+
anyColorHydrophobic = false;
|
373 |
+
representations.forEach((rep) => {
|
374 |
+
if (rep.color === "hydrophobicity") {
|
375 |
+
anyColorHydrophobic = true;
|
376 |
+
}
|
377 |
+
});
|
378 |
+
}
|
379 |
+
function toggleAnimation() {
|
380 |
+
console.log(view.isAnimated());
|
381 |
+
if (isAnimated) {
|
382 |
+
view.stopAnimate();
|
383 |
+
} else {
|
384 |
+
view.animate({ loop: "forward", reps: 0 });
|
385 |
+
}
|
386 |
+
isAnimated = !isAnimated;
|
387 |
+
}
|
388 |
+
</script>
|
389 |
+
|
390 |
+
<div class="bg-white w-full minh">
|
391 |
+
<div class="overflow-hidden flex gap-px w-full h-full flex-wrap">
|
392 |
+
<div class="gr-block gr-box relative w-full overflow-hidden">
|
393 |
+
<div
|
394 |
+
class="absolute z-50 top-0 right-0 mr-2 flex flex-col divide-y border border-gray-200 mt-2 rounded items-center justify-center bg-white dark:bg-gray-800"
|
395 |
+
>
|
396 |
+
<button class="p-2" title="Reset View" on:click={resetZoom}>
|
397 |
+
<svg
|
398 |
+
xmlns="http://www.w3.org/2000/svg"
|
399 |
+
fill="none"
|
400 |
+
viewBox="0 0 24 24"
|
401 |
+
stroke-width="1.5"
|
402 |
+
stroke="currentColor"
|
403 |
+
class="w-4 h-4 text-gray-500 hover:text-orange-600 cursor-pointer"
|
404 |
+
>
|
405 |
+
<path
|
406 |
+
stroke-linecap="round"
|
407 |
+
stroke-linejoin="round"
|
408 |
+
d="M9 9V4.5M9 9H4.5M9 9L3.75 3.75M9 15v4.5M9 15H4.5M9 15l-5.25 5.25M15 9h4.5M15 9V4.5M15 9l5.25-5.25M15 15h4.5M15 15v4.5m0-4.5l5.25 5.25"
|
409 |
+
/>
|
410 |
+
</svg>
|
411 |
+
</button>
|
412 |
+
<button class="p-2" title="Settings" on:click={toggleOffCanvas}>
|
413 |
+
<svg
|
414 |
+
xmlns="http://www.w3.org/2000/svg"
|
415 |
+
fill="none"
|
416 |
+
viewBox="0 0 24 24"
|
417 |
+
stroke-width="1.5"
|
418 |
+
stroke="currentColor"
|
419 |
+
class="w-5 h-5 text-gray-500 hover:text-orange-600 cursor-pointer"
|
420 |
+
>
|
421 |
+
<path
|
422 |
+
stroke-linecap="round"
|
423 |
+
stroke-linejoin="round"
|
424 |
+
d="M10.5 6h9.75M10.5 6a1.5 1.5 0 11-3 0m3 0a1.5 1.5 0 10-3 0M3.75 6H7.5m3 12h9.75m-9.75 0a1.5 1.5 0 01-3 0m3 0a1.5 1.5 0 00-3 0m-3.75 0H7.5m9-6h3.75m-3.75 0a1.5 1.5 0 01-3 0m3 0a1.5 1.5 0 00-3 0m-9.75 0h9.75"
|
425 |
+
/>
|
426 |
+
</svg>
|
427 |
+
</button>
|
428 |
+
|
429 |
+
<button
|
430 |
+
class="p-2"
|
431 |
+
title="Representations"
|
432 |
+
on:click={toggleOffCanvasReps}
|
433 |
+
>
|
434 |
+
<!-- <svg
|
435 |
+
xmlns="http://www.w3.org/2000/svg"
|
436 |
+
fill="none"
|
437 |
+
viewBox="0 0 24 24"
|
438 |
+
stroke-width="1.5"
|
439 |
+
stroke="currentColor"
|
440 |
+
class="w-5 h-5 text-gray-500 hover:text-orange-600 cursor-pointer"
|
441 |
+
>
|
442 |
+
<path
|
443 |
+
stroke-linecap="round"
|
444 |
+
stroke-linejoin="round"
|
445 |
+
d="M21.75 6.75a4.5 4.5 0 01-4.884 4.484c-1.076-.091-2.264.071-2.95.904l-7.152 8.684a2.548 2.548 0 11-3.586-3.586l8.684-7.152c.833-.686.995-1.874.904-2.95a4.5 4.5 0 016.336-4.486l-3.276 3.276a3.004 3.004 0 002.25 2.25l3.276-3.276c.256.565.398 1.192.398 1.852z"
|
446 |
+
/>
|
447 |
+
<path
|
448 |
+
stroke-linecap="round"
|
449 |
+
stroke-linejoin="round"
|
450 |
+
d="M4.867 19.125h.008v.008h-.008v-.008z"
|
451 |
+
/>
|
452 |
+
</svg> -->
|
453 |
+
|
454 |
+
<!-- CC BY ND zwicon https://www.zwicon.com -->
|
455 |
+
<svg
|
456 |
+
class="w-5 h-5 text-gray-500 hover:text-orange-600 cursor-pointer"
|
457 |
+
viewBox="0 0 24 24"
|
458 |
+
xmlns="http://www.w3.org/2000/svg"
|
459 |
+
>
|
460 |
+
<path
|
461 |
+
d="M12.0281146,15 L12.5,15 C13.3284271,15 14,15.6715729 14,16.5 L14,20.5 C14,21.3284271 13.3284271,22 12.5,22 L10.5,22 C9.67157288,22 9,21.3284271 9,20.5 L9,16.5 C9,15.6715729 9.67157288,15 10.5,15 L11.0167145,15 C11.1492163,13.8570393 12.0552513,12.9352285 13.2239212,12.8053762 L18.6656473,12.20074 C19.4252963,12.1163346 20,11.4742382 20,10.7099144 L20,8.5 C20,7.67157288 19.3284271,7 18.5,7 C18.2238576,7 18,6.77614237 18,6.5 C18,6.22385763 18.2238576,6 18.5,6 C19.8807119,6 21,7.11928813 21,8.5 L21,10.7099144 C21,11.9837875 20.0421605,13.053948 18.7760788,13.1946238 L13.3343527,13.79926 C12.6731623,13.8727256 12.1520824,14.3686853 12.0281146,15 Z M10.5,16 C10.2238576,16 10,16.2238576 10,16.5 L10,20.5 C10,20.7761424 10.2238576,21 10.5,21 L12.5,21 C12.7761424,21 13,20.7761424 13,20.5 L13,16.5 C13,16.2238576 12.7761424,16 12.5,16 L10.5,16 Z M5.49996942,2.99995128 L16.5,2.99995128 C17.8807119,2.99995128 19,4.11923941 19,5.49995128 L19,7.5 C19,8.88071187 17.8807119,10 16.5,10 L5.49996942,10 C4.11925755,10 2.99996942,8.88071187 2.99996942,7.5 L2.99996942,5.49995128 C2.99996942,4.11923941 4.11925755,2.99995128 5.49996942,2.99995128 Z M5.49996942,3.99995128 C4.6715423,3.99995128 3.99996942,4.67152416 3.99996942,5.49995128 L3.99996942,7.5 C3.99996942,8.32842712 4.6715423,9 5.49996942,9 L16.5,9 C17.3284271,9 18,8.32842712 18,7.5 L18,5.49995128 C18,4.67152416 17.3284271,3.99995128 16.5,3.99995128 L5.49996942,3.99995128 Z"
|
462 |
+
/>
|
463 |
+
</svg>
|
464 |
+
</button>
|
465 |
+
|
466 |
+
<!-- <button class="p-2" title="Download files">
|
467 |
+
<svg
|
468 |
+
aria-hidden="true"
|
469 |
+
fill="currentColor"
|
470 |
+
viewBox="0 0 20 20"
|
471 |
+
xmlns="http://www.w3.org/2000/svg"
|
472 |
+
class="w-5 h-5 text-gray-500 hover:text-orange-600 cursor-pointer"
|
473 |
+
>
|
474 |
+
<path
|
475 |
+
d="M10.75 2.75a.75.75 0 00-1.5 0v8.614L6.295 8.235a.75.75 0 10-1.09 1.03l4.25 4.5a.75.75 0 001.09 0l4.25-4.5a.75.75 0 00-1.09-1.03l-2.955 3.129V2.75z"
|
476 |
+
/>
|
477 |
+
<path
|
478 |
+
d="M3.5 12.75a.75.75 0 00-1.5 0v2.5A2.75 2.75 0 004.75 18h10.5A2.75 2.75 0 0018 15.25v-2.5a.75.75 0 00-1.5 0v2.5c0 .69-.56 1.25-1.25 1.25H4.75c-.69 0-1.25-.56-1.25-1.25v-2.5z"
|
479 |
+
/>
|
480 |
+
</svg>
|
481 |
+
</button> -->
|
482 |
+
</div>
|
483 |
+
|
484 |
+
{#if anyColorAlphaFold}
|
485 |
+
<div class="absolute bottom-0 left-0 z-50 p-2 -mb-2 w-full bg-white">
|
486 |
+
<div class="flex text-sm items-center space-x-2 justify-center">
|
487 |
+
<div class="flex space-x-1 py-1 items-center">
|
488 |
+
<span class="w-4 h-4" style="background-color: rgb(0, 83, 214);"
|
489 |
+
> </span
|
490 |
+
><span class="legendlabel"
|
491 |
+
>Very high ({confidenceLabel} > 90)</span
|
492 |
+
>
|
493 |
+
</div>
|
494 |
+
<div class="flex space-x-1 py-1 items-center">
|
495 |
+
<span
|
496 |
+
class="w-4 h-4"
|
497 |
+
style="background-color: rgb(101, 203, 243);"> </span
|
498 |
+
><span class="legendlabel"
|
499 |
+
>Confident (90 > {confidenceLabel} > 70)</span
|
500 |
+
>
|
501 |
+
</div>
|
502 |
+
<div class="flex space-x-1 py-1 items-center">
|
503 |
+
<span class="w-4 h-4" style="background-color: rgb(255, 219, 19);"
|
504 |
+
> </span
|
505 |
+
><span class="legendlabel"
|
506 |
+
>Low (70 > {confidenceLabel} > 50)</span
|
507 |
+
>
|
508 |
+
</div>
|
509 |
+
<div class="flex space-x-1 py-1 items-center">
|
510 |
+
<span class="w-4 h-4" style="background-color: rgb(255, 125, 69);"
|
511 |
+
> </span
|
512 |
+
><span class="legendlabel"
|
513 |
+
>Very low ({confidenceLabel} < 50)</span
|
514 |
+
>
|
515 |
+
</div>
|
516 |
+
</div>
|
517 |
+
</div>
|
518 |
+
{/if}
|
519 |
+
|
520 |
+
{#if anyColorHydrophobic}
|
521 |
+
<div class="absolute bottom-0 left-0 z-50 p-2 mb-2 w-full bg-white">
|
522 |
+
<div class="flex text-sm items-center space-x-2 justify-center">
|
523 |
+
<div class="flex space-x-1 py-1 items-center">
|
524 |
+
<a
|
525 |
+
class="cursor-pointer"
|
526 |
+
href="https://pubmed.ncbi.nlm.nih.gov/7108955/"
|
527 |
+
>Kyte & Doolittle hydrophobicity scale:</a
|
528 |
+
>
|
529 |
+
</div>
|
530 |
+
<div class="flex space-x-1 py-1 items-center">
|
531 |
+
<span class="w-4 h-4" style="background-color: #B8860B;"
|
532 |
+
> </span
|
533 |
+
><span class="legendlabel">Hydrophobic</span>
|
534 |
+
</div>
|
535 |
+
<div class="flex space-x-1 py-1 items-center">
|
536 |
+
<span
|
537 |
+
class="w-4 h-4 border border-gray-300"
|
538 |
+
style="background-color: white"> </span
|
539 |
+
><span class="legendlabel">Neutral</span>
|
540 |
+
</div>
|
541 |
+
<div class="flex space-x-1 py-1 items-center">
|
542 |
+
<span class="w-4 h-4" style="background-color: darkcyan;"
|
543 |
+
> </span
|
544 |
+
><span class="legendlabel">Hydrophilic</span>
|
545 |
+
</div>
|
546 |
+
</div>
|
547 |
+
</div>
|
548 |
+
{/if}
|
549 |
+
|
550 |
+
{#if hasFrames}
|
551 |
+
<div
|
552 |
+
class="absolute z-50 bottom-0 right-0 mr-2 flex divide-x border border-gray-200 mb-2 rounded items-center justify-center"
|
553 |
+
>
|
554 |
+
{#if !isAnimated}
|
555 |
+
<button class="p-2" title="Play" on:click={toggleAnimation}>
|
556 |
+
<svg
|
557 |
+
xmlns="http://www.w3.org/2000/svg"
|
558 |
+
fill="none"
|
559 |
+
viewBox="0 0 24 24"
|
560 |
+
stroke-width="2"
|
561 |
+
stroke="currentColor"
|
562 |
+
class="w-4 h-4 text-gray-500 hover:text-orange-600 cursor-pointer"
|
563 |
+
>
|
564 |
+
<path
|
565 |
+
stroke-linecap="round"
|
566 |
+
stroke-linejoin="round"
|
567 |
+
d="M5.25 5.653c0-.856.917-1.398 1.667-.986l11.54 6.348a1.125 1.125 0 010 1.971l-11.54 6.347a1.125 1.125 0 01-1.667-.985V5.653z"
|
568 |
+
/>
|
569 |
+
</svg>
|
570 |
+
</button>
|
571 |
+
{:else}
|
572 |
+
<button class="p-2" title="Pause" on:click={toggleAnimation}>
|
573 |
+
<svg
|
574 |
+
xmlns="http://www.w3.org/2000/svg"
|
575 |
+
fill="none"
|
576 |
+
viewBox="0 0 24 24"
|
577 |
+
stroke-width="2"
|
578 |
+
stroke="currentColor"
|
579 |
+
class="w-4 h-4 text-gray-500 hover:text-orange-600 cursor-pointer"
|
580 |
+
>
|
581 |
+
<path
|
582 |
+
stroke-linecap="round"
|
583 |
+
stroke-linejoin="round"
|
584 |
+
d="M5.25 7.5A2.25 2.25 0 017.5 5.25h9a2.25 2.25 0 012.25 2.25v9a2.25 2.25 0 01-2.25 2.25h-9a2.25 2.25 0 01-2.25-2.25v-9z"
|
585 |
+
/>
|
586 |
+
</svg>
|
587 |
+
|
588 |
+
<!-- <svg
|
589 |
+
xmlns="http://www.w3.org/2000/svg"
|
590 |
+
fill="none"
|
591 |
+
viewBox="0 0 24 24"
|
592 |
+
stroke-width="2"
|
593 |
+
stroke="currentColor"
|
594 |
+
class="w-4 h-4 text-gray-500 hover:text-orange-600 cursor-pointer"
|
595 |
+
>
|
596 |
+
<path
|
597 |
+
stroke-linecap="round"
|
598 |
+
stroke-linejoin="round"
|
599 |
+
d="M15.75 5.25v13.5m-7.5-13.5v13.5"
|
600 |
+
/>
|
601 |
+
</svg> -->
|
602 |
+
</button>
|
603 |
+
{/if}
|
604 |
+
</div>
|
605 |
+
{/if}
|
606 |
+
|
607 |
+
<div
|
608 |
+
class="absolute z-50 bottom-0 left-0 ml-2 flex divide-x mb-2 rounded items-center justify-center"
|
609 |
+
>
|
610 |
+
<button
|
611 |
+
class="p-1"
|
612 |
+
title="How to cite 3Dmol.js"
|
613 |
+
on:click={toggleCiteTooltip}
|
614 |
+
>
|
615 |
+
<svg
|
616 |
+
class="w-4 h-4 text-gray-500 hover:text-orange-600 cursor-pointer fill-current"
|
617 |
+
viewBox="0 0 20 20"
|
618 |
+
xmlns="http://www.w3.org/2000/svg"
|
619 |
+
><g id="SVGRepo_bgCarrier" stroke-width="0" /><g
|
620 |
+
id="SVGRepo_tracerCarrier"
|
621 |
+
stroke-linecap="round"
|
622 |
+
stroke-linejoin="round"
|
623 |
+
/><g id="SVGRepo_iconCarrier"
|
624 |
+
><path
|
625 |
+
d="M12.6 7.6v3.9h-1.1v4.6h-3v-4.6H7.4V7.6c0-.3.3-.6.6-.6h4c.3 0 .6.3.6.6zM10 6.5c.7 0 1.3-.6 1.3-1.3 0-.7-.6-1.3-1.3-1.3-.7 0-1.3.6-1.3 1.3 0 .7.6 1.3 1.3 1.3zm9.6 3.5c0 2.7-.9 4.9-2.7 6.7-1.9 1.9-4.2 2.9-6.9 2.9-2.6 0-4.9-.9-6.8-2.8C1.3 14.9.4 12.7.4 10c0-2.6.9-4.9 2.8-6.8C5.1 1.3 7.3.4 10 .4s5 .9 6.8 2.8c1.9 1.8 2.8 4.1 2.8 6.8zm-1.7 0c0-2.2-.8-4-2.3-5.6C14 2.9 12.2 2.1 10 2.1c-2.2 0-4 .8-5.5 2.3C2.9 6 2.1 7.9 2.1 10c0 2.1.8 4 2.3 5.5s3.4 2.3 5.6 2.3c2.1 0 4-.8 5.6-2.4 1.5-1.4 2.3-3.2 2.3-5.4z"
|
626 |
+
/></g
|
627 |
+
></svg
|
628 |
+
>
|
629 |
+
</button>
|
630 |
+
|
631 |
+
<span
|
632 |
+
class=" absolute -top-1 left-6 w-max rounded bg-gray-900 px-2 py-1 text-sm font-medium text-gray-50 opacity-0 shadow transition-opacity"
|
633 |
+
class:opacity-100={showCiteTooltip}
|
634 |
+
>
|
635 |
+
Cite 3dmol.js as Rego & Koes, doi:10/gb5g5n
|
636 |
+
</span>
|
637 |
+
</div>
|
638 |
+
|
639 |
+
<div class="viewer w-full h-full z-10" bind:this={viewer} />
|
640 |
+
|
641 |
+
{#if showOffCanvas}
|
642 |
+
<div
|
643 |
+
id="settings-drawer"
|
644 |
+
class="absolute top-0 right-0 z-50 h-full overflow-y-auto transition-transform bg-gray-100 w-80 dark:bg-gray-800"
|
645 |
+
tabindex="-1"
|
646 |
+
aria-labelledby="settings-drawer-label"
|
647 |
+
>
|
648 |
+
<div class="p-4">
|
649 |
+
<h5
|
650 |
+
id="settings-drawer-label"
|
651 |
+
class="inline-flex items-center mb-4 text-base font-semibold text-gray-500 dark:text-gray-400"
|
652 |
+
>
|
653 |
+
Settings
|
654 |
+
</h5>
|
655 |
+
<button
|
656 |
+
type="button"
|
657 |
+
data-drawer-hide="drawer-example"
|
658 |
+
aria-controls="drawer-example"
|
659 |
+
class="text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 absolute top-2.5 right-2.5 inline-flex items-center dark:hover:bg-gray-600 dark:hover:text-white"
|
660 |
+
on:click={toggleOffCanvas}
|
661 |
+
>
|
662 |
+
<svg
|
663 |
+
aria-hidden="true"
|
664 |
+
class="w-5 h-5"
|
665 |
+
fill="currentColor"
|
666 |
+
viewBox="0 0 20 20"
|
667 |
+
xmlns="http://www.w3.org/2000/svg"
|
668 |
+
><path
|
669 |
+
fill-rule="evenodd"
|
670 |
+
d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z"
|
671 |
+
clip-rule="evenodd"
|
672 |
+
/></svg
|
673 |
+
>
|
674 |
+
<span class="sr-only">Close menu</span>
|
675 |
+
</button>
|
676 |
+
</div>
|
677 |
+
{#each Object.keys(config) as setting}
|
678 |
+
<div class="flex flex-col mb-4 divide-y">
|
679 |
+
<div
|
680 |
+
class="flex items-center border-t border-b border-gray-200 bg-white px-4 py-2 space-x-2"
|
681 |
+
>
|
682 |
+
<label
|
683 |
+
for={setting}
|
684 |
+
class="text-sm font-medium text-gray-600 dark:text-gray-400 w-1/2"
|
685 |
+
>
|
686 |
+
{setting}
|
687 |
+
</label>
|
688 |
+
|
689 |
+
{#if settings[setting].type == "toggle"}
|
690 |
+
<label
|
691 |
+
class="relative inline-flex items-center mr-5 cursor-pointer text-center justify-center"
|
692 |
+
>
|
693 |
+
<input
|
694 |
+
type="checkbox"
|
695 |
+
value=""
|
696 |
+
class="sr-only peer"
|
697 |
+
bind:checked={config[setting]}
|
698 |
+
/>
|
699 |
+
<div
|
700 |
+
class="w-11 h-6 bg-gray-200 rounded-full peer dark:bg-gray-700 peer-focus:ring-4 peer-focus:ring-orange-300 dark:peer-focus:ring-orange-800 peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-0.5 after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all dark:border-gray-600 peer-checked:bg-orange-400"
|
701 |
+
/>
|
702 |
+
</label>
|
703 |
+
{/if}
|
704 |
+
{#if settings[setting].type == "range"}
|
705 |
+
<div class="flex items-center">
|
706 |
+
<input
|
707 |
+
id="medium-range"
|
708 |
+
type="range"
|
709 |
+
value={config[setting]}
|
710 |
+
min={settings[setting].min}
|
711 |
+
max={settings[setting].max}
|
712 |
+
step={settings[setting].step}
|
713 |
+
on:change={() => {
|
714 |
+
config[setting] = event.target.value;
|
715 |
+
}}
|
716 |
+
class="w-2/3 h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700"
|
717 |
+
/>
|
718 |
+
<span
|
719 |
+
class="w-1/3 text-center text-sm font-medium text-gray-600 dark:text-gray-400"
|
720 |
+
>{config[setting]}</span
|
721 |
+
>
|
722 |
+
</div>
|
723 |
+
{/if}
|
724 |
+
{#if settings[setting].type == "select"}
|
725 |
+
<label for={setting} class="sr-only">Select style</label>
|
726 |
+
<select
|
727 |
+
id={setting}
|
728 |
+
class="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
|
729 |
+
bind:value={config[setting]}
|
730 |
+
>
|
731 |
+
{#each settings[setting].options as option}
|
732 |
+
<option
|
733 |
+
value={option}
|
734 |
+
selected={option == config[setting]}
|
735 |
+
>
|
736 |
+
{option}
|
737 |
+
</option>
|
738 |
+
{/each}
|
739 |
+
</select>
|
740 |
+
{/if}
|
741 |
+
</div>
|
742 |
+
</div>
|
743 |
+
{/each}
|
744 |
+
<div class="bg-white">
|
745 |
+
<div
|
746 |
+
class="flex items-center border-t border-b border-gray-200 bg-white px-4 py-2 space-x-2"
|
747 |
+
>
|
748 |
+
<label
|
749 |
+
class="text-sm font-medium text-gray-600 dark:text-gray-400 w-1/2"
|
750 |
+
>
|
751 |
+
Label atoms on hover
|
752 |
+
</label>
|
753 |
+
<label
|
754 |
+
class="relative inline-flex items-center mr-5 cursor-pointer text-center justify-center"
|
755 |
+
>
|
756 |
+
<input
|
757 |
+
type="checkbox"
|
758 |
+
class="sr-only peer"
|
759 |
+
bind:value={labelHover}
|
760 |
+
/>
|
761 |
+
<div
|
762 |
+
class="w-11 h-6 bg-gray-200 rounded-full peer dark:bg-gray-700 peer-focus:ring-4 peer-focus:ring-orange-300 dark:peer-focus:ring-orange-800 peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-0.5 after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all dark:border-gray-600 peer-checked:bg-orange-400"
|
763 |
+
/>
|
764 |
+
</label>
|
765 |
+
</div>
|
766 |
+
</div>
|
767 |
+
</div>
|
768 |
+
{/if}
|
769 |
+
{#if showOffCanvasReps}
|
770 |
+
<div
|
771 |
+
id="drawer-example"
|
772 |
+
class="absolute top-0 right-0 z-50 h-full overflow-y-auto transition-transform bg-gray-100 w-80 dark:bg-gray-800 border-l border-gray-200"
|
773 |
+
tabindex="-1"
|
774 |
+
aria-labelledby="drawer-label"
|
775 |
+
>
|
776 |
+
<div class="p-4">
|
777 |
+
<h5
|
778 |
+
id="drawer-label"
|
779 |
+
class="inline-flex items-center mb-4 text-base font-semibold text-gray-500 dark:text-gray-400"
|
780 |
+
>
|
781 |
+
Representations
|
782 |
+
</h5>
|
783 |
+
<button
|
784 |
+
type="button"
|
785 |
+
data-drawer-hide="drawer-example"
|
786 |
+
aria-controls="drawer-example"
|
787 |
+
class="text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 absolute top-2.5 right-2.5 inline-flex items-center dark:hover:bg-gray-600 dark:hover:text-white"
|
788 |
+
on:click={toggleOffCanvasReps}
|
789 |
+
>
|
790 |
+
<svg
|
791 |
+
aria-hidden="true"
|
792 |
+
class="w-5 h-5"
|
793 |
+
fill="currentColor"
|
794 |
+
viewBox="0 0 20 20"
|
795 |
+
xmlns="http://www.w3.org/2000/svg"
|
796 |
+
><path
|
797 |
+
fill-rule="evenodd"
|
798 |
+
d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z"
|
799 |
+
clip-rule="evenodd"
|
800 |
+
/></svg
|
801 |
+
>
|
802 |
+
<span class="sr-only">Close menu</span>
|
803 |
+
</button>
|
804 |
+
</div>
|
805 |
+
|
806 |
+
{#each representations as rep, index}
|
807 |
+
<div class="bg-white border-b border-t border-gray-200 py-4 px-2">
|
808 |
+
<div class="">
|
809 |
+
<div class="flex space-x-2 items-center cursor-pointer p-1">
|
810 |
+
<button
|
811 |
+
on:click={() => (rep.visible = !rep.visible)}
|
812 |
+
class="flex items-center space-x-2"
|
813 |
+
>
|
814 |
+
<svg
|
815 |
+
xmlns="http://www.w3.org/2000/svg"
|
816 |
+
fill="none"
|
817 |
+
viewBox="0 0 24 24"
|
818 |
+
stroke-width="1.5"
|
819 |
+
stroke="currentColor"
|
820 |
+
class={rep.visible
|
821 |
+
? "transform rotate-90 w-5 h-5 "
|
822 |
+
: "w-5 h-5 "}
|
823 |
+
>
|
824 |
+
<path
|
825 |
+
stroke-linecap="round"
|
826 |
+
stroke-linejoin="round"
|
827 |
+
d="M8.25 4.5l7.5 7.5-7.5 7.5"
|
828 |
+
/>
|
829 |
+
</svg>
|
830 |
+
<span>Representation #{index}</span>
|
831 |
+
</button>
|
832 |
+
<button on:click={() => deleteRep(index)}>
|
833 |
+
<!---->
|
834 |
+
<svg
|
835 |
+
xmlns="http://www.w3.org/2000/svg"
|
836 |
+
fill="none"
|
837 |
+
viewBox="0 0 24 24"
|
838 |
+
stroke-width="1.5"
|
839 |
+
stroke="currentColor"
|
840 |
+
class="w-5 h-5"
|
841 |
+
>
|
842 |
+
<path
|
843 |
+
stroke-linecap="round"
|
844 |
+
stroke-linejoin="round"
|
845 |
+
d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0"
|
846 |
+
/>
|
847 |
+
</svg>
|
848 |
+
</button>
|
849 |
+
<button
|
850 |
+
title="zoom to selection"
|
851 |
+
on:click={() => resetZoom(rep)}
|
852 |
+
>
|
853 |
+
<svg
|
854 |
+
xmlns="http://www.w3.org/2000/svg"
|
855 |
+
fill="none"
|
856 |
+
viewBox="0 0 24 24"
|
857 |
+
stroke-width="1.5"
|
858 |
+
stroke="currentColor"
|
859 |
+
class="w-4 h-4 text-gray-500 hover:text-orange-600 cursor-pointer"
|
860 |
+
>
|
861 |
+
<path
|
862 |
+
stroke-linecap="round"
|
863 |
+
stroke-linejoin="round"
|
864 |
+
d="M9 9V4.5M9 9H4.5M9 9L3.75 3.75M9 15v4.5M9 15H4.5M9 15l-5.25 5.25M15 9h4.5M15 9V4.5M15 9l5.25-5.25M15 15h4.5M15 15v4.5m0-4.5l5.25 5.25"
|
865 |
+
/>
|
866 |
+
</svg>
|
867 |
+
</button>
|
868 |
+
</div>
|
869 |
+
{#if rep.visible}
|
870 |
+
<div in:fade>
|
871 |
+
<div class="p-1 flex space-x-1">
|
872 |
+
<select
|
873 |
+
id="style"
|
874 |
+
class="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
|
875 |
+
bind:value={rep.model}
|
876 |
+
>
|
877 |
+
{#each moldata as mol, i}
|
878 |
+
<option value={i}>{mol.name} #{i}</option>
|
879 |
+
{/each}
|
880 |
+
</select>
|
881 |
+
<input
|
882 |
+
type="text"
|
883 |
+
id="chain"
|
884 |
+
class="w-1/2 bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
|
885 |
+
placeholder="Chain"
|
886 |
+
bind:value={rep.chain}
|
887 |
+
/>
|
888 |
+
</div>
|
889 |
+
<div class="p-1 flex space-x-1">
|
890 |
+
<input
|
891 |
+
type="text"
|
892 |
+
id="chain"
|
893 |
+
class="w-1/2 bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
|
894 |
+
placeholder="Resname"
|
895 |
+
bind:value={rep.resname}
|
896 |
+
/>
|
897 |
+
<input
|
898 |
+
type="text"
|
899 |
+
id="residue_range"
|
900 |
+
class="w-full bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
|
901 |
+
placeholder="Residue range"
|
902 |
+
bind:value={rep.residue_range}
|
903 |
+
/>
|
904 |
+
</div>
|
905 |
+
<div class="p-1 flex space-x-1 items-center">
|
906 |
+
<label
|
907 |
+
for="countries"
|
908 |
+
class="block mb-2 text-sm w-1/3 font-medium text-gray-600 dark:text-white"
|
909 |
+
>Select style</label
|
910 |
+
>
|
911 |
+
<select
|
912 |
+
id="style"
|
913 |
+
class="bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"
|
914 |
+
bind:value={rep.style}
|
915 |
+
>
|
916 |
+
<option value="stick">Stick</option>
|
917 |
+
<option value="cartoon">Cartoon</option>
|
918 |
+
<option value="surface">Surface</option>$
|
919 |
+
<option value="sphere">Sphere</option>
|
920 |
+
</select>
|
921 |
+
</div>
|
922 |
+
<div
|
923 |
+
class="flex p-1 items-center text-gray-700 space-x-1 text-sm"
|
924 |
+
>
|
925 |
+
<div class="">Opacity</div>
|
926 |
+
<input
|
927 |
+
id="around"
|
928 |
+
type="range"
|
929 |
+
value={rep.opacity}
|
930 |
+
min="0"
|
931 |
+
max="1"
|
932 |
+
step="0.1"
|
933 |
+
on:change={(event) => {
|
934 |
+
rep.opacity = event.target.value;
|
935 |
+
}}
|
936 |
+
class="h-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700"
|
937 |
+
/>
|
938 |
+
<input type="text" bind:value={rep.opacity} class="w-8" />
|
939 |
+
</div>
|
940 |
+
<div
|
941 |
+
class="flex p-1 items-center text-gray-700 space-x-1 text-sm"
|
942 |
+
>
|
943 |
+
<div class="">scale</div>
|
944 |
+
<input
|
945 |
+
id="around"
|
946 |
+
type="range"
|
947 |
+
value={rep.scale}
|
948 |
+
min="0"
|
949 |
+
max="1"
|
950 |
+
step="0.1"
|
951 |
+
on:change={(event) => {
|
952 |
+
rep.scale = event.target.value;
|
953 |
+
}}
|
954 |
+
class="h-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700"
|
955 |
+
/>
|
956 |
+
<input type="text" bind:value={rep.scale} class="w-8" />
|
957 |
+
</div>
|
958 |
+
<div
|
959 |
+
class="flex p-1 items-center text-gray-700 space-x-1 text-sm"
|
960 |
+
>
|
961 |
+
<div class="">Expand selection</div>
|
962 |
+
<input
|
963 |
+
id="around"
|
964 |
+
type="range"
|
965 |
+
value={rep.around}
|
966 |
+
min="0"
|
967 |
+
max="10"
|
968 |
+
step="0.5"
|
969 |
+
on:change={(event) => {
|
970 |
+
rep.around = event.target.value;
|
971 |
+
}}
|
972 |
+
class="h-2 w-1/3 bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700"
|
973 |
+
/>
|
974 |
+
<input type="text" bind:value={rep.around} class="w-8" />
|
975 |
+
<div>Å</div>
|
976 |
+
</div>
|
977 |
+
|
978 |
+
<div
|
979 |
+
class="flex p-1 items-center text-gray-700 space-x-1 text-sm"
|
980 |
+
>
|
981 |
+
<div class="flex space-x-1 w-1/2">
|
982 |
+
<span>Full residue</span>
|
983 |
+
<label
|
984 |
+
class="relative inline-flex items-center mr-5 cursor-pointer text-center"
|
985 |
+
>
|
986 |
+
<input
|
987 |
+
type="checkbox"
|
988 |
+
value=""
|
989 |
+
class="sr-only peer"
|
990 |
+
bind:checked={rep.byres}
|
991 |
+
/>
|
992 |
+
<div
|
993 |
+
class="w-11 h-6 bg-gray-200 rounded-full peer dark:bg-gray-700 peer-focus:ring-4 peer-focus:ring-orange-300 dark:peer-focus:ring-orange-800 peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-0.5 after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all dark:border-gray-600 peer-checked:bg-orange-400"
|
994 |
+
/>
|
995 |
+
</label>
|
996 |
+
</div>
|
997 |
+
<div class="flex space-x-1 w-1/2">
|
998 |
+
<span>Only sidechain</span>
|
999 |
+
<label
|
1000 |
+
class="relative inline-flex items-center mr-5 cursor-pointer text-center"
|
1001 |
+
>
|
1002 |
+
<input
|
1003 |
+
type="checkbox"
|
1004 |
+
value=""
|
1005 |
+
class="sr-only peer"
|
1006 |
+
bind:checked={rep.sidechain}
|
1007 |
+
/>
|
1008 |
+
<div
|
1009 |
+
class="w-11 h-6 bg-gray-200 rounded-full peer dark:bg-gray-700 peer-focus:ring-4 peer-focus:ring-orange-300 dark:peer-focus:ring-orange-800 peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-0.5 after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all dark:border-gray-600 peer-checked:bg-orange-400"
|
1010 |
+
/>
|
1011 |
+
</label>
|
1012 |
+
</div>
|
1013 |
+
</div>
|
1014 |
+
|
1015 |
+
<div class="flex space-x-2 mt-2">
|
1016 |
+
<button
|
1017 |
+
class={rep.color === "orangeCarbon"
|
1018 |
+
? "bg-orange-600 rounded-full w-8 h-8 border-4 border-gray-300 cursor-pointer"
|
1019 |
+
: "bg-orange-600 rounded-full w-8 h-8 border-4 border-white cursor-pointer"}
|
1020 |
+
on:click={() => (rep.color = "orangeCarbon")}
|
1021 |
+
/>
|
1022 |
+
<button
|
1023 |
+
class={rep.color === "redCarbon"
|
1024 |
+
? "bg-red-600 rounded-full w-8 h-8 border-4 border-gray-300 cursor-pointer"
|
1025 |
+
: "bg-red-600 rounded-full w-8 h-8 border-4 border-white cursor-pointer"}
|
1026 |
+
on:click={() => (rep.color = "redCarbon")}
|
1027 |
+
/>
|
1028 |
+
<button
|
1029 |
+
class={rep.color === "blackCarbon"
|
1030 |
+
? "bg-black rounded-full w-8 h-8 border-4 border-gray-300 cursor-pointer"
|
1031 |
+
: "bg-black rounded-full w-8 h-8 border-4 border-white cursor-pointer"}
|
1032 |
+
on:click={() => (rep.color = "blackCarbon")}
|
1033 |
+
/>
|
1034 |
+
<button
|
1035 |
+
class={rep.color === "blueCarbon"
|
1036 |
+
? "bg-blue-600 rounded-full w-8 h-8 border-4 border-gray-300 cursor-pointer"
|
1037 |
+
: "bg-blue-600 rounded-full w-8 h-8 border-4 border-white cursor-pointer"}
|
1038 |
+
on:click={() => (rep.color = "blueCarbon")}
|
1039 |
+
/>
|
1040 |
+
<button
|
1041 |
+
class={rep.color === "grayCarbon"
|
1042 |
+
? "bg-gray-600 rounded-full w-8 h-8 border-4 border-gray-300 cursor-pointer"
|
1043 |
+
: "bg-gray-600 rounded-full w-8 h-8 border-4 border-white cursor-pointer"}
|
1044 |
+
on:click={() => (rep.color = "grayCarbon")}
|
1045 |
+
/>
|
1046 |
+
<button
|
1047 |
+
class={rep.color === "greenCarbon"
|
1048 |
+
? "bg-green-600 rounded-full w-8 h-8 border-4 border-gray-300 cursor-pointer"
|
1049 |
+
: "bg-green-600 rounded-full w-8 h-8 border-4 border-white cursor-pointer"}
|
1050 |
+
on:click={() => (rep.color = "greenCarbon")}
|
1051 |
+
/>
|
1052 |
+
<button
|
1053 |
+
class={rep.color === "cyanCarbon"
|
1054 |
+
? "bg-cyan-600 rounded-full w-8 h-8 border-4 border-gray-300 cursor-pointer"
|
1055 |
+
: "bg-cyan-600 rounded-full w-8 h-8 border-4 border-white cursor-pointer"}
|
1056 |
+
on:click={() => (rep.color = "cyanCarbon")}
|
1057 |
+
/>
|
1058 |
+
</div>
|
1059 |
+
<div class="flex space-x-2 py-2 text-sm">
|
1060 |
+
<button
|
1061 |
+
class={rep.color === "alphafold"
|
1062 |
+
? "rounded-lg p-1 border border-gray-400 cursor-pointer bg-gray-200"
|
1063 |
+
: "rounded-lg p-1 border border-gray-200 cursor-pointer bg-white"}
|
1064 |
+
on:click={() => (rep.color = "alphafold")}
|
1065 |
+
>
|
1066 |
+
AlphaFold
|
1067 |
+
</button>
|
1068 |
+
<button
|
1069 |
+
class={rep.color === "hydrophobicity"
|
1070 |
+
? "rounded-lg p-1 border border-gray-400 cursor-pointer bg-gray-200"
|
1071 |
+
: "rounded-lg p-1 border border-gray-200 cursor-pointer bg-white"}
|
1072 |
+
on:click={() => (rep.color = "hydrophobicity")}
|
1073 |
+
>
|
1074 |
+
Hydrophobicity
|
1075 |
+
</button>
|
1076 |
+
<button
|
1077 |
+
class={rep.color === "default"
|
1078 |
+
? "rounded-lg p-1 border border-gray-400 cursor-pointer bg-gray-200"
|
1079 |
+
: "rounded-lg p-1 border border-gray-200 cursor-pointer bg-white"}
|
1080 |
+
on:click={() => (rep.color = "default")}
|
1081 |
+
>
|
1082 |
+
PyMol
|
1083 |
+
</button>
|
1084 |
+
<button
|
1085 |
+
class={rep.color === "Jmol"
|
1086 |
+
? "rounded-lg p-1 border border-gray-400 cursor-pointer bg-gray-200"
|
1087 |
+
: "rounded-lg p-1 border border-gray-200 cursor-pointer bg-white"}
|
1088 |
+
on:click={() => (rep.color = "Jmol")}
|
1089 |
+
>
|
1090 |
+
Jmol
|
1091 |
+
</button>
|
1092 |
+
</div>
|
1093 |
+
<div class="flex space-x-2 py-2 text-sm">
|
1094 |
+
<button
|
1095 |
+
class={rep.color === "chain"
|
1096 |
+
? "rounded-lg p-1 border border-gray-400 cursor-pointer bg-gray-200"
|
1097 |
+
: "rounded-lg p-1 border border-gray-200 cursor-pointer bg-white"}
|
1098 |
+
on:click={() => (rep.color = "chain")}
|
1099 |
+
>
|
1100 |
+
Chain
|
1101 |
+
</button>
|
1102 |
+
<button
|
1103 |
+
class={rep.color === "spectrum"
|
1104 |
+
? "rounded-lg p-1 border border-gray-400 cursor-pointer bg-gray-200"
|
1105 |
+
: "rounded-lg p-1 border border-gray-200 cursor-pointer bg-white"}
|
1106 |
+
on:click={() => (rep.color = "spectrum")}
|
1107 |
+
>
|
1108 |
+
Spectrum
|
1109 |
+
</button>
|
1110 |
+
</div>
|
1111 |
+
</div>
|
1112 |
+
{/if}
|
1113 |
+
</div>
|
1114 |
+
</div>
|
1115 |
+
{/each}
|
1116 |
+
|
1117 |
+
<button
|
1118 |
+
class="w-full flex text-orange-600 justify-center my-2 text-sm space-x-2 items-center hover:text-gray-600 cursor-pointer"
|
1119 |
+
on:click={insertRep}
|
1120 |
+
>
|
1121 |
+
<svg
|
1122 |
+
xmlns="http://www.w3.org/2000/svg"
|
1123 |
+
fill="none"
|
1124 |
+
viewBox="0 0 24 24"
|
1125 |
+
stroke-width="2"
|
1126 |
+
stroke="currentColor"
|
1127 |
+
class="w-4 h-4"
|
1128 |
+
>
|
1129 |
+
<path
|
1130 |
+
stroke-linecap="round"
|
1131 |
+
stroke-linejoin="round"
|
1132 |
+
d="M12 9v6m3-3H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z"
|
1133 |
+
/>
|
1134 |
+
</svg>
|
1135 |
+
|
1136 |
+
<div>Add representation</div>
|
1137 |
+
</button>
|
1138 |
+
</div>
|
1139 |
+
{/if}
|
1140 |
+
</div>
|
1141 |
+
</div>
|
1142 |
+
</div>
|
1143 |
+
|
1144 |
+
<style>
|
1145 |
+
*,
|
1146 |
+
:before,
|
1147 |
+
:after {
|
1148 |
+
box-sizing: border-box;
|
1149 |
+
border-width: 0;
|
1150 |
+
border-style: solid;
|
1151 |
+
border-color: #e5e7eb;
|
1152 |
+
}
|
1153 |
+
:before,
|
1154 |
+
:after {
|
1155 |
+
--tw-content: "";
|
1156 |
+
}
|
1157 |
+
html {
|
1158 |
+
line-height: 1.5;
|
1159 |
+
-webkit-text-size-adjust: 100%;
|
1160 |
+
-moz-tab-size: 4;
|
1161 |
+
-o-tab-size: 4;
|
1162 |
+
tab-size: 4;
|
1163 |
+
font-family:
|
1164 |
+
ui-sans-serif,
|
1165 |
+
system-ui,
|
1166 |
+
-apple-system,
|
1167 |
+
BlinkMacSystemFont,
|
1168 |
+
Segoe UI,
|
1169 |
+
Roboto,
|
1170 |
+
Helvetica Neue,
|
1171 |
+
Arial,
|
1172 |
+
Noto Sans,
|
1173 |
+
sans-serif,
|
1174 |
+
"Apple Color Emoji",
|
1175 |
+
"Segoe UI Emoji",
|
1176 |
+
Segoe UI Symbol,
|
1177 |
+
"Noto Color Emoji";
|
1178 |
+
font-feature-settings: normal;
|
1179 |
+
}
|
1180 |
+
body {
|
1181 |
+
margin: 0;
|
1182 |
+
line-height: inherit;
|
1183 |
+
}
|
1184 |
+
hr {
|
1185 |
+
height: 0;
|
1186 |
+
color: inherit;
|
1187 |
+
border-top-width: 1px;
|
1188 |
+
}
|
1189 |
+
abbr:where([title]) {
|
1190 |
+
-webkit-text-decoration: underline dotted;
|
1191 |
+
text-decoration: underline dotted;
|
1192 |
+
}
|
1193 |
+
h1,
|
1194 |
+
h2,
|
1195 |
+
h3,
|
1196 |
+
h4,
|
1197 |
+
h5,
|
1198 |
+
h6 {
|
1199 |
+
font-size: inherit;
|
1200 |
+
font-weight: inherit;
|
1201 |
+
}
|
1202 |
+
a {
|
1203 |
+
color: inherit;
|
1204 |
+
text-decoration: inherit;
|
1205 |
+
}
|
1206 |
+
b,
|
1207 |
+
strong {
|
1208 |
+
font-weight: bolder;
|
1209 |
+
}
|
1210 |
+
code,
|
1211 |
+
kbd,
|
1212 |
+
samp,
|
1213 |
+
pre {
|
1214 |
+
font-family:
|
1215 |
+
ui-monospace,
|
1216 |
+
SFMono-Regular,
|
1217 |
+
Menlo,
|
1218 |
+
Monaco,
|
1219 |
+
Consolas,
|
1220 |
+
Liberation Mono,
|
1221 |
+
Courier New,
|
1222 |
+
monospace;
|
1223 |
+
font-size: 1em;
|
1224 |
+
}
|
1225 |
+
small {
|
1226 |
+
font-size: 80%;
|
1227 |
+
}
|
1228 |
+
sub,
|
1229 |
+
sup {
|
1230 |
+
font-size: 75%;
|
1231 |
+
line-height: 0;
|
1232 |
+
position: relative;
|
1233 |
+
vertical-align: baseline;
|
1234 |
+
}
|
1235 |
+
sub {
|
1236 |
+
bottom: -0.25em;
|
1237 |
+
}
|
1238 |
+
sup {
|
1239 |
+
top: -0.5em;
|
1240 |
+
}
|
1241 |
+
table {
|
1242 |
+
text-indent: 0;
|
1243 |
+
border-color: inherit;
|
1244 |
+
border-collapse: collapse;
|
1245 |
+
}
|
1246 |
+
button,
|
1247 |
+
input,
|
1248 |
+
optgroup,
|
1249 |
+
select,
|
1250 |
+
textarea {
|
1251 |
+
font-family: inherit;
|
1252 |
+
font-size: 100%;
|
1253 |
+
font-weight: inherit;
|
1254 |
+
line-height: inherit;
|
1255 |
+
color: inherit;
|
1256 |
+
margin: 0;
|
1257 |
+
padding: 0;
|
1258 |
+
}
|
1259 |
+
button,
|
1260 |
+
select {
|
1261 |
+
text-transform: none;
|
1262 |
+
}
|
1263 |
+
button,
|
1264 |
+
[type="button"],
|
1265 |
+
[type="reset"],
|
1266 |
+
[type="submit"] {
|
1267 |
+
-webkit-appearance: button;
|
1268 |
+
background-color: transparent;
|
1269 |
+
background-image: none;
|
1270 |
+
}
|
1271 |
+
:-moz-focusring {
|
1272 |
+
outline: auto;
|
1273 |
+
}
|
1274 |
+
:-moz-ui-invalid {
|
1275 |
+
box-shadow: none;
|
1276 |
+
}
|
1277 |
+
progress {
|
1278 |
+
vertical-align: baseline;
|
1279 |
+
}
|
1280 |
+
::-webkit-inner-spin-button,
|
1281 |
+
::-webkit-outer-spin-button {
|
1282 |
+
height: auto;
|
1283 |
+
}
|
1284 |
+
[type="search"] {
|
1285 |
+
-webkit-appearance: textfield;
|
1286 |
+
outline-offset: -2px;
|
1287 |
+
}
|
1288 |
+
::-webkit-search-decoration {
|
1289 |
+
-webkit-appearance: none;
|
1290 |
+
}
|
1291 |
+
::-webkit-file-upload-button {
|
1292 |
+
-webkit-appearance: button;
|
1293 |
+
font: inherit;
|
1294 |
+
}
|
1295 |
+
summary {
|
1296 |
+
display: list-item;
|
1297 |
+
}
|
1298 |
+
blockquote,
|
1299 |
+
dl,
|
1300 |
+
dd,
|
1301 |
+
h1,
|
1302 |
+
h2,
|
1303 |
+
h3,
|
1304 |
+
h4,
|
1305 |
+
h5,
|
1306 |
+
h6,
|
1307 |
+
hr,
|
1308 |
+
figure,
|
1309 |
+
p,
|
1310 |
+
pre {
|
1311 |
+
margin: 0;
|
1312 |
+
}
|
1313 |
+
fieldset {
|
1314 |
+
margin: 0;
|
1315 |
+
padding: 0;
|
1316 |
+
}
|
1317 |
+
legend {
|
1318 |
+
padding: 0;
|
1319 |
+
}
|
1320 |
+
ol,
|
1321 |
+
ul,
|
1322 |
+
menu {
|
1323 |
+
list-style: none;
|
1324 |
+
margin: 0;
|
1325 |
+
padding: 0;
|
1326 |
+
}
|
1327 |
+
textarea {
|
1328 |
+
resize: vertical;
|
1329 |
+
}
|
1330 |
+
input::-moz-placeholder,
|
1331 |
+
textarea::-moz-placeholder {
|
1332 |
+
opacity: 1;
|
1333 |
+
color: #9ca3af;
|
1334 |
+
}
|
1335 |
+
input::placeholder,
|
1336 |
+
textarea::placeholder {
|
1337 |
+
opacity: 1;
|
1338 |
+
color: #9ca3af;
|
1339 |
+
}
|
1340 |
+
button,
|
1341 |
+
[role="button"] {
|
1342 |
+
cursor: pointer;
|
1343 |
+
}
|
1344 |
+
:disabled {
|
1345 |
+
cursor: default;
|
1346 |
+
}
|
1347 |
+
img,
|
1348 |
+
svg,
|
1349 |
+
video,
|
1350 |
+
canvas,
|
1351 |
+
audio,
|
1352 |
+
iframe,
|
1353 |
+
embed,
|
1354 |
+
object {
|
1355 |
+
display: block;
|
1356 |
+
vertical-align: middle;
|
1357 |
+
}
|
1358 |
+
img,
|
1359 |
+
video {
|
1360 |
+
max-width: 100%;
|
1361 |
+
height: auto;
|
1362 |
+
}
|
1363 |
+
[hidden] {
|
1364 |
+
display: none;
|
1365 |
+
}
|
1366 |
+
*,
|
1367 |
+
:before,
|
1368 |
+
:after {
|
1369 |
+
--tw-border-spacing-x: 0;
|
1370 |
+
--tw-border-spacing-y: 0;
|
1371 |
+
--tw-translate-x: 0;
|
1372 |
+
--tw-translate-y: 0;
|
1373 |
+
--tw-rotate: 0;
|
1374 |
+
--tw-skew-x: 0;
|
1375 |
+
--tw-skew-y: 0;
|
1376 |
+
--tw-scale-x: 1;
|
1377 |
+
--tw-scale-y: 1;
|
1378 |
+
--tw-pan-x: ;
|
1379 |
+
--tw-pan-y: ;
|
1380 |
+
--tw-pinch-zoom: ;
|
1381 |
+
--tw-scroll-snap-strictness: proximity;
|
1382 |
+
--tw-ordinal: ;
|
1383 |
+
--tw-slashed-zero: ;
|
1384 |
+
--tw-numeric-figure: ;
|
1385 |
+
--tw-numeric-spacing: ;
|
1386 |
+
--tw-numeric-fraction: ;
|
1387 |
+
--tw-ring-inset: ;
|
1388 |
+
--tw-ring-offset-width: 0px;
|
1389 |
+
--tw-ring-offset-color: #fff;
|
1390 |
+
--tw-ring-color: rgb(59 130 246 / 0.5);
|
1391 |
+
--tw-ring-offset-shadow: 0 0 #0000;
|
1392 |
+
--tw-ring-shadow: 0 0 #0000;
|
1393 |
+
--tw-shadow: 0 0 #0000;
|
1394 |
+
--tw-shadow-colored: 0 0 #0000;
|
1395 |
+
--tw-blur: ;
|
1396 |
+
--tw-brightness: ;
|
1397 |
+
--tw-contrast: ;
|
1398 |
+
--tw-grayscale: ;
|
1399 |
+
--tw-hue-rotate: ;
|
1400 |
+
--tw-invert: ;
|
1401 |
+
--tw-saturate: ;
|
1402 |
+
--tw-sepia: ;
|
1403 |
+
--tw-drop-shadow: ;
|
1404 |
+
--tw-backdrop-blur: ;
|
1405 |
+
--tw-backdrop-brightness: ;
|
1406 |
+
--tw-backdrop-contrast: ;
|
1407 |
+
--tw-backdrop-grayscale: ;
|
1408 |
+
--tw-backdrop-hue-rotate: ;
|
1409 |
+
--tw-backdrop-invert: ;
|
1410 |
+
--tw-backdrop-opacity: ;
|
1411 |
+
--tw-backdrop-saturate: ;
|
1412 |
+
--tw-backdrop-sepia: ;
|
1413 |
+
}
|
1414 |
+
::backdrop {
|
1415 |
+
--tw-border-spacing-x: 0;
|
1416 |
+
--tw-border-spacing-y: 0;
|
1417 |
+
--tw-translate-x: 0;
|
1418 |
+
--tw-translate-y: 0;
|
1419 |
+
--tw-rotate: 0;
|
1420 |
+
--tw-skew-x: 0;
|
1421 |
+
--tw-skew-y: 0;
|
1422 |
+
--tw-scale-x: 1;
|
1423 |
+
--tw-scale-y: 1;
|
1424 |
+
--tw-pan-x: ;
|
1425 |
+
--tw-pan-y: ;
|
1426 |
+
--tw-pinch-zoom: ;
|
1427 |
+
--tw-scroll-snap-strictness: proximity;
|
1428 |
+
--tw-ordinal: ;
|
1429 |
+
--tw-slashed-zero: ;
|
1430 |
+
--tw-numeric-figure: ;
|
1431 |
+
--tw-numeric-spacing: ;
|
1432 |
+
--tw-numeric-fraction: ;
|
1433 |
+
--tw-ring-inset: ;
|
1434 |
+
--tw-ring-offset-width: 0px;
|
1435 |
+
--tw-ring-offset-color: #fff;
|
1436 |
+
--tw-ring-color: rgb(59 130 246 / 0.5);
|
1437 |
+
--tw-ring-offset-shadow: 0 0 #0000;
|
1438 |
+
--tw-ring-shadow: 0 0 #0000;
|
1439 |
+
--tw-shadow: 0 0 #0000;
|
1440 |
+
--tw-shadow-colored: 0 0 #0000;
|
1441 |
+
--tw-blur: ;
|
1442 |
+
--tw-brightness: ;
|
1443 |
+
--tw-contrast: ;
|
1444 |
+
--tw-grayscale: ;
|
1445 |
+
--tw-hue-rotate: ;
|
1446 |
+
--tw-invert: ;
|
1447 |
+
--tw-saturate: ;
|
1448 |
+
--tw-sepia: ;
|
1449 |
+
--tw-drop-shadow: ;
|
1450 |
+
--tw-backdrop-blur: ;
|
1451 |
+
--tw-backdrop-brightness: ;
|
1452 |
+
--tw-backdrop-contrast: ;
|
1453 |
+
--tw-backdrop-grayscale: ;
|
1454 |
+
--tw-backdrop-hue-rotate: ;
|
1455 |
+
--tw-backdrop-invert: ;
|
1456 |
+
--tw-backdrop-opacity: ;
|
1457 |
+
--tw-backdrop-saturate: ;
|
1458 |
+
--tw-backdrop-sepia: ;
|
1459 |
+
}
|
1460 |
+
.container {
|
1461 |
+
width: 100%;
|
1462 |
+
}
|
1463 |
+
@media (min-width: 640px) {
|
1464 |
+
.container {
|
1465 |
+
max-width: 640px;
|
1466 |
+
}
|
1467 |
+
}
|
1468 |
+
@media (min-width: 768px) {
|
1469 |
+
.container {
|
1470 |
+
max-width: 768px;
|
1471 |
+
}
|
1472 |
+
}
|
1473 |
+
@media (min-width: 1024px) {
|
1474 |
+
.container {
|
1475 |
+
max-width: 1024px;
|
1476 |
+
}
|
1477 |
+
}
|
1478 |
+
@media (min-width: 1280px) {
|
1479 |
+
.container {
|
1480 |
+
max-width: 1280px;
|
1481 |
+
}
|
1482 |
+
}
|
1483 |
+
@media (min-width: 1536px) {
|
1484 |
+
.container {
|
1485 |
+
max-width: 1536px;
|
1486 |
+
}
|
1487 |
+
}
|
1488 |
+
.sr-only {
|
1489 |
+
position: absolute;
|
1490 |
+
width: 1px;
|
1491 |
+
height: 1px;
|
1492 |
+
padding: 0;
|
1493 |
+
margin: -1px;
|
1494 |
+
overflow: hidden;
|
1495 |
+
clip: rect(0, 0, 0, 0);
|
1496 |
+
white-space: nowrap;
|
1497 |
+
border-width: 0;
|
1498 |
+
}
|
1499 |
+
.visible {
|
1500 |
+
visibility: visible;
|
1501 |
+
}
|
1502 |
+
.absolute {
|
1503 |
+
position: absolute;
|
1504 |
+
}
|
1505 |
+
.relative {
|
1506 |
+
position: relative;
|
1507 |
+
}
|
1508 |
+
.bottom-0 {
|
1509 |
+
bottom: 0px;
|
1510 |
+
}
|
1511 |
+
.left-0 {
|
1512 |
+
left: 0px;
|
1513 |
+
}
|
1514 |
+
.right-0 {
|
1515 |
+
right: 0px;
|
1516 |
+
}
|
1517 |
+
.right-2 {
|
1518 |
+
right: 0.5rem;
|
1519 |
+
}
|
1520 |
+
.right-2\.5 {
|
1521 |
+
right: 0.625rem;
|
1522 |
+
}
|
1523 |
+
.top-0 {
|
1524 |
+
top: 0px;
|
1525 |
+
}
|
1526 |
+
.top-2 {
|
1527 |
+
top: 0.5rem;
|
1528 |
+
}
|
1529 |
+
.top-2\.5 {
|
1530 |
+
top: 0.625rem;
|
1531 |
+
}
|
1532 |
+
.z-10 {
|
1533 |
+
z-index: 10;
|
1534 |
+
}
|
1535 |
+
.z-50 {
|
1536 |
+
z-index: 50;
|
1537 |
+
}
|
1538 |
+
.my-2 {
|
1539 |
+
margin-top: 0.5rem;
|
1540 |
+
margin-bottom: 0.5rem;
|
1541 |
+
}
|
1542 |
+
.mb-2 {
|
1543 |
+
margin-bottom: 0.5rem;
|
1544 |
+
}
|
1545 |
+
.mb-4 {
|
1546 |
+
margin-bottom: 1rem;
|
1547 |
+
}
|
1548 |
+
.mr-2 {
|
1549 |
+
margin-right: 0.5rem;
|
1550 |
+
}
|
1551 |
+
.ml-1 {
|
1552 |
+
margin-left: 0.25rem;
|
1553 |
+
}
|
1554 |
+
.ml-2 {
|
1555 |
+
margin-left: 0.5rem;
|
1556 |
+
}
|
1557 |
+
.mr-5 {
|
1558 |
+
margin-right: 1.25rem;
|
1559 |
+
}
|
1560 |
+
.mt-2 {
|
1561 |
+
margin-top: 0.5rem;
|
1562 |
+
}
|
1563 |
+
.block {
|
1564 |
+
display: block;
|
1565 |
+
}
|
1566 |
+
.flex {
|
1567 |
+
display: flex;
|
1568 |
+
}
|
1569 |
+
.inline-flex {
|
1570 |
+
display: inline-flex;
|
1571 |
+
}
|
1572 |
+
.contents {
|
1573 |
+
display: contents;
|
1574 |
+
}
|
1575 |
+
.h-2 {
|
1576 |
+
height: 0.5rem;
|
1577 |
+
}
|
1578 |
+
.h-3 {
|
1579 |
+
height: 0.75rem;
|
1580 |
+
}
|
1581 |
+
.h-4 {
|
1582 |
+
height: 1rem;
|
1583 |
+
}
|
1584 |
+
.h-5 {
|
1585 |
+
height: 1.25rem;
|
1586 |
+
}
|
1587 |
+
.h-6 {
|
1588 |
+
height: 1.5rem;
|
1589 |
+
}
|
1590 |
+
.h-8 {
|
1591 |
+
height: 2rem;
|
1592 |
+
}
|
1593 |
+
.h-96 {
|
1594 |
+
height: 24rem;
|
1595 |
+
}
|
1596 |
+
.h-full {
|
1597 |
+
height: 100%;
|
1598 |
+
}
|
1599 |
+
.h-screen {
|
1600 |
+
height: 100vh;
|
1601 |
+
}
|
1602 |
+
.w-1\/2 {
|
1603 |
+
width: 50%;
|
1604 |
+
}
|
1605 |
+
.w-1\/3 {
|
1606 |
+
width: 33.333333%;
|
1607 |
+
}
|
1608 |
+
.w-11 {
|
1609 |
+
width: 2.75rem;
|
1610 |
+
}
|
1611 |
+
.w-2\/3 {
|
1612 |
+
width: 66.666667%;
|
1613 |
+
}
|
1614 |
+
.w-3 {
|
1615 |
+
width: 0.75rem;
|
1616 |
+
}
|
1617 |
+
.w-4 {
|
1618 |
+
width: 1rem;
|
1619 |
+
}
|
1620 |
+
.w-5 {
|
1621 |
+
width: 1.25rem;
|
1622 |
+
}
|
1623 |
+
.w-8 {
|
1624 |
+
width: 2rem;
|
1625 |
+
}
|
1626 |
+
.w-80 {
|
1627 |
+
width: 20rem;
|
1628 |
+
}
|
1629 |
+
.w-full {
|
1630 |
+
width: 100%;
|
1631 |
+
}
|
1632 |
+
.max-w-4xl {
|
1633 |
+
max-width: 56rem;
|
1634 |
+
}
|
1635 |
+
.rotate-90 {
|
1636 |
+
--tw-rotate: 90deg;
|
1637 |
+
transform: translate(var(--tw-translate-x), var(--tw-translate-y))
|
1638 |
+
rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y))
|
1639 |
+
scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
1640 |
+
}
|
1641 |
+
.transform {
|
1642 |
+
transform: translate(var(--tw-translate-x), var(--tw-translate-y))
|
1643 |
+
rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y))
|
1644 |
+
scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
1645 |
+
}
|
1646 |
+
.cursor-pointer {
|
1647 |
+
cursor: pointer;
|
1648 |
+
}
|
1649 |
+
.appearance-none {
|
1650 |
+
-webkit-appearance: none;
|
1651 |
+
-moz-appearance: none;
|
1652 |
+
appearance: none;
|
1653 |
+
}
|
1654 |
+
.flex-col {
|
1655 |
+
flex-direction: column;
|
1656 |
+
}
|
1657 |
+
.fill-current {
|
1658 |
+
fill: currentColor;
|
1659 |
+
}
|
1660 |
+
.flex-wrap {
|
1661 |
+
flex-wrap: wrap;
|
1662 |
+
}
|
1663 |
+
.items-center {
|
1664 |
+
align-items: center;
|
1665 |
+
}
|
1666 |
+
.justify-center {
|
1667 |
+
justify-content: center;
|
1668 |
+
}
|
1669 |
+
.gap-px {
|
1670 |
+
gap: 1px;
|
1671 |
+
}
|
1672 |
+
.space-x-1 > :not([hidden]) ~ :not([hidden]) {
|
1673 |
+
--tw-space-x-reverse: 0;
|
1674 |
+
margin-right: calc(0.25rem * var(--tw-space-x-reverse));
|
1675 |
+
margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
|
1676 |
+
}
|
1677 |
+
.space-x-2 > :not([hidden]) ~ :not([hidden]) {
|
1678 |
+
--tw-space-x-reverse: 0;
|
1679 |
+
margin-right: calc(0.5rem * var(--tw-space-x-reverse));
|
1680 |
+
margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
|
1681 |
+
}
|
1682 |
+
.divide-x > :not([hidden]) ~ :not([hidden]) {
|
1683 |
+
--tw-divide-x-reverse: 0;
|
1684 |
+
border-right-width: calc(1px * var(--tw-divide-x-reverse));
|
1685 |
+
border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
|
1686 |
+
}
|
1687 |
+
.divide-y > :not([hidden]) ~ :not([hidden]) {
|
1688 |
+
--tw-divide-y-reverse: 0;
|
1689 |
+
border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
|
1690 |
+
border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
|
1691 |
+
}
|
1692 |
+
.overflow-hidden {
|
1693 |
+
overflow: hidden;
|
1694 |
+
}
|
1695 |
+
.overflow-y-auto {
|
1696 |
+
overflow-y: auto;
|
1697 |
+
}
|
1698 |
+
.rounded {
|
1699 |
+
border-radius: 0.25rem;
|
1700 |
+
}
|
1701 |
+
.rounded-full {
|
1702 |
+
border-radius: 9999px;
|
1703 |
+
}
|
1704 |
+
.rounded-lg {
|
1705 |
+
border-radius: 0.5rem;
|
1706 |
+
}
|
1707 |
+
.rounded-br {
|
1708 |
+
border-bottom-right-radius: 0.25rem;
|
1709 |
+
}
|
1710 |
+
.border {
|
1711 |
+
border-width: 1px;
|
1712 |
+
}
|
1713 |
+
.border-4 {
|
1714 |
+
border-width: 4px;
|
1715 |
+
}
|
1716 |
+
.border-b {
|
1717 |
+
border-bottom-width: 1px;
|
1718 |
+
}
|
1719 |
+
.border-l {
|
1720 |
+
border-left-width: 1px;
|
1721 |
+
}
|
1722 |
+
.border-r {
|
1723 |
+
border-right-width: 1px;
|
1724 |
+
}
|
1725 |
+
.border-t {
|
1726 |
+
border-top-width: 1px;
|
1727 |
+
}
|
1728 |
+
.border-solid {
|
1729 |
+
border-style: solid;
|
1730 |
+
}
|
1731 |
+
.border-dashed {
|
1732 |
+
border-style: dashed;
|
1733 |
+
}
|
1734 |
+
.border-gray-200 {
|
1735 |
+
--tw-border-opacity: 1;
|
1736 |
+
border-color: rgb(229 231 235 / var(--tw-border-opacity));
|
1737 |
+
}
|
1738 |
+
.border-gray-300 {
|
1739 |
+
--tw-border-opacity: 1;
|
1740 |
+
border-color: rgb(209 213 219 / var(--tw-border-opacity));
|
1741 |
+
}
|
1742 |
+
.border-gray-400 {
|
1743 |
+
--tw-border-opacity: 1;
|
1744 |
+
border-color: rgb(156 163 175 / var(--tw-border-opacity));
|
1745 |
+
}
|
1746 |
+
.border-white {
|
1747 |
+
--tw-border-opacity: 1;
|
1748 |
+
border-color: rgb(255 255 255 / var(--tw-border-opacity));
|
1749 |
+
}
|
1750 |
+
.bg-black {
|
1751 |
+
--tw-bg-opacity: 1;
|
1752 |
+
background-color: rgb(0 0 0 / var(--tw-bg-opacity));
|
1753 |
+
}
|
1754 |
+
.bg-blue-600 {
|
1755 |
+
--tw-bg-opacity: 1;
|
1756 |
+
background-color: rgb(37 99 235 / var(--tw-bg-opacity));
|
1757 |
+
}
|
1758 |
+
.bg-cyan-600 {
|
1759 |
+
--tw-bg-opacity: 1;
|
1760 |
+
background-color: rgb(8 145 178 / var(--tw-bg-opacity));
|
1761 |
+
}
|
1762 |
+
.bg-gray-100 {
|
1763 |
+
--tw-bg-opacity: 1;
|
1764 |
+
background-color: rgb(243 244 246 / var(--tw-bg-opacity));
|
1765 |
+
}
|
1766 |
+
.bg-gray-200 {
|
1767 |
+
--tw-bg-opacity: 1;
|
1768 |
+
background-color: rgb(229 231 235 / var(--tw-bg-opacity));
|
1769 |
+
}
|
1770 |
+
.bg-gray-50 {
|
1771 |
+
--tw-bg-opacity: 1;
|
1772 |
+
background-color: rgb(249 250 251 / var(--tw-bg-opacity));
|
1773 |
+
}
|
1774 |
+
.bg-gray-600 {
|
1775 |
+
--tw-bg-opacity: 1;
|
1776 |
+
background-color: rgb(75 85 99 / var(--tw-bg-opacity));
|
1777 |
+
}
|
1778 |
+
.bg-green-600 {
|
1779 |
+
--tw-bg-opacity: 1;
|
1780 |
+
background-color: rgb(22 163 74 / var(--tw-bg-opacity));
|
1781 |
+
}
|
1782 |
+
.bg-orange-600 {
|
1783 |
+
--tw-bg-opacity: 1;
|
1784 |
+
background-color: rgb(234 88 12 / var(--tw-bg-opacity));
|
1785 |
+
}
|
1786 |
+
.bg-red-600 {
|
1787 |
+
--tw-bg-opacity: 1;
|
1788 |
+
background-color: rgb(220 38 38 / var(--tw-bg-opacity));
|
1789 |
+
}
|
1790 |
+
.bg-transparent {
|
1791 |
+
background-color: transparent;
|
1792 |
+
}
|
1793 |
+
.bg-white {
|
1794 |
+
--tw-bg-opacity: 1;
|
1795 |
+
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
|
1796 |
+
}
|
1797 |
+
.p-1 {
|
1798 |
+
padding: 0.25rem;
|
1799 |
+
}
|
1800 |
+
.p-1\.5 {
|
1801 |
+
padding: 0.375rem;
|
1802 |
+
}
|
1803 |
+
.p-2 {
|
1804 |
+
padding: 0.5rem;
|
1805 |
+
}
|
1806 |
+
.p-2\.5 {
|
1807 |
+
padding: 0.625rem;
|
1808 |
+
}
|
1809 |
+
.p-4 {
|
1810 |
+
padding: 1rem;
|
1811 |
+
}
|
1812 |
+
.p-5 {
|
1813 |
+
padding: 1.25rem;
|
1814 |
+
}
|
1815 |
+
.px-2 {
|
1816 |
+
padding-left: 0.5rem;
|
1817 |
+
padding-right: 0.5rem;
|
1818 |
+
}
|
1819 |
+
.px-4 {
|
1820 |
+
padding-left: 1rem;
|
1821 |
+
padding-right: 1rem;
|
1822 |
+
}
|
1823 |
+
.py-1 {
|
1824 |
+
padding-top: 0.25rem;
|
1825 |
+
padding-bottom: 0.25rem;
|
1826 |
+
}
|
1827 |
+
.py-2 {
|
1828 |
+
padding-top: 0.5rem;
|
1829 |
+
padding-bottom: 0.5rem;
|
1830 |
+
}
|
1831 |
+
.py-4 {
|
1832 |
+
padding-top: 1rem;
|
1833 |
+
padding-bottom: 1rem;
|
1834 |
+
}
|
1835 |
+
.text-center {
|
1836 |
+
text-align: center;
|
1837 |
+
}
|
1838 |
+
.text-base {
|
1839 |
+
font-size: 1rem;
|
1840 |
+
line-height: 1.5rem;
|
1841 |
+
}
|
1842 |
+
.text-sm {
|
1843 |
+
font-size: 0.875rem;
|
1844 |
+
line-height: 1.25rem;
|
1845 |
+
}
|
1846 |
+
.text-xs {
|
1847 |
+
font-size: 0.75rem;
|
1848 |
+
line-height: 1rem;
|
1849 |
+
}
|
1850 |
+
.font-medium {
|
1851 |
+
font-weight: 500;
|
1852 |
+
}
|
1853 |
+
.font-semibold {
|
1854 |
+
font-weight: 600;
|
1855 |
+
}
|
1856 |
+
.text-gray-400 {
|
1857 |
+
--tw-text-opacity: 1;
|
1858 |
+
color: rgb(156 163 175 / var(--tw-text-opacity));
|
1859 |
+
}
|
1860 |
+
.text-gray-500 {
|
1861 |
+
--tw-text-opacity: 1;
|
1862 |
+
color: rgb(107 114 128 / var(--tw-text-opacity));
|
1863 |
+
}
|
1864 |
+
.text-gray-600 {
|
1865 |
+
--tw-text-opacity: 1;
|
1866 |
+
color: rgb(75 85 99 / var(--tw-text-opacity));
|
1867 |
+
}
|
1868 |
+
.text-gray-700 {
|
1869 |
+
--tw-text-opacity: 1;
|
1870 |
+
color: rgb(55 65 81 / var(--tw-text-opacity));
|
1871 |
+
}
|
1872 |
+
.text-gray-900 {
|
1873 |
+
--tw-text-opacity: 1;
|
1874 |
+
color: rgb(17 24 39 / var(--tw-text-opacity));
|
1875 |
+
}
|
1876 |
+
.text-orange-600 {
|
1877 |
+
--tw-text-opacity: 1;
|
1878 |
+
color: rgb(234 88 12 / var(--tw-text-opacity));
|
1879 |
+
}
|
1880 |
+
.invert {
|
1881 |
+
--tw-invert: invert(100%);
|
1882 |
+
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast)
|
1883 |
+
var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert)
|
1884 |
+
var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
|
1885 |
+
}
|
1886 |
+
.transition-transform {
|
1887 |
+
transition-property: transform;
|
1888 |
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
1889 |
+
transition-duration: 0.15s;
|
1890 |
+
}
|
1891 |
+
.scroll-hide {
|
1892 |
+
-ms-overflow-style: none;
|
1893 |
+
scrollbar-width: none;
|
1894 |
+
}
|
1895 |
+
.sr-only {
|
1896 |
+
clip: rect(0, 0, 0, 0);
|
1897 |
+
position: absolute;
|
1898 |
+
margin: -1px;
|
1899 |
+
border-width: 0;
|
1900 |
+
padding: 0;
|
1901 |
+
width: 1px;
|
1902 |
+
height: 1px;
|
1903 |
+
overflow: hidden;
|
1904 |
+
white-space: nowrap;
|
1905 |
+
}
|
1906 |
+
.scroll-hide::-webkit-scrollbar {
|
1907 |
+
display: none;
|
1908 |
+
}
|
1909 |
+
.gradio-container {
|
1910 |
+
-webkit-text-size-adjust: 100%;
|
1911 |
+
line-height: 1.5;
|
1912 |
+
font-family:
|
1913 |
+
Source Sans Pro,
|
1914 |
+
ui-sans-serif,
|
1915 |
+
system-ui,
|
1916 |
+
-apple-system,
|
1917 |
+
BlinkMacSystemFont,
|
1918 |
+
Segoe UI,
|
1919 |
+
Roboto,
|
1920 |
+
Helvetica Neue,
|
1921 |
+
Arial,
|
1922 |
+
Noto Sans,
|
1923 |
+
sans-serif,
|
1924 |
+
"Apple Color Emoji",
|
1925 |
+
"Segoe UI Emoji",
|
1926 |
+
Segoe UI Symbol,
|
1927 |
+
"Noto Color Emoji";
|
1928 |
+
-moz-tab-size: 4;
|
1929 |
+
-o-tab-size: 4;
|
1930 |
+
tab-size: 4;
|
1931 |
+
}
|
1932 |
+
.cropper-container {
|
1933 |
+
position: relative;
|
1934 |
+
touch-action: none;
|
1935 |
+
font-size: 0;
|
1936 |
+
line-height: 0;
|
1937 |
+
direction: ltr;
|
1938 |
+
-webkit-user-select: none;
|
1939 |
+
-moz-user-select: none;
|
1940 |
+
user-select: none;
|
1941 |
+
}
|
1942 |
+
.cropper-container img {
|
1943 |
+
display: block;
|
1944 |
+
image-orientation: 0deg;
|
1945 |
+
width: 100%;
|
1946 |
+
min-width: 0 !important;
|
1947 |
+
max-width: none !important;
|
1948 |
+
height: 100%;
|
1949 |
+
min-height: 0 !important;
|
1950 |
+
max-height: none !important;
|
1951 |
+
}
|
1952 |
+
.cropper-wrap-box,
|
1953 |
+
.cropper-canvas,
|
1954 |
+
.cropper-drag-box,
|
1955 |
+
.cropper-crop-box,
|
1956 |
+
.cropper-modal {
|
1957 |
+
position: absolute;
|
1958 |
+
top: 0;
|
1959 |
+
right: 0;
|
1960 |
+
bottom: 0;
|
1961 |
+
left: 0;
|
1962 |
+
}
|
1963 |
+
.cropper-wrap-box,
|
1964 |
+
.cropper-canvas {
|
1965 |
+
overflow: hidden;
|
1966 |
+
}
|
1967 |
+
.cropper-drag-box {
|
1968 |
+
opacity: 0;
|
1969 |
+
background-color: #fff;
|
1970 |
+
}
|
1971 |
+
.cropper-modal {
|
1972 |
+
opacity: 0.5;
|
1973 |
+
background-color: #000;
|
1974 |
+
}
|
1975 |
+
.cropper-view-box {
|
1976 |
+
display: block;
|
1977 |
+
outline: 1px solid #39f;
|
1978 |
+
outline-color: #3399ffbf;
|
1979 |
+
width: 100%;
|
1980 |
+
height: 100%;
|
1981 |
+
overflow: hidden;
|
1982 |
+
}
|
1983 |
+
.cropper-dashed {
|
1984 |
+
display: block;
|
1985 |
+
position: absolute;
|
1986 |
+
opacity: 0.5;
|
1987 |
+
border: 0 dashed #eee;
|
1988 |
+
}
|
1989 |
+
.cropper-dashed.dashed-h {
|
1990 |
+
top: calc(100% / 3);
|
1991 |
+
left: 0;
|
1992 |
+
border-top-width: 1px;
|
1993 |
+
border-bottom-width: 1px;
|
1994 |
+
width: 100%;
|
1995 |
+
height: calc(100% / 3);
|
1996 |
+
}
|
1997 |
+
.cropper-dashed.dashed-v {
|
1998 |
+
top: 0;
|
1999 |
+
left: calc(100% / 3);
|
2000 |
+
border-right-width: 1px;
|
2001 |
+
border-left-width: 1px;
|
2002 |
+
width: calc(100% / 3);
|
2003 |
+
height: 100%;
|
2004 |
+
}
|
2005 |
+
.cropper-center {
|
2006 |
+
display: block;
|
2007 |
+
position: absolute;
|
2008 |
+
top: 50%;
|
2009 |
+
left: 50%;
|
2010 |
+
opacity: 0.75;
|
2011 |
+
width: 0;
|
2012 |
+
height: 0;
|
2013 |
+
}
|
2014 |
+
.cropper-center:before,
|
2015 |
+
.cropper-center:after {
|
2016 |
+
display: block;
|
2017 |
+
position: absolute;
|
2018 |
+
background-color: #eee;
|
2019 |
+
content: " ";
|
2020 |
+
}
|
2021 |
+
.cropper-center:before {
|
2022 |
+
top: 0;
|
2023 |
+
left: -3px;
|
2024 |
+
width: 7px;
|
2025 |
+
height: 1px;
|
2026 |
+
}
|
2027 |
+
.cropper-center:after {
|
2028 |
+
top: -3px;
|
2029 |
+
left: 0;
|
2030 |
+
width: 1px;
|
2031 |
+
height: 7px;
|
2032 |
+
}
|
2033 |
+
.cropper-face,
|
2034 |
+
.cropper-line,
|
2035 |
+
.cropper-point {
|
2036 |
+
display: block;
|
2037 |
+
position: absolute;
|
2038 |
+
opacity: 0.1;
|
2039 |
+
width: 100%;
|
2040 |
+
height: 100%;
|
2041 |
+
}
|
2042 |
+
.cropper-face {
|
2043 |
+
top: 0;
|
2044 |
+
left: 0;
|
2045 |
+
background-color: #fff;
|
2046 |
+
}
|
2047 |
+
.cropper-line {
|
2048 |
+
background-color: #39f;
|
2049 |
+
}
|
2050 |
+
.cropper-line.line-e {
|
2051 |
+
top: 0;
|
2052 |
+
right: -3px;
|
2053 |
+
cursor: ew-resize;
|
2054 |
+
width: 5px;
|
2055 |
+
}
|
2056 |
+
.cropper-line.line-n {
|
2057 |
+
top: -3px;
|
2058 |
+
left: 0;
|
2059 |
+
cursor: ns-resize;
|
2060 |
+
height: 5px;
|
2061 |
+
}
|
2062 |
+
.cropper-line.line-w {
|
2063 |
+
top: 0;
|
2064 |
+
left: -3px;
|
2065 |
+
cursor: ew-resize;
|
2066 |
+
width: 5px;
|
2067 |
+
}
|
2068 |
+
.cropper-line.line-s {
|
2069 |
+
bottom: -3px;
|
2070 |
+
left: 0;
|
2071 |
+
cursor: ns-resize;
|
2072 |
+
height: 5px;
|
2073 |
+
}
|
2074 |
+
.cropper-point {
|
2075 |
+
opacity: 0.75;
|
2076 |
+
background-color: #39f;
|
2077 |
+
width: 5px;
|
2078 |
+
height: 5px;
|
2079 |
+
}
|
2080 |
+
.cropper-point.point-e {
|
2081 |
+
top: 50%;
|
2082 |
+
right: -3px;
|
2083 |
+
cursor: ew-resize;
|
2084 |
+
margin-top: -3px;
|
2085 |
+
}
|
2086 |
+
.cropper-point.point-n {
|
2087 |
+
top: -3px;
|
2088 |
+
left: 50%;
|
2089 |
+
cursor: ns-resize;
|
2090 |
+
margin-left: -3px;
|
2091 |
+
}
|
2092 |
+
.cropper-point.point-w {
|
2093 |
+
top: 50%;
|
2094 |
+
left: -3px;
|
2095 |
+
cursor: ew-resize;
|
2096 |
+
margin-top: -3px;
|
2097 |
+
}
|
2098 |
+
.cropper-point.point-s {
|
2099 |
+
bottom: -3px;
|
2100 |
+
left: 50%;
|
2101 |
+
cursor: s-resize;
|
2102 |
+
margin-left: -3px;
|
2103 |
+
}
|
2104 |
+
.cropper-point.point-ne {
|
2105 |
+
top: -3px;
|
2106 |
+
right: -3px;
|
2107 |
+
cursor: nesw-resize;
|
2108 |
+
}
|
2109 |
+
.cropper-point.point-nw {
|
2110 |
+
top: -3px;
|
2111 |
+
left: -3px;
|
2112 |
+
cursor: nwse-resize;
|
2113 |
+
}
|
2114 |
+
.cropper-point.point-sw {
|
2115 |
+
bottom: -3px;
|
2116 |
+
left: -3px;
|
2117 |
+
cursor: nesw-resize;
|
2118 |
+
}
|
2119 |
+
.cropper-point.point-se {
|
2120 |
+
right: -3px;
|
2121 |
+
bottom: -3px;
|
2122 |
+
opacity: 1;
|
2123 |
+
cursor: nwse-resize;
|
2124 |
+
width: 20px;
|
2125 |
+
height: 20px;
|
2126 |
+
}
|
2127 |
+
@media (min-width: 768px) {
|
2128 |
+
.cropper-point.point-se {
|
2129 |
+
width: 15px;
|
2130 |
+
height: 15px;
|
2131 |
+
}
|
2132 |
+
}
|
2133 |
+
@media (min-width: 992px) {
|
2134 |
+
.cropper-point.point-se {
|
2135 |
+
width: 10px;
|
2136 |
+
height: 10px;
|
2137 |
+
}
|
2138 |
+
}
|
2139 |
+
@media (min-width: 1200px) {
|
2140 |
+
.cropper-point.point-se {
|
2141 |
+
opacity: 0.75;
|
2142 |
+
width: 5px;
|
2143 |
+
height: 5px;
|
2144 |
+
}
|
2145 |
+
}
|
2146 |
+
.cropper-point.point-se:before {
|
2147 |
+
display: block;
|
2148 |
+
position: absolute;
|
2149 |
+
right: -50%;
|
2150 |
+
bottom: -50%;
|
2151 |
+
opacity: 0;
|
2152 |
+
background-color: #39f;
|
2153 |
+
width: 200%;
|
2154 |
+
height: 200%;
|
2155 |
+
content: " ";
|
2156 |
+
}
|
2157 |
+
.cropper-invisible {
|
2158 |
+
opacity: 0;
|
2159 |
+
}
|
2160 |
+
.cropper-bg {
|
2161 |
+
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC);
|
2162 |
+
}
|
2163 |
+
.cropper-hide {
|
2164 |
+
display: block;
|
2165 |
+
position: absolute;
|
2166 |
+
width: 0;
|
2167 |
+
height: 0;
|
2168 |
+
}
|
2169 |
+
.cropper-hidden {
|
2170 |
+
display: none !important;
|
2171 |
+
}
|
2172 |
+
.cropper-move {
|
2173 |
+
cursor: move;
|
2174 |
+
}
|
2175 |
+
.cropper-crop {
|
2176 |
+
cursor: crosshair;
|
2177 |
+
}
|
2178 |
+
.cropper-disabled .cropper-drag-box,
|
2179 |
+
.cropper-disabled .cropper-face,
|
2180 |
+
.cropper-disabled .cropper-line,
|
2181 |
+
.cropper-disabled .cropper-point {
|
2182 |
+
cursor: not-allowed;
|
2183 |
+
}
|
2184 |
+
.after\:absolute:after {
|
2185 |
+
content: var(--tw-content);
|
2186 |
+
position: absolute;
|
2187 |
+
}
|
2188 |
+
.after\:left-\[2px\]:after {
|
2189 |
+
content: var(--tw-content);
|
2190 |
+
left: 2px;
|
2191 |
+
}
|
2192 |
+
.after\:top-0:after {
|
2193 |
+
content: var(--tw-content);
|
2194 |
+
top: 0px;
|
2195 |
+
}
|
2196 |
+
.after\:top-0\.5:after {
|
2197 |
+
content: var(--tw-content);
|
2198 |
+
top: 0.125rem;
|
2199 |
+
}
|
2200 |
+
.after\:h-5:after {
|
2201 |
+
content: var(--tw-content);
|
2202 |
+
height: 1.25rem;
|
2203 |
+
}
|
2204 |
+
.after\:w-5:after {
|
2205 |
+
content: var(--tw-content);
|
2206 |
+
width: 1.25rem;
|
2207 |
+
}
|
2208 |
+
.after\:rounded-full:after {
|
2209 |
+
content: var(--tw-content);
|
2210 |
+
border-radius: 9999px;
|
2211 |
+
}
|
2212 |
+
.after\:border:after {
|
2213 |
+
content: var(--tw-content);
|
2214 |
+
border-width: 1px;
|
2215 |
+
}
|
2216 |
+
.after\:border-gray-300:after {
|
2217 |
+
content: var(--tw-content);
|
2218 |
+
--tw-border-opacity: 1;
|
2219 |
+
border-color: rgb(209 213 219 / var(--tw-border-opacity));
|
2220 |
+
}
|
2221 |
+
.after\:bg-white:after {
|
2222 |
+
content: var(--tw-content);
|
2223 |
+
--tw-bg-opacity: 1;
|
2224 |
+
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
|
2225 |
+
}
|
2226 |
+
.after\:transition-all:after {
|
2227 |
+
content: var(--tw-content);
|
2228 |
+
transition-property: all;
|
2229 |
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
2230 |
+
transition-duration: 0.15s;
|
2231 |
+
}
|
2232 |
+
.after\:content-\[\'\'\]:after {
|
2233 |
+
--tw-content: "";
|
2234 |
+
content: var(--tw-content);
|
2235 |
+
}
|
2236 |
+
.hover\:bg-gray-200:hover {
|
2237 |
+
--tw-bg-opacity: 1;
|
2238 |
+
background-color: rgb(229 231 235 / var(--tw-bg-opacity));
|
2239 |
+
}
|
2240 |
+
.hover\:text-gray-600:hover {
|
2241 |
+
--tw-text-opacity: 1;
|
2242 |
+
color: rgb(75 85 99 / var(--tw-text-opacity));
|
2243 |
+
}
|
2244 |
+
.hover\:text-gray-900:hover {
|
2245 |
+
--tw-text-opacity: 1;
|
2246 |
+
color: rgb(17 24 39 / var(--tw-text-opacity));
|
2247 |
+
}
|
2248 |
+
.hover\:text-orange-600:hover {
|
2249 |
+
--tw-text-opacity: 1;
|
2250 |
+
color: rgb(234 88 12 / var(--tw-text-opacity));
|
2251 |
+
}
|
2252 |
+
.focus\:border-blue-500:focus {
|
2253 |
+
--tw-border-opacity: 1;
|
2254 |
+
border-color: rgb(59 130 246 / var(--tw-border-opacity));
|
2255 |
+
}
|
2256 |
+
.focus\:ring-blue-500:focus {
|
2257 |
+
--tw-ring-opacity: 1;
|
2258 |
+
--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity));
|
2259 |
+
}
|
2260 |
+
.peer:checked ~ .peer-checked\:bg-orange-400 {
|
2261 |
+
--tw-bg-opacity: 1;
|
2262 |
+
background-color: rgb(251 146 60 / var(--tw-bg-opacity));
|
2263 |
+
}
|
2264 |
+
.peer:checked ~ .peer-checked\:after\:translate-x-full:after {
|
2265 |
+
content: var(--tw-content);
|
2266 |
+
--tw-translate-x: 100%;
|
2267 |
+
transform: translate(var(--tw-translate-x), var(--tw-translate-y))
|
2268 |
+
rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y))
|
2269 |
+
scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
2270 |
+
}
|
2271 |
+
.peer:checked ~ .peer-checked\:after\:border-white:after {
|
2272 |
+
content: var(--tw-content);
|
2273 |
+
--tw-border-opacity: 1;
|
2274 |
+
border-color: rgb(255 255 255 / var(--tw-border-opacity));
|
2275 |
+
}
|
2276 |
+
.peer:focus ~ .peer-focus\:ring-4 {
|
2277 |
+
--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0
|
2278 |
+
var(--tw-ring-offset-width) var(--tw-ring-offset-color);
|
2279 |
+
--tw-ring-shadow: var(--tw-ring-inset) 0 0 0
|
2280 |
+
calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
|
2281 |
+
box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
|
2282 |
+
var(--tw-shadow, 0 0 #0000);
|
2283 |
+
}
|
2284 |
+
.peer:focus ~ .peer-focus\:ring-orange-300 {
|
2285 |
+
--tw-ring-opacity: 1;
|
2286 |
+
--tw-ring-color: rgb(253 186 116 / var(--tw-ring-opacity));
|
2287 |
+
}
|
2288 |
+
@media (prefers-color-scheme: dark) {
|
2289 |
+
.dark\:border-gray-600 {
|
2290 |
+
--tw-border-opacity: 1;
|
2291 |
+
border-color: rgb(75 85 99 / var(--tw-border-opacity));
|
2292 |
+
}
|
2293 |
+
.dark\:bg-gray-700 {
|
2294 |
+
--tw-bg-opacity: 1;
|
2295 |
+
background-color: rgb(55 65 81 / var(--tw-bg-opacity));
|
2296 |
+
}
|
2297 |
+
.dark\:bg-gray-800 {
|
2298 |
+
--tw-bg-opacity: 1;
|
2299 |
+
background-color: rgb(31 41 55 / var(--tw-bg-opacity));
|
2300 |
+
}
|
2301 |
+
.dark\:text-gray-400 {
|
2302 |
+
--tw-text-opacity: 1;
|
2303 |
+
color: rgb(156 163 175 / var(--tw-text-opacity));
|
2304 |
+
}
|
2305 |
+
.dark\:text-white {
|
2306 |
+
--tw-text-opacity: 1;
|
2307 |
+
color: rgb(255 255 255 / var(--tw-text-opacity));
|
2308 |
+
}
|
2309 |
+
.dark\:placeholder-gray-400::-moz-placeholder {
|
2310 |
+
--tw-placeholder-opacity: 1;
|
2311 |
+
color: rgb(156 163 175 / var(--tw-placeholder-opacity));
|
2312 |
+
}
|
2313 |
+
.dark\:placeholder-gray-400::placeholder {
|
2314 |
+
--tw-placeholder-opacity: 1;
|
2315 |
+
color: rgb(156 163 175 / var(--tw-placeholder-opacity));
|
2316 |
+
}
|
2317 |
+
.dark\:hover\:bg-gray-600:hover {
|
2318 |
+
--tw-bg-opacity: 1;
|
2319 |
+
background-color: rgb(75 85 99 / var(--tw-bg-opacity));
|
2320 |
+
}
|
2321 |
+
.dark\:hover\:text-white:hover {
|
2322 |
+
--tw-text-opacity: 1;
|
2323 |
+
color: rgb(255 255 255 / var(--tw-text-opacity));
|
2324 |
+
}
|
2325 |
+
.dark\:focus\:border-blue-500:focus {
|
2326 |
+
--tw-border-opacity: 1;
|
2327 |
+
border-color: rgb(59 130 246 / var(--tw-border-opacity));
|
2328 |
+
}
|
2329 |
+
.dark\:focus\:ring-blue-500:focus {
|
2330 |
+
--tw-ring-opacity: 1;
|
2331 |
+
--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity));
|
2332 |
+
}
|
2333 |
+
.peer:focus ~ .dark\:peer-focus\:ring-orange-800 {
|
2334 |
+
--tw-ring-opacity: 1;
|
2335 |
+
--tw-ring-color: rgb(154 52 18 / var(--tw-ring-opacity));
|
2336 |
+
}
|
2337 |
+
}
|
2338 |
+
.minh {
|
2339 |
+
height: 600px;
|
2340 |
+
}
|
2341 |
+
|
2342 |
+
.-top-1 {
|
2343 |
+
top: -0.25rem;
|
2344 |
+
}
|
2345 |
+
|
2346 |
+
.left-6 {
|
2347 |
+
left: 1.5rem;
|
2348 |
+
}
|
2349 |
+
|
2350 |
+
.h-4 {
|
2351 |
+
height: 1rem;
|
2352 |
+
}
|
2353 |
+
|
2354 |
+
.w-4 {
|
2355 |
+
width: 1rem;
|
2356 |
+
}
|
2357 |
+
|
2358 |
+
.w-max {
|
2359 |
+
width: max-content;
|
2360 |
+
}
|
2361 |
+
|
2362 |
+
.cursor-pointer {
|
2363 |
+
cursor: pointer;
|
2364 |
+
}
|
2365 |
+
|
2366 |
+
.rounded {
|
2367 |
+
border-radius: 0.25rem;
|
2368 |
+
}
|
2369 |
+
|
2370 |
+
.bg-gray-900 {
|
2371 |
+
--tw-bg-opacity: 1;
|
2372 |
+
background-color: rgb(17 24 39 / var(--tw-bg-opacity));
|
2373 |
+
}
|
2374 |
+
|
2375 |
+
.fill-current {
|
2376 |
+
fill: currentColor;
|
2377 |
+
}
|
2378 |
+
|
2379 |
+
.p-10 {
|
2380 |
+
padding: 2.5rem;
|
2381 |
+
}
|
2382 |
+
|
2383 |
+
.px-2 {
|
2384 |
+
padding-left: 0.5rem;
|
2385 |
+
padding-right: 0.5rem;
|
2386 |
+
}
|
2387 |
+
|
2388 |
+
.py-1 {
|
2389 |
+
padding-top: 0.25rem;
|
2390 |
+
padding-bottom: 0.25rem;
|
2391 |
+
}
|
2392 |
+
|
2393 |
+
.text-sm {
|
2394 |
+
font-size: 0.875rem;
|
2395 |
+
line-height: 1.25rem;
|
2396 |
+
}
|
2397 |
+
|
2398 |
+
.font-medium {
|
2399 |
+
font-weight: 500;
|
2400 |
+
}
|
2401 |
+
|
2402 |
+
.text-gray-50 {
|
2403 |
+
--tw-text-opacity: 1;
|
2404 |
+
color: rgb(249 250 251 / var(--tw-text-opacity));
|
2405 |
+
}
|
2406 |
+
|
2407 |
+
.text-gray-500 {
|
2408 |
+
--tw-text-opacity: 1;
|
2409 |
+
color: rgb(107 114 128 / var(--tw-text-opacity));
|
2410 |
+
}
|
2411 |
+
|
2412 |
+
.opacity-0 {
|
2413 |
+
opacity: 0;
|
2414 |
+
}
|
2415 |
+
|
2416 |
+
.opacity-100 {
|
2417 |
+
opacity: 1;
|
2418 |
+
}
|
2419 |
+
|
2420 |
+
.shadow {
|
2421 |
+
--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
|
2422 |
+
--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color),
|
2423 |
+
0 1px 2px -1px var(--tw-shadow-color);
|
2424 |
+
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),
|
2425 |
+
var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
2426 |
+
}
|
2427 |
+
|
2428 |
+
.transition-opacity {
|
2429 |
+
transition-property: opacity;
|
2430 |
+
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
|
2431 |
+
transition-duration: 150ms;
|
2432 |
+
}
|
2433 |
+
|
2434 |
+
.hover\:text-orange-600:hover {
|
2435 |
+
--tw-text-opacity: 1;
|
2436 |
+
color: rgb(234 88 12 / var(--tw-text-opacity));
|
2437 |
+
}
|
2438 |
+
</style>
|
gradio_molecule3d/frontend/shared/loading_spinner.svelte
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!-- By Sam Herbert (@sherb), for everyone. More @ http://goo.gl/7AJzbL -->
|
2 |
+
<svg
|
3 |
+
width="20"
|
4 |
+
height="20 "
|
5 |
+
viewBox="0 0 38 38"
|
6 |
+
xmlns="http://www.w3.org/2000/svg"
|
7 |
+
>
|
8 |
+
<defs>
|
9 |
+
<linearGradient x1="8.042%" y1="0%" x2="65.682%" y2="23.865%" id="a">
|
10 |
+
<stop stop-color="#FF7C00" stop-opacity="0" offset="0%" />
|
11 |
+
<stop stop-color="#FF7C00" stop-opacity=".631" offset="63.146%" />
|
12 |
+
<stop stop-color="#FF7C00" offset="100%" />
|
13 |
+
</linearGradient>
|
14 |
+
</defs>
|
15 |
+
<g fill="none" fill-rule="evenodd">
|
16 |
+
<g transform="translate(1 1)">
|
17 |
+
<path
|
18 |
+
d="M36 18c0-9.94-8.06-18-18-18"
|
19 |
+
id="Oval-2"
|
20 |
+
stroke="url(#a)"
|
21 |
+
stroke-width="2"
|
22 |
+
>
|
23 |
+
<animateTransform
|
24 |
+
attributeName="transform"
|
25 |
+
type="rotate"
|
26 |
+
from="0 18 18"
|
27 |
+
to="360 18 18"
|
28 |
+
dur="0.9s"
|
29 |
+
repeatCount="indefinite"
|
30 |
+
/>
|
31 |
+
</path>
|
32 |
+
<circle fill="#FFf" cx="36" cy="18" r="1">
|
33 |
+
<animateTransform
|
34 |
+
attributeName="transform"
|
35 |
+
type="rotate"
|
36 |
+
from="0 18 18"
|
37 |
+
to="360 18 18"
|
38 |
+
dur="0.9s"
|
39 |
+
repeatCount="indefinite"
|
40 |
+
/>
|
41 |
+
</circle>
|
42 |
+
</g>
|
43 |
+
</g>
|
44 |
+
</svg>
|
gradio_molecule3d/frontend/shared/utils.ts
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import type { FileData } from "@gradio/client";
|
2 |
+
|
3 |
+
export const prettyBytes = (bytes: number): string => {
|
4 |
+
let units = ["B", "KB", "MB", "GB", "PB"];
|
5 |
+
let i = 0;
|
6 |
+
while (bytes > 1024) {
|
7 |
+
bytes /= 1024;
|
8 |
+
i++;
|
9 |
+
}
|
10 |
+
let unit = units[i];
|
11 |
+
return bytes.toFixed(1) + " " + unit;
|
12 |
+
};
|
gradio_molecule3d/frontend/style.css
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
@import "tailwindcss";
|
gradio_molecule3d/package.json
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"devDependencies": {
|
3 |
+
"@gradio/preview": "^0.13.0"
|
4 |
+
}
|
5 |
+
}
|
gradio_molecule3d/pyproject.toml
ADDED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
[build-system]
|
2 |
+
requires = [
|
3 |
+
"hatchling",
|
4 |
+
"hatch-requirements-txt",
|
5 |
+
"hatch-fancy-pypi-readme>=22.5.0",
|
6 |
+
]
|
7 |
+
build-backend = "hatchling.build"
|
8 |
+
|
9 |
+
[project]
|
10 |
+
name = "gradio_molecule3d"
|
11 |
+
version = "0.0.7"
|
12 |
+
description = "Python library for easily interacting with trained machine learning models"
|
13 |
+
readme = "README.md"
|
14 |
+
license = "Apache-2.0"
|
15 |
+
requires-python = ">=3.8"
|
16 |
+
authors = [{ name = "YOUR NAME", email = "[email protected]" }]
|
17 |
+
keywords = [
|
18 |
+
"machine learning",
|
19 |
+
"reproducibility",
|
20 |
+
"visualization",
|
21 |
+
"gradio",
|
22 |
+
"gradio custom component",
|
23 |
+
"gradio-template-File",
|
24 |
+
"protein"
|
25 |
+
]
|
26 |
+
# Add dependencies here
|
27 |
+
dependencies = ["gradio>=4.0,<6.0"]
|
28 |
+
classifiers = [
|
29 |
+
'Development Status :: 3 - Alpha',
|
30 |
+
'Operating System :: OS Independent',
|
31 |
+
'Programming Language :: Python :: 3',
|
32 |
+
'Programming Language :: Python :: 3 :: Only',
|
33 |
+
'Programming Language :: Python :: 3.8',
|
34 |
+
'Programming Language :: Python :: 3.9',
|
35 |
+
'Programming Language :: Python :: 3.10',
|
36 |
+
'Programming Language :: Python :: 3.11',
|
37 |
+
'Topic :: Scientific/Engineering',
|
38 |
+
'Topic :: Scientific/Engineering :: Artificial Intelligence',
|
39 |
+
'Topic :: Scientific/Engineering :: Visualization',
|
40 |
+
]
|
41 |
+
|
42 |
+
|
43 |
+
[project.optional-dependencies]
|
44 |
+
dev = ["build", "twine"]
|
45 |
+
|
46 |
+
[tool.hatch.build]
|
47 |
+
artifacts = ["/backend/gradio_molecule3d/templates", "*.pyi", "/Users/zulissi/micromamba/envs/gradio/lib/python3.12/site-packages/gradio_molecule3d/templates", "/private/home/zulissi/conda_envs/fairchem_020625/lib/python3.12/site-packages/gradio_molecule3d/templates"]
|
48 |
+
|
49 |
+
[tool.hatch.build.targets.wheel]
|
50 |
+
packages = ["/backend/gradio_molecule3d"]
|
hf_calculator.py
ADDED
@@ -0,0 +1,121 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"""
|
2 |
+
Copyright (c) Meta Platforms, Inc. and affiliates.
|
3 |
+
|
4 |
+
This source code is licensed under the MIT license found in the
|
5 |
+
LICENSE file in the root directory of this source tree.
|
6 |
+
"""
|
7 |
+
|
8 |
+
import hashlib
|
9 |
+
import json
|
10 |
+
import os
|
11 |
+
from pathlib import Path
|
12 |
+
|
13 |
+
import ase
|
14 |
+
import gradio as gr
|
15 |
+
import huggingface_hub as hf_hub
|
16 |
+
from ase.calculators.calculator import Calculator
|
17 |
+
from ase.db.core import now
|
18 |
+
from ase.db.row import AtomsRow
|
19 |
+
from ase.io.jsonio import decode, encode
|
20 |
+
|
21 |
+
|
22 |
+
def hash_save_file(atoms: ase.Atoms, task_name, path: Path | str):
|
23 |
+
atoms = atoms.copy()
|
24 |
+
atoms.info["task_name"] = task_name
|
25 |
+
atoms.write(
|
26 |
+
Path(path)
|
27 |
+
/ f"{hashlib.md5(atoms_to_json(atoms).encode('utf-8')).hexdigest()}.traj"
|
28 |
+
)
|
29 |
+
return
|
30 |
+
|
31 |
+
|
32 |
+
class HFEndpointCalculator(Calculator):
|
33 |
+
|
34 |
+
# A simple calculator that uses the Hugging Face Inference Endpoints to run
|
35 |
+
|
36 |
+
implemented_properties = ["energy", "free_energy", "stress", "forces"]
|
37 |
+
|
38 |
+
def __init__(
|
39 |
+
self,
|
40 |
+
atoms,
|
41 |
+
endpoint_url,
|
42 |
+
oauth_token,
|
43 |
+
task_name,
|
44 |
+
example=False,
|
45 |
+
*args,
|
46 |
+
**kwargs,
|
47 |
+
):
|
48 |
+
# If we have an example structure, we don't need to check for authentication
|
49 |
+
# Otherwise, we need to check if the user is authenticated and has gated access to the UMA models
|
50 |
+
if not example:
|
51 |
+
try:
|
52 |
+
hf_hub.HfApi().auth_check(
|
53 |
+
repo_id="facebook/OMAT24", token=oauth_token.token
|
54 |
+
)
|
55 |
+
hash_save_file(atoms, task_name, "/data/custom_inputs/")
|
56 |
+
except (hf_hub.errors.HfHubHTTPError, AttributeError):
|
57 |
+
raise gr.Error(
|
58 |
+
"You need to log in to HF and have gated model access to UMA before running your own simulations!"
|
59 |
+
)
|
60 |
+
|
61 |
+
self.client = hf_hub.InferenceClient(
|
62 |
+
model=endpoint_url, token=os.environ["HF_TOKEN"]
|
63 |
+
)
|
64 |
+
self.atoms = atoms
|
65 |
+
self.task_name = task_name
|
66 |
+
|
67 |
+
super().__init__(*args, **kwargs)
|
68 |
+
|
69 |
+
def calculate(self, atoms, properties, system_changes):
|
70 |
+
Calculator.calculate(self, atoms, properties, system_changes)
|
71 |
+
|
72 |
+
task_name = self.task_name.lower()
|
73 |
+
if task_name == "omc":
|
74 |
+
task_name = "osc"
|
75 |
+
|
76 |
+
# Run inference via a post request to the endpoint
|
77 |
+
try:
|
78 |
+
response = self.client.post(
|
79 |
+
json={
|
80 |
+
"inputs": atoms_to_json(atoms, data=atoms.info),
|
81 |
+
"properties": properties,
|
82 |
+
"system_changes": system_changes,
|
83 |
+
"task_name": task_name,
|
84 |
+
}
|
85 |
+
)
|
86 |
+
except hf_hub.errors.BadRequestError:
|
87 |
+
hash_save_file(atoms, task_name, "/data/custom_inputs/errors/")
|
88 |
+
raise gr.Error(
|
89 |
+
"Backend failure during your calculation; if you have continued issues please file an issue in the main FAIR chemistry repo (https://github.com/facebookresearch/fairchem)."
|
90 |
+
)
|
91 |
+
|
92 |
+
# Load the response and store the results in the calc and atoms object
|
93 |
+
response_dict = decode(json.loads(response))
|
94 |
+
self.results = response_dict["results"]
|
95 |
+
atoms.info = response_dict["info"]
|
96 |
+
|
97 |
+
|
98 |
+
def atoms_to_json(atoms, data=None):
|
99 |
+
# Similar to ase.db.jsondb
|
100 |
+
|
101 |
+
mtime = now()
|
102 |
+
|
103 |
+
row = AtomsRow(atoms)
|
104 |
+
row.ctime = mtime
|
105 |
+
|
106 |
+
dct = {}
|
107 |
+
for key in row.__dict__:
|
108 |
+
if key[0] == "_" or key in row._keys or key == "id":
|
109 |
+
continue
|
110 |
+
dct[key] = row[key]
|
111 |
+
|
112 |
+
dct["mtime"] = mtime
|
113 |
+
|
114 |
+
if data:
|
115 |
+
dct["data"] = data
|
116 |
+
|
117 |
+
constraints = row.get("constraints")
|
118 |
+
if constraints:
|
119 |
+
dct["constraints"] = constraints
|
120 |
+
|
121 |
+
return encode(dct)
|
requirements.txt
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
gradio
|
2 |
+
numpy
|
3 |
+
ase
|
4 |
+
|
5 |
+
# Pinned since huggingface_hub>=0.31 does not support custom inference endpoint posts
|
6 |
+
huggingface_hub<0.31
|
simulation_scripts.py
ADDED
@@ -0,0 +1,345 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
"""
|
2 |
+
Copyright (c) Meta Platforms, Inc. and affiliates.
|
3 |
+
|
4 |
+
This source code is licensed under the MIT license found in the
|
5 |
+
LICENSE file in the root directory of this source tree.
|
6 |
+
"""
|
7 |
+
|
8 |
+
import glob
|
9 |
+
import hashlib
|
10 |
+
import os
|
11 |
+
import tempfile
|
12 |
+
|
13 |
+
import ase
|
14 |
+
import ase.io
|
15 |
+
import gradio as gr
|
16 |
+
import numpy as np
|
17 |
+
from ase import units
|
18 |
+
from ase.filters import FrechetCellFilter
|
19 |
+
from ase.io.trajectory import Trajectory
|
20 |
+
from ase.md import MDLogger
|
21 |
+
from ase.md.nose_hoover_chain import NoseHooverChainNVT
|
22 |
+
from ase.md.velocitydistribution import MaxwellBoltzmannDistribution
|
23 |
+
from ase.md.verlet import VelocityVerlet
|
24 |
+
from ase.optimize import LBFGS
|
25 |
+
|
26 |
+
from hf_calculator import HFEndpointCalculator
|
27 |
+
|
28 |
+
|
29 |
+
def hash_file(file_path):
|
30 |
+
"""Generate MD5 hash for a file."""
|
31 |
+
hasher = hashlib.md5()
|
32 |
+
with open(file_path, "rb") as f:
|
33 |
+
data = f.read()
|
34 |
+
hasher.update(data)
|
35 |
+
return hasher.hexdigest()
|
36 |
+
|
37 |
+
|
38 |
+
EXAMPLE_FILE_HASHES = set(
|
39 |
+
[hash_file(file_path) for file_path in glob.glob("examples/*")]
|
40 |
+
)
|
41 |
+
MAX_ATOMS = os.environ.get("MAX_ATOMS", 2000)
|
42 |
+
INFERENCE_ENDPOINT_URL = os.environ["INFERENCE_ENDPOINT_URL"]
|
43 |
+
|
44 |
+
|
45 |
+
def load_check_ase_atoms(structure_file):
|
46 |
+
# Validate and write the uploaded file content
|
47 |
+
if not structure_file:
|
48 |
+
raise gr.Error("You need an input structure file to run a simulation!")
|
49 |
+
|
50 |
+
try:
|
51 |
+
atoms = ase.io.read(structure_file)
|
52 |
+
|
53 |
+
if not (all(atoms.pbc) or np.all(~np.array(atoms.pbc))):
|
54 |
+
raise gr.Error(
|
55 |
+
"Mixed PBC are not supported yet - please set PBC all True or False in your structure before uploading"
|
56 |
+
)
|
57 |
+
|
58 |
+
if len(atoms) == 0:
|
59 |
+
raise gr.Error("Error: Structure file contains no atoms.")
|
60 |
+
|
61 |
+
if len(atoms) > MAX_ATOMS:
|
62 |
+
raise gr.Error(
|
63 |
+
f"Error: Structure file contains {len(atoms)}, which is more than {MAX_ATOMS} atoms. Please use a smaller structure for this demo, or run this on a local machine!"
|
64 |
+
)
|
65 |
+
|
66 |
+
atoms.positions -= atoms.get_center_of_mass()
|
67 |
+
cell_center = atoms.get_cell().sum(axis=0) / 2
|
68 |
+
atoms.positions += cell_center
|
69 |
+
|
70 |
+
return atoms
|
71 |
+
except Exception as e:
|
72 |
+
raise gr.Error(f"Error loading structure with ASE: {str(e)}")
|
73 |
+
|
74 |
+
|
75 |
+
def run_md_simulation(
|
76 |
+
structure_file,
|
77 |
+
num_steps,
|
78 |
+
num_prerelax_steps,
|
79 |
+
md_timestep,
|
80 |
+
temperature_k,
|
81 |
+
md_ensemble,
|
82 |
+
task_name,
|
83 |
+
total_charge,
|
84 |
+
spin_multiplicity,
|
85 |
+
explanation: str | None = None,
|
86 |
+
oauth_token: gr.OAuthToken | None = None,
|
87 |
+
progress=gr.Progress(),
|
88 |
+
):
|
89 |
+
temp_path = None
|
90 |
+
traj_path = None
|
91 |
+
md_log_path = None
|
92 |
+
atoms = None
|
93 |
+
|
94 |
+
if task_name != "OMol":
|
95 |
+
total_charge = 0
|
96 |
+
spin_multiplicity = 0
|
97 |
+
|
98 |
+
try:
|
99 |
+
|
100 |
+
atoms = load_check_ase_atoms(structure_file)
|
101 |
+
|
102 |
+
# Check if the file is an example
|
103 |
+
example = hash_file(structure_file) in EXAMPLE_FILE_HASHES
|
104 |
+
|
105 |
+
atoms.info["charge"] = total_charge
|
106 |
+
atoms.info["spin"] = spin_multiplicity
|
107 |
+
|
108 |
+
atoms.calc = HFEndpointCalculator(
|
109 |
+
atoms,
|
110 |
+
endpoint_url=INFERENCE_ENDPOINT_URL,
|
111 |
+
oauth_token=oauth_token,
|
112 |
+
example=example,
|
113 |
+
task_name=task_name,
|
114 |
+
)
|
115 |
+
|
116 |
+
# Attach a progress callback to track in gradio
|
117 |
+
interval = 1
|
118 |
+
steps = [0]
|
119 |
+
expected_steps = num_steps + num_prerelax_steps
|
120 |
+
|
121 |
+
def update_progress():
|
122 |
+
steps[-1] += interval
|
123 |
+
progress(steps[-1] / expected_steps)
|
124 |
+
|
125 |
+
with tempfile.NamedTemporaryFile(suffix=".traj", delete=False) as traj_f:
|
126 |
+
traj_path = traj_f.name
|
127 |
+
with tempfile.NamedTemporaryFile(suffix=".log", delete=False) as log_f:
|
128 |
+
md_log_path = log_f.name
|
129 |
+
|
130 |
+
# Do a quick pre-relaxation to make sure the system is stable before starting
|
131 |
+
opt = LBFGS(atoms, logfile=md_log_path, trajectory=traj_path)
|
132 |
+
opt.attach(update_progress, interval=interval)
|
133 |
+
opt.run(fmax=0.05, steps=num_prerelax_steps)
|
134 |
+
|
135 |
+
# Initialize the velocity distribution. Since we did a relaxation, half of this
|
136 |
+
# will partition to the potential energy right away, so we double the temperature
|
137 |
+
MaxwellBoltzmannDistribution(atoms, temperature_K=temperature_k * 2)
|
138 |
+
|
139 |
+
# Initialize the MD integrator
|
140 |
+
if md_ensemble == "NVE":
|
141 |
+
dyn = VelocityVerlet(atoms, timestep=md_timestep * units.fs)
|
142 |
+
elif md_ensemble == "NVT":
|
143 |
+
dyn = NoseHooverChainNVT(
|
144 |
+
atoms,
|
145 |
+
timestep=md_timestep * units.fs,
|
146 |
+
temperature_K=temperature_k,
|
147 |
+
tdamp=10 * md_timestep * units.fs,
|
148 |
+
)
|
149 |
+
traj = Trajectory(traj_path, "a", atoms)
|
150 |
+
dyn.attach(traj.write, interval=1)
|
151 |
+
dyn.attach(update_progress, interval=interval)
|
152 |
+
dyn.attach(
|
153 |
+
MDLogger(
|
154 |
+
dyn,
|
155 |
+
atoms,
|
156 |
+
md_log_path,
|
157 |
+
header=True,
|
158 |
+
stress=False,
|
159 |
+
peratom=True,
|
160 |
+
mode="a",
|
161 |
+
),
|
162 |
+
interval=10,
|
163 |
+
)
|
164 |
+
|
165 |
+
# Run the simulation!
|
166 |
+
dyn.run(num_steps)
|
167 |
+
|
168 |
+
reproduction_script = f"""
|
169 |
+
import ase.io
|
170 |
+
from ase.md.velocitydistribution import MaxwellBoltzmannDistribution
|
171 |
+
from ase.md.verlet import VelocityVerlet
|
172 |
+
from ase.optimize import LBFGS
|
173 |
+
from ase.io.trajectory import Trajectory
|
174 |
+
from ase.md import MDLogger
|
175 |
+
from ase import units
|
176 |
+
from fairchem.core.common.calculator import FAIRChemCalculator
|
177 |
+
|
178 |
+
# Read the atoms object from ASE read-able file
|
179 |
+
atoms = ase.io.read('input_file.traj')
|
180 |
+
|
181 |
+
# Set the total charge and spin multiplicity if using the OMol task
|
182 |
+
atoms.info["charge"] = {total_charge}
|
183 |
+
atoms.info["spin"] = {spin_multiplicity}
|
184 |
+
|
185 |
+
# Set up the calculator
|
186 |
+
atoms.calc = FAIRChemCalculator(name='UMA-SM-Final', hf_hub_repo_id='facebook/UMA', hf_hub_filename = 'UMA-SM-Final', task_name='{task_name}')
|
187 |
+
|
188 |
+
# Do a quick pre-relaxation to make sure the system is stable
|
189 |
+
opt = LBFGS(atoms, trajectory="relaxation_output.traj")
|
190 |
+
opt.run(fmax=0.05, steps={num_prerelax_steps})
|
191 |
+
|
192 |
+
# Initialize the velocity distribution; we set twice the temperature since we did a relaxation and
|
193 |
+
# much of the kinetic energy will partition to the potential energy right away
|
194 |
+
MaxwellBoltzmannDistribution(atoms, temperature_K={temperature_k}*2)
|
195 |
+
|
196 |
+
# Initialize the integrator; NVE is shown here as an example, see https://wiki.fysik.dtu.dk/ase/ase/md.html for all options
|
197 |
+
dyn = VelocityVerlet(atoms, timestep={md_timestep} * units.fs)
|
198 |
+
|
199 |
+
# Set up trajectory and MD logger
|
200 |
+
dyn.attach(MDLogger(dyn, atoms, 'md.log', header=True, stress=False, peratom=True, mode="w"), interval=10)
|
201 |
+
traj = Trajectory("md_output.traj"', "w", atoms)
|
202 |
+
dyn.attach(traj.write, interval=1)
|
203 |
+
|
204 |
+
# Run the simulation!
|
205 |
+
dyn.run({num_steps})
|
206 |
+
"""
|
207 |
+
|
208 |
+
with open(md_log_path, "r") as md_log_file:
|
209 |
+
md_log = md_log_file.read()
|
210 |
+
|
211 |
+
if explanation is None:
|
212 |
+
explanation = f"MD simulation of {len(atoms)} atoms for {num_steps} steps with a timestep of {md_timestep} fs at {temperature_k} K in the {md_ensemble} ensemble using the {task_name} UMA task. You submitted this simulation, so I hope you know what's you're looking for or what it means!"
|
213 |
+
|
214 |
+
return traj_path, md_log, reproduction_script, explanation
|
215 |
+
except Exception as e:
|
216 |
+
raise gr.Error(
|
217 |
+
f"Error running MD simulation: {str(e)}. Please try again or report this error."
|
218 |
+
)
|
219 |
+
finally:
|
220 |
+
if temp_path and os.path.exists(temp_path):
|
221 |
+
os.remove(temp_path)
|
222 |
+
|
223 |
+
if md_log_path and os.path.exists(md_log_path):
|
224 |
+
os.remove(md_log_path)
|
225 |
+
|
226 |
+
if atoms is not None and getattr(atoms, "calc", None) is not None:
|
227 |
+
calc = atoms.calc
|
228 |
+
atoms.calc = None
|
229 |
+
del calc
|
230 |
+
|
231 |
+
|
232 |
+
def run_relaxation_simulation(
|
233 |
+
structure_file,
|
234 |
+
num_steps,
|
235 |
+
fmax,
|
236 |
+
task_name,
|
237 |
+
total_charge: float,
|
238 |
+
spin_multiplicity: float,
|
239 |
+
relax_unit_cell,
|
240 |
+
explanation: str | None = None,
|
241 |
+
oauth_token: gr.OAuthToken | None = None,
|
242 |
+
progress=gr.Progress(),
|
243 |
+
):
|
244 |
+
temp_path = None
|
245 |
+
traj_path = None
|
246 |
+
opt_log_path = None
|
247 |
+
atoms = None
|
248 |
+
|
249 |
+
if task_name != "OMol":
|
250 |
+
total_charge = 0
|
251 |
+
spin_multiplicity = 0
|
252 |
+
|
253 |
+
try:
|
254 |
+
atoms = load_check_ase_atoms(structure_file)
|
255 |
+
|
256 |
+
# Check if the file is an example
|
257 |
+
example = hash_file(structure_file) in EXAMPLE_FILE_HASHES
|
258 |
+
|
259 |
+
# Center things for consistency in visualization
|
260 |
+
atoms.positions -= atoms.get_center_of_mass()
|
261 |
+
cell_center = atoms.get_cell().sum(axis=0) / 2
|
262 |
+
atoms.positions += cell_center
|
263 |
+
|
264 |
+
atoms.info["charge"] = total_charge
|
265 |
+
atoms.info["spin"] = spin_multiplicity
|
266 |
+
|
267 |
+
atoms.calc = HFEndpointCalculator(
|
268 |
+
atoms,
|
269 |
+
endpoint_url=INFERENCE_ENDPOINT_URL,
|
270 |
+
oauth_token=oauth_token,
|
271 |
+
example=example,
|
272 |
+
task_name=task_name,
|
273 |
+
)
|
274 |
+
|
275 |
+
# Set up a trajectory file to keep the results
|
276 |
+
with tempfile.NamedTemporaryFile(suffix=".traj", delete=False) as traj_f:
|
277 |
+
traj_path = traj_f.name
|
278 |
+
with tempfile.NamedTemporaryFile(suffix=".log", delete=False) as log_f:
|
279 |
+
opt_log_path = log_f.name
|
280 |
+
|
281 |
+
optimizer = LBFGS(
|
282 |
+
FrechetCellFilter(atoms) if relax_unit_cell else atoms,
|
283 |
+
trajectory=traj_path,
|
284 |
+
logfile=opt_log_path,
|
285 |
+
)
|
286 |
+
|
287 |
+
# Attach a progress callback to track in gradio
|
288 |
+
interval = 1
|
289 |
+
steps = [0]
|
290 |
+
|
291 |
+
def update_progress(steps):
|
292 |
+
steps[-1] += interval
|
293 |
+
progress(steps[-1] / num_steps)
|
294 |
+
|
295 |
+
optimizer.attach(update_progress, interval=interval, steps=steps)
|
296 |
+
|
297 |
+
optimizer.run(fmax=fmax, steps=num_steps)
|
298 |
+
|
299 |
+
reproduction_script = f"""
|
300 |
+
import ase.io
|
301 |
+
from ase.optimize import LBFGS
|
302 |
+
from ase.filters import FrechetCellFilter
|
303 |
+
from fairchem.core.common.calcaulator import FAIRChemCalculator
|
304 |
+
|
305 |
+
# Read the atoms object from ASE read-able file
|
306 |
+
atoms = ase.io.read('input_file.traj')
|
307 |
+
|
308 |
+
# Set the total charge and spin multiplicity if using the OMol task
|
309 |
+
atoms.info["charge"] = {total_charge}
|
310 |
+
atoms.info["spin"] = {spin_multiplicity}
|
311 |
+
|
312 |
+
# Set up the calculator
|
313 |
+
atoms.calc = FAIRChemCalculator(name='UMA-SM-Final', hf_hub_repo_id='facebook/UMA', hf_hub_filename = 'UMA-SM-Final', task_name='{task_name}')
|
314 |
+
|
315 |
+
# Initialize the optimizer from ASE
|
316 |
+
relax_unit_cell = {relax_unit_cell}
|
317 |
+
optimizer = LBFGS(FrechetCellFilter(atoms) if relax_unit_cell else atoms, trajectory="relaxation_output.traj")
|
318 |
+
|
319 |
+
# Run the simulation!
|
320 |
+
dyn.run({num_steps}, fmax={fmax})
|
321 |
+
"""
|
322 |
+
|
323 |
+
with open(opt_log_path, "r") as opt_log_file:
|
324 |
+
opt_log = opt_log_file.read()
|
325 |
+
|
326 |
+
if explanation is None:
|
327 |
+
explanation = f"Relaxation of {len(atoms)} atoms for {num_steps} steps with a force tolerance of {fmax} eV/Å using the {task_name} UMA task. You submitted this simulation, so I hope you know what's you're looking for or what it means!"
|
328 |
+
return traj_path, opt_log, reproduction_script, explanation
|
329 |
+
except Exception as e:
|
330 |
+
raise gr.Error(
|
331 |
+
f"Error running relaxation: {str(e)}. Please try again or report this error."
|
332 |
+
)
|
333 |
+
# Make sure we clean up the temp traj files
|
334 |
+
finally:
|
335 |
+
if temp_path and os.path.exists(temp_path):
|
336 |
+
os.remove(temp_path)
|
337 |
+
# if traj_path and os.path.exists(traj_path):
|
338 |
+
# os.remove(traj_path)
|
339 |
+
if opt_log_path and os.path.exists(opt_log_path):
|
340 |
+
os.remove(opt_log_path)
|
341 |
+
|
342 |
+
if atoms is not None and getattr(atoms, "calc", None) is not None:
|
343 |
+
calc = atoms.calc
|
344 |
+
atoms.calc = None
|
345 |
+
del calc
|