Giter Club home page Giter Club logo

chemcloud-client's People

Contributors

coltonbh avatar contextualist avatar jevandezande avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

chemcloud-client's Issues

[FEATURE] Rethink _RequestClient public compute() and results() method

When I need to change an http method I currently have to change it in two places--the _RequestsClient and the TCClient where the truly public method lives that end users call. This two-layer deep nesting of methods is probably a bad idea. Maybe .request() and .authenticated_request() should be the public methods with all serialization to python objects happening in the TCClient alone.

See my notes in /docs re: this architectural choice before. Probably good to retire the previous thinking in favor or this.

[FEATURE] Write Documentation

Write basic documentation including:

  • Basic operations that can be performed on major object types
    • Molecule (how to instantiate one, write one to disk, read one from disk, read one from .xyz file, etc...)
    • AtomicInput (how to instantiate one (using objects or dictionaries). How to save one to disk
    • AtomicResult (how to save one to disk)
    • FutureResult (or whatever I call it); (how to save task_ids to disk and come back to check in on them later)
  • Keyword documentation
    • Major keywords and what they do. Can do this on a per QC package basis
  • Examples documentation
    • Show how to do basic computations with TeraChem cloud
    • Energy
    • Gradient
    • tcpb stuff Stefan previous had
  • Usage of the client object.

pydantic validation error if input is a list of 1

The following code


from chemcloud import CCClient

water = Structure(
    symbols=["O", "H", "H"],
    geometry=[
        [0.0000, 0.00000, 0.0000],
        [0.2774, 0.89290, 0.2544],
        [0.6067, -0.23830, -0.7169],
    ],
)

client = CCClient()

prog_inp = ProgramInput(
    structure=water,
    model={"method": "b3lyp", "basis": "6-31g"},
    calctype="energy",  # Or "gradient" or "hessian"
    keywords={},
)
future_result = client.compute("terachem", [prog_inp], collect_files=True)
prog_output: ProgramOutput = future_result.get()
# ProgramOutput object containing all returned data
print(prog_output.stdout)
print(prog_output)
# The energy value requested

if prog_output.success:
    print(prog_output.results.energy)
    print(prog_output.results.files.keys())
else:
    print(prog_output.traceback)```

gives the following traceback:

```ValidationError                           Traceback (most recent call last)
Cell In[7], line 23
     16 prog_inp = ProgramInput(
     17     structure=water,
     18     model={"method": "b3lyp", "basis": "6-31g"},
     19     calctype="energy",  # Or "gradient" or "hessian"
     20     keywords={},
     21 )
     22 future_result = client.compute("terachem", [prog_inp], collect_files=True)
---> 23 prog_output: ProgramOutput = future_result.get()
     24 # ProgramOutput object containing all returned data
     25 print(prog_output.stdout)

File [~/.cache/pypoetry/virtualenvs/neb-dynamics-G7__rX26-py3.9/lib/python3.9/site-packages/chemcloud/models.py:85](http://localhost:8080/home/jdep/.cache/pypoetry/virtualenvs/neb-dynamics-G7__rX26-py3.9/lib/python3.9/site-packages/chemcloud/models.py#line=84), in FutureOutputBase.get(self, timeout, interval)
     77 # self._state check prevents 401 errors from ChemCloud when the job completed
     78 # but the server failed to return a result (e.g., due to .program_output not)
     79 # being set correctly by qcio[/BigChem.](http://localhost:8080/BigChem.)
     80 # TODO: Make a clearer contract between Server and Client re: states. This got
     81 # a bit messy as I switched mimicking celery states to the more simplified setup
     82 # I have now. This can be simplified further.
     83 while not self.result and self._state not in {"COMPLETE", "FAILURE"}:
     84     # Calling self.status returns status and sets self.result if task complete
---> 85     self.status
     86     if timeout:
     87         if (time() - start_time) > timeout:

File [~/.cache/pypoetry/virtualenvs/neb-dynamics-G7__rX26-py3.9/lib/python3.9/site-packages/chemcloud/models.py:111](http://localhost:8080/home/jdep/.cache/pypoetry/virtualenvs/neb-dynamics-G7__rX26-py3.9/lib/python3.9/site-packages/chemcloud/models.py#line=110), in FutureOutputBase.status(self)
    109 if self.result:
    110     return self._state
--> 111 self._state, self.result = self._output()
    112 return self._state

File [~/.cache/pypoetry/virtualenvs/neb-dynamics-G7__rX26-py3.9/lib/python3.9/site-packages/pydantic/main.py:853](http://localhost:8080/home/jdep/.cache/pypoetry/virtualenvs/neb-dynamics-G7__rX26-py3.9/lib/python3.9/site-packages/pydantic/main.py#line=852), in BaseModel.__setattr__(self, name, value)
    851     attr.__set__(self, value)
    852 elif self.model_config.get('validate_assignment', None):
--> 853     self.__pydantic_validator__.validate_assignment(self, name, value)
    854 elif self.model_config.get('extra') != 'allow' and name not in self.model_fields:
    855     # TODO - matching error
    856     raise ValueError(f'"{self.__class__.__name__}" object has no field "{name}"')

ValidationError: 1 validation error for FutureOutputGroup
result
  Input should be a valid list [type=list_type, input_value={'extras': {}, 'input_dat...n\n", 'traceback': None}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.8/v/list_type```

    
    

Internal server error when using propagate_wfn using psi4 instead of Terachem

from qcio import Molecule, ProgramInput, DualProgramInput

from chemcloud import CCClient


d = {'extras': {},
 'symbols': ['O', 'H', 'H'],
 'geometry': [[1.6549551458827496, -0.26127151435405793, 0.03492994026370258],
  [3.727615759920517, -0.1065896331640286, 0.06743299776432625],
  [1.113082998114264, 1.7026627531267413, 0.44760832206429835]],
 'charge': 0,
 'multiplicity': 1,
 'identifiers': {'extras': {},
  'name_IUPAC': None,
  'name_common': None,
  'smiles': None,
  'inchi': None,
  'inchikey': None,
  'canonical_explicit_hydrogen_smiles': None,
  'canonical_isomeric_explicit_hydrogen_mapped_smiles': None,
  'canonical_isomeric_explicit_hydrogen_smiles': None,
  'canonical_isomeric_smiles': None,
  'canonical_smiles': None,
  'pubchem_cid': None,
  'pubchem_sid': None,
  'pubchem_conformerid': None},
 'connectivity': []}


water = Molecule(**d)

client = CCClient()

opt_input = DualProgramInput(
                calctype="optimization",
                molecule=water,
                keywords={},
                subprogram='psi4',
                subprogram_args={'model':{'method':'b3lyp','basis':'6-31g'}, 'keywords':{}}
            )

#### this will cause internal server error
future_result = client.compute("geometric", opt_input, propagate_wfn=True)


#### this will NOT cause internal server error
future_result = client.compute("geometric", opt_input, propagate_wfn=False)


output = future_result.get()
print(output.stdout)
print(output)
# The energy value requested
print(output.return_result)
print(output.files.keys())

Need more helpful error messages from API

This is the 500 I mentioned in the previous but report. User really needs more information.

  File "/Users/keiran/repos/nanoreactor2/nanoreactor/engine/base.py", line 446, in compute_gradient
    results = self.compute_blocking(geom, ('energy', 'gradient'), job_type=JobType.gradient, *args, **kwargs)
  File "/Users/keiran/repos/nanoreactor2/nanoreactor/engine/base.py", line 408, in compute_blocking
    results = [a for a in self.compute(geom, fields, job_type, *args, **kwargs)]
  File "/Users/keiran/repos/nanoreactor2/nanoreactor/engine/base.py", line 408, in <listcomp>
    results = [a for a in self.compute(geom, fields, job_type, *args, **kwargs)]
  File "/Users/keiran/repos/nanoreactor2/nanoreactor/engine/base.py", line 375, in compute
    raise result
  File "/Users/keiran/repos/nanoreactor2/nanoreactor/engine/base.py", line 260, in _process
    result = self.compute__(geom, job_type, workerid, *args, **kwargs)
  File "/Users/keiran/repos/nanoreactor2/nanoreactor/engine/tcc_new_engine.py", line 62, in compute__
    result = future_result.get()
  File "/Users/keiran/.local/lib/python3.8/site-packages/tccloud/models.py", line 119, in get
    while self.status not in _READY_STATES:
  File "/Users/keiran/.local/lib/python3.8/site-packages/tccloud/models.py", line 150, in status
    self.compute_status, self.result = self.client.result(self.to_task())
  File "/Users/keiran/.local/lib/python3.8/site-packages/tccloud/http_client.py", line 315, in result
    task_result = self._authenticated_request(
  File "/Users/keiran/.local/lib/python3.8/site-packages/tccloud/http_client.py", line 196, in _authenticated_request
    return self._request(
  File "/Users/keiran/.local/lib/python3.8/site-packages/tccloud/http_client.py", line 188, in _request
    response.raise_for_status()
  File "/Users/keiran/.local/lib/python3.8/site-packages/httpx/_models.py", line 1426, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: 500 Server Error: Internal Server Error for url: https://tccloud.mtzlab.com/api/v1/compute/result
For more information check: https://httpstatuses.com/500

Inquiry about Computational Resources

Hello,

I'm planning a project that requires approximately 10,000 single point and gradient calculations, and I found Chemcloud that supports Terachem. This seems like a great fit for my needs, but I have some questions about the available computational resources:

  • Are there paid plans available for users with large-scale computation needs?
  • What's the maximum number of batched calculations that can be run simultaneously?
  • Are there any limitations on computational resources (e.g., time limits, job rate restrictions)?

Thank you for your help!

Auth Typo in Docs

CCClient optionally takes chemcloud_username and chemcloud_password kwargs here, which are labeled as CHEMCLOUD_username and CHEMCLOUD_password in the docs.

Easy fix...

stdout not always returned when terachem fails

With Jan when submitting a calculation using the basis 3-21 (which doesn't exist in TeraChem, it only has 3-21g) the calculations fails because it can't open the 3-21 basis. The stdout is not correctly returned to the end user.

[root@xs7-0003-terachem-10 scratch]# cat server_2023-02-01-01.20.32/job_110/tc.out 
Jobname: geom
Scratch directory: server_2023-02-01-01.20.32/job_110/scr
Random number seed: 1180245433

XYZ coordinates server_2023-02-01-01.20.32/job_110/geom.xyz
Molden File Output: server_2023-02-01-01.20.32/job_110/scr/geom.molden
Using basis set: 3-21
dmrgstart not found
Spin multiplicity: 1
DIIS will use up to 10 vectors.
Condition number limit for the DIIS overlap matrix is            0
WF convergence threshold: 3.00e-05
Using DIIS algorithm to converge WF
Maximum number of SCF iterations: 100
Incremental fock with rebuild every 8 iterations
Will switch to conventional Fock if diffuse functions are detected
X-matrix tolerance: 1.00e-04
PRECISION: DYNAMIC
TeraChem will select linear algebra engine
DFT Functional requested: b3lyp1
Method: B3LYP 
  Hartree-Fock exact exchange:          0.20 
  Slater exchange functional:           0.80 
  Becke 1988 exchange functional:       0.72 
  Lee-Yang-Parr correlation functional: 0.81 
  VWN(I) correlation functional:        0.19 
Wavefunction: UNRESTRICTED
DFT grid type: 1
Using dynamic DFT grids.
Initial guess generated from superposition of atomic densities generated with HF,
using spherically symmetric atomic densities and averaged alpha and beta spin densities.

********************************************
***** SINGLE POINT ENERGY CALCULATIONS *****
********************************************
Starting TensorBox...
TeraChem will select linear algebra engine
Using cuSolver for matrix diagonalization
Unable to open file /terachem/basis/3-21
DIE called at line number 185 in file terachem/basis.cpp

 Job terminated: Wed Feb  1 19:42:56 2023

[FEATURE] Website for documentation

Create basic build process for static website as part of CI/CD pipeline. Use mkdocs or sometihng like that to create a static site using GitHub Pages, most likely.

.json() fails when wavefunction data is include

When a result is returned containing binary wavefunction data (e.g., AtomicResult with a c0 file from TeraChem) and you try to save the result using the usual method:

result = AtomicResult(...)
with open("data.json" , "w) as f:
    f.write(result.json())

the serialization fails because there is no binary representation in json.

Perhaps leave the data in b64? This seems more problematic for end users because they'll have to know to serialize and deserialize the result... Or add in a serialization for binary data... Or something...

Nanoreactor runs cannot find coordinates

Using the following code:


from pathlib import Path

from qcio import FileInput, Structure

from qcop import compute
from chemcloud import CCClient

# Input files for QC Program
inp_file = Path("./tc.in").read_text()  # Or your own function to create tc.in

# Structure object to XYZ file
structure = Structure.from_smiles("O.O.O", program='openbabel')
xyz_str = structure.to_xyz()  # type: ignore

# Create a FileInput object for TeraChem
file_inp = FileInput(
    files={"tc.in": inp_file, "coords.xyz": xyz_str}, cmdline_args=["tc.in"]
)

# This will write the files to disk in a temporary directory and then run
# "terachem tc.in" in that directory.
# output = compute("terachem", file_inp, print_stdout=True)
client = CCClient()
future_output = client.compute("terachem", file_inp)

output = future_output.get()

# Data
output.stdout
output.input_data
output.results.files  # Has all the files terachem creates
output.results.files.keys()  # Print out file names


output.pstdout

We get this error:

| Startfile from command line: tc.in


|       ***********************************************************
|       *                 TeraChem v1.9-2023.09-dev               *
|       *                   Development Version                   *
|       *           Chemistry at the Speed of Graphics!           *
|       ***********************************************************
|       * This program may only be used in connection with        *
|       * a valid license from PetaChem, LLC. Use of this program *
|       * or results thereof indicates acceptance of all terms    *
|       * and conditions stated in the license and that a valid   *
|       * license agreement between the user and PetaChem, LLC    *
|       * exists. PetaChem, LLC does not warrant the correctness  *
|       * of results or their suitability for any purpose.        *
|       * Please email bugs, suggestions, and comments to         *
|       *                  [email protected]                      *
|       *                                                         *
|       ***********************************************************


|       ***********************************************************
|       *  Compiled by root         Fri Sep  8 02:45:55 UTC 2023  *
|       *  Supported architecture SMs: 52 61 70 80 89             *
|       *  Build cuda_11.8.r11.8/compiler.31833905_0              *
|       *  Git Version: 48f1c4b24460eb111f0d752b6dea2ab9d1eb956f  *
|       ***********************************************************


| Job started   Mon Aug 26 20:26:32 2024
| On b68774f8d4f4 (available memory: 765242 MB)

| ######################################### RUNTIME INFO ##########################################
| terachem  tc.in 

|  NVRM version: NVIDIA UNIX x86_64 Kernel Module  525.89.02  Wed Feb  1 23:23:25 UTC 2023
|  GCC version:  gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) 

|  	linux-vdso.so.1 (0x00007ffd4b18d000)
|  	libcurl.so.4 => /usr/lib/x86_64-linux-gnu/libcurl.so.4 (0x00007fcbaa98f000)
|  	libz.so.1 => /usr/lib/x86_64-linux-gnu/libz.so.1 (0x00007fcbaa973000)
|  	libmpi.so.12 => /opt/terachem/lib/libmpi.so.12 (0x00007fcba9000000)
|  	libdftbplus.so => /opt/terachem/lib/libdftbplus.so (0x00007fcba8cc8000)
|  	libfsockets.so => /opt/terachem/lib/libfsockets.so (0x00007fcbaa96c000)
|  	libxmlf90.so => /opt/terachem/lib/libxmlf90.so (0x00007fcbaa943000)
|  	libthcbox.so.1 => /opt/terachem/lib/libthcbox.so.1 (0x00007fcba6ee8000)
|  	libOpenMM.so => /opt/terachem/lib/libOpenMM.so (0x00007fcba6a8e000)
|  	libnvToolsExt.so.1 => /opt/terachem/lib/libnvToolsExt.so.1 (0x00007fcba6800000)
|  	libgpubox.so.1 => /opt/terachem/lib/libgpubox.so.1 (0x00007fcbaa938000)
|  	libtensorbox.so.1 => /opt/terachem/lib/libtensorbox.so.1 (0x00007fcbaa91d000)
|  	libiobox.so.1 => /opt/terachem/lib/libiobox.so.1 (0x00007fcbaa915000)
|  	libintbox.so.1 => /opt/terachem/lib/libintbox.so.1 (0x00007fcb546d5000)
|  	libsqmbox.so.1 => /opt/terachem/lib/libsqmbox.so.1 (0x00007fcb54329000)
|  	libgridbox.so.1 => /opt/terachem/lib/libgridbox.so.1 (0x00007fcb537f1000)
|  	libdftbox.so.1 => /opt/terachem/lib/libdftbox.so.1 (0x00007fcb53702000)
|  	libcibox.so.1 => /opt/terachem/lib/libcibox.so.1 (0x00007fcb530bd000)
|  	libccbox.so.1 => /opt/terachem/lib/libccbox.so.1 (0x00007fcb52c2d000)
|  	libsimbox.so.1 => /opt/terachem/lib/libsimbox.so.1 (0x00007fcbaa8f6000)
|  	liboptbox.so.1 => /opt/terachem/lib/liboptbox.so.1 (0x00007fcbaa8c1000)
|  	libprotobuf.so.25 => /opt/terachem/lib/libprotobuf.so.25 (0x00007fcb527c4000)
|  	libcommbox.so.1 => /opt/terachem/lib/libcommbox.so.1 (0x00007fcbaa861000)
|  	libssl.so.3 => /usr/lib/x86_64-linux-gnu/libssl.so.3 (0x00007fcb52720000)
|  	libcrypto.so.3 => /usr/lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007fcb522de000)
|  	libcuda.so.1 => /usr/lib/x86_64-linux-gnu/libcuda.so.1 (0x00007fcb505fe000)
|  	libcudart.so.11.0 => /opt/terachem/lib/libcudart.so.11.0 (0x00007fcb50200000)
|  	libcublas.so.11 => /opt/terachem/lib/libcublas.so.11 (0x00007fcb4a400000)
|  	libcufft.so.10 => /opt/terachem/lib/libcufft.so.10 (0x00007fcb39400000)
|  	libcusparse.so.11 => /opt/terachem/lib/libcusparse.so.11 (0x00007fcb28600000)
|  	libcusolver.so.11 => /opt/terachem/lib/libcusolver.so.11 (0x00007fcb16200000)
|  	libcublasLt.so.11 => /opt/terachem/lib/libcublasLt.so.11 (0x00007fcaf1c00000)
|  	libimf.so => /opt/terachem/lib/libimf.so (0x00007fcaf1400000)
|  	libsvml.so => /opt/terachem/lib/libsvml.so (0x00007fcaef400000)
|  	libirng.so => /opt/terachem/lib/libirng.so (0x00007fcaef000000)
|  	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fcaeedd4000)
|  	libm.so.6 => /usr/lib/x86_64-linux-gnu/libm.so.6 (0x00007fcb50119000)
|  	libiomp5.so => /opt/terachem/lib/libiomp5.so (0x00007fcaee800000)
|  	libcilkrts.so.5 => /opt/terachem/lib/libcilkrts.so.5 (0x00007fcaee400000)
|  	libgcc_s.so.1 => /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fcbaa83d000)
|  	libintlc.so.5 => /opt/terachem/lib/libintlc.so.5 (0x00007fcaee000000)
|  	libc.so.6 => /usr/lib/x86_64-linux-gnu/libc.so.6 (0x00007fcaeddd7000)
|  	/lib64/ld-linux-x86-64.so.2 (0x00007fcbaaa3b000)
|  	libnghttp2.so.14 => /usr/lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007fcba6a64000)
|  	libidn2.so.0 => /usr/lib/x86_64-linux-gnu/libidn2.so.0 (0x00007fcba6a43000)
|  	librtmp.so.1 => /usr/lib/x86_64-linux-gnu/librtmp.so.1 (0x00007fcba6a24000)
|  	libssh.so.4 => /usr/lib/x86_64-linux-gnu/libssh.so.4 (0x00007fcb504ed000)
|  	libpsl.so.5 => /usr/lib/x86_64-linux-gnu/libpsl.so.5 (0x00007fcba6a10000)
|  	libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007fcb500c5000)
|  	libldap-2.5.so.0 => /usr/lib/x86_64-linux-gnu/libldap-2.5.so.0 (0x00007fcb50066000)
|  	liblber-2.5.so.0 => /usr/lib/x86_64-linux-gnu/liblber-2.5.so.0 (0x00007fcb504dc000)
|  	libzstd.so.1 => /usr/lib/x86_64-linux-gnu/libzstd.so.1 (0x00007fcb4a331000)
|  	libbrotlidec.so.1 => /usr/lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007fcb504ce000)
|  	librt.so.1 => /usr/lib/x86_64-linux-gnu/librt.so.1 (0x00007fcbaa838000)
|  	libdl.so.2 => /usr/lib/x86_64-linux-gnu/libdl.so.2 (0x00007fcba6a0b000)
|  	libifport.so.5 => /opt/terachem/lib/libifport.so.5 (0x00007fcaeda00000)
|  	libifcoremt.so.5 => /opt/terachem/lib/libifcoremt.so.5 (0x00007fcaeec3e000)
|  	libpthread.so.0 => /usr/lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fcb504c9000)
|  	libunistring.so.2 => /usr/lib/x86_64-linux-gnu/libunistring.so.2 (0x00007fcaee656000)
|  	libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007fcaed815000)
|  	libhogweed.so.6 => /usr/lib/x86_64-linux-gnu/libhogweed.so.6 (0x00007fcb4a2e9000)
|  	libnettle.so.8 => /usr/lib/x86_64-linux-gnu/libnettle.so.8 (0x00007fcb393ba000)
|  	libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007fcb39338000)
|  	libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007fcb28535000)
|  	libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007fcb39309000)
|  	libcom_err.so.2 => /usr/lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007fcb504c3000)
|  	libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007fcb504b5000)
|  	libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007fcb2851a000)
|  	libbrotlicommon.so.1 => /usr/lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007fcb284f7000)
|  	libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007fcaf1ac5000)
|  	libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007fcb284df000)
|  	libkeyutils.so.1 => /usr/lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007fcb504ae000)
|  	libresolv.so.2 => /usr/lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fcb284cb000)
|  	libffi.so.8 => /usr/lib/x86_64-linux-gnu/libffi.so.8 (0x00007fcb4a2dc000)
| #################################################################################################

| Checking Amazon Cloud instance ID...   Not found
| Cannot find license.dat file /opt/terachem/license.dat


| TRYING THE NETWORK LICENSE...
| Connecting to license server '54.208.252.40' port '8877'...
| Connected!
| Checking your license...

| **************************************************************
|  Greetings, Martinez Group! You have 1000 licenses in total
|  IN USE: 30
|  AVAILABLE: 970
| **************************************************************

terachem[0x67fe73]
terachem[0x6392c2]
terachem[0x6ebb4a]
/usr/lib/x86_64-linux-gnu/libc.so.6(+0x29d90)[0x7f8c40800d90]
/usr/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80)[0x7f8c40800e40]
terachem[0x43d325]
-----------------------------------
Processed Input file:
                   method gfn2xtb
                    basis gfn2xtb
                    tinit 1200
                     dftd no
               thermostat langevin
                       t0 1500
                  lnvtime 200
                 convthre 0.005
               levelshift yes
           levelshiftvala 0.3
           levelshiftvalb 0.1
                      run md
                      scf diis+a
                  timings yes
                    nstep 30000
                    maxit 300
                     mdbc spherical
                    md_r1 6.0
                    md_k1 3.0
                    md_r2 4.0
                    md_k2 5.0
            mdbc_hydrogen yes
         mdbc_mass_scaled yes
                  mdbc_t1 750
                  mdbc_t2 250
-----------------------------------
Can't find input key 'coordinates'
DIE called at line number 140 in file terachem/params.cpp

 Job terminated: Mon Aug 26 20:26:33 2024

Internal server error when computing a list of bad inputs

When computing program inputs, if a single 'bad' input is given, a useful error message is returned. But if a list of 'bad' inputs is given, an internal server error happens.


from qcio import Molecule, ProgramInput, SinglePointOutput

from chemcloud import CCClient


d = {'extras': {},
 'symbols': ['O', 'H', 'H'],
 'geometry': [[1.6549551458827496, -0.26127151435405793, 0.03492994026370258],
  [3.727615759920517, -0.1065896331640286, 0.06743299776432625],
  [1.113082998114264, 1.7026627531267413, 0.44760832206429835]],
 'charge': 0,
 'multiplicity': 1,
 'identifiers': {'extras': {},
  'name_IUPAC': None,
  'name_common': None,
  'smiles': None,
  'inchi': None,
  'inchikey': None,
  'canonical_explicit_hydrogen_smiles': None,
  'canonical_isomeric_explicit_hydrogen_mapped_smiles': None,
  'canonical_isomeric_explicit_hydrogen_smiles': None,
  'canonical_isomeric_smiles': None,
  'canonical_smiles': None,
  'pubchem_cid': None,
  'pubchem_sid': None,
  'pubchem_conformerid': None},
 'connectivity': []}


water = Molecule(**d)

client = CCClient()

prog_inp_good = ProgramInput(
    molecule=water,
    model={"method": "b3lyp", "basis": "6-31g"},
    calctype="gradient",
    keywords={},
)

prog_inp_bad = ProgramInput(
    molecule=water,
    model={"method": "b3lyp", "basis": "I am bad"},
    calctype="gradient",
    keywords={},
)

list_of_bad_inputs = [prog_inp_bad for i in range(4)]



#### this works perfectly and returns a result
future_result = client.compute("psi4", prog_inp_good, collect_files=True)
output: SinglePointOutput = future_result.get()
# SinglePointOutput object containing all returned data
# print(output.stdout)
# print(output)
# # The energy value requested
# print(output.return_result)
# print(output.files.keys())



#### this works perfectly and returns a useful error message
future_result = client.compute("psi4", prog_inp_bad, collect_files=True)
output: SinglePointOutput = future_result.get()
# SinglePointOutput object containing all returned data
# print(output.stdout)
# print(output)
# # The energy value requested
# print(output.return_result)
# print(output.files.keys())

#### this does not work and returns an internal server error
future_result = client.compute("psi4", list_of_bad_inputs, collect_files=True)
output: SinglePointOutput = future_result.get()
# SinglePointOutput object containing all returned data
print(output.stdout)
print(output)
# The energy value requested
print(output.return_result)
print(output.files.keys())

[FEATURE] Auto fragmentation detection. From Elliot.

Hi Colton: we currently have automated fragmentation of .xyz files using a guess.txt parser, in which the number of atoms per molecular fragment (along with its charge and spinmult) are specified. One really interesting potential application of the tccloud client would be to bypass guess.txt entirely by intuiting (based on bond lengths) the individual fragments (that is, molecules that are covalently decoupled from each other). Executing a fragmentation-driver after intuiting a multi-.xyz file would be really useful. --Elliot

Colton Hicks 4:39 PM
Got it. So input is an .xyz file, the algorithm determines which groups of atoms belong to "fragments" (bonded atoms), and then returns some molecular representation with all the fragments clearly specified. Is this correct?
New

elliot_taffet 4:41 PM
Rightโ€”the idea is to automate the recognition of how many molecules are in the .xyz file. Then, perhaps an automated fragmentation-engine could set up independent calculations on the molecules using the specified level of theory. Subsequent excitonics that couple those independent calculations would be really interesting. I work on the ab initio exciton model, which is why I asked!

guess.txt

18
98 0 1 a
98 0 1 a
100 0 1 a
100 0 1 a
82 0 1 a
82 0 1 a
82 0 1 a
82 0 1 a
82 0 1 a
82 0 1 a
82 0 1 a
82 0 1 a
81 0 1 a
81 0 1 a
81 0 1 a
81 0 1 a
81 0 1 a
81 0 1 a

LHCII_14_chromophore_monomer.xyz

2308

 C   61.54200000   36.64000000   27.85100000 
 C   62.73100000   35.77400000   27.49700000 
 C   63.70800000   36.36700000   26.47500000 
 C   63.81800000   37.86600000   26.51700000 
 C   63.13900000   38.60600000   27.55300000 
 C   61.87200000   38.10500000   28.00300000 
 C   61.30400000   38.69600000   29.07400000 
 C   60.38500000   39.69200000   28.96400000 
 C   59.77400000   40.22900000   30.06000000 
 C   58.85900000   41.21900000   29.93000000 
 C   58.17800000   41.82000000   30.96200000 
 C   57.35400000   42.87200000   30.71000000 
 C   56.55900000   43.53800000   31.59500000 
 C   55.70400000   44.48200000   31.14700000 
 C   54.90600000   45.24700000   31.91500000 
 C   60.91900000   36.16500000   29.11500000 
 C   60.51100000   36.49700000   26.80100000 
 C   63.72800000   39.81500000   28.10500000 
 C   60.10500000   39.69200000   31.43100000 
 C   56.58700000   43.22300000   33.06000000 
 O   63.46800000   35.92100000   25.14400000 
 C   45.62700000   53.03900000   35.98100000 
 C   45.91000000   53.94000000   37.19300000 
 C   44.97400000   53.19600000   38.14200000 
 C   45.63000000   51.85600000   38.45500000 
 C   46.55100000   51.40100000   37.28700000 
 C   46.53700000   51.95800000   36.06000000 
 C   47.23400000   51.77700000   34.85100000 
 C   48.28500000   50.95800000   34.68500000 
 C   48.98400000   50.83000000   33.52500000 
 C   50.06600000   50.01200000   33.51300000 
 C   50.81000000   49.57600000   32.47300000 
 C   51.74000000   48.61300000   32.73100000 
 C   52.49700000   47.99600000   31.76800000 
 C   53.30500000   46.96300000   32.15700000 
 C   54.14200000   46.24000000   31.37700000 
 C   44.30800000   52.27900000   35.95800000 
 C   46.23900000   53.56400000   34.71100000 
 C   47.56300000   50.36000000   37.53700000 
 C   48.52400000   51.57900000   32.32900000 
 C   52.45700000   48.46100000   30.31200000 
 O   44.49200000   53.93000000   39.26800000 
 H   63.30600000   35.58600000   28.41300000 
 H   62.40300000   34.80100000   27.12600000 
 H   64.70300000   35.96600000   26.70100000 
 H   64.70800000   38.30300000   26.07600000 
 H   61.28600000   38.54500000   27.16900000 
 H   61.61000000   38.40500000   30.07200000 
 H   60.08800000   40.02800000   27.97300000 
 H   58.66000000   41.58800000   28.92600000 
 H   58.28700000   41.46100000   31.97300000 
 H   57.27900000   43.18700000   29.67000000 
 H   55.69900000   44.67800000   30.07600000 
 H   60.64700000   35.10700000   29.02400000 
 H   60.00600000   36.70800000   29.36200000 
 H   61.59400000   36.23400000   29.97300000 
 H   60.87200000   36.82700000   25.82100000 
 H   59.61800000   37.08800000   27.03200000 
 H   60.19300000   35.45600000   26.68800000 
 H   64.62000000   40.11800000   27.55600000 
 H   64.02500000   39.62400000   29.14400000 
 H   63.03700000   40.66500000   28.15400000 
 H   59.93200000   38.61300000   31.47800000 
 H   59.52500000   40.15100000   32.22400000 
 H   61.16200000   39.85400000   31.66700000 
 H   57.36000000   42.50500000   33.32400000 
 H   55.63000000   42.81000000   33.39400000 
 H   56.77300000   44.12200000   33.65300000 
 H   62.84000000   36.53100000   24.74700000 
 H   45.55700000   54.96400000   37.04500000 
 H   46.96100000   53.93200000   37.47700000 
 H   44.02300000   53.07800000   37.66900000 
 H   46.26500000   51.97400000   39.34300000 
 H   44.90100000   51.07500000   38.70000000 
 H   46.72000000   51.87100000   33.92700000 
 H   48.80000000   50.56300000   35.55000000 
 H   50.31200000   49.57200000   34.47800000 
 H   50.64900000   49.93000000   31.46300000 
 H   51.84700000   48.26900000   33.75500000 
 H   53.28300000   46.70700000   33.21500000 
 H   54.20900000   46.41300000   30.30900000 
 H   44.28100000   51.74900000   34.99400000 
 H   43.40600000   52.90400000   35.95100000 
 H   44.21300000   51.50400000   36.70100000 
 H   45.83700000   53.20600000   33.77400000 
 H   47.31300000   53.68700000   34.72000000 
 H   45.91200000   54.63800000   34.64100000 
 H   47.56400000   49.59600000   36.75600000 
 H   47.39400000   49.84100000   38.48800000 
 H   48.57800000   50.77200000   37.59400000 
 H   47.51900000   51.27100000   32.01500000 
 H   49.18000000   51.44500000   31.46900000 
 H   48.47500000   52.65200000   32.53700000 
 H   53.17100000   47.93100000   29.68900000 
 H   52.68300000   49.52900000   30.24700000 
 H   51.46100000   48.31200000   29.88200000 
 H   45.23000000   54.14900000   39.84900000 
 H   54.84700000   45.08400000   32.98600000 
 C   59.77500000   66.42500000   27.41300000 
 C   60.72500000   67.00000000   26.40300000 
 C   60.03400000   66.94300000   25.06800000 
 C   59.92800000   65.47400000   24.74100000 
 C   59.67400000   64.50200000   25.81700000 
 C   59.69300000   64.92600000   27.20600000 
 C   58.83900000   64.29900000   28.03000000 
 C   59.29200000   63.39100000   28.89300000 
 C   58.48300000   62.84000000   29.81400000 
 C   58.97900000   61.97800000   30.72500000 
 C   58.23000000   61.29900000   31.64700000 
 C   58.78800000   60.35200000   32.40900000 
 C   58.21000000   59.61700000   33.37900000 
 C   58.92500000   58.55900000   33.87600000 
 C   58.59900000   57.70700000   34.88400000 
 C   58.44500000   67.05600000   27.20500000 
 C   60.25100000   66.75700000   28.78600000 
 C   59.37800000   63.10800000   25.49600000 
 C   57.01800000   63.19100000   29.80300000 
 C   56.79500000   59.84000000   33.81400000 
 O   60.88200000   67.55900000   24.12300000 
 C   58.63700000   48.72000000   44.05500000 
 C   57.20700000   48.35000000   44.52600000 
 C   57.20000000   48.93500000   45.94100000 
 C   57.58000000   50.39800000   45.89100000 
 C   57.95100000   50.89600000   44.46700000 
 C   58.60000000   50.07100000   43.61200000 
 C   59.11100000   50.20500000   42.32900000 
 C   59.02300000   51.27700000   41.51100000 
 C   59.53500000   51.36400000   40.24100000 
 C   59.27400000   52.48800000   39.51300000 
 C   59.84200000   52.96900000   38.40400000 
 C   59.38300000   54.12000000   37.89400000 
 C   59.83100000   54.77700000   36.80600000 
 C   59.06200000   55.79600000   36.28900000 
 C   59.43700000   56.69900000   35.31600000 
 C   59.77600000   48.67400000   45.07300000 
 C   58.72500000   48.11600000   42.65200000 
 C   57.59600000   52.30200000   44.06000000 
 C   60.26500000   50.20700000   39.65000000 
 C   61.19100000   54.41500000   36.25000000 
 O   55.97700000   48.70400000   46.61600000 
 H   60.76000000   68.05700000   26.69700000 
 H   61.75900000   66.67800000   26.26300000 
 H   59.05100000   67.38700000   24.87300000 
 H   59.62900000   65.21000000   23.73200000 
 H   60.65300000   64.43000000   27.46000000 
 H   57.76900000   64.47000000   27.99900000 
 H   60.34300000   63.11100000   28.87400000 
 H   60.05000000   61.78400000   30.71900000 
 H   57.18300000   61.52900000   31.76700000 
 H   59.82200000   60.10300000   32.17300000 
 H   59.85300000   58.36400000   33.34100000 
 H   58.53400000   68.14700000   27.26600000 
 H   57.71600000   66.75400000   27.95800000 
 H   58.02100000   66.83900000   26.22000000 
 H   61.23800000   66.33000000   28.99500000 
 H   59.56600000   66.37600000   29.55100000 
 H   60.33500000   67.83800000   28.93300000 
 H   59.50500000   62.90100000   24.43300000 
 H   58.33200000   62.89800000   25.75400000 
 H   59.96800000   62.38400000   26.07000000 
 H   56.87700000   64.27400000   29.86900000 
 H   56.46100000   62.73900000   30.61600000 
 H   56.54800000   62.86700000   28.86900000 
 H   56.27400000   60.57300000   33.20200000 
 H   56.75000000   60.18900000   34.85000000 
 H   56.21600000   58.91400000   33.76200000 
 H   61.46000000   66.87700000   23.77000000 
 H   57.18100000   47.25800000   44.57200000 
 H   56.42900000   48.72600000   43.86400000 
 H   57.82900000   48.37800000   46.60200000 
 H   56.65700000   50.91500000   46.18600000 
 H   58.34500000   50.69600000   46.61700000 
 H   59.99600000   49.66600000   42.09800000 
 H   58.22500000   51.97900000   41.70800000 
 H   58.53400000   53.13800000   39.97600000 
 H   60.68900000   52.46700000   37.95500000 
 H   58.64500000   54.61700000   38.51600000 
 H   58.04800000   55.88900000   36.67500000 
 H   60.42200000   56.66700000   34.86500000 
 H   60.69200000   48.91400000   44.51300000 
 H   59.97500000   47.68800000   45.51100000 
 H   59.72500000   49.41900000   45.85100000 
 H   59.70900000   47.94600000   42.23900000 
 H   57.99500000   48.47100000   41.93800000 
 H   58.39600000   47.04600000   42.76400000 
 H   58.43100000   52.80800000   43.57000000 
 H   57.31100000   52.92000000   44.92000000 
 H   56.74400000   52.33200000   43.37000000 
 H   61.16900000   49.95900000   40.22000000 
 H   60.57800000   50.38600000   38.62100000 
 H   59.63700000   49.31100000   39.64800000 
 H   61.41500000   54.94400000   35.32800000 
 H   61.24500000   53.34300000   36.04300000 
 H   61.98200000   54.64800000   36.97100000 
 H   55.26700000   49.17900000   46.16700000 
 H   57.64200000   57.82100000   35.38300000 
 C   82.77000000   33.73900000   40.88100000 
 C   84.17900000   33.69700000   40.31200000 
 C   84.69700000   34.24600000   38.98700000 
 C   83.53600000   34.64000000   38.06200000 
 C   82.27300000   33.82500000   38.33200000 
 C   81.82200000   34.06700000   39.73700000 
 C   80.60100000   34.59600000   39.94500000 
 C   79.33900000   35.03600000   40.09800000 
 C   78.93500000   36.27800000   40.41600000 
 C   77.62700000   36.45400000   40.51600000 
 C   77.05000000   37.59900000   40.80200000 
 C   75.71500000   37.60400000   40.82600000 
 C   75.02300000   38.69400000   41.12600000 
 C   73.67500000   38.61600000   41.21800000 
 C   72.86900000   39.67400000   41.34700000 
 C   82.69400000   34.76200000   41.98300000 
 C   82.40900000   32.40400000   41.45800000 
 C   81.23200000   34.30100000   37.31900000 
 C   79.90900000   37.39000000   40.62300000 
 C   75.78400000   39.97100000   41.44500000 
 O   85.57000000   35.35800000   39.19900000 
 O   82.52300000   32.42400000   38.10900000 
 C   60.99100000   40.62900000   41.35300000 
 C   59.62900000   40.40300000   42.00100000 
 C   59.72400000   39.86800000   43.41600000 
 C   60.39800000   40.88100000   44.31100000 
 C   61.73400000   41.33700000   43.77500000 
 C   62.00100000   41.19700000   42.34800000 
 C   62.95800000   42.06400000   41.88600000 
 C   64.28300000   41.80800000   41.67300000 
 C   65.15600000   42.75800000   41.19900000 
 C   66.48700000   42.58100000   41.04400000 
 C   67.17300000   41.42100000   41.12600000 
 C   68.51600000   41.46400000   41.16700000 
 C   69.34500000   40.40700000   41.16800000 
 C   70.68300000   40.57300000   41.20100000 
 C   71.54300000   39.52600000   41.20300000 
 C   60.83900000   41.43700000   40.08800000 
 C   61.54900000   39.32700000   40.90500000 
 C   62.49600000   42.38800000   44.54000000 
 C   64.64700000   44.14300000   41.00600000 
 C   68.78100000   39.01200000   41.14900000 
 O   58.42600000   39.65800000   43.94700000 
 O   62.55000000   40.30500000   43.48600000 
 H   84.86900000   34.08400000   41.06900000 
 H   84.43300000   32.63200000   40.26900000 
 H   85.32800000   33.49500000   38.51700000 
 H   83.29900000   35.69400000   38.23700000 
 H   83.83100000   34.55800000   37.01000000 
 H   78.58300000   34.25100000   40.07800000 
 H   76.98900000   35.59100000   40.34200000 
 H   77.61100000   38.49600000   40.99500000 
 H   75.18200000   36.68000000   40.61800000 
 H   73.21800000   37.64300000   41.05000000 
 H   73.26400000   40.67300000   41.48500000 
 H   82.97100000   35.76000000   41.62700000 
 H   83.37700000   34.49600000   42.79500000 
 H   81.68500000   34.83000000   42.39800000 
 H   82.39800000   31.63400000   40.68400000 
 H   81.41700000   32.43700000   41.91600000 
 H   83.12900000   32.10700000   42.22800000 
 H   81.60500000   34.12300000   36.30500000 
 H   81.02600000   35.36700000   37.42000000 
 H   80.29600000   33.75500000   37.43900000 
 H   80.47100000   37.58400000   39.70200000 
 H   80.65100000   37.10600000   41.37600000 
 H   79.45300000   38.32300000   40.93600000 
 H   76.38300000   40.30000000   40.59100000 
 H   76.46800000   39.80300000   42.28100000 
 H   75.13300000   40.79400000   41.72500000 
 H   85.05300000   36.05100000   39.62400000 
 H   82.85100000   32.34100000   37.20800000 
 H   59.03400000   39.72200000   41.38700000 
 H   59.08200000   41.35600000   42.04800000 
 H   60.22900000   38.90400000   43.45700000 
 H   60.53800000   40.46000000   45.31100000 
 H   59.72900000   41.74600000   44.41700000 
 H   62.57600000   43.03500000   41.58200000 
 H   64.64400000   40.82700000   41.96100000 
 H   67.07100000   43.47100000   40.82300000 
 H   66.63700000   40.48500000   41.18800000 
 H   68.97500000   42.45100000   41.14500000 
 H   71.08500000   41.58300000   41.25600000 
 H   71.16200000   38.51900000   41.08000000 
 H   60.12100000   40.93700000   39.43400000 
 H   61.78300000   41.53000000   39.54900000 
 H   60.45900000   42.44800000   40.27400000 
 H   60.90100000   38.85600000   40.15900000 
 H   61.67900000   38.62400000   41.72900000 
 H   62.53300000   39.46000000   40.44400000 
 H   63.50800000   42.47800000   44.16100000 
 H   62.55000000   42.08700000   45.59200000 
 H   62.01400000   43.37100000   44.50600000 
 H   65.44000000   44.81500000   40.67800000 
 H   64.22000000   44.55200000   41.92900000 
 H   63.85400000   44.18800000   40.25000000 
 H   67.69700000   38.99100000   41.10900000 
 H   69.08200000   38.45200000   42.03900000 
 H   69.13800000   38.45200000   40.28000000 
 H   57.95700000   40.49700000   43.89600000 
 C   44.20000000   68.63900000   41.51200000 
 C   44.62300000   69.57700000   42.60900000 
 C   45.00900000   71.03100000   42.37200000 
 C   43.84300000   71.71800000   41.62400000 
 C   43.36700000   70.91000000   40.38500000 
 C   43.49700000   69.38700000   40.33800000 
 C   42.85500000   68.58900000   39.23700000 
 C   43.28700000   68.48900000   37.94400000 
 C   42.69600000   67.72900000   36.92300000 
 C   43.22700000   67.71600000   35.67500000 
 C   42.71700000   67.02600000   34.61300000 
 C   43.36800000   67.01000000   33.41500000 
 C   42.94300000   66.29100000   32.35000000 
 C   43.49000000   66.37700000   31.09900000 
 C   43.09500000   65.60500000   30.07000000 
 C   43.32700000   67.61000000   42.15100000 
 C   45.46600000   67.95700000   41.11000000 
 C   42.42100000   71.60800000   39.41400000 
 C   41.47800000   66.87900000   37.10800000 
 C   41.78300000   65.40600000   32.58800000 
 O   45.33300000   71.58200000   43.65300000 
 O   44.42500000   70.24200000   39.65800000 
 C   44.84000000   58.69700000   20.26600000 
 C   44.88000000   57.62900000   19.17800000 
 C   43.85200000   57.87700000   18.08500000 
 C   44.03500000   59.23800000   17.48700000 
 C   43.56200000   60.15300000   18.55700000 
 C   44.32500000   60.03900000   19.77400000 
 C   44.43600000   61.14300000   20.56900000 
 C   43.85300000   61.36000000   21.76700000 
 C   44.07400000   62.52400000   22.43000000 
 C   43.54500000   62.74700000   23.64500000 
 C   43.96600000   63.70900000   24.51000000 
 C   43.45500000   63.73200000   25.77700000 
 C   43.81700000   64.64500000   26.69900000 
 C   43.29900000   64.68700000   27.93200000 
 C   43.67900000   65.61700000   28.84800000 
 C   46.18100000   58.84200000   20.94000000 
 C   43.87000000   57.86200000   21.08800000 
 C   42.90900000   61.43300000   18.12400000 
 C   45.02400000   63.49900000   21.82000000 
 C   44.81600000   65.68500000   26.35400000 
 O   43.87900000   56.89900000   17.06800000 
 O   42.89900000   59.52200000   19.56700000 
 H   45.43000000   69.11600000   43.18400000 
 H   43.78600000   69.65900000   43.32400000 
 H   45.91900000   71.12300000   41.78000000 
 H   42.99100000   71.83200000   42.30600000 
 H   44.12800000   72.72100000   41.29300000 
 H   41.99800000   67.99100000   39.53600000 
 H   44.15400000   69.08200000   37.67100000 
 H   44.13000000   68.30000000   35.50500000 
 H   41.81400000   66.45200000   34.73600000 
 H   44.26000000   67.62500000   33.31000000 
 H   44.31500000   67.07000000   30.94700000 
 H   42.30700000   64.87800000   30.20700000 
 H   43.12000000   66.77400000   41.47600000 
 H   42.36400000   68.02500000   42.46800000 
 H   43.81400000   67.20100000   43.03900000 
 H   45.31800000   67.25900000   40.27800000 
 H   45.86100000   67.38600000   41.95200000 
 H   46.22700000   68.67300000   40.79400000 
 H   42.11000000   70.92200000   38.63000000 
 H   42.94700000   72.45200000   38.95900000 
 H   41.53500000   71.99500000   39.92600000 
 H   40.67300000   67.18400000   36.43500000 
 H   41.07700000   66.93200000   38.12000000 
 H   41.69500000   65.82600000   36.90700000 
 H   41.49500000   64.78900000   31.74500000 
 H   40.89600000   65.99000000   32.85600000 
 H   41.97000000   64.72500000   33.42400000 
 H   44.55500000   71.48200000   44.21200000 
 H   45.85200000   57.65700000   18.64800000 
 H   44.79900000   56.61900000   19.56700000 
 H   42.84100000   57.78900000   18.46500000 
 H   43.42100000   59.30500000   16.58300000 
 H   45.07400000   59.43900000   17.20600000 
 H   45.09400000   61.90900000   20.17600000 
 H   43.16900000   60.62200000   22.17200000 
 H   42.82500000   62.02000000   24.01500000 
 H   44.72200000   64.40700000   24.20500000 
 H   42.71000000   62.98600000   26.04300000 
 H   42.54300000   63.95900000   28.21600000 
 H   44.46400000   66.33200000   28.64500000 
 H   46.90000000   59.33400000   20.27500000 
 H   46.59700000   57.86900000   21.21200000 
 H   46.10900000   59.44200000   21.85100000 
 H   43.04300000   57.46600000   20.51400000 
 H   43.42300000   58.40500000   21.93400000 
 H   44.42600000   57.03400000   21.53300000 
 H   41.99500000   61.17300000   17.58400000 
 H   43.54700000   62.01100000   17.44800000 
 H   42.64000000   62.05100000   18.97900000 
 H   44.70700000   63.77300000   20.81000000 
 H   46.03400000   63.08500000   21.73800000 
 H   45.09500000   64.42800000   22.37800000 
 H   45.13300000   65.68000000   25.31800000 
 H   45.72500000   65.58100000   26.95600000 
 H   44.42500000   66.68800000   26.54500000 
 H   44.77000000   56.86100000   16.70300000 
 N   62.98800000   43.03100000   24.98900000 
 C   64.18300000   42.53700000   24.46700000 
 C   65.35600000   42.37800000   25.23200000 
 C   66.72500000   41.79000000   24.83900000 
 C   67.62700000   42.01800000   26.04800000 
 C   66.79000000   42.49600000   27.14600000 
 C   66.72700000   42.80600000   28.49200000 
 C   67.83800000   42.73700000   29.55000000 
 H   68.12900000   43.72900000   29.82700000 
 H   68.68200000   42.21700000   29.14700000 
 H   67.47700000   42.21700000   30.41300000 
 O   68.82200000   41.72300000   26.02500000 
 C   67.24900000   42.21500000   23.46900000 
 O   66.82800000   43.27400000   22.91700000 
 O   68.05800000   41.27200000   22.74600000 
 C   68.55200000   41.55400000   21.41700000 
 H   68.60500000   42.61300000   21.27400000 
 H   67.89000000   41.12800000   20.69200000 
 H   69.52700000   41.12900000   21.30100000 
 H   66.66500000   40.74000000   24.64400000 
 C   65.49600000   42.72600000   26.58300000 
 N   64.65000000   43.17000000   27.52400000 
 C   65.34600000   43.23900000   28.69000000 
 C   64.74400000   43.62200000   29.88600000 
 H   65.34500000   43.68800000   30.72200000 
 C   63.35400000   43.93100000   30.04400000 
 C   62.72400000   44.23600000   31.28100000 
 C   61.39200000   44.36500000   31.01800000 
 C   60.25300000   44.63300000   32.06600000 
 H   60.12100000   45.68800000   32.18800000 
 H   60.52300000   44.19700000   33.00500000 
 H   59.34000000   44.19700000   31.71900000 
 C   63.39600000   44.25500000   32.60000000 
 C   63.13400000   42.89700000   33.26300000 
 H   62.74500000   43.05000000   34.24800000 
 H   64.05000000   42.34700000   33.32300000 
 H   62.42400000   42.34700000   32.68100000 
 H   62.99500000   45.04100000   33.20400000 
 H   64.44600000   44.42700000   32.48800000 
 N   62.41500000   43.93700000   29.03300000 
 C   61.19300000   44.19000000   29.60900000 
 C   59.95300000   44.24400000   28.96300000 
 H   59.12200000   44.42100000   29.54800000 
 C   59.74700000   44.07700000   27.58600000 
 C   58.46500000   44.16600000   26.93000000 
 C   58.71500000   43.99000000   25.60100000 
 C   57.79900000   43.99900000   24.40500000 
 H   57.58600000   45.01000000   24.12700000 
 H   56.88700000   43.49600000   24.65000000 
 H   58.27400000   43.49700000   23.58800000 
 C   57.12800000   44.38000000   27.43400000 
 C   56.01300000   44.41400000   26.65700000 
 H   55.60800000   45.32000000   26.37500000 
 H   55.57200000   43.53300000   26.35000000 
 H   57.01200000   44.51600000   28.45000000 
 N   60.71600000   43.80900000   26.65400000 
 C   60.11500000   43.74000000   25.44700000 
 C   60.72500000   43.50200000   24.23600000 
 H   60.12900000   43.60400000   23.40000000 
 C   62.05800000   43.13800000   24.00300000 
 C   62.64900000   42.77900000   22.65800000 
 C   62.78100000   44.06800000   21.87800000 
 H   62.66900000   44.90000000   22.54200000 
 H   62.02300000   44.10800000   21.12400000 
 H   63.74500000   44.10800000   21.41700000 
 H   62.02900000   42.08000000   22.11400000 
 C   64.05600000   42.25800000   22.99200000 
 H   64.83000000   42.74700000   22.41200000 
 C   63.94600000   40.76500000   22.64100000 
 H   64.92600000   40.40000000   22.41500000 
 H   63.27600000   40.69200000   21.81000000 
 C   63.36200000   39.90800000   23.75300000 
 H   63.64500000   40.29100000   24.71100000 
 H   63.71500000   38.89900000   23.70900000 
 C   61.83200000   39.99500000   23.56500000 
 O   61.36300000   40.12100000   22.40800000 
 O   60.90400000   39.92400000   24.62400000 
 C   59.50300000   39.98300000   24.23400000 
 H   59.20900000   39.03800000   23.82700000 
 H   59.37700000   40.75200000   23.50100000 
 C   58.66900000   40.28900000   25.39500000 
 H   58.97500000   41.10300000   25.95100000 
 C   57.53800000   39.65700000   25.86000000 
 C   56.91300000   38.43700000   25.14700000 
 H   56.24400000   38.77400000   24.38300000 
 H   56.37400000   37.84500000   25.85800000 
 H   57.68900000   37.84600000   24.70600000 
 C   56.79200000   40.10500000   27.13300000 
 H   56.00600000   40.77100000   26.84500000 
 H   57.51600000   40.57100000   27.76800000 
 C   56.16900000   38.93700000   27.94500000 
 H   56.56600000   38.00600000   27.59700000 
 H   55.10700000   38.93400000   27.81800000 
 C   56.50700000   39.11800000   29.39900000 
 H   56.07100000   40.04200000   29.71800000 
 H   57.57600000   39.08100000   29.43900000 
 C   56.03500000   38.01900000   30.37900000 
 C   57.23000000   37.35100000   31.07000000 
 H   57.88800000   38.10400000   31.45100000 
 H   57.75500000   36.74200000   30.36400000 
 H   56.88000000   36.74200000   31.87700000 
 H   55.56700000   37.19900000   29.87500000 
 C   54.96600000   38.61100000   31.27800000 
 H   54.13200000   37.94600000   31.20000000 
 H   54.81800000   39.60600000   30.91300000 
 C   55.11300000   38.89400000   32.75900000 
 H   54.54600000   38.16400000   33.29800000 
 H   54.76100000   39.89200000   32.91700000 
 C   56.56800000   38.85100000   33.27100000 
 H   57.14200000   39.52500000   32.67000000 
 H   56.85700000   37.82300000   33.19900000 
 C   56.80400000   39.23200000   34.75500000 
 C   58.30200000   39.12600000   35.09100000 
 H   58.71700000   40.10800000   35.18400000 
 H   58.80700000   38.59800000   34.30900000 
 H   58.42500000   38.59800000   36.01400000 
 H   56.50400000   40.24600000   34.91500000 
 C   55.95800000   38.36000000   35.66200000 
 H   54.98400000   38.79400000   35.75000000 
 H   56.44100000   38.30400000   36.61500000 
 C   55.82000000   36.94600000   35.11700000 
 H   56.69100000   36.72300000   34.53600000 
 H   54.92100000   36.92400000   34.53700000 
 C   55.67800000   35.89600000   36.17700000 
 H   54.80100000   36.10600000   36.75300000 
 H   56.56000000   35.92200000   36.78200000 
 C   55.55500000   34.48700000   35.59100000 
 C   55.39400000   33.49600000   36.74100000 
 H   55.26600000   34.03200000   37.65800000 
 H   56.26700000   32.88100000   36.80700000 
 H   54.53600000   32.88100000   36.56400000 
 H   56.44100000   34.24700000   35.04100000 
 C   54.40800000   34.39700000   34.60700000 
 H   54.09300000   35.38300000   34.33700000 
 H   53.59200000   33.87200000   35.05800000 
 H   54.73000000   33.87200000   33.73100000 
 Mg  62.78700000   43.64500000   26.98900000  
 N   52.21900000   43.61000000   26.01700000 
 C   52.31800000   43.47100000   24.61800000 
 C   51.62000000   44.27100000   23.71700000 
 C   51.56200000   44.22700000   22.17300000 
 C   50.54300000   45.31800000   21.80400000 
 C   50.05800000   45.92300000   23.03400000 
 C   49.21500000   46.83100000   23.58300000 
 C   48.24400000   47.77200000   22.87100000 
 H   48.51800000   48.78700000   23.07200000 
 H   47.25000000   47.59500000   23.22600000 
 H   48.28400000   47.59400000   21.81700000 
 O   50.21600000   45.50900000   20.63300000 
 C   50.99300000   42.87300000   21.73500000 
 O   51.42400000   42.26200000   20.68600000 
 O   49.95600000   42.32300000   22.55700000 
 C   49.37300000   41.04500000   22.24700000 
 H   48.43700000   41.19100000   21.74900000 
 H   49.21400000   40.49600000   23.15200000 
 H   50.03400000   40.49700000   21.60900000 
 H   52.37700000   44.26500000   21.48100000 
 C   50.74500000   45.27100000   24.10700000 
 N   50.35200000   45.75600000   25.30300000 
 C   49.39800000   46.70700000   25.01400000 
 C   48.70700000   47.41800000   25.99800000 
 H   48.01400000   48.12100000   25.69700000 
 C   48.85500000   47.20000000   27.38500000 
 C   48.08200000   47.85700000   28.40400000 
 C   48.46800000   47.33600000   29.60900000 
 C   47.87300000   47.69000000   31.01400000 
 H   47.82600000   48.75300000   31.12400000 
 H   48.49700000   47.27900000   31.78000000 
 H   46.88800000   47.28000000   31.09800000 
 C   47.00500000   48.93400000   28.13500000 
 C   45.71800000   48.27400000   27.65500000 
 H   45.00800000   49.02900000   27.39000000 
 H   45.31600000   47.66500000   28.43700000 
 H   45.92600000   47.66500000   26.80000000 
 H   47.35600000   49.62800000   27.40200000 
 H   46.84000000   49.47100000   29.04600000 
 N   49.74900000   46.32400000   27.99100000 
 C   49.52300000   46.38100000   29.34700000 
 C   50.16500000   45.62100000   30.31900000 
 H   49.88400000   45.77300000   31.30000000 
 C   51.10600000   44.61800000   30.09200000 
 C   51.72000000   43.77600000   31.11600000 
 C   52.51400000   42.89500000   30.47500000 
 C   53.32700000   41.78900000   31.07800000 
 H   54.11800000   42.20700000   31.66500000 
 H   53.74200000   41.18500000   30.29800000 
 H   52.70100000   41.18500000   31.70200000 
 C   51.61100000   43.69700000   32.54500000 
 C   50.78300000   44.56800000   33.19200000 
 H   50.91900000   45.58500000   33.08500000 
 H   50.02100000   44.20900000   33.78800000 
 H   52.13000000   43.01100000   33.11500000 
 N   51.56600000   44.22300000   28.86700000 
 C   52.42400000   43.17900000   29.05500000 
 C   53.05900000   42.46400000   28.05300000 
 H   53.64100000   41.67600000   28.37700000 
 C   52.96600000   42.63400000   26.65800000 
 C   53.65000000   41.74900000   25.63000000 
 C   53.05200000   40.33300000   25.79600000 
 H   52.02400000   40.41100000   26.08100000 
 H   53.59300000   39.80300000   26.55200000 
 H   53.12500000   39.80500000   24.87000000 
 H   54.72100000   41.71700000   25.77400000 
 C   53.20700000   42.31700000   24.27700000 
 H   52.43500000   41.72600000   23.79800000 
 C   54.35500000   42.62200000   23.31800000 
 H   54.93900000   43.41600000   23.73500000 
 H   53.89000000   42.89200000   22.39300000 
 C   55.29700000   41.43500000   23.01400000 
 H   55.56400000   40.92600000   23.91600000 
 H   56.17900000   41.93300000   22.67000000 
 C   54.75400000   40.44300000   21.97600000 
 O   54.15400000   40.87400000   20.98700000 
 O   55.15200000   39.10300000   21.96300000 
 C   54.20500000   38.08500000   21.49600000 
 H   54.64900000   37.52800000   20.69800000 
 H   53.30100000   38.54800000   21.16000000 
 C   53.89800000   37.18800000   22.59200000 
 H   53.10200000   37.48900000   23.17600000 
 C   54.49400000   36.00300000   22.97900000 
 C   55.71000000   35.38900000   22.24800000 
 H   56.33400000   36.17300000   21.87300000 
 H   55.36800000   34.78400000   21.43300000 
 H   56.26900000   34.78500000   22.93200000 
 C   54.01500000   35.19500000   24.19600000 
 H   54.87500000   34.82200000   24.71100000 
 H   53.37000000   34.41400000   23.85100000 
 C   53.19300000   36.04900000   25.18100000 
 H   52.15100000   35.94500000   24.96300000 
 H   53.47300000   37.07600000   25.07100000 
 C   53.46300000   35.59500000   26.59500000 
 H   54.51100000   35.71200000   26.77600000 
 H   53.09800000   34.59200000   26.66600000 
 C   52.71300000   36.36800000   27.69900000 
 C   52.87900000   35.72800000   29.08200000 
 H   52.96800000   36.49600000   29.82200000 
 H   53.76000000   35.12100000   29.09000000 
 H   52.02500000   35.12100000   29.29900000 
 H   53.18800000   37.31900000   27.82200000 
 C   51.28500000   36.67500000   27.24400000 
 H   51.08400000   35.97800000   26.45700000 
 H   51.32400000   37.70800000   26.96700000 
 C   50.01500000   36.68100000   28.11500000 
 H   49.41900000   35.83500000   27.84400000 
 H   49.51700000   37.61200000   27.94200000 
 C   50.30000000   36.60700000   29.62100000 
 H   51.35400000   36.73400000   29.75700000 
 H   49.91200000   35.66600000   29.95000000 
 C   49.59100000   37.65600000   30.49100000 
 C   48.86500000   38.71700000   29.65100000 
 H   49.15200000   39.69300000   29.98300000 
 H   47.80700000   38.59900000   29.76400000 
 H   49.12900000   38.59900000   28.62100000 
 H   48.85300000   37.12000000   31.04900000 
 C   50.58300000   38.25100000   31.49500000 
 H   50.53100000   39.31800000   31.44200000 
 H   51.56200000   37.90100000   31.24300000 
 C   50.27600000   37.81200000   32.92000000 
 H   50.14600000   38.68800000   33.52100000 
 H   51.09900000   37.20900000   33.24200000 
 C   49.04400000   36.96700000   33.04400000 
 H   48.19300000   37.61100000   33.13000000 
 H   49.15800000   36.35000000   33.91100000 
 C   48.84200000   36.04600000   31.83800000 
 C   48.63500000   36.91100000   30.59700000 
 H   48.68100000   37.94400000   30.87000000 
 H   47.67800000   36.69700000   30.16900000 
 H   49.40200000   36.69700000   29.88200000 
 H   47.97600000   35.43700000   31.99100000 
 C   50.00700000   35.09300000   31.67100000 
 H   50.91000000   35.65300000   31.54200000 
 H   49.84300000   34.47700000   30.81200000 
 H   50.09200000   34.47700000   32.54300000 
 Mg  51.17800000   45.11000000   27.01700000 
 N   43.13100000   58.13600000   37.44200000 
 C   42.19800000   58.52300000   38.42900000 
 C   42.41600000   59.62000000   39.29600000 
 C   41.56200000   60.22800000   40.44900000 
 C   42.45200000   61.33800000   41.05600000 
 C   43.64300000   61.45500000   40.24000000 
 C   44.79700000   62.13100000   40.04400000 
 C   45.32900000   63.32400000   40.85000000 
 H   45.02100000   64.23600000   40.38300000 
 H   46.39800000   63.28400000   40.88300000 
 H   44.93900000   63.28400000   41.84600000 
 O   42.12600000   61.95100000   42.06900000 
 C   41.14100000   59.22100000   41.51700000 
 O   41.85900000   58.19600000   41.80800000 
 O   39.90200000   59.47500000   42.17900000 
 C   39.43400000   58.58500000   43.20500000 
 H   39.05800000   59.15600000   44.02800000 
 H   40.24200000   57.96800000   43.53800000 
 H   38.65300000   57.96800000   42.81300000 
 H   40.59100000   60.63200000   40.25000000 
 C   43.57000000   60.41500000   39.24800000 
 N   44.68500000   60.43100000   38.46000000 
 C   45.44000000   61.47800000   38.90900000 
 C   46.66700000   61.82000000   38.32200000 
 H   47.19500000   62.58800000   38.76600000 
 C   47.26300000   61.17100000   37.21600000 
 C   48.47900000   61.57600000   36.57100000 
 C   48.70200000   60.72200000   35.53900000 
 C   49.87100000   60.79100000   34.51900000 
 H   50.10600000   61.81500000   34.31400000 
 H   49.58200000   60.30300000   33.61200000 
 H   50.73100000   60.30300000   34.92900000 
 C   49.33100000   62.79300000   36.97700000 
 C   49.04600000   63.91900000   35.99100000 
 H   49.18600000   64.86200000   36.47700000 
 H   48.03700000   63.84300000   35.64500000 
 H   49.71500000   63.84300000   35.16000000 
 H   50.36900000   62.53800000   36.95200000 
 H   49.08800000   63.09100000   37.97500000 
 N   46.78400000   60.04300000   36.58600000 
 C   47.64500000   59.75400000   35.54500000 
 C   47.49700000   58.72500000   34.61500000 
 H   48.22100000   58.63900000   33.88500000 
 C   46.43200000   57.80400000   34.57300000 
 C   46.22000000   56.78900000   33.55100000 
 C   45.04000000   56.14800000   33.87400000 
 C   44.30000000   55.04100000   33.16200000 
 H   43.59200000   55.46600000   32.48100000 
 H   43.78600000   54.43600000   33.88000000 
 H   44.99700000   54.43600000   32.62100000 
 C   46.97800000   56.43800000   32.37100000 
 C   46.59700000   55.48900000   31.47500000 
 H   46.20800000   55.76900000   30.56100000 
 H   46.69700000   54.48900000   31.70900000 
 H   47.86400000   56.93800000   32.19700000 
 N   45.38000000   57.75300000   35.45700000 
 C   44.53500000   56.75700000   35.08000000 
 C   43.35400000   56.40100000   35.70600000 
 H   42.89100000   55.57000000   35.30500000 
 C   42.70100000   57.01000000   36.78300000 
 C   41.37200000   56.56000000   37.37600000 
 C   41.55900000   55.17500000   38.02700000 
 H   41.85200000   55.29700000   39.04900000 
 H   42.31600000   54.63300000   37.50000000 
 H   40.63800000   54.63400000   37.98400000 
 H   40.66700000   56.49200000   36.55900000 
 C   41.01100000   57.60400000   38.44500000 
 H   40.90300000   57.17000000   39.43200000 
 C   39.68400000   58.18800000   37.93800000 
 H   39.07400000   58.42200000   38.78600000 
 H   39.34700000   57.31900000   37.41300000 
 C   39.60600000   59.37000000   36.94300000 
 H   38.59200000   59.68100000   36.80400000 
 H   39.88100000   58.82000000   36.06800000 
 C   40.50900000   60.57700000   37.16700000 
 O   40.04300000   61.57500000   37.75600000 
 O   41.70700000   60.74400000   36.46700000 
 C   42.11500000   62.11800000   36.19800000 
 H   42.42500000   62.58000000   37.11200000 
 H   41.28400000   62.64900000   35.78200000 
 C   43.21000000   62.14300000   35.25600000 
 H   43.20400000   61.42900000   34.51100000 
 C   44.27700000   63.01000000   35.22400000 
 C   44.47300000   64.10100000   36.28100000 
 H   44.38800000   65.06300000   35.82100000 
 H   45.44400000   64.00100000   36.72100000 
 H   43.72500000   64.00100000   37.03900000 
 C   45.38200000   62.97000000   34.16300000 
 H   46.32300000   62.86100000   34.66100000 
 H   45.32700000   63.86200000   33.57500000 
 C   45.20900000   61.79100000   33.19600000 
 H   44.57400000   61.05300000   33.64000000 
 H   46.16500000   61.35500000   32.99300000 
 C   44.59500000   62.28100000   31.92300000 
 H   45.22800000   63.05200000   31.53600000 
 H   43.59500000   62.58500000   32.15100000 
 C   44.44300000   61.21200000   30.82300000 
 C   44.00000000   59.86500000   31.36700000 
 H   43.33100000   60.01400000   32.18900000 
 H   44.85600000   59.31600000   31.69900000 
 H   43.50100000   59.31600000   30.59600000 
 H   45.35000000   60.97100000   30.31000000 
 C   43.48800000   61.69100000   29.75800000 
 H   44.06400000   61.72500000   28.85700000 
 H   42.97000000   62.58800000   30.02700000 
 C   42.31400000   60.79600000   29.44500000 
 H   41.67100000   60.77500000   30.30000000 
 H   42.54600000   59.81900000   29.07700000 
 C   41.59100000   61.52600000   28.32100000 
 H   42.19400000   61.44300000   27.44100000 
 H   41.45700000   62.52300000   28.68500000 
 C   40.19400000   61.04600000   27.96500000 
 C   39.48300000   62.07200000   27.05300000 
 H   39.73100000   63.06300000   27.37100000 
 H   38.42400000   61.93200000   27.11600000 
 H   39.80200000   61.93200000   26.04100000 
 H   40.27700000   60.12900000   27.42200000 
 C   39.41600000   60.74800000   29.25700000 
 H   38.39100000   61.02000000   29.11500000 
 H   39.89000000   61.39600000   29.96400000 
 C   39.47900000   59.32100000   29.80200000 
 H   39.74500000   59.36800000   30.83700000 
 H   40.21500000   58.81900000   29.21000000 
 C   38.17800000   58.51400000   29.67300000 
 H   37.92000000   58.44300000   28.63700000 
 H   37.45400000   59.08200000   30.22000000 
 C   38.21300000   57.08500000   30.27700000 
 C   36.90200000   56.33400000   30.10400000 
 H   36.10100000   57.03500000   29.99800000 
 H   36.72700000   55.72000000   30.96200000 
 H   36.95600000   55.72000000   29.23000000 
 H   38.41700000   57.20100000   31.32100000 
 C   39.36400000   56.28100000   29.70700000 
 H   40.11400000   56.94700000   29.33500000 
 H   39.00700000   55.66400000   28.90900000 
 H   39.78400000   55.66400000   30.47500000 
 Mg  45.05700000   58.96300000   37.12900000 
 N   61.85300000   60.34100000   24.62700000 
 C   61.92200000   60.60700000   23.24100000 
 C   60.78600000   60.58300000   22.40600000 
 C   60.62900000   60.85900000   20.89600000 
 C   59.14900000   60.63700000   20.60400000 
 C   58.48500000   60.34300000   21.86400000 
 C   57.29700000   60.07900000   22.48200000 
 C   55.88900000   60.03000000   21.85200000 
 H   55.53400000   61.02700000   21.69300000 
 H   55.22100000   59.51500000   22.51000000 
 H   55.93500000   59.51500000   20.91500000 
 O   58.69000000   60.73100000   19.46100000 
 C   61.56900000   60.02100000   20.00800000 
 O   62.01500000   60.47100000   18.89600000 
 O   62.01700000   58.77800000   20.50400000 
 C   62.92400000   57.99400000   19.73800000 
 H   63.57600000   58.63900000   19.18700000 
 H   62.37600000   57.37600000   19.05800000 
 H   63.50300000   57.37600000   20.39300000 
 H   60.91500000   61.82200000   20.52800000 
 C   59.49900000   60.28900000   22.86000000 
 N   58.97500000   59.96700000   24.07900000 
 C   57.63700000   59.85200000   23.88500000 
 C   56.74600000   59.55700000   24.92800000 
 H   55.75500000   59.43200000   24.66700000 
 C   57.09300000   59.37200000   26.28900000 
 C   56.16700000   59.12600000   27.37800000 
 C   56.88100000   59.02400000   28.52600000 
 C   56.28900000   58.78100000   29.94700000 
 H   56.09300000   59.72200000   30.41800000 
 H   56.99000000   58.22700000   30.53500000 
 H   55.37700000   58.22800000   29.86300000 
 C   54.63300000   59.01400000   27.23500000 
 C   53.98700000   60.10900000   28.06900000 
 H   54.28000000   61.06600000   27.69000000 
 H   54.30400000   60.01600000   29.08700000 
 H   52.92200000   60.01700000   28.01600000 
 H   54.30300000   58.05400000   27.57100000 
 H   54.36500000   59.11300000   26.20400000 
 N   58.37800000   59.39400000   26.79700000 
 C   58.27900000   59.21400000   28.17100000 
 C   59.35700000   59.25100000   29.07600000 
 H   59.14400000   59.09100000   30.07300000 
 C   60.71100000   59.50000000   28.74600000 
 C   61.83900000   59.55500000   29.69100000 
 C   62.96600000   59.77900000   28.93200000 
 C   64.40500000   59.90400000   29.37600000 
 H   64.66500000   60.93900000   29.45600000 
 H   65.04200000   59.43000000   28.65900000 
 H   64.52700000   59.43100000   30.32800000 
 C   61.93300000   59.42800000   31.14600000 
 C   63.08300000   59.54300000   31.87800000 
 H   63.45300000   60.47700000   32.11400000 
 H   63.58000000   58.69600000   32.19400000 
 H   61.05500000   59.23600000   31.65400000 
 N   61.20100000   59.74300000   27.46600000 
 C   62.54500000   59.91200000   27.54600000 
 C   63.39300000   60.16300000   26.49800000 
 H   64.39300000   60.18600000   26.75100000 
 C   63.09900000   60.35700000   25.16200000 
 C   64.12000000   60.62400000   24.06700000 
 C   64.95200000   59.35500000   23.86000000 
 H   65.95700000   59.62400000   23.61000000 
 H   64.52900000   58.77700000   23.06500000 
 H   64.95100000   58.77800000   24.76000000 
 H   64.76400000   61.44600000   24.34800000 
 C   63.33400000   60.84700000   22.78000000 
 H   63.59700000   60.13900000   22.00300000 
 C   63.75600000   62.25000000   22.41700000 
 H   63.58600000   62.39200000   21.37000000 
 H   64.79500000   62.26400000   22.67200000 
 C   63.10600000   63.39600000   23.16400000 
 H   62.15700000   63.09800000   23.55700000 
 H   62.92000000   64.20900000   22.49300000 
 C   64.06400000   63.79600000   24.30600000 
 O   65.31300000   63.75300000   24.11400000 
 O   63.60700000   64.09000000   25.58600000 
 C   64.50200000   63.76100000   26.67500000 
 H   65.14000000   64.59700000   26.87400000 
 H   65.09100000   62.89900000   26.44000000 
 C   63.70700000   63.48300000   27.84000000 
 H   62.76300000   63.08500000   27.71900000 
 C   64.08100000   63.69700000   29.12800000 
 C   65.43800000   64.31300000   29.45400000 
 H   65.35900000   65.38000000   29.43500000 
 H   66.15800000   63.99600000   28.72800000 
 H   65.74900000   63.99500000   30.42700000 
 C   63.20100000   63.40400000   30.34200000 
 H   63.65700000   62.61800000   30.90600000 
 H   62.19900000   63.17200000   30.04600000 
 C   63.12300000   64.64500000   31.22600000 
 H   63.27600000   65.52000000   30.63000000 
 H   63.90900000   64.57200000   31.94900000 
 C   61.80200000   64.73600000   31.92200000 
 H   61.72200000   63.89000000   32.57200000 
 H   61.01500000   64.83400000   31.20300000 
 C   61.70000000   65.99600000   32.79100000 
 C   62.34600000   67.15300000   32.04000000 
 H   61.99800000   68.08000000   32.44500000 
 H   62.08500000   67.09600000   31.00400000 
 H   63.40900000   67.09600000   32.14400000 
 H   62.17900000   66.04000000   33.74700000 
 C   60.25300000   66.31100000   33.04700000 
 H   59.79300000   66.32700000   32.08100000 
 H   60.09400000   67.17000000   33.66500000 
 C   59.49100000   65.28400000   33.83000000 
 H   59.91300000   65.23000000   34.81200000 
 H   59.39600000   64.32500000   33.36600000 
 C   58.08200000   65.85600000   33.94600000 
 H   58.16200000   66.92200000   33.90700000 
 H   57.67000000   65.46600000   34.85300000 
 C   57.11300000   65.43100000   32.85900000 
 C   57.51100000   65.99400000   31.50100000 
 H   57.49900000   67.06300000   31.54100000 
 H   56.81800000   65.65700000   30.75800000 
 H   58.49500000   65.65700000   31.24900000 
 H   57.16200000   64.36500000   32.79800000 
 C   55.69600000   65.79800000   33.25900000 
 H   55.47300000   66.77600000   32.88700000 
 H   55.67100000   65.77900000   34.32900000 
 C   54.65800000   64.83400000   32.74800000 
 H   54.87000000   64.62500000   31.72000000 
 H   53.70200000   65.29400000   32.88600000 
 C   54.62700000   63.52500000   33.50400000 
 H   54.39000000   63.72500000   34.52800000 
 H   55.58500000   63.05800000   33.40700000 
 C   53.58400000   62.56800000   32.93900000 
 C   54.25500000   61.27600000   32.51600000 
 H   55.14000000   61.50000000   31.95800000 
 H   53.58300000   60.70800000   31.90600000 
 H   54.51500000   60.70900000   33.38500000 
 H   52.81600000   62.34900000   33.65100000 
 C   52.89200000   63.20700000   31.75300000 
 H   52.94400000   64.27200000   31.84200000 
 H   51.86700000   62.90000000   31.73000000 
 H   53.37700000   62.90000000   30.84900000 
 Mg  60.15700000   59.67300000   25.66100000  
 N   65.20400000   60.82500000   35.58700000 
 C   66.53900000   61.03900000   35.19200000 
 C   67.58900000   60.23100000   35.63000000 
 C   69.10900000   60.29100000   35.35500000 
 C   69.68500000   59.08800000   36.11000000 
 C   68.60200000   58.47100000   36.86000000 
 C   68.26100000   57.51700000   37.76400000 
 C   69.18500000   56.54200000   38.49700000 
 H   69.90400000   57.09200000   39.06700000 
 H   69.69200000   55.92600000   37.78400000 
 H   68.60600000   55.92600000   39.15300000 
 O   70.88800000   58.80700000   36.02600000 
 C   69.75500000   61.55500000   35.94100000 
 O   70.74000000   62.09800000   35.35700000 
 O   69.25500000   62.09200000   37.17200000 
 C   69.83500000   63.27500000   37.73900000 
 H   69.38400000   64.14000000   37.29800000 
 H   70.88800000   63.28400000   37.54700000 
 H   69.66600000   63.28400000   38.79600000 
 H   69.56100000   60.34200000   34.38600000 
 C   67.40900000   59.16000000   36.49600000 
 N   66.32300000   58.60500000   37.10300000 
 C   66.81700000   57.60300000   37.89400000 
 C   65.99300000   56.78500000   38.68000000 
 H   66.46100000   56.07200000   39.26100000 
 C   64.58800000   56.88700000   38.77800000 
 C   63.75100000   56.06900000   39.60300000 
 C   62.47000000   56.50700000   39.47100000 
 C   61.21800000   55.93200000   40.20600000 
 H   60.61100000   56.73800000   40.56200000 
 H   61.53500000   55.33200000   41.03300000 
 H   60.65000000   55.33200000   39.52600000 
 C   64.23700000   54.90600000   40.46800000 
 C   63.75600000   53.61800000   39.81500000 
 H   63.13700000   53.85400000   38.97500000 
 H   63.19300000   53.04700000   40.52400000 
 H   64.60000000   53.04800000   39.48700000 
 H   63.83300000   54.99000000   41.45400000 
 H   65.30400000   54.91700000   40.54600000 
 N   63.78500000   57.79100000   38.10100000 
 C   62.48300000   57.60300000   38.53600000 
 C   61.36100000   58.37100000   38.16700000 
 H   60.45700000   58.12700000   38.60000000 
 C   61.38300000   59.48700000   37.31200000 
 C   60.25800000   60.33900000   36.94800000 
 C   60.72800000   61.27800000   36.09600000 
 C   59.97000000   62.38800000   35.43400000 
 H   60.35300000   63.33000000   35.76800000 
 H   58.93300000   62.31300000   35.68800000 
 H   60.08300000   62.31400000   34.37300000 
 C   58.87100000   60.40100000   37.28700000 
 C   58.34100000   59.51000000   38.16000000 
 H   57.83400000   59.84400000   38.99500000 
 H   58.44400000   58.49700000   37.99000000 
 H   58.24300000   61.11400000   36.88400000 
 N   62.50200000   59.98200000   36.68600000 
 C   62.14000000   61.06500000   35.94300000 
 C   62.98200000   61.86100000   35.19100000 
 H   62.51300000   62.65100000   34.72000000 
 C   64.36600000   61.77300000   35.01500000 
 C   65.17600000   62.72200000   34.16800000 
 C   65.09700000   64.10300000   34.85300000 
 H   65.18200000   64.87300000   34.11500000 
 H   65.89400000   64.19700000   35.56000000 
 H   64.16000000   64.19700000   35.35800000 
 H   64.78900000   62.78700000   33.16100000 
 C   66.61000000   62.21200000   34.26300000 
 H   67.27100000   62.91500000   34.75700000 
 C   67.11100000   61.85600000   32.88000000 
 H   66.50200000   61.06400000   32.49600000 
 H   68.13800000   61.57500000   32.98200000 
 C   67.06700000   63.02200000   31.88700000 
 H   66.15500000   63.57200000   31.99300000 
 H   67.02100000   62.53100000   30.93800000 
 C   68.26800000   63.95300000   31.99100000 
 O   69.07000000   64.01000000   31.02900000 
 O   68.47800000   64.77100000   33.10100000 
 C   68.66200000   66.21200000   32.87400000 
 H   67.98700000   66.53900000   32.11100000 
 H   69.67000000   66.42000000   32.58300000 
 C   68.37000000   66.91500000   34.10400000 
 H   69.07900000   66.81900000   34.84700000 
 C   67.28100000   67.69700000   34.43200000 
 C   66.13600000   67.99400000   33.44200000 
 H   66.01800000   69.05300000   33.34000000 
 H   65.22500000   67.56800000   33.81100000 
 H   66.37000000   67.56800000   32.48900000 
 C   67.12000000   68.38800000   35.79100000 
 H   67.28500000   69.43700000   35.65600000 
 H   67.82400000   67.94200000   36.46200000 
 C   65.72300000   68.19300000   36.41600000 
 H   65.21200000   67.40000000   35.91200000 
 H   65.14500000   69.09000000   36.33500000 
 C   65.90600000   67.83500000   37.86300000 
 H   66.43100000   68.64200000   38.33000000 
 H   66.41600000   66.89500000   37.87000000 
 C   64.62500000   67.59300000   38.66800000 
 C   64.53200000   66.11800000   39.07500000 
 H   64.29400000   66.04900000   40.11600000 
 H   65.47000000   65.63800000   38.89100000 
 H   63.76600000   65.63800000   38.50200000 
 H   63.71600000   67.74400000   38.12400000 
 C   64.59800000   68.61700000   39.81300000 
 H   63.68500000   69.15900000   39.68500000 
 H   65.50400000   69.16600000   39.66100000 
 C   64.70100000   68.34800000   41.32600000 
 H   63.76200000   68.59500000   41.77500000 
 H   65.50500000   68.95600000   41.68500000 
 C   65.04600000   66.89500000   41.69600000 
 H   65.85700000   66.58600000   41.07000000 
 H   64.15000000   66.31900000   41.59300000 
 C   65.48500000   66.69200000   43.15700000 
 C   66.59300000   67.68100000   43.56700000 
 H   66.24200000   68.68300000   43.43700000 
 H   67.45600000   67.52400000   42.95500000 
 H   66.85000000   67.52300000   44.59400000 
 H   64.60100000   66.94900000   43.70000000 
 C   65.81100000   65.21300000   43.47500000 
 H   66.86100000   65.05400000   43.34400000 
 H   65.24500000   64.65000000   42.76300000 
 C   65.41100000   64.74800000   44.87600000 
 H   64.37400000   64.48400000   44.85900000 
 H   65.60700000   65.61000000   45.47900000 
 C   66.19600000   63.58400000   45.49600000 
 H   65.50400000   62.82600000   45.79800000 
 H   66.67500000   64.03600000   46.33900000 
 C   67.29100000   62.93600000   44.62400000 
 C   68.00700000   61.83300000   45.38100000 
 H   68.67900000   62.26600000   46.09200000 
 H   68.55800000   61.22800000   44.69200000 
 H   67.28800000   61.22800000   45.89300000 
 H   68.00800000   63.65600000   44.29000000 
 C   66.67400000   62.33600000   43.37000000 
 H   66.35400000   63.12300000   42.71900000 
 H   65.83300000   61.73200000   43.64100000 
 H   67.40200000   61.73200000   42.86800000 
 Mg  64.44000000   59.19600000   36.67800000 
 N   57.75600000   43.30700000   46.36600000 
 C   57.28900000   42.81100000   47.59700000 
 C   56.29900000   41.80100000   47.69800000 
 C   55.65300000   41.09600000   48.92500000 
 C   54.60300000   40.14100000   48.31800000 
 C   54.67200000   40.25700000   46.88200000 
 C   54.16100000   39.82700000   45.71300000 
 C   53.05400000   38.78400000   45.51700000 
 H   52.12100000   39.28100000   45.35200000 
 H   52.98200000   38.17200000   46.39200000 
 H   53.28700000   38.17200000   44.67100000 
 O   53.87700000   39.43700000   49.01900000 
 C   54.99400000   42.09700000   49.86500000 
 O   55.40200000   42.24100000   51.05000000 
 O   53.93900000   42.89200000   49.35500000 
 C   53.30400000   43.86000000   50.20000000 
 H   53.55500000   44.84500000   49.86500000 
 H   53.63900000   43.72900000   51.20800000 
 H   52.24300000   43.72900000   50.15800000 
 H   56.21900000   40.56600000   49.66300000 
 C   55.67500000   41.23700000   46.58900000 
 N   55.80100000   41.42200000   45.25500000 
 C   54.90100000   40.56300000   44.68500000 
 C   54.75600000   40.45500000   43.29700000 
 H   54.01200000   39.82800000   42.95400000 
 C   55.50400000   41.16600000   42.33500000 
 C   55.41500000   40.99800000   40.90900000 
 C   56.32500000   41.86000000   40.34100000 
 C   56.65800000   42.06300000   38.82900000 
 H   56.70600000   43.11000000   38.61100000 
 H   55.89500000   41.60900000   38.23200000 
 H   57.60200000   41.61000000   38.60800000 
 C   54.47200000   40.00000000   40.18900000 
 C   55.31600000   39.03400000   39.37100000 
 H   55.97400000   39.58700000   38.73300000 
 H   54.67600000   38.41800000   38.77500000 
 H   55.89300000   38.41800000   40.02900000 
 H   53.79800000   40.52900000   39.55000000 
 H   53.89200000   39.47400000   40.91800000 
 N   56.43800000   42.14300000   42.60300000 
 C   56.95700000   42.56300000   41.39500000 
 C   57.97600000   43.49600000   41.19600000 
 H   58.25000000   43.69700000   40.22200000 
 C   58.67300000   44.17200000   42.19700000 
 C   59.76300000   45.13500000   41.99700000 
 C   60.14300000   45.53100000   43.24400000 
 C   61.21700000   46.49300000   43.67000000 
 H   60.87200000   47.49600000   43.53300000 
 H   62.09400000   46.33300000   43.07900000 
 H   61.45000000   46.33400000   44.70200000 
 C   60.42200000   45.65600000   40.80900000 
 C   61.43400000   46.56700000   40.80600000 
 H   61.22000000   47.57600000   40.80700000 
 H   62.41500000   46.24800000   40.80300000 
 H   60.09000000   45.30100000   39.89900000 
 N   58.44900000   44.02400000   43.54000000 
 C   59.31800000   44.83400000   44.19600000 
 C   59.40100000   44.98100000   45.56600000 
 H   60.06600000   45.70100000   45.88900000 
 C   58.69600000   44.30500000   46.56200000 
 C   58.86800000   44.55800000   48.02800000 
 C   58.28100000   45.95300000   48.31300000 
 H   58.96700000   46.70400000   47.98000000 
 H   58.11500000   46.06200000   49.36400000 
 H   57.35400000   46.06200000   47.79300000 
 H   59.90800000   44.52900000   48.32000000 
 C   57.98700000   43.52700000   48.72200000 
 H   57.23700000   43.98100000   49.35900000 
 C   58.92900000   42.62500000   49.52000000 
 H   58.59300000   42.60400000   50.53600000 
 H   59.91800000   43.02100000   49.42000000 
 C   58.97400000   41.18500000   48.99800000 
 H   58.50800000   41.11800000   48.03700000 
 H   58.34000000   40.66300000   49.68400000 
 C   60.38300000   40.59100000   48.95300000 
 O   60.67600000   39.68200000   49.74800000 
 O   61.25300000   40.82100000   47.89800000 
 C   62.25700000   39.78500000   47.66000000 
 H   62.70400000   39.50500000   48.59100000 
 H   63.01200000   40.11100000   46.97500000 
 C   61.57700000   38.65300000   47.10200000 
 H   60.61600000   38.85300000   46.78400000 
 C   61.99100000   37.35700000   46.92300000 
 C   63.37000000   36.84800000   47.38200000 
 H   64.00600000   37.68200000   47.59400000 
 H   63.80800000   36.25400000   46.60600000 
 H   63.25500000   36.25400000   48.26500000 
 C   61.08200000   36.26900000   46.31900000 
 H   61.61300000   35.79200000   45.52200000 
 H   60.15300000   36.69300000   46.00000000 
 C   60.74200000   35.19900000   47.38700000 
 H   59.68000000   35.09500000   47.46500000 
 H   61.13200000   35.52500000   48.32800000 
 C   61.35800000   33.86600000   47.01100000 
 H   62.41300000   34.01600000   46.91100000 
 H   60.85600000   33.55200000   46.12000000 
 C   61.14700000   32.70800000   48.01400000 
 C   62.21200000   32.71600000   49.10900000 
 H   62.45700000   33.72700000   49.36100000 
 H   63.08900000   32.21300000   48.75700000 
 H   61.83600000   32.21400000   49.97600000 
 H   61.23000000   31.71900000   47.61400000 
 C   59.76500000   32.78800000   48.62100000 
 H   59.71600000   33.75100000   49.08600000 
 H   59.50000000   31.95000000   49.23100000 
 C   58.61800000   32.76500000   47.63100000 
 H   58.62300000   31.81800000   47.13400000 
 H   58.59900000   33.59000000   46.95000000 
 C   57.34300000   32.85900000   48.47200000 
 H   57.12600000   33.89700000   48.61500000 
 H   57.56100000   32.31500000   49.36700000 
 C   56.06900000   32.19100000   47.89600000 
 C   55.06900000   33.27100000   47.44400000 
 H   55.48300000   34.24000000   47.63100000 
 H   54.15600000   33.16200000   47.99000000 
 H   54.87500000   33.16200000   46.39800000 
 H   55.59700000   31.60700000   48.65700000 
 C   56.43400000   31.25100000   46.76400000 
 H   56.71100000   31.83000000   45.90800000 
 H   55.58400000   30.63600000   46.55400000 
 C   57.59500000   30.34000000   47.14000000 
 H   58.42900000   30.95300000   47.41000000 
 H   57.79400000   29.72500000   46.28800000 
 C   57.29900000   29.41600000   48.28200000 
 H   57.07500000   30.00200000   49.14900000 
 H   58.16200000   28.80200000   48.43700000 
 C   56.11300000   28.49200000   47.99400000 
 C   54.88800000   29.35300000   47.69600000 
 H   55.15500000   30.38700000   47.76100000 
 H   54.11900000   29.13800000   48.40800000 
 H   54.53200000   29.13800000   46.71000000 
 H   55.91500000   27.88200000   48.85100000 
 C   56.42000000   27.53900000   46.85800000 
 H   56.65800000   28.09900000   45.97800000 
 H   55.56600000   26.92200000   46.66900000 
 H   57.25400000   26.92200000   47.12500000 
 Mg  56.98500000   42.87000000   44.50700000 
 N   48.09800000   49.88900000   18.63900000 
 C   49.17500000   48.99100000   18.59500000 
 C   50.08900000   48.82300000   19.67600000 
 C   51.29600000   47.87100000   19.81800000 
 C   51.82500000   48.12000000   21.23600000 
 C   50.97800000   49.11800000   21.86600000 
 C   50.71300000   49.80800000   23.01200000 
 C   51.44700000   49.71200000   24.35300000 
 H   51.64800000   50.69600000   24.72100000 
 H   52.36900000   49.18700000   24.21800000 
 H   50.83600000   49.18600000   25.05700000 
 O   52.75600000   47.45900000   21.68700000 
 C   52.35100000   48.16700000   18.74600000 
 O   52.56300000   49.35100000   18.35000000 
 O   53.01100000   47.08000000   18.11500000 
 C   53.95200000   47.36100000   17.08000000 
 H   54.05300000   48.42000000   16.96800000 
 H   53.60800000   46.93600000   16.16000000 
 H   54.90000000   46.93700000   17.33500000 
 H   51.22500000   46.81600000   19.65400000 
 C   50.01000000   49.50900000   20.89300000 
 N   49.16300000   50.44800000   21.40100000 
 C   49.55300000   50.64000000   22.70700000 
 C   48.86700000   51.52800000   23.58000000 
 H   49.26700000   51.66000000   24.52200000 
 C   47.69200000   52.27300000   23.25100000 
 C   46.95800000   53.13000000   24.14200000 
 C   45.87000000   53.61300000   23.46700000 
 C   44.77400000   54.55700000   24.03800000 
 H   45.06500000   55.57500000   23.88600000 
 H   44.65500000   54.37200000   25.08500000 
 H   43.84800000   54.37300000   23.53500000 
 C   47.34400000   53.41500000   25.59100000 
 C   47.12400000   52.14900000   26.38200000 
 H   46.84500000   52.39900000   27.38400000 
 H   48.02700000   51.57500000   26.39500000 
 H   46.34300000   51.57500000   25.92800000 
 H   46.73700000   54.20200000   25.98400000 
 H   48.36600000   53.72600000   25.64800000 
 N   47.05300000   52.28800000   22.02300000 
 C   45.91200000   53.06900000   22.13600000 
 C   44.92700000   53.25400000   21.13400000 
 H   44.13800000   53.88200000   21.35600000 
 C   44.90500000   52.63200000   19.85400000 
 C   43.85800000   52.75000000   18.82500000 
 C   44.25200000   51.99500000   17.76700000 
 C   43.52800000   51.76200000   16.45900000 
 H   43.28200000   52.70400000   16.01500000 
 H   42.63100000   51.20800000   16.64100000 
 H   44.15900000   51.20900000   15.79500000 
 C   42.59400000   53.44300000   18.71500000 
 C   42.13000000   54.21400000   19.73800000 
 H   42.16300000   55.24300000   19.66500000 
 H   41.74500000   53.76900000   20.58600000 
 H   42.01500000   53.37100000   17.86400000 
 N   45.87700000   51.79000000   19.36300000 
 C   45.51700000   51.40200000   18.10100000 
 C   46.20700000   50.55700000   17.25400000 
 H   45.77000000   50.43300000   16.32700000 
 C   47.37500000   49.84500000   17.47900000 
 C   48.00300000   48.86200000   16.51200000 
 C   48.58000000   49.65100000   15.31800000 
 H   48.48900000   50.70000000   15.50600000 
 H   48.04000000   49.39900000   14.42900000 
 H   49.61100000   49.40000000   15.19100000 
 H   47.25100000   48.16600000   16.16600000 
 C   49.15000000   48.22000000   17.29500000 
 H   50.07900000   48.20500000   16.73600000 
 C   48.63300000   46.79600000   17.57100000 
 H   49.42400000   46.10600000   17.36600000 
 H   47.76400000   46.61900000   16.97200000 
 C   48.20100000   46.61700000   19.05200000 
 H   47.78900000   47.52700000   19.43700000 
 H   49.17100000   46.50900000   19.49100000 
 C   47.27700000   45.42000000   19.38300000 
 O   47.47000000   44.31600000   18.82000000 
 O   46.38400000   45.47700000   20.47600000 
 C   45.78600000   44.23100000   20.94300000 
 H   46.03400000   43.44300000   20.26300000 
 H   44.72400000   44.35400000   20.98900000 
 C   46.28000000   43.89700000   22.26100000 
 H   47.12300000   43.30200000   22.25700000 
 C   45.81200000   44.24100000   23.51600000 
 C   44.59800000   45.17000000   23.73600000 
 H   44.91400000   46.19100000   23.67900000 
 H   44.17500000   44.98200000   24.70200000 
 H   43.86400000   44.98100000   22.98100000 
 C   46.46700000   43.72700000   24.81000000 
 H   45.92200000   42.86900000   25.14500000 
 H   46.49900000   44.50700000   25.54200000 
 C   47.92400000   43.30300000   24.54700000 
 H   48.48600000   44.14500000   24.20100000 
 H   47.85500000   42.58100000   23.76000000 
 C   48.61800000   42.68600000   25.75300000 
 H   49.47000000   43.29300000   25.97900000 
 H   48.84100000   41.69000000   25.43300000 
 C   47.81400000   42.51200000   27.05800000 
 C   47.28700000   43.83200000   27.63300000 
 H   47.75100000   44.65200000   27.12700000 
 H   47.51500000   43.88200000   28.67700000 
 H   46.22700000   43.88200000   27.49600000 
 H   46.91400000   41.97700000   26.83600000 
 C   48.60500000   41.61200000   28.00400000 
 H   49.61500000   41.65200000   27.65300000 
 H   48.11600000   40.66200000   27.94100000 
 C   48.70100000   41.76000000   29.52300000 
 H   49.69600000   42.07000000   29.76800000 
 H   48.43600000   40.82500000   29.97100000 
 C   47.72600000   42.80200000   30.07100000 
 H   46.89200000   42.84800000   29.40200000 
 H   48.29000000   43.70700000   30.15200000 
 C   47.17400000   42.54900000   31.48100000 
 C   46.79700000   43.85300000   32.20400000 
 H   47.10500000   44.69000000   31.61300000 
 H   47.28700000   43.88800000   33.15500000 
 H   45.73700000   43.88800000   32.34700000 
 H   46.27300000   42.00100000   31.30500000 
 C   48.11900000   41.63600000   32.29000000 
 H   49.07200000   41.60600000   31.80400000 
 H   47.64000000   40.68000000   32.25600000 
 C   48.32300000   42.01400000   33.75400000 
 H   47.95200000   43.00700000   33.90000000 
 H   49.37600000   41.93800000   33.92800000 
 C   47.64300000   41.09500000   34.76000000 
 H   47.99700000   40.09700000   34.60700000 
 H   46.59900000   41.17800000   34.54200000 
 C   47.84600000   41.47100000   36.24400000 
 C   48.73600000   42.68700000   36.42300000 
 H   48.15300000   43.57600000   36.30600000 
 H   49.51300000   42.67100000   35.68800000 
 H   49.16900000   42.67100000   37.40100000 
 H   48.26900000   40.64400000   36.77500000 
 C   46.49200000   41.74000000   36.88300000 
 H   46.33600000   42.79600000   36.95600000 
 H   46.46700000   41.30600000   37.86100000 
 H   45.72000000   41.30700000   36.28000000 
 Mg  47.69200000   51.28200000   20.29200000 
 N   35.72100000   59.05300000   33.38300000 
 C   36.42400000   60.22900000   33.18100000 
 C   37.83900000   60.30500000   33.14100000 
 C   38.78700000   61.50800000   32.90700000 
 C   40.21600000   60.93000000   32.98800000 
 C   40.10400000   59.48900000   33.19900000 
 C   40.76300000   58.30600000   33.34700000 
 C   42.28800000   58.08300000   33.33100000 
 H   42.78700000   59.02900000   33.32600000 
 H   42.55900000   57.53300000   32.45400000 
 H   42.57700000   57.53300000   34.20200000 
 O   41.20500000   61.63400000   32.80300000 
 C   38.50700000   62.58000000   33.95900000 
 O   38.48000000   63.80700000   33.62200000 
 O   38.20400000   62.14900000   35.30300000 
 C   37.88700000   63.10500000   36.32300000 
 H   38.00800000   64.09400000   35.93400000 
 H   38.54200000   62.96700000   37.15800000 
 H   36.87400000   62.96700000   36.63900000 
 H   38.71600000   62.13800000   32.04500000 
 C   38.70700000   59.20200000   33.29600000 
 N   38.48700000   57.87100000   33.47600000 
 C   39.70600000   57.28900000   33.52700000 
 C   39.84100000   55.88700000   33.69400000 
 H   40.80300000   55.51600000   33.74200000 
 C   38.75800000   54.94700000   33.81900000 
 C   38.90900000   53.54800000   33.98400000 
 C   37.66800000   52.99900000   34.07100000 
 C   37.29300000   51.48400000   34.29900000 
 H   36.38000000   51.42200000   34.85400000 
 H   38.07600000   51.00100000   34.84500000 
 H   37.16800000   51.00100000   33.35200000 
 C   40.26700000   52.87700000   33.99700000 
 C   40.93900000   53.04300000   32.65600000 
 H   41.04800000   54.08500000   32.43800000 
 H   40.34200000   52.58100000   31.89800000 
 H   41.90400000   52.58200000   32.68100000 
 H   40.16000000   51.83900000   34.22700000 
 H   40.84900000   53.32900000   34.77300000 
 N   37.40700000   55.23800000   33.77500000 
 C   36.71400000   54.05400000   33.92300000 
 C   35.30800000   53.89900000   33.90200000 
 H   34.93700000   52.93900000   33.96900000 
 C   34.36200000   54.94700000   33.79500000 
 C   32.90400000   54.82400000   33.78500000 
 C   32.42000000   56.06300000   33.67400000 
 C   30.98100000   56.50400000   33.58400000 
 H   30.93500000   57.57300000   33.58100000 
 H   30.43800000   56.12600000   34.42500000 
 H   30.54800000   56.12600000   32.68200000 
 C   31.97600000   53.72600000   33.77500000 
 C   32.40300000   52.41400000   33.80800000 
 H   33.41000000   52.20100000   33.88600000 
 H   31.71500000   51.64600000   33.75500000 
 H   30.96000000   53.90200000   33.74300000 
 N   34.68100000   56.28900000   33.70700000 
 C   33.51300000   56.96600000   33.62600000 
 C   33.36000000   58.32200000   33.51600000 
 H   32.39000000   58.67300000   33.54000000 
 C   34.36200000   59.29000000   33.40400000 
 C   34.05600000   60.75100000   33.28500000 
 C   33.46500000   61.20300000   34.61000000 
 H   33.44800000   62.27200000   34.64700000 
 H   34.06200000   60.82700000   35.41400000 
 H   32.46800000   60.82800000   34.70200000 
 H   33.34700000   60.92300000   32.48700000 
 C   35.43700000   61.36700000   33.05200000 
 H   35.66900000   62.15100000   33.76400000 
 C   35.35700000   61.91300000   31.61800000 
 H   35.68100000   62.93300000   31.62800000 
 H   34.32700000   61.80900000   31.34900000 
 C   36.17500000   61.15600000   30.55200000 
 H   36.35900000   60.14900000   30.86400000 
 H   37.12300000   61.65200000   30.53900000 
 C   35.49400000   61.17800000   29.17300000 
 O   34.81400000   62.15300000   28.87500000 
 O   35.78600000   60.22900000   28.17800000 
 C   34.87600000   60.11800000   27.04200000 
 H   34.86300000   61.04500000   26.50700000 
 H   33.88200000   59.84900000   27.33200000 
 C   35.41700000   59.07900000   26.18600000 
 H   34.95800000   58.16200000   26.30400000 
 C   36.42900000   59.10900000   25.25300000 
 C   37.02000000   60.42800000   24.70800000 
 H   36.52400000   61.25800000   25.16600000 
 H   36.88100000   60.47000000   23.64700000 
 H   38.06600000   60.47000000   24.93300000 
 C   37.06500000   57.83300000   24.66600000 
 H   37.82200000   58.12500000   23.96900000 
 H   36.27500000   57.27500000   24.20900000 
 C   37.71300000   56.90300000   25.72900000 
 H   38.17700000   57.49600000   26.48900000 
 H   38.45400000   56.28600000   25.26600000 
 C   36.64300000   56.04200000   26.34200000 
 H   35.90800000   56.69500000   26.76400000 
 H   37.15900000   55.42300000   27.04500000 
 C   35.90700000   55.05400000   25.40900000 
 C   35.07900000   55.80500000   24.35900000 
 H   35.19200000   56.85900000   24.50200000 
 H   34.04700000   55.54000000   24.46200000 
 H   35.41900000   55.54000000   23.38000000 
 H   35.16600000   54.48200000   25.92700000 
 C   36.91600000   54.04500000   24.89300000 
 H   37.71400000   54.62900000   24.48400000 
 H   36.27800000   53.44000000   24.28300000 
 C   37.59100000   52.96800000   25.71700000 
 H   38.19800000   53.44400000   26.45800000 
 H   38.16000000   52.37200000   25.03500000 
 C   36.61400000   52.01200000   26.43200000 
 H   35.89900000   52.61300000   26.95500000 
 H   37.23100000   51.39900000   27.05500000 
 C   35.82500000   51.01600000   25.54400000 
 C   34.94200000   51.78900000   24.54800000 
 H   35.07300000   52.84100000   24.69700000 
 H   33.91500000   51.53200000   24.70800000 
 H   35.22200000   51.53200000   23.54800000 
 H   35.18300000   50.42200000   26.15800000 
 C   36.77900000   50.07300000   24.83900000 
 H   37.50400000   50.64900000   24.30300000 
 H   36.20900000   49.45900000   24.17300000 
 C   37.50200000   49.16300000   25.82100000 
 H   38.02100000   49.77600000   26.52800000 
 H   38.16200000   48.54700000   25.24600000 
 C   36.59400000   48.23800000   26.57600000 
 H   35.90600000   48.82400000   27.14800000 
 H   37.20400000   47.62400000   27.20500000 
 C   35.80100000   47.31400000   25.64900000 
 C   34.98000000   48.17500000   24.69100000 
 H   35.15900000   49.20900000   24.90000000 
 H   33.94000000   47.96000000   24.82100000 
 H   35.26700000   47.96000000   23.68300000 
 H   35.13900000   46.70400000   26.22900000 
 C   36.71300000   46.36100000   24.90600000 
 H   37.42000000   46.92100000   24.33100000 
 H   36.13000000   45.74500000   24.25400000 
 H   37.23400000   45.74400000   25.61000000 
 Mg  36.58900000   57.17400000   33.47600000  
 N   49.50900000   63.88800000   21.84400000 
 C   50.47600000   63.67600000   22.84600000 
 C   51.22600000   62.49100000   22.95100000 
 C   52.29700000   62.04800000   23.99000000 
 C   52.70500000   60.63400000   23.51700000 
 C   51.90200000   60.30000000   22.34900000 
 C   51.62200000   59.34700000   21.41700000 
 C   52.26500000   57.95700000   21.28800000 
 H   53.33300000   58.04300000   21.07400000 
 H   51.80100000   57.38700000   20.47900000 
 H   52.13300000   57.41200000   22.22100000 
 O   53.57000000   59.95900000   24.11200000 
 C   51.66800000   61.98200000   25.39900000 
 O   50.79000000   61.12600000   25.69400000 
 O   52.04500000   62.95100000   26.36300000 
 C   51.45400000   62.92600000   27.67200000 
 H   51.33300000   63.97300000   27.93900000 
 H   52.12000000   62.41500000   28.37100000 
 H   50.49200000   62.41200000   27.65000000 
 H   53.17700000   62.69200000   24.01500000 
 C   51.07600000   61.42600000   22.07100000 
 N   50.29600000   61.20300000   20.98400000 
 C   50.59700000   59.92700000   20.57100000 
 C   49.97600000   59.31900000   19.46900000 
 H   50.24100000   58.29700000   19.26800000 
 C   48.98500000   59.92500000   18.64800000 
 C   48.33200000   59.29800000   17.54600000 
 C   47.44600000   60.20000000   16.99400000 
 C   46.51300000   59.94400000   15.78900000 
 O   45.75600000   60.84000000   15.33500000 
 H   46.53700000   58.94100000   15.34100000 
 C   48.58200000   57.84600000   17.05700000 
 C   50.07600000   57.64700000   16.85600000 
 H   50.63100000   58.57900000   16.78100000 
 H   50.28100000   57.06200000   15.95800000 
 H   50.51100000   57.10600000   17.70300000 
 H   48.02900000   57.66500000   16.13200000 
 H   48.20000000   57.15000000   17.80200000 
 N   48.50100000   61.22400000   18.78100000 
 C   47.55300000   61.41900000   17.79500000 
 C   46.80500000   62.59600000   17.56400000 
 H   46.14400000   62.54400000   16.72100000 
 C   46.84100000   63.76100000   18.37200000 
 C   46.08500000   65.00300000   18.15500000 
 C   46.40200000   65.84400000   19.18700000 
 C   45.88700000   67.23900000   19.44600000 
 H   46.59100000   67.99600000   19.09200000 
 H   45.72400000   67.41500000   20.51300000 
 H   44.94000000   67.41400000   18.93700000 
 C   45.14400000   65.47600000   17.15900000 
 C   44.78400000   64.69500000   16.10000000 
 H   44.46100000   65.07700000   15.14900000 
 H   44.81300000   63.61400000   16.18600000 
 H   44.73300000   66.46900000   17.27900000 
 N   47.60200000   63.91500000   19.51700000 
 C   47.36400000   65.16200000   20.02800000 
 C   47.95900000   65.69300000   21.16100000 
 H   47.66000000   66.69500000   21.43900000 
 C   48.94200000   65.13400000   21.99000000 
 C   49.52500000   65.82400000   23.20600000 
 C   48.36600000   65.81000000   24.23800000 
 H   48.05500000   66.81900000   24.51500000 
 H   48.66300000   65.28000000   25.14700000 
 H   47.50500000   65.29600000   23.80500000 
 H   49.86000000   66.84200000   23.00800000 
 C   50.61800000   64.88100000   23.72300000 
 H   50.53500000   64.66500000   24.78700000 
 C   51.99500000   65.47400000   23.39600000 
 H   52.00400000   65.66900000   22.32000000 
 H   52.74900000   64.70400000   23.55700000 
 C   52.49200000   66.75600000   24.10800000 
 H   52.72800000   67.53400000   23.38100000 
 H   53.39500000   66.53600000   24.67800000 
 C   51.54400000   67.31400000   25.16500000 
 O   51.35500000   66.67400000   26.21700000 
 O   50.98100000   68.58100000   25.03100000 
 C   50.81800000   69.40600000   26.23300000 
 H   51.20100000   70.38200000   25.92700000 
 H   51.44200000   68.99800000   27.02600000 
 C   49.41400000   69.43000000   26.54800000 
 H   48.79700000   69.96400000   25.82500000 
 C   48.76100000   68.88000000   27.61700000 
 C   49.50400000   68.07700000   28.70400000 
 H   50.00300000   68.70700000   29.43400000 
 H   50.26500000   67.45400000   28.22400000 
 H   48.81100000   67.40300000   29.22100000 
 C   47.23000000   68.90900000   27.76900000 
 H   46.95100000   68.08100000   28.42400000 
 H   46.78700000   68.68800000   26.79300000 
 C   46.64900000   70.22100000   28.32500000 
 H   46.06700000   70.74000000   27.55800000 
 H   47.45300000   70.90200000   28.62000000 
 C   45.79700000   69.87900000   29.52700000 
 H   46.46100000   69.40600000   30.26000000 
 H   45.07300000   69.10600000   29.24600000 
 C   45.05200000   71.05100000   30.19100000 
 C   43.58600000   70.99100000   29.77500000 
 H   43.15800000   71.98400000   29.65400000 
 H   42.99500000   70.50100000   30.55900000 
 H   43.41300000   70.41700000   28.86600000 
 H   45.48800000   71.99600000   29.85300000 
 C   45.10800000   70.94900000   31.70300000 
 H   45.61000000   71.83700000   32.07600000 
 H   45.70400000   70.08900000   32.01700000 
 C   43.74100000   70.86300000   32.36600000 
 H   43.16800000   69.99900000   32.03200000 
 H   43.14800000   71.76000000   32.18300000 
 C   43.97000000   70.72400000   33.87100000 
 H   44.47900000   69.76900000   34.06500000 
 H   42.98200000   70.61400000   34.33200000 
 C   44.70800000   71.83500000   34.57800000 
 C   46.22900000   71.67900000   34.45300000 
 H   46.72100000   72.65300000   34.41300000 
 H   46.50800000   71.12400000   33.55800000 
 H   46.67000000   71.16300000   35.29300000 
 H   44.43700000   72.76900000   34.06900000 
 C   44.18300000   71.93800000   36.02600000 
 H   43.31400000   71.28700000   36.14200000 
 H   43.81000000   72.95500000   36.19900000 
 C   45.15500000   71.61600000   37.16500000 
 H   45.54900000   70.59800000   37.04200000 
 H   44.55900000   71.58200000   38.08100000 
 C   46.31100000   72.58200000   37.36900000 
 H   45.90400000   73.58500000   37.56300000 
 H   46.92400000   72.67500000   36.47900000 
 C   47.23400000   72.20700000   38.54900000 
 C   48.38500000   73.18000000   38.72500000 
 H   48.03000000   74.21500000   38.67100000 
 H   49.15000000   73.05400000   37.95200000 
 H   48.86600000   73.04500000   39.69700000 
 H   47.64500000   71.20700000   38.35400000 
 C   46.43200000   72.16900000   39.83400000 
 H   46.21700000   73.18700000   40.17800000 
 H   46.98300000   71.66400000   40.63300000 
 H   45.48100000   71.64800000   39.72500000 
 Mg  49.11800000   62.66000000   20.24200000 
 N   59.09100000   54.28000000   50.03200000 
 C   58.39600000   54.46300000   51.25000000 
 C   58.73900000   53.77900000   52.41200000 
 C   58.14200000   53.81900000   53.84300000 
 C   59.00500000   52.82600000   54.65100000 
 C   59.99800000   52.27700000   53.75900000 
 C   61.02700000   51.42700000   53.64600000 
 C   61.63900000   50.53900000   54.74200000 
 H   62.08100000   51.15000000   55.53400000 
 H   62.42300000   49.89800000   54.33100000 
 H   60.86100000   49.91000000   55.17200000 
 O   58.80200000   52.61000000   55.84800000 
 C   56.66600000   53.40600000   53.86100000 
 O   56.17900000   52.64500000   52.95100000 
 O   55.83500000   53.96600000   54.89000000 
 C   54.43200000   53.65800000   54.98500000 
 H   53.94000000   54.62700000   55.01800000 
 H   54.23800000   53.08600000   55.89500000 
 H   54.10500000   53.08000000   54.11900000 
 H   58.24400000   54.81900000   54.26600000 
 C   59.79000000   52.86800000   52.47900000 
 N   60.67600000   52.39500000   51.57900000 
 C   61.44900000   51.52200000   52.26700000 
 C   62.49400000   50.81000000   51.67600000 
 H   62.97700000   50.07000000   52.28800000 
 C   62.89900000   50.92300000   50.33600000 
 C   64.00000000   50.20800000   49.75500000 
 C   64.11000000   50.62800000   48.45400000 
 C   65.20700000   50.16300000   47.44300000 
 O   65.24900000   50.64100000   46.30700000 
 H   65.93400000   49.40500000   47.76700000 
 C   64.88200000   49.15100000   50.49600000 
 C   65.98700000   49.82900000   51.29000000 
 H   65.94100000   50.91500000   51.25700000 
 H   66.97300000   49.52500000   50.93600000 
 H   65.92300000   49.55800000   52.34900000 
 H   65.29000000   48.43800000   49.77600000 
 H   64.22000000   48.59700000   51.15900000 
 N   62.29700000   51.72400000   49.37200000 
 C   63.03000000   51.57700000   48.19800000 
 C   62.75600000   52.23200000   46.97600000 
 H   63.37200000   51.91800000   46.15600000 
 C   61.72400000   53.17100000   46.75300000 
 C   61.39400000   53.85900000   45.49900000 
 C   60.37600000   54.68600000   45.75500000 
 C   59.67200000   55.60900000   44.79700000 
 H   59.85500000   56.65700000   45.04600000 
 H   58.58900000   55.45200000   44.81100000 
 H   60.01200000   55.45500000   43.77400000 
 C   61.88100000   53.84300000   44.15700000 
 C   62.91500000   53.02100000   43.83900000 
 H   63.88900000   53.36300000   43.53900000 
 H   62.78600000   51.94400000   43.87900000 
 H   61.42900000   54.47800000   43.40800000 
 N   60.84800000   53.62200000   47.70400000 
 C   60.02800000   54.53200000   47.13400000 
 C   59.00200000   55.20500000   47.74800000 
 H   58.49200000   55.95700000   47.16100000 
 C   58.56100000   55.11000000   49.06000000 
 C   57.41800000   55.92700000   49.62600000 
 C   56.14700000   55.64300000   48.79000000 
 H   55.65800000   56.56400000   48.46800000 
 H   55.42800000   55.05400000   49.36500000 
 H   56.42200000   55.07500000   47.89900000 
 H   57.74400000   56.96000000   49.50500000 
 C   57.28000000   55.46700000   51.08300000 
 H   56.41800000   54.82500000   51.25500000 
 C   57.27200000   56.65700000   52.05200000 
 H   58.19000000   57.22100000   51.86200000 
 H   57.31000000   56.38900000   53.10800000 
 C   56.08300000   57.62500000   51.87100000 
 H   55.74200000   58.00200000   52.83600000 
 H   55.23500000   57.16100000   51.36700000 
 C   56.43000000   58.80300000   50.95200000 
 O   57.61500000   59.16400000   50.85500000 
 O   55.45500000   59.59200000   50.31400000 
 C   55.09100000   59.27800000   48.91300000 
 H   54.13900000   59.79400000   48.77500000 
 H   54.93400000   58.20200000   48.88100000 
 C   56.12600000   59.75100000   48.00900000 
 H   56.88200000   60.36300000   48.50100000 
 C   56.29000000   59.54400000   46.64600000 
 C   55.29300000   58.73200000   45.80700000 
 H   54.61200000   59.35400000   45.23400000 
 H   54.69400000   58.10900000   46.47800000 
 H   55.82700000   58.05700000   45.12800000 
 C   57.44900000   60.15100000   45.83800000 
 H   58.14600000   60.59700000   46.55100000 
 H   57.06200000   60.97600000   45.23300000 
 C   58.20400000   59.14800000   44.94000000 
 H   57.50500000   58.45200000   44.46700000 
 H   58.88600000   58.54200000   45.54400000 
 C   58.99000000   59.93400000   43.90300000 
 H   59.61200000   60.64900000   44.45400000 
 H   58.27500000   60.54300000   43.33800000 
 C   59.87600000   59.13600000   42.90900000 
 C   59.99800000   59.84900000   41.55900000 
 H   59.98800000   60.93100000   41.67000000 
 H   59.13500000   59.60200000   40.92600000 
 H   60.88000000   59.55900000   40.99000000 
 H   59.42600000   58.15000000   42.76100000 
 C   61.26200000   59.00400000   43.50400000 
 H   61.44000000   57.95000000   43.69600000 
 H   61.25700000   59.50900000   44.47200000 
 C   62.42300000   59.53900000   42.68100000 
 H   62.33800000   60.60600000   42.48200000 
 H   62.57100000   59.02400000   41.73100000 
 C   63.65800000   59.31900000   43.55800000 
 H   63.33300000   58.95500000   44.54300000 
 H   64.09500000   60.30500000   43.75400000 
 C   64.74600000   58.40800000   43.02100000 
 C   64.80100000   58.45300000   41.49200000 
 H   64.81400000   59.48300000   41.13000000 
 H   63.94700000   57.94800000   41.04000000 
 H   65.68900000   57.99000000   41.08800000 
 H   65.71600000   58.76800000   43.38900000 
 C   64.54100000   57.00400000   43.59300000 
 H   63.87400000   56.44100000   42.93700000 
 H   64.02200000   57.06000000   44.55800000 
 C   65.79100000   56.16200000   43.80600000 
 H   65.58600000   55.11700000   43.53800000 
 H   66.00000000   56.14500000   44.87900000 
 C   67.04000000   56.63700000   43.07000000 
 H   67.29000000   57.65100000   43.41500000 
 H   66.85300000   56.72100000   42.00500000 
 C   68.29300000   55.74200000   43.26900000 
 C   68.01700000   54.52600000   44.13500000 
 H   67.69700000   54.82800000   45.13800000 
 H   68.90400000   53.89400000   44.24900000 
 H   67.22200000   53.91100000   43.70500000 
 H   69.02600000   56.38100000   43.78200000 
 C   68.86900000   55.30600000   41.92300000 
 H   69.12800000   56.18300000   41.31900000 
 H   68.14500000   54.71700000   41.35100000 
 H   69.76700000   54.69600000   42.02400000 
 Mg  60.57500000   52.91400000   49.65000000 
 N   70.19300000   42.60800000   34.83100000 
 C   69.08000000   43.35900000   34.44000000 
 C   69.08400000   44.20000000   33.30100000 
 C   67.99000000   45.10400000   32.71200000 
 C   68.60200000   45.75200000   31.45600000 
 C   69.92800000   45.19400000   31.27000000 
 C   71.03800000   45.14200000   30.46800000 
 C   71.28900000   45.84700000   29.14400000 
 H   71.26500000   46.93200000   29.27200000 
 H   70.52800000   45.57500000   28.40800000 
 H   72.26600000   45.55700000   28.76200000 
 O   67.94100000   46.54200000   30.76100000 
 C   67.52600000   46.18900000   33.66200000 
 O   68.34600000   46.81400000   34.41000000 
 O   66.15100000   46.52000000   33.62300000 
 C   65.65500000   47.54400000   34.48200000 
 H   65.93700000   48.47300000   33.99300000 
 H   66.11900000   47.46000000   35.46700000 
 H   64.57200000   47.46700000   34.58700000 
 H   67.13900000   44.48400000   32.42500000 
 C   70.15500000   44.32600000   32.40500000 
 N   71.38700000   43.76500000   32.33100000 
 C   71.94900000   44.23800000   31.15500000 
 C   73.22400000   43.85200000   30.73300000 
 H   73.62200000   44.34200000   29.86300000 
 C   74.05300000   42.93200000   31.41300000 
 C   75.33800000   42.51400000   30.95000000 
 C   75.81500000   41.59400000   31.85500000 
 C   77.16100000   40.81400000   31.80900000 
 O   77.40700000   39.99300000   32.70000000 
 H   77.87400000   40.99700000   30.99300000 
 C   75.99300000   43.04700000   29.66200000 
 C   75.47200000   42.25200000   28.49200000 
 H   75.10800000   42.87000000   27.67500000 
 H   74.66200000   41.58600000   28.79400000 
 H   76.26500000   41.62800000   28.06600000 
 H   77.08100000   42.97300000   29.74100000 
 H   75.74900000   44.10200000   29.54600000 
 N   73.77800000   42.30100000   32.61600000 
 C   74.83400000   41.45900000   32.89700000 
 C   74.95000000   40.60300000   34.00400000 
 H   75.88900000   40.08900000   34.07200000 
 C   73.98200000   40.43100000   35.01400000 
 C   74.08100000   39.54900000   36.17800000 
 C   72.93000000   39.68800000   36.88500000 
 C   72.52400000   38.99700000   38.16100000 
 H   72.27500000   39.71800000   38.94300000 
 H   73.32600000   38.36000000   38.54500000 
 H   71.64800000   38.36700000   38.01100000 
 C   75.06800000   38.63200000   36.67800000 
 C   76.23400000   38.43500000   36.00200000 
 H   76.86300000   39.22700000   35.63700000 
 H   76.58200000   37.42700000   35.80000000 
 H   74.86700000   38.10300000   37.59900000 
 N   72.76600000   41.06300000   35.06300000 
 C   72.09900000   40.63400000   36.18600000 
 C   70.82400000   41.00700000   36.59900000 
 H   70.42900000   40.51100000   37.47600000 
 C   69.92300000   41.88400000   35.97800000 
 C   68.50100000   42.16300000   36.43400000 
 C   68.51300000   42.88900000   37.79400000 
 H   68.51200000   43.97400000   37.67600000 
 H   69.39400000   42.60700000   38.37600000 
 H   67.62200000   42.60800000   38.36000000 
 H   68.00000000   41.19800000   36.51000000 
 C   67.92000000   43.09900000   35.37800000 
 H   67.47600000   44.00100000   35.79700000 
 C   66.85700000   42.24300000   34.69300000 
 H   65.97900000   42.88200000   34.56000000 
 H   66.50300000   41.37600000   35.25000000 
 C   67.28300000   41.74600000   33.30600000 
 H   68.30600000   41.36600000   33.33000000 
 H   67.23000000   42.53700000   32.55800000 
 C   66.35200000   40.67500000   32.74400000 
 O   65.14100000   40.70900000   33.00600000 
 O   66.79500000   39.77200000   31.80400000 
 C   65.80800000   38.97300000   31.10400000 
 H   65.82400000   39.37800000   30.09000000 
 H   64.80900000   39.07000000   31.52300000 
 C   66.34000000   37.66200000   31.18200000 
 H   67.32700000   37.60000000   30.72500000 
 C   65.84500000   36.51300000   31.71100000 
 C   64.44100000   36.41900000   32.33700000 
 H   63.99600000   37.39000000   32.53500000 
 H   64.51500000   35.88400000   33.28800000 
 H   63.77300000   35.84000000   31.69000000 
 C   66.71800000   35.22800000   31.71300000 
 H   66.17200000   34.46200000   31.15900000 
 H   66.91000000   34.80800000   32.70500000 
 C   68.06200000   35.52800000   30.99500000 
 H   67.95900000   36.38900000   30.32800000 
 H   68.28900000   34.66700000   30.35900000 
 C   69.17400000   35.73600000   31.99400000 
 H   69.53000000   36.76400000   31.86000000 
 H   70.03400000   35.09600000   31.76700000 
 C   68.75400000   35.52100000   33.48300000 
 C   69.85900000   34.93300000   34.36000000 
 H   70.45600000   35.70900000   34.83400000 
 H   70.55500000   34.35000000   33.74300000 
 H   69.49200000   34.25100000   35.12500000 
 H   67.96100000   34.77900000   33.35000000 
 C   68.22700000   36.72700000   34.12300000 
 H   67.16500000   36.57600000   34.28900000 
 H   68.32600000   37.57100000   33.43800000 
 C   68.86700000   37.10000000   35.45200000 
 H   69.90800000   37.40200000   35.34500000 
 H   68.81200000   36.32300000   36.21600000 
 C   68.07500000   38.30700000   35.92600000 
 H   67.34600000   38.57900000   35.15000000 
 H   68.75800000   39.16200000   35.98100000 
 C   67.34200000   38.16900000   37.29600000 
 C   66.56700000   36.86400000   37.37200000 
 H   65.49600000   37.04900000   37.47700000 
 H   66.88600000   36.25100000   38.21400000 
 H   66.67300000   36.25800000   36.48400000 
 H   68.10100000   38.14000000   38.08900000 
 C   66.43500000   39.40700000   37.57400000 
 H   66.23200000   39.92400000   36.63400000 
 H   66.87800000   40.16400000   38.23300000 
 C   65.09200000   39.01600000   38.18200000 
 H   65.19100000   38.81200000   39.25600000 
 H   65.07400000   38.03200000   37.70600000 
 C   63.73000000   39.72800000   37.91500000 
 H   63.19100000   39.83100000   38.86900000 
 H   63.20700000   38.95800000   37.35800000 
 C   63.58700000   41.07000000   37.13600000 
 C   62.85100000   40.74200000   35.85500000 
 H   62.55200000   41.65700000   35.33400000 
 H   61.94300000   40.15900000   36.04200000 
 H   63.48500000   40.16700000   35.17600000 
 H   62.99000000   41.79200000   37.71100000 
 C   64.89200000   41.69900000   36.77200000 
 H   64.80700000   42.79100000   36.79600000 
 H   65.20200000   41.41800000   35.76100000 
 H   65.70200000   41.41400000   37.44400000 
 Mg  72.05300000   42.58300000   33.80300000 
 N   72.55200000   53.26900000   37.29600000 
 C   72.28600000   54.03300000   36.14500000 
 C   70.96700000   54.26000000   35.64900000 
 C   70.45100000   55.06600000   34.42300000 
 C   68.92400000   54.90200000   34.45200000 
 C   68.57900000   54.19500000   35.67200000 
 C   67.56400000   53.78100000   36.48000000 
 C   66.05900000   54.02100000   36.30400000 
 H   65.83800000   55.09100000   36.27800000 
 H   65.49500000   53.57800000   37.12900000 
 H   65.72900000   53.56800000   35.37000000 
 O   68.20500000   55.38600000   33.59400000 
 C   71.05200000   54.58500000   33.11200000 
 O   71.59800000   53.45400000   33.02700000 
 O   71.07800000   55.47900000   32.01800000 
 C   71.69200000   55.06300000   30.78000000 
 H   71.94400000   55.99100000   30.27300000 
 H   70.98400000   54.47300000   30.19400000 
 H   72.58400000   54.46600000   30.97400000 
 H   70.70800000   56.11500000   34.57700000 
 C   69.81300000   53.80100000   36.28400000 
 N   69.58000000   53.09900000   37.41800000 
 C   68.21700000   53.09000000   37.57300000 
 C   67.60000000   52.48100000   38.66900000 
 H   66.52500000   52.45600000   38.65300000 
 C   68.26100000   51.84300000   39.74100000 
 C   67.60800000   51.25700000   40.86100000 
 C   68.57900000   50.76700000   41.71300000 
 C   68.33900000   50.04500000   43.07600000 
 O   69.29400000   49.65300000   43.75300000 
 H   68.49600000   50.55400000   42.11500000 
 C   66.08200000   51.21700000   41.02900000 
 C   65.72100000   52.10200000   42.20000000 
 H   65.78900000   53.16400000   41.97800000 
 H   66.35800000   51.89900000   43.06200000 
 H   64.68600000   51.92700000   42.51100000 
 H   65.75300000   50.18700000   41.19200000 
 H   65.59800000   51.57000000   40.12000000 
 N   69.62600000   51.68000000   39.89000000 
 C   69.85400000   51.06400000   41.11500000 
 C   71.11200000   50.81600000   41.69400000 
 H   71.07500000   50.28900000   42.62800000 
 C   72.36300000   51.18500000   41.14400000 
 C   73.67800000   50.98800000   41.75500000 
 C   74.60100000   51.44500000   40.87700000 
 C   76.09200000   51.45500000   41.03800000 
 H   76.48200000   52.47500000   41.08000000 
 H   76.58900000   50.94700000   40.20600000 
 H   76.39600000   50.95400000   41.95600000 
 C   74.14800000   50.46200000   43.00400000 
 C   73.26600000   50.02600000   43.93900000 
 H   72.67700000   50.67300000   44.56300000 
 H   73.11900000   48.96200000   44.09400000 
 H   75.21300000   50.41900000   43.18600000 
 N   72.55300000   51.81100000   39.92600000 
 C   73.89500000   51.97400000   39.73100000 
 C   74.49400000   52.57600000   38.64500000 
 H   75.57300000   52.65400000   38.67100000 
 C   73.90200000   53.19600000   37.54800000 
 C   74.64800000   53.92500000   36.47600000 
 C   75.43100000   52.87800000   35.67500000 
 H   76.12200000   53.34000000   34.96800000 
 H   74.75100000   52.22900000   35.11700000 
 H   76.01100000   52.25900000   36.36300000 
 H   75.32200000   54.63600000   36.95400000 
 C   73.57800000   54.56200000   35.58200000 
 H   73.71100000   54.34100000   34.52400000 
 C   73.72300000   56.09200000   35.84800000 
 H   73.69100000   56.58400000   34.87100000 
 H   74.68200000   56.37300000   36.28300000 
 C   72.61200000   56.73100000   36.73300000 
 H   72.18900000   55.99200000   37.41500000 
 H   71.81500000   57.09100000   36.08200000 
 C   73.01800000   58.00600000   37.53100000 
 O   73.82300000   58.82600000   37.02800000 
 O   72.40600000   58.32300000   38.76800000 
 C   72.17000000   59.72000000   39.15900000 
 H   72.29100000   60.27100000   38.22400000 
 H   72.95600000   60.00200000   39.85600000 
 C   70.82100000   59.82700000   39.71100000 
 H   70.05600000   59.78100000   38.93600000 
 C   70.37100000   59.97200000   41.01400000 
 C   71.32500000   60.04800000   42.21300000 
 H   71.56000000   61.06600000   42.50800000 
 H   72.26300000   59.55200000   41.94900000 
 H   70.90400000   59.51000000   43.07000000 
 C   68.87800000   60.08400000   41.39300000 
 H   68.81700000   60.68000000   42.30600000 
 H   68.46600000   59.10200000   41.64200000 
 C   68.02400000   60.75100000   40.28100000 
 H   68.09800000   60.18600000   39.34700000 
 H   68.48300000   61.72600000   40.09200000 
 C   66.57300000   60.93500000   40.70600000 
 H   66.58200000   61.59100000   41.58400000 
 H   66.12200000   59.99600000   41.04600000 
 C   65.68300000   61.55600000   39.61000000 
 C   66.05700000   63.00000000   39.28200000 
 H   65.43800000   63.71200000   39.82500000 
 H   65.88300000   63.19800000   38.21600000 
 H   67.10600000   63.23100000   39.46300000 
 H   65.93100000   60.91400000   38.76000000 
 C   64.21300000   61.46600000   39.93000000 
 H   64.11800000   61.12400000   40.95600000 
 H   63.72800000   60.71900000   39.29800000 
 C   63.46300000   62.77500000   39.79700000 
 H   63.54900000   63.20700000   38.80100000 
 H   63.80700000   63.51400000   40.52200000 
 C   61.98600000   62.48200000   40.05800000 
 H   61.76800000   62.67600000   41.11800000 
 H   61.80400000   61.40900000   39.92700000 
 C   60.98700000   63.25700000   39.18400000 
 C   61.39600000   64.72100000   38.99900000 
 H   60.61300000   65.39500000   39.35300000 
 H   61.59600000   64.95800000   37.95400000 
 H   62.28300000   64.98500000   39.55600000 
 H   61.01200000   62.78800000   38.19200000 
 C   59.55600000   63.09300000   39.72700000 
 H   59.04300000   62.31200000   39.16200000 
 H   58.96000000   64.00100000   39.57500000 
 C   59.45400000   62.73300000   41.20300000 
 H   60.04600000   63.43900000   41.80000000 
 H   59.95900000   61.77000000   41.31800000 
 C   58.05300000   62.62500000   41.79100000 
 H   57.98200000   63.29300000   42.66200000 
 H   57.89500000   61.62100000   42.17100000 
 C   56.89600000   62.96200000   40.84200000 
 C   55.56900000   62.77300000   41.54800000 
 H   55.11600000   63.74000000   41.78900000 
 H   55.67900000   62.21900000   42.48600000 
 H   54.86400000   62.22600000   40.91700000 
 H   56.92400000   62.30400000   39.96200000 
 C   57.01100000   64.40800000   40.38300000 
 H   56.80200000   65.08900000   41.21600000 
 H   56.29200000   64.63300000   39.59000000 
 H   58.00000000   64.65200000   39.99500000 
 Mg  71.08800000   52.28100000   38.49000000  
 N   65.67200000   43.30700000   46.51200000 
 C   66.06300000   42.01400000   46.89400000 
 C   65.59800000   41.35500000   48.02800000 
 C   65.86700000   39.92000000   48.55300000 
 C   65.08100000   39.82600000   49.88300000 
 C   64.34300000   41.08300000   50.02800000 
 C   63.45400000   41.79000000   50.78000000 
 C   62.73500000   41.35000000   52.06800000 
 H   62.41200000   42.21900000   52.64700000 
 H   63.39700000   40.75000000   52.69800000 
 H   61.86300000   40.75300000   51.80700000 
 O   65.13000000   38.80700000   50.60300000 
 C   67.34300000   39.63100000   48.77000000 
 O   68.18700000   40.58200000   48.89500000 
 O   67.75200000   38.26900000   48.78800000 
 C   69.12500000   37.94600000   49.02400000 
 H   69.62300000   38.90800000   49.11000000 
 H   69.52100000   37.37100000   48.18500000 
 H   69.23200000   37.36500000   49.94100000 
 H   65.45800000   39.20600000   47.83700000 
 C   64.71800000   41.91800000   48.92100000 
 N   64.10400000   43.11700000   48.96500000 
 C   63.31400000   43.07600000   50.09000000 
 C   62.51100000   44.14600000   50.48100000 
 H   61.99600000   44.05500000   51.42000000 
 C   62.36200000   45.34700000   49.75900000 
 C   61.46100000   46.40000000   50.13300000 
 C   61.53700000   47.36900000   49.17500000 
 C   60.68800000   48.68600000   49.17500000 
 O   59.87400000   48.90500000   50.11000000 
 H   60.81600000   49.40500000   48.35400000 
 C   60.54900000   46.36700000   51.37800000 
 C   61.31900000   46.79900000   52.60200000 
 H   61.38800000   47.87800000   52.71200000 
 H   62.33300000   46.39800000   52.59500000 
 H   60.83200000   46.43600000   53.51300000 
 H   60.13000000   45.36600000   51.50500000 
 H   59.71700000   47.04400000   51.19100000 
 N   63.02100000   45.69300000   48.57900000 
 C   62.51900000   46.92900000   48.18400000 
 C   62.87500000   47.62500000   47.00800000 
 H   62.40500000   48.58300000   46.89900000 
 C   63.79000000   47.17900000   46.02800000 
 C   64.14600000   47.88400000   44.79500000 
 C   65.06900000   47.09700000   44.14000000 
 C   65.79900000   47.32500000   42.83300000 
 H   65.91700000   48.39100000   42.62300000 
 H   65.26100000   46.88100000   41.99000000 
 H   66.79600000   46.88700000   42.85300000 
 C   63.69000000   49.14300000   44.22700000 
 C   64.07300000   49.63100000   43.01200000 
 H   64.14700000   50.67700000   42.77600000 
 H   64.32700000   48.94900000   42.20700000 
 H   63.00000000   49.69300000   44.85100000 
 N   64.47500000   45.98600000   46.05900000 
 C   65.25400000   45.90700000   44.94100000 
 C   66.08300000   44.85100000   44.62200000 
 H   66.60200000   44.90800000   43.67400000 
 C   66.28600000   43.65000000   45.32000000 
 C   67.19600000   42.51000000   44.86400000 
 C   68.67100000   42.97700000   44.93200000 
 H   68.75300000   44.06500000   44.93600000 
 H   69.23900000   42.59200000   44.08100000 
 H   69.12600000   42.59900000   45.85000000 
 H   66.92500000   42.21500000   43.85000000 
 C   67.00200000   41.42900000   45.90900000 
 H   67.92300000   41.15100000   46.42000000 
 C   66.34800000   40.21500000   45.28900000 
 H   65.42300000   40.56300000   44.82100000 
 H   66.03800000   39.47800000   46.02900000 
 C   67.15300000   39.47400000   44.22500000 
 H   67.93600000   38.86900000   44.68500000 
 H   67.60700000   40.08200000   43.44300000 
 C   66.19600000   38.56900000   43.44800000 
 O   66.59900000   37.96100000   42.43700000 
 O   64.86100000   38.40800000   43.82600000 
 C   64.04800000   39.60700000   44.05600000 
 H   64.74200000   40.42800000   43.86000000 
 H   63.74100000   39.62800000   45.09900000 
 C   62.95300000   39.56400000   43.12400000 
 H   62.58600000   40.54200000   42.81300000 
 C   62.32000000   38.47600000   42.58700000 
 C   61.15100000   38.62000000   41.59200000 
 H   60.89800000   39.65400000   41.37700000 
 H   60.26400000   38.14100000   42.01900000 
 H   61.38100000   38.10100000   40.65500000 
 C   62.71100000   37.02500000   42.91900000 
 H   63.54200000   37.06400000   43.62600000 
 H   63.10600000   36.56300000   42.00900000 
 C   61.58200000   36.15700000   43.50200000 
 H   60.78600000   36.78600000   43.91300000 
 H   61.95500000   35.54700000   44.32900000 
 C   61.06400000   35.26400000   42.39600000 
 H   60.69300000   35.92500000   41.60400000 
 H   60.18500000   34.71800000   42.75700000 
 C   62.07000000   34.26400000   41.80000000 
 C   63.19500000   35.04800000   41.13300000 
 H   63.04700000   36.12200000   41.22000000 
 H   63.21400000   34.83100000   40.05600000 
 H   64.18500000   34.79400000   41.50800000 
 H   61.56500000   33.64400000   41.05300000 
 C   62.68700000   33.39800000   42.88100000 
 H   63.11500000   34.05900000   43.62900000 
 H   63.50500000   32.79500000   42.48100000 
 C   61.69500000   32.47600000   43.57300000 
 H   60.92200000   33.02200000   44.11300000 
 H   62.19200000   31.80300000   44.27400000 
 C   61.01200000   31.64000000   42.49000000 
 H   60.55200000   32.31800000   41.75800000 
 H   60.16900000   31.12900000   42.96800000 
 C   61.84500000   30.61200000   41.76200000 
 C   62.89000000   31.26700000   40.84900000 
 H   62.83000000   32.35600000   40.90200000 
 H   62.76000000   30.97300000   39.80800000 
 H   63.90400000   31.01700000   41.12200000 
 H   61.16000000   30.04900000   41.11500000 
 C   62.41800000   29.61500000   42.79300000 
 H   62.87500000   30.17000000   43.61500000 
 H   63.23800000   29.05400000   42.32900000 
 C   61.46000000   28.58900000   43.40500000 
 H   60.64400000   29.10500000   43.92700000 
 H   62.01900000   28.07300000   44.19000000 
 C   60.87600000   27.55200000   42.45900000 
 H   60.36700000   28.07200000   41.63400000 
 H   60.11900000   26.94300000   42.94200000 
 C   61.93100000   26.60600000   41.84600000 
 C   63.07200000   27.35300000   41.18200000 
 H   62.92800000   28.43500000   41.26500000 
 H   63.15400000   27.11400000   40.11600000 
 H   64.02700000   27.10800000   41.65400000 
 H   61.43100000   25.98400000   41.09000000 
 C   62.50300000   25.70900000   42.92400000 
 H   62.93100000   26.31200000   43.73200000 
 H   63.30200000   25.07300000   42.53200000 
 H   61.75700000   25.04600000   43.36400000 
 Mg  64.50800000   44.53600000   47.59100000 
 N   64.15500000   33.23600000   56.11600000 
 C   63.91300000   32.29100000   55.09500000 
 C   64.25100000   32.51200000   53.73300000 
 C   64.12500000   31.60500000   52.48500000 
 C   64.63900000   32.45700000   51.30700000 
 C   65.07200000   33.73300000   51.84100000 
 C   65.61400000   34.94300000   51.53700000 
 C   66.06000000   35.44600000   50.15100000 
 H   66.07000000   36.53900000   50.12000000 
 H   65.38100000   35.09100000   49.37100000 
 H   67.06200000   35.07600000   49.93900000 
 O   64.66100000   32.02400000   50.14500000 
 C   62.71100000   31.08900000   52.21000000 
 O   62.44500000   29.84400000   52.34200000 
 O   61.72100000   32.00900000   51.75600000 
 C   60.41800000   31.52100000   51.43000000 
 H   59.81900000   32.41600000   51.28000000 
 H   60.02900000   30.92000000   52.25500000 
 H   60.45000000   30.91200000   50.52500000 
 H   64.79600000   30.75900000   52.64300000 
 C   64.82200000   33.69700000   53.25200000 
 N   65.20700000   34.85300000   53.84200000 
 C   65.68900000   35.64700000   52.81700000 
 C   66.18300000   36.93600000   53.04500000 
 H   66.48900000   37.50700000   52.18700000 
 C   66.25500000   37.55300000   54.30900000 
 C   66.73600000   38.88000000   54.51500000 
 C   66.67800000   39.14800000   55.86000000 
 C   67.06900000   40.48800000   56.54300000 
 O   66.95900000   40.60500000   57.76400000 
 H   67.44000000   41.31700000   55.92500000 
 C   67.22400000   39.79700000   53.38200000 
 C   68.68900000   39.50800000   53.12700000 
 H   69.29600000   40.40400000   53.02100000 
 H   68.82400000   38.90500000   52.22800000 
 H   69.12300000   38.94900000   53.96200000 
 H   67.06700000   40.84300000   53.65700000 
 H   66.63500000   39.60800000   52.48600000 
 N   65.90400000   36.99700000   55.54000000 
 C   66.15100000   37.96200000   56.52400000 
 C   65.94400000   37.80400000   57.92500000 
 H   66.22700000   38.65400000   58.51500000 
 C   65.37200000   36.66400000   58.56700000 
 C   65.13800000   36.45800000   60.01700000 
 C   64.54000000   35.24700000   60.14700000 
 C   64.08400000   34.58300000   61.41800000 
 H   63.81200000   35.32000000   62.17800000 
 H   64.86700000   33.94800000   61.84200000 
 H   63.21000000   33.95600000   61.24800000 
 C   65.37700000   37.19900000   61.23800000 
 C   65.98200000   38.42000000   61.23200000 
 H   65.45400000   39.35700000   61.23700000 
 H   67.06500000   38.49100000   61.22100000 
 H   65.05600000   36.74600000   62.16500000 
 N   64.91800000   35.53400000   57.90200000 
 C   64.41100000   34.66400000   58.82900000 
 C   63.85300000   33.42800000   58.56800000 
 H   63.52400000   32.85400000   59.42400000 
 C   63.72700000   32.76000000   57.34500000 
 C   63.11900000   31.38200000   57.17800000 
 C   61.63300000   31.46200000   57.58600000 
 H   61.29200000   32.49400000   57.68000000 
 H   61.46500000   30.95600000   58.54000000 
 H   61.02400000   30.97100000   56.82400000 
 H   63.67100000   30.71300000   57.83900000 
 C   63.26100000   31.06400000   55.68000000 
 H   62.30600000   30.98100000   55.16300000 
 C   64.08900000   29.78700000   55.49700000 
 H   65.11100000   30.10600000   55.27100000 
 H   63.74000000   29.27600000   54.60000000 
 C   64.16800000   28.72900000   56.62400000 
 H   64.23600000   29.21000000   57.60100000 
 H   65.05300000   28.10800000   56.48700000 
 C   63.03000000   27.71200000   56.63300000 
 O   61.85100000   28.11200000   56.64300000 
 O   63.28200000   26.34200000   56.63100000 
 C   64.67600000   25.88500000   56.62000000 
 H   65.24900000   26.81400000   56.61500000 
 H   64.85800000   25.33600000   55.69900000 
 C   64.87800000   25.10700000   57.81400000 
 H   65.03100000   25.69700000   58.71700000 
 C   64.90300000   23.74700000   57.96300000 
 C   65.13500000   23.08000000   59.33400000 
 H   65.27100000   23.79500000   60.13900000 
 H   66.03700000   22.46400000   59.27700000 
 H   64.30100000   22.41200000   59.57900000 
 C   64.70500000   22.76700000   56.79300000 
 H   64.55200000   23.36300000   55.89100000 
 H   63.77100000   22.22200000   56.96000000 
 C   65.85900000   21.77500000   56.56400000 
 H   66.79500000   22.30900000   56.37800000 
 H   65.66800000   21.16300000   55.67700000 
 C   65.96200000   20.89100000   57.78700000 
 H   66.03400000   21.55900000   58.65400000 
 H   66.91200000   20.34500000   57.75800000 
 C   64.81200000   19.89200000   58.00500000 
 C   63.52700000   20.67700000   58.24900000 
 H   63.69700000   21.75100000   58.21700000 
 H   63.14200000   20.46100000   59.25400000 
 H   62.72400000   20.42400000   57.55900000 
 H   65.03100000   19.27200000   58.88000000 
 C   64.59900000   19.02600000   56.77900000 
 H   64.45200000   19.68700000   55.93000000 
 H   63.69400000   18.42300000   56.87600000 
 C   65.76800000   18.10300000   56.46500000 
 H   66.67800000   18.65000000   56.22100000 
 H   65.53900000   17.43100000   55.63800000 
 C   66.04100000   17.26800000   57.71700000 
 H   66.22500000   17.94600000   58.56200000 
 H   66.99600000   16.75700000   57.55300000 
 C   65.01000000   16.24000000   58.11700000 
 C   63.71700000   16.89500000   58.62000000 
 H   63.79200000   17.98400000   58.59100000 
 H   63.48400000   16.60100000   59.64400000 
 H   62.85600000   16.64500000   58.01800000 
 H   65.43400000   15.67700000   58.95900000 
 C   64.82200000   15.24300000   56.95300000 
 H   64.67300000   15.79700000   56.02400000 
 H   63.89300000   14.68200000   57.11000000 
 C   65.93100000   14.21600000   56.70400000 
 H   66.87600000   14.73300000   56.49100000 
 H   65.67300000   13.70100000   55.77500000 
 C   66.15800000   13.18000000   57.79200000 
 H   66.35700000   13.70000000   58.74000000 
 H   67.03500000   12.57100000   57.59500000 
 C   64.95800000   12.23400000   58.01000000 
 C   63.65900000   12.98100000   58.24500000 
 H   63.82200000   14.06300000   58.21600000 
 H   63.21900000   12.74200000   59.22000000 
 H   62.92100000   12.73600000   57.47700000 
 H   65.17100000   11.61100000   58.89000000 
 C   64.78700000   11.33700000   56.80100000 
 H   64.65900000   11.94000000   55.89500000 
 H   63.90200000   10.70100000   56.89800000 
 H   65.63800000   10.67400000   56.64100000 
 Mg  65.13400000   35.03300000   55.85600000 

Getting `CUDA error: no CUDA-capable device is detected` for TeraChem energy calculation

ChemCloud version: 0.8.2

input.toml:

calctype = "energy"

[extras]

[files]

[keywords]

[model]
method = "B3LYP"
basis = "6-31g"

[molecule]
symbols = [ "H", "H",]
geometry = [ [ 0.0, 0.0, 0.0,], [ 1.3889487024901424, 0.0, 0.0,],]
charge = 0
multiplicity = 1
connectivity = []

[molecule.extras]

[molecule.identifiers.extras]

Calculation setup:

from chemcloud import CCClient
from qcio import Molecule, ProgramInput
from ase.units import Bohr

client = CCClient()
mol = Molecule(symbols=['H', 'H'], geometry=[0., 0., 0., 0.735/Bohr, 0., 0.])
inp = ProgramInput(
    molecule=mol,
    model={"method": "B3LYP", "basis": "6-31g"},
    calctype="energy",
    keywords={},
)
future_result = client.compute("terachem", inp)
output = future_result.get()
Truncated TeraChem log from output.stdout
| Startfile from command line: tc.in


|       ***********************************************************
|       *                 TeraChem v1.9-2023.09-dev               *
|       *                   Development Version                   *
|       *           Chemistry at the Speed of Graphics!           *
|       ***********************************************************
|       * This program may only be used in connection with        *
|       * a valid license from PetaChem, LLC. Use of this program *
|       * or results thereof indicates acceptance of all terms    *
|       * and conditions stated in the license and that a valid   *
|       * license agreement between the user and PetaChem, LLC    *
|       * exists. PetaChem, LLC does not warrant the correctness  *
|       * of results or their suitability for any purpose.        *
|       * Please email bugs, suggestions, and comments to         *
|       *                  [email protected]                      *
|       *                                                         *
|       ***********************************************************


|       ***********************************************************
|       *  Compiled by root         Fri Sep  8 02:45:55 UTC 2023  *
|       *  Supported architecture SMs: 52 61 70 80 89             *
|       *  Build cuda_11.8.r11.8/compiler.31833905_0              *
|       *  Git Version: 48f1c4b24460eb111f0d752b6dea2ab9d1eb956f  *
|       ***********************************************************


| Job started   Thu Oct 12 04:36:10 2023
| On ee4a8d8c6618 (available memory: 336130 MB)

| ######################################### RUNTIME INFO ##########################################
| terachem  tc.in 

|  NVRM version: NVIDIA UNIX x86_64 Kernel Module  525.89.02  Wed Feb  1 23:23:25 UTC 2023
|  GCC version:  gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04) 

[lib information truncated]

| Checking Amazon Cloud instance ID...   Not found
| Cannot find license.dat file /opt/terachem/license.dat


| TRYING THE NETWORK LICENSE...
| Connecting to license server 'x.x.x.x' port 'x'...
| Connected!
| Checking your license...

| **************************************************************
|  Greetings, Martinez Group! You have x licenses in total
|  IN USE: x
|  AVAILABLE: x
| **************************************************************

-----------------------------------
Processed Input file:
                      run energy
              coordinates geometry.xyz
                   charge 0
                 spinmult 1
                   method b3lyp
                    basis 6-31g
-----------------------------------
Jobname: geometry
Scratch data will be generated
Scratch directory: ./scr.geometry
| Random number seed: 1924972868

XYZ coordinates geometry.xyz
Molden File Output: ./scr.geometry/geometry.molden
Using basis set: 6-31g
dmrgstart not found
Spin multiplicity: 1
DIIS will use up to 10 vectors.
Condition number limit for the DIIS overlap matrix is            0
WF convergence threshold: 3.00e-05
Using DIIS algorithm to converge WF
Maximum number of SCF iterations: 100
Incremental fock with rebuild every 8 iterations
Will switch to conventional Fock if diffuse functions are detected
X-matrix tolerance: 1.00e-04
PRECISION: DYNAMIC
TeraChem will select linear algebra engine
DFT Functional requested: b3lyp
Method: B3LYP 
  Hartree-Fock exact exchange:          0.20 
  Slater exchange functional:           0.80 
  Becke 1988 exchange functional:       0.72 
  Lee-Yang-Parr correlation functional: 0.81 
  VWN(I) correlation functional:        0.19 
Wavefunction: RESTRICTED
DFT grid type: 1
Using dynamic DFT grids.
Initial guess generated by maximum overlap

********************************************
***** SINGLE POINT ENERGY CALCULATIONS *****
********************************************
Starting TensorBox...
| TeraChem will select linear algebra engine
CUDA error: no CUDA-capable device is detected, file tensorbox/src/tensorbox.cpp, line 35

 Job terminated: Thu Oct 12 04:36:11 2023

[FEATURE] Instantiate FutureResults from task_id

Create @classmethod on FutureResult is that something like .from_task_id(task_id: str) -> FutureResult that will allow people to instantiate FutureResult objects from task_id strings. This will enable people to write all task_ids to disk for a big job and then come instantiate later and get results.

[FEATURE] Handle arbitrarily long lists of inputs.

Multi-thread (or use asyncio) the submission and retror array

Use something like this:

import concurrent.futures

def compute(...):
     ...

with concurrent.futures.ThreadPoolExecutor() as executor:
    results = list(executor.map(compute, inputs))

Is there really any reason to even use Celery groups If I implement this? Using them can reduce the number of HTTP calls quite dramatically, but if I multi-thread the submission and collection of results--perhaps the performance gains aren't that big of a deal and then I have a single level of abstraction to worry about--multi-threading submission and collection of results--instead of nesting groups within that multi-threading.

Pros: I'd never get timeout issues when collecting results because the group ended up being so large.

Cons: Collection of results will be slower, as it IS faster to collect 100 results (current default) in a single request.

EDIT: Chatted with Ethan. He has special code to handle group size issues when a group has too much data to download before timing out. This indicates to me that the batch size thing should be dispensed with entirely. Better to get your data with a few seconds of delay on a large batch submission than to have your results held hostage on the server because the group is too large to be downloaded and you have to resubmit with a smaller batch size in order to get your results back.

For FutureResultGroup we could use concurrent.futures.as_completed(...) to collect results as they complete:

for result in future_result.as_completed():
    # do something with result

Could also have in order as-completed:

for result in future_result.collect() # or some better method name
    # do something with result

Could also "stream" results with

for result in future_results.as_completed():
    # Process results in real-time

Dependency specification too restrictive

The current dependency specification on httpx is ^0.23.0 (equivalent to 0.23.*), while pytest-httpx is <0.23.0. My guess is this is a typo on pytest-httpx. I have a love-hate relationship with poetry dependency specification, as it doesn't work as nicely for pre-1.0 programs. It would be nice to relax the restrictions on httpx to anything >=0.23.0, as I am having trouble building a package that depends on chem-cloud (but I understand that poetry doesn't like this sometimes)

Additionally, it would probably be good to bump the version of Ruff and drop black and isort, as ruff has fully eaten those. For reference, here is the pyproject.toml template that I use for my projects.

Mix of 500 and 410 HTTP Errors w/ Geom Opt

I'm trying to run the "basic working example" from here, but I'm not having very good luck. Here's my code (I get 500 with subprogram as both "terachem" and "psi4"):

from chemcloud import CCClient
from qcio import DualProgramInput, Molecule, OptimizationOutput

water = Molecule(
    symbols=["O", "H", "H"],
    geometry=[
        [0.0000, 0.00000, 0.0000],
        [0.2774, 0.89290, 0.2544],
        [0.6067, -0.23830, -0.7169],
    ],
)

client = CCClient()

prog_inp = DualProgramInput(
    molecule=water,
    calctype="optimization",
    keywords={"maxiter": 3},
    subprogram="terachem",
    subprogram_args={"model": {"method": "b3lyp", "basis": "6-31g"}},
)


# Submit calculation
future_result = client.compute("geometric", prog_inp)
output: OptimizationOutput = future_result.get()

if output.success:
    print("Optimization succeeded!")
    # Will be OptimizationResult object
    print(output)
    # The final molecule of the geometry optimization
    print(output.results.final_molecule)
    # Initial molecule
    print(output.input_data.molecule)
    # A list of ordered AtomicResult objects for each step in the optimization
    print(output.results.trajectory)
    # A list of ordered energies for each step in the optimization
    print(output.results.energies)
else:
    print("Optimization failed!")
    # Will be FailedOperation object
    print(output)
    # Error information
    print(output.traceback)

And here's what I get:

(kestrel) Trafalgar:terachem cwagen$ dotenv run python ex.py
Traceback (most recent call last):
  File "/Users/cwagen/business_code/terachem/ex.py", line 26, in <module>
    output: OptimizationOutput = future_result.get()
  File "/opt/miniconda3/envs/kestrel/lib/python3.10/site-packages/chemcloud/models.py", line 85, in get
    self.status
  File "/opt/miniconda3/envs/kestrel/lib/python3.10/site-packages/chemcloud/models.py", line 111, in status
    self._state, self.result = self._output()
  File "/opt/miniconda3/envs/kestrel/lib/python3.10/site-packages/chemcloud/models.py", line 97, in _output
    return self.client.output(self.task_id)
  File "/opt/miniconda3/envs/kestrel/lib/python3.10/site-packages/chemcloud/http_client.py", line 309, in output
    response = self._authenticated_request("get", f"/compute/output/{task_id}")
  File "/opt/miniconda3/envs/kestrel/lib/python3.10/site-packages/chemcloud/http_client.py", line 202, in _authenticated_request
    return self._request(
  File "/opt/miniconda3/envs/kestrel/lib/python3.10/site-packages/chemcloud/http_client.py", line 194, in _request
    response.raise_for_status()
  File "/opt/miniconda3/envs/kestrel/lib/python3.10/site-packages/httpx/_models.py", line 749, in raise_for_status
    raise HTTPStatusError(message, request=request, response=self)
httpx.HTTPStatusError: Server error '500 Internal Server Error' for url 'https://chemcloud.mtzlab.com/api/v2/compute/output/f0470afc-d8c0-4229-9885-c98555939777'
For more information check: https://httpstatuses.com/500

Regular, non-geometry optimizations seem to work fine for me, FWIW. I've tried other scripts and I get 410 error there:

httpx.HTTPStatusError: Client error '410 Gone' for url 'https://chemcloud.mtzlab.com/api/v2/compute/output/e27c7e59-9fdb-4879-9460-384ad74edbd3'
For more information check: https://httpstatuses.com/410

(I'm using dotenv to handle ChemCloud auth)

More graceful handling of terachem failures

It is quite common for a TeraChem calculation to fail. The TCCloud API needs to provide the user with more helpful information than HTTP 500, so they can do something about modifying their input.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.