pyrosetta.distributed
¶Warning: This notebook uses pyrosetta.distributed.viewer
code, which runs in jupyter notebook
and might not run if you're using jupyterlab
.
Note: This Jupyter notebook uses parallelization and is not meant to be executed within a Google Colab environment.
Note: This Jupyter notebook requires the PyRosetta distributed layer which is obtained by building PyRosetta with the --serialization
flag or installing PyRosetta from the RosettaCommons conda channel
Please see the setup instructions in Chapter 15.00
import logging
logging.basicConfig(level=logging.INFO)
import json
import matplotlib
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
import os
import pandas as pd
import pyrosetta
import pyrosetta.distributed.dask
import pyrosetta.distributed.io as io
import pyrosetta.distributed.packed_pose as packed_pose
import pyrosetta.distributed.tasks.rosetta_scripts as rosetta_scripts
import pyrosetta.distributed.tasks.score as score
import pyrosetta.distributed.viewer as viewer
import seaborn
seaborn.set()
import sys
from dask_jobqueue import SLURMCluster
from dask.distributed import Client, progress, as_completed
from IPython import display
if 'google.colab' in sys.modules:
print("This Jupyter notebook uses parallelization and is therefore not set up for the Google Colab environment.")
sys.exit(0)
/home/klimaj/anaconda3/envs/test_dask/lib/python3.6/site-packages/dask/config.py:168: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details. data = yaml.load(f.read()) or {} /home/klimaj/anaconda3/envs/test_dask/lib/python3.6/site-packages/dask_jobqueue/config.py:12: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details. defaults = yaml.load(f) /home/klimaj/anaconda3/envs/test_dask/lib/python3.6/site-packages/distributed/config.py:20: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details. defaults = yaml.load(f)
Setup PyRosetta command line flags:
ligand_params = "inputs/TPA.am1-bcc.fa.params"
flags = f"""
-extra_res_fa {ligand_params}
-ignore_unrecognized_res 1
-out:level 200
"""
pyrosetta.distributed.init(flags)
INFO:pyrosetta.distributed:maybe_init performing pyrosetta initialization: {'extra_options': '-extra_res_fa inputs/TPA.am1-bcc.fa.params -ignore_unrecognized_res 1 -out:level 200', 'silent': True} INFO:pyrosetta.rosetta:Found rosetta database at: /home/klimaj/anaconda3/envs/test_dask/lib/python3.6/site-packages/pyrosetta/database; using it.... INFO:pyrosetta.rosetta:PyRosetta-4 2019 [Rosetta PyRosetta4.conda.linux.CentOS.python36.Release 2019.44+release.5aed75f2e796a33ab71515b6c1daa321eb2294a2 2019-10-29T08:37:43] retrieved from: http://www.pyrosetta.org (C) Copyright Rosetta Commons Member Institutions. Created in JHU by Sergey Lyskov and PyRosetta Team.
Setup dask
workers to run ligand docking simulations:
if not os.getenv("DEBUG"):
scratch_dir = os.path.join("/net/scratch", os.environ["USER"]) # Change to your scratch directory
cluster = SLURMCluster(cores=1,
processes=1,
job_cpu=1,
memory="3GB",
queue="short",
walltime="02:59:00",
local_directory=scratch_dir,
job_extra=["-o {}".format(os.path.join(scratch_dir, "slurm-%j.out"))],
extra=pyrosetta.distributed.dask.worker_extra(init_flags=flags))
n_workers = 20
cluster.scale(n_workers)
client = Client(cluster)
else:
cluster, client = None, None
client
Client
|
Cluster
|
Setup global ligand docking RosettaScripts protocol within pyrosetta.distributed
:
xml = """
<ROSETTASCRIPTS>
<SCOREFXNS>
<ScoreFunction name="fa_standard" weights="ref2015.wts"/>
</SCOREFXNS>
<RESIDUE_SELECTORS>
<Chain name="chX" chains="X"/>
</RESIDUE_SELECTORS>
<SIMPLE_METRICS>
<RMSDMetric name="rmsd_chX" residue_selector="chX" reference_name="store_native" residue_selector_ref="chX" robust="true" rmsd_type="rmsd_all" />
</SIMPLE_METRICS>
<SCORINGGRIDS ligand_chain="X" width="25">
<ClassicGrid grid_name="vdw" weight="1.0"/>
</SCORINGGRIDS>
<LIGAND_AREAS>
<LigandArea name="docking_sidechain_X" chain="X" cutoff="6.0" add_nbr_radius="true" all_atom_mode="true" minimize_ligand="10"/>
<LigandArea name="final_sidechain_X" chain="X" cutoff="6.0" add_nbr_radius="true" all_atom_mode="true"/>
<LigandArea name="final_backbone_X" chain="X" cutoff="7.0" add_nbr_radius="false" all_atom_mode="true" Calpha_restraints="0.3"/>
</LIGAND_AREAS>
<INTERFACE_BUILDERS>
<InterfaceBuilder name="side_chain_for_docking" ligand_areas="docking_sidechain_X"/>
<InterfaceBuilder name="side_chain_for_final" ligand_areas="final_sidechain_X"/>
<InterfaceBuilder name="backbone" ligand_areas="final_backbone_X" extension_window="3"/>
</INTERFACE_BUILDERS>
<MOVEMAP_BUILDERS>
<MoveMapBuilder name="docking" sc_interface="side_chain_for_docking" minimize_water="true"/>
<MoveMapBuilder name="final" sc_interface="side_chain_for_final" bb_interface="backbone" minimize_water="true"/>
</MOVEMAP_BUILDERS>
<MOVERS>
<SavePoseMover name="spm" restore_pose="0" reference_name="store_native"/>
<Transform name="transform" chain="X" box_size="20.0" move_distance="10" angle="360" initial_perturb="2" cycles="500" repeats="5" temperature="1000"/>
<HighResDocker name="high_res_docker" cycles="9" repack_every_Nth="3" scorefxn="fa_standard" movemap_builder="docking"/>
<FinalMinimizer name="final" scorefxn="fa_standard" movemap_builder="final"/>
</MOVERS>
<FILTERS>
<LigInterfaceEnergy name="interfE" scorefxn="fa_standard" energy_cutoff="0.0" confidence="0"/>
<SimpleMetricFilter name="rmsd_chX" metric="rmsd_chX" cutoff="999999." comparison_type="lt" confidence="0"/>
</FILTERS>
<PROTOCOLS>
<Add mover="spm"/>
<Add mover="transform"/>
<Add mover="high_res_docker"/>
<Add mover="final"/>
<Add filter="interfE"/>
<Add filter="rmsd_chX"/>
</PROTOCOLS>
</ROSETTASCRIPTS>
"""
xml_obj = rosetta_scripts.SingleoutputRosettaScriptsTask(xml)
xml_obj.setup()
Setup input pose as PackedPose
object:
pose_obj = io.pose_from_file(filename="inputs/test_lig.pdb")
Submit 100 global ligand docking trajectories, very similar to using command line -nstruct
flag:
if not os.getenv("DEBUG"):
futures = [client.submit(xml_obj, pose_obj) for i in range(100)]
results = [future.result() for future in futures]
As results accumulate, you may wish to keep an eye on the progress bar in the dask
dashboard.
The called future.result()
transfers the PackedPose
objects back to this Jupyter session, so we can inspect the scores in memory!
if not os.getenv("DEBUG"):
df = pd.DataFrame.from_records(packed_pose.to_dict(results))
else:
df = pd.DataFrame()
df.head(10)
dslf_fa13 | fa_atr | fa_dun | fa_elec | fa_intra_rep | fa_intra_sol_xover4 | fa_rep | fa_sol | hbond_bb_sc | hbond_lr_bb | ... | lk_ball_wtd | omega | p_aa_pp | pickled_pose | pro_close | rama_prepro | ref | rmsd_chX | total_score | yhh_planarity | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0.0 | -2132.524019 | 2840.627152 | -482.362086 | 1561.976889 | 90.149917 | 1421.198810 | 1333.515804 | -44.195073 | -50.121019 | ... | -49.221773 | 7.347747 | -86.884281 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 101.054893 | 125.703578 | 81.74634 | 6.545714 | 1545.935509 | 3.462497e-01 |
1 | 0.0 | -2126.116529 | 2926.201629 | -491.920001 | 1564.126258 | 91.105202 | 1385.070495 | 1335.118156 | -48.533113 | -49.088925 | ... | -49.634954 | 7.437842 | -82.260013 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 74.119128 | 106.829252 | 81.74634 | 10.558408 | 1534.917508 | 3.366702e-01 |
2 | 0.0 | -2130.123167 | 2924.648487 | -487.667871 | 1567.209287 | 91.904937 | 1422.266020 | 1344.298437 | -46.183076 | -48.711305 | ... | -47.645032 | 4.663247 | -82.436664 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 112.202315 | 115.961463 | 81.74634 | 10.361388 | 1625.741980 | 1.649556e-01 |
3 | 0.0 | -2137.391223 | 2906.380115 | -490.800449 | 1569.723800 | 93.914490 | 1378.917698 | 1354.223277 | -46.421510 | -49.566291 | ... | -48.463010 | 6.174959 | -85.540259 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 112.196592 | 115.725986 | 81.74634 | 8.728113 | 1587.602611 | 4.280736e-01 |
4 | 0.0 | -2122.542777 | 2919.427592 | -489.401947 | 1564.126628 | 91.996260 | 1374.602625 | 1334.485654 | -46.727732 | -49.560444 | ... | -49.833120 | 5.327450 | -82.024932 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 89.880797 | 116.311197 | 81.74634 | 9.438774 | 1563.941502 | 2.674752e-01 |
5 | 0.0 | -2140.978367 | 2844.861010 | -508.566129 | 1549.376940 | 91.289011 | 1344.598039 | 1345.015301 | -53.345207 | -50.088087 | ... | -48.078657 | 15.534245 | -84.222234 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 92.322767 | 117.025023 | 81.74634 | 0.519735 | 1463.111656 | 5.407168e-01 |
6 | 0.0 | -2144.527856 | 2800.509248 | -489.887749 | 1550.312337 | 90.993800 | 1357.824991 | 1346.409041 | -51.460467 | -49.161952 | ... | -46.364451 | 20.606902 | -84.362292 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 112.864346 | 113.033833 | 81.74634 | 8.970991 | 1488.633302 | 1.724846e-01 |
7 | 0.0 | -2134.458127 | 2847.561975 | -500.774298 | 1554.954719 | 93.603723 | 1363.939975 | 1334.390218 | -48.767453 | -47.394004 | ... | -48.494970 | 12.650259 | -84.204158 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 92.835996 | 110.813042 | 81.74634 | 4.478715 | 1482.327785 | 1.019284e+00 |
8 | 0.0 | -2101.788876 | 2953.687268 | -463.508109 | 1554.932304 | 89.848795 | 1456.463283 | 1304.417298 | -44.706814 | -47.567703 | ... | -48.817685 | 0.566248 | -79.915062 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 76.294680 | 117.114596 | 81.74634 | 15.333337 | 1635.621231 | 1.275152e-02 |
9 | 0.0 | -2102.924973 | 2979.615368 | -465.121357 | 1560.153201 | 93.264023 | 1525.616043 | 1305.784897 | -43.606602 | -47.492736 | ... | -45.178931 | 1.720344 | -79.685943 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 112.841262 | 128.121360 | 81.74634 | 19.868685 | 1756.156908 | 3.744963e-08 |
10 rows × 23 columns
Now plot the ligand binding energy landscape:
if not os.getenv("DEBUG"):
matplotlib.rcParams['figure.figsize'] = [12.0, 8.0]
seaborn.scatterplot(x="rmsd_chX", y="interfE", data=df)
Let's look at the lowest energy model according to interfE
!
if not os.getenv("DEBUG"):
lowest_energy_df = df["interfE"].sort_values()
lowest_energy_index = lowest_energy_df.index[-1]
lowest_energy_pose = results[lowest_energy_index]
view = viewer.init(lowest_energy_pose)
view.add(viewer.setStyle())
view.add(viewer.setStyle(command=({"hetflag": True}, {"stick": {"colorscheme": "brownCarbon", "radius": 0.2}})))
view.add(viewer.setHydrogenBonds())
view.add(viewer.setZoomTo(residue_selector=pyrosetta.rosetta.core.select.residue_selector.ChainSelector("X")))
view()
You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
jupyter labextension install jupyterlab_3dmol
View the five lowest energy poses according to interfE
:
if not os.getenv("DEBUG"):
lowest_energy_poses = list(packed_pose.dict_to_pose(df.sort_values(by="interfE").head(5).to_dict()).values())
view = viewer.init(lowest_energy_poses)
view.add(viewer.setStyle())
view.add(viewer.setStyle(command=({"hetflag": True}, {"stick": {"colorscheme": "brownCarbon", "radius": 0.2}})))
view.add(viewer.setHydrogenBonds())
view.add(viewer.setZoomTo(residue_selector=pyrosetta.rosetta.core.select.residue_selector.ChainSelector("X")))
view()
interactive(children=(IntSlider(value=0, continuous_update=False, description='Decoys', max=4), Output()), _do…
<function Viewer.show.<locals>.view(i=0)>
If you wish to save any PackedPose
objects as .pdb
files:
# for i, p in enumerate(results):
# with open("outputs/RESULT_%i.pdb" % i, "w") as f:
# f.write(io.to_pdbstring(p))
If you wish to save a scorefile:
# with open(os.path.join("outputs", "ligand_docking_scores.fasc"), "w") as f:
# for result in results:
# json.dump(result.scores, f)
dask.distributed.as_completed
and pyrosetta.distributed
¶Example using dask.distributed.as_completed()
function:
"Give me at least 5 global ligand docks where the ligand RMSD is at least 0.4 Angstroms from the input ligand coordinates.":
from IPython import display
import matplotlib.pyplot as plt
if not os.getenv("DEBUG"):
with seaborn.color_palette("Blues_d", n_colors=1):
nstruct = n_workers
futures = [client.submit(xml_obj, pose_obj) for j in range(nstruct)]
seq = as_completed(futures, with_results=True)
results = []
for i, (future, result) in enumerate(seq, start=1):
# Update dataset
results.append(result)
df = pd.DataFrame.from_records(packed_pose.to_dict(results))
lowest_rmsd_chX = df["rmsd_chX"].sort_values().values[0]
# Update display
display.clear_output(wait=True)
print(f"After {i} dock(s), the lowest rmsd_chX is {lowest_rmsd_chX}")
seaborn.scatterplot(x="rmsd_chX", y="interfE", data=df)
display.display(plt.gcf())
# Submit more futures if condition is not met
if (i >= nstruct) and (not lowest_rmsd_chX <= 0.4):
nstruct += n_workers
for j in range(n_workers):
seq.add(client.submit(xml_obj, pose_obj))
else:
df = pd.DataFrame()
After 160 dock(s), the lowest rmsd_chX is 0.39600881934165955
View resulting scores in the order they completed:
df
dslf_fa13 | fa_atr | fa_dun | fa_elec | fa_intra_rep | fa_intra_sol_xover4 | fa_rep | fa_sol | hbond_bb_sc | hbond_lr_bb | ... | lk_ball_wtd | omega | p_aa_pp | pickled_pose | pro_close | rama_prepro | ref | rmsd_chX | total_score | yhh_planarity | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0.0 | -2109.618677 | 2987.532787 | -460.804889 | 1559.392664 | 89.338830 | 1458.616496 | 1311.399444 | -44.488264 | -47.474618 | ... | -47.848602 | 2.151970 | -82.041905 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 77.684772 | 126.412105 | 81.74634 | 14.902432 | 1671.067996 | 0.001560 |
1 | 0.0 | -2105.305311 | 3030.807182 | -473.205698 | 1565.130192 | 88.835417 | 1466.777358 | 1306.459782 | -44.193357 | -47.478300 | ... | -47.121203 | 2.086357 | -83.405589 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 107.356720 | 125.158339 | 81.74634 | 13.538095 | 1727.336287 | 0.034064 |
2 | 0.0 | -2091.360701 | 2920.175148 | -458.826812 | 1549.394863 | 89.453679 | 1414.442840 | 1290.735470 | -43.107482 | -48.027345 | ... | -45.137232 | 3.902656 | -85.342361 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 60.624014 | 125.865720 | 81.74634 | 14.128614 | 1577.831018 | 0.003817 |
3 | 0.0 | -2112.834614 | 3042.513417 | -473.404657 | 1571.410352 | 91.188546 | 1438.914976 | 1316.596837 | -46.476363 | -48.967521 | ... | -45.276509 | 0.378058 | -84.547864 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 90.257290 | 116.533949 | 81.74634 | 11.305335 | 1695.618878 | 0.317765 |
4 | 0.0 | -2109.328779 | 2972.604335 | -465.324664 | 1566.721694 | 90.843550 | 1464.755765 | 1309.718084 | -45.480755 | -48.664992 | ... | -48.883264 | 2.703349 | -81.230578 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 69.661009 | 127.680286 | 81.74634 | 12.924160 | 1646.933591 | 0.568650 |
5 | 0.0 | -2105.875106 | 3005.359107 | -469.423503 | 1566.750444 | 90.932732 | 1431.706080 | 1307.627006 | -46.425932 | -47.498704 | ... | -49.178075 | 1.584126 | -81.226150 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 73.785812 | 116.678258 | 81.74634 | 13.518868 | 1646.780415 | 0.318403 |
6 | 0.0 | -2098.265444 | 2999.853778 | -480.017785 | 1566.494637 | 91.157908 | 1434.674832 | 1305.641416 | -47.730424 | -47.898621 | ... | -46.782256 | 3.223878 | -83.081812 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 73.755589 | 117.291586 | 81.74634 | 12.783246 | 1641.040765 | 0.432204 |
7 | 0.0 | -2110.698465 | 2869.381021 | -460.049169 | 1567.186498 | 92.688303 | 1441.397298 | 1310.055850 | -45.114707 | -48.420000 | ... | -46.953026 | 1.985867 | -82.933240 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 68.282715 | 117.970601 | 81.74634 | 16.523289 | 1562.130649 | 0.005626 |
8 | 0.0 | -2112.557027 | 3006.368632 | -482.342878 | 1583.026679 | 91.840579 | 1435.416531 | 1325.239038 | -46.112840 | -47.094844 | ... | -47.120504 | 4.112792 | -81.840670 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 73.961269 | 118.710661 | 81.74634 | 18.389835 | 1651.309911 | 0.525410 |
9 | 0.0 | -2140.951789 | 2815.279697 | -499.213543 | 1492.173947 | 91.568987 | 1395.512136 | 1341.710954 | -49.993331 | -48.131888 | ... | -47.493369 | 14.691859 | -79.592624 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 112.802109 | 121.506811 | 81.74634 | 3.046977 | 1509.839941 | 0.175492 |
10 | 0.0 | -2125.202418 | 2899.647079 | -490.601152 | 1577.842337 | 94.088460 | 1364.360645 | 1321.908084 | -48.402136 | -48.807028 | ... | -52.663667 | 11.696737 | -83.983555 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 91.684185 | 117.754046 | 81.74634 | 4.803723 | 1528.784703 | 0.579358 |
11 | 0.0 | -2155.349982 | 2866.573512 | -499.250685 | 1564.640648 | 93.248657 | 1372.809050 | 1366.323752 | -52.773522 | -48.771073 | ... | -45.402964 | 12.095227 | -81.154449 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 113.188497 | 120.657288 | 81.74634 | 4.438206 | 1543.729105 | 0.273438 |
12 | 0.0 | -2143.695576 | 2870.783085 | -508.316996 | 1553.961034 | 91.311421 | 1333.413117 | 1345.722553 | -51.085523 | -50.438284 | ... | -49.633188 | 19.001951 | -85.718842 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 91.863679 | 109.427641 | 81.74634 | 0.571745 | 1470.210182 | 0.712728 |
13 | 0.0 | -2138.760325 | 2883.528075 | -507.675106 | 1555.302304 | 91.425703 | 1342.506043 | 1346.710152 | -52.357046 | -50.791051 | ... | -47.232543 | 20.972475 | -85.407315 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 91.121341 | 117.044811 | 81.74634 | 0.458164 | 1492.028097 | 0.265234 |
14 | 0.0 | -2141.493998 | 2875.760396 | -507.733081 | 1554.016971 | 90.550086 | 1358.862737 | 1346.042027 | -52.412001 | -48.918483 | ... | -47.661767 | 18.668030 | -84.522635 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 92.281822 | 110.266770 | 81.74634 | 0.523277 | 1491.822023 | 0.559944 |
15 | 0.0 | -2134.853320 | 2891.884801 | -500.087096 | 1561.372403 | 95.831907 | 1397.209219 | 1347.606185 | -50.128969 | -48.672139 | ... | -50.227723 | 9.610174 | -81.519870 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 113.027827 | 128.181629 | 81.74634 | 7.744215 | 1578.898789 | 0.234016 |
16 | 0.0 | -2130.427648 | 2881.176233 | -496.131231 | 1570.843354 | 91.898012 | 1339.781289 | 1337.382302 | -45.748851 | -48.195453 | ... | -47.484841 | 7.367173 | -86.249748 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 89.905552 | 105.720056 | 81.74634 | 9.534376 | 1493.788142 | 0.458969 |
17 | 0.0 | -2143.602814 | 2822.606888 | -516.117864 | 1553.945026 | 90.813275 | 1349.433735 | 1347.903526 | -52.802795 | -49.483066 | ... | -48.694123 | 15.371134 | -84.446278 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 91.337428 | 115.291089 | 81.74634 | 0.551091 | 1436.930209 | 0.516437 |
18 | 0.0 | -2134.259123 | 2881.342369 | -485.592146 | 1564.430338 | 92.438196 | 1389.168657 | 1339.053392 | -45.521617 | -48.479279 | ... | -49.904600 | 9.005801 | -83.414992 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 91.612744 | 118.626644 | 81.74634 | 8.627629 | 1545.765237 | 0.477236 |
19 | 0.0 | -2126.636797 | 2841.377136 | -477.699566 | 1546.361526 | 88.201996 | 1359.387637 | 1331.322346 | -49.295576 | -47.120713 | ... | -46.866553 | 2.950709 | -85.684841 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 83.539327 | 116.446194 | 81.74634 | 9.911260 | 1496.631196 | 0.358909 |
20 | 0.0 | -2099.876577 | 3053.322166 | -459.911551 | 1561.670084 | 89.250294 | 1487.101282 | 1300.466035 | -44.590540 | -47.492736 | ... | -48.152031 | 2.074202 | -79.725613 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 112.613937 | 128.147025 | 81.74634 | 18.609829 | 1781.341725 | 0.000542 |
21 | 0.0 | -2104.857879 | 2967.536299 | -475.225631 | 1547.768357 | 89.805057 | 1401.763081 | 1310.761519 | -44.628433 | -48.130686 | ... | -46.436055 | 6.419433 | -82.970515 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 75.474255 | 124.365157 | 81.74634 | 13.007985 | 1611.021294 | 0.000835 |
22 | 0.0 | -2109.173324 | 2977.394968 | -473.401098 | 1552.688648 | 88.579277 | 1470.842003 | 1306.794087 | -45.728224 | -47.767174 | ... | -47.948895 | 4.079821 | -83.241786 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 91.383545 | 124.787573 | 81.74634 | 13.712020 | 1664.879856 | 0.000420 |
23 | 0.0 | -2101.393052 | 2971.352950 | -464.045810 | 1573.502264 | 90.905007 | 1410.055449 | 1303.956990 | -42.918329 | -47.492736 | ... | -46.786348 | 1.875207 | -81.089453 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 112.708610 | 123.976339 | 81.74634 | 22.744999 | 1675.195354 | 0.000087 |
24 | 0.0 | -2105.652440 | 2956.671354 | -474.040724 | 1556.543667 | 91.855892 | 1427.450697 | 1304.386599 | -45.245211 | -48.259940 | ... | -48.943641 | 2.931243 | -79.980137 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 89.802055 | 119.134186 | 81.74634 | 13.405077 | 1623.914808 | 0.248590 |
25 | 0.0 | -2085.413680 | 2929.150908 | -465.750461 | 1480.795379 | 90.009520 | 1436.627226 | 1285.343302 | -44.190242 | -48.220168 | ... | -48.951817 | 1.052240 | -85.199877 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 115.206491 | 119.984651 | 81.74634 | 13.476092 | 1650.659776 | 0.012628 |
26 | 0.0 | -2101.628661 | 2971.976524 | -474.411807 | 1566.467597 | 90.489791 | 1399.767634 | 1312.757199 | -44.722650 | -47.365084 | ... | -45.263438 | 3.017197 | -83.739637 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 73.968443 | 113.443861 | 81.74634 | 14.559041 | 1612.857007 | 0.411724 |
27 | 0.0 | -2118.643816 | 2996.024222 | -489.979578 | 1570.581483 | 91.765952 | 1420.675262 | 1327.652560 | -47.387580 | -47.044725 | ... | -48.976915 | 2.541301 | -81.951286 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 90.022492 | 115.867676 | 81.74634 | 10.867241 | 1637.750748 | 0.349443 |
28 | 0.0 | -2107.079858 | 3003.622174 | -490.472694 | 1563.475816 | 89.961561 | 1433.007813 | 1316.154141 | -45.870439 | -47.509188 | ... | -45.673606 | -0.025740 | -81.813110 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 74.074750 | 116.513346 | 81.74634 | 14.340094 | 1631.802149 | 0.500080 |
29 | 0.0 | -2126.522938 | 3034.914502 | -464.312573 | 1586.979586 | 91.633191 | 1430.301992 | 1329.961156 | -46.781839 | -47.583167 | ... | -51.084924 | 1.860717 | -83.669307 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 89.410144 | 121.510983 | 81.74634 | 11.965659 | 1697.051010 | 0.129238 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
130 | 0.0 | -2144.247767 | 2874.821828 | -486.237434 | 1562.937353 | 92.504753 | 1395.042099 | 1356.419704 | -49.583866 | -52.326697 | ... | -51.688019 | 7.829886 | -86.784765 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 112.776218 | 108.666837 | 81.74634 | 7.510662 | 1561.287190 | 0.211556 |
131 | 0.0 | -2108.623761 | 3015.873114 | -470.283459 | 1568.464078 | 92.700884 | 1455.075332 | 1310.351722 | -47.000685 | -47.495473 | ... | -46.902628 | 3.249567 | -82.596549 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 91.245910 | 128.104097 | 81.74634 | 13.882904 | 1695.773877 | 0.008729 |
132 | 0.0 | -2147.331578 | 2802.445830 | -478.452413 | 1487.326846 | 93.919518 | 1395.653006 | 1355.038940 | -49.448565 | -48.912378 | ... | -48.656269 | 16.500387 | -86.895370 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 112.768683 | 109.321224 | 81.74634 | 7.420938 | 1525.656662 | 0.249148 |
133 | 0.0 | -2106.255520 | 2934.031255 | -482.577483 | 1563.100271 | 92.230946 | 1399.849826 | 1319.494447 | -45.299200 | -47.533875 | ... | -49.679166 | 5.361302 | -81.586007 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 71.868096 | 115.843937 | 81.74634 | 15.196031 | 1575.959519 | 0.519367 |
134 | 0.0 | -2122.192139 | 2854.128944 | -486.235476 | 1558.704520 | 89.695543 | 1332.781739 | 1330.520349 | -49.524705 | -47.519634 | ... | -49.932088 | 7.083149 | -80.914587 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 89.907381 | 113.516248 | 81.74634 | 10.152369 | 1489.767849 | 0.425513 |
135 | 0.0 | -2137.693008 | 2880.027282 | -514.322799 | 1554.171866 | 90.760142 | 1340.874379 | 1344.047156 | -53.767339 | -48.577084 | ... | -46.736234 | 16.448148 | -84.167860 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 91.114415 | 111.377747 | 81.74634 | 0.489456 | 1475.288892 | 0.221439 |
136 | 0.0 | -2126.182610 | 2873.203731 | -484.996225 | 1561.493325 | 90.799041 | 1404.717419 | 1333.117035 | -45.096734 | -48.530084 | ... | -49.044955 | 9.338754 | -83.552379 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 112.961193 | 118.683174 | 81.74634 | 8.992439 | 1575.451840 | 0.611699 |
137 | 0.0 | -2126.969328 | 2852.784259 | -492.551061 | 1560.839514 | 91.486683 | 1366.953229 | 1337.166167 | -46.348315 | -48.135581 | ... | -48.719557 | 5.676320 | -82.403045 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 74.124990 | 112.917160 | 81.74634 | 6.333091 | 1477.084582 | 0.328078 |
138 | 0.0 | -2143.665896 | 2860.508577 | -517.304266 | 1556.332351 | 91.097130 | 1337.176240 | 1348.637250 | -51.219139 | -50.750459 | ... | -47.329610 | 15.380754 | -83.311322 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 90.375868 | 114.521055 | 81.74634 | 0.517323 | 1453.565034 | 0.419099 |
139 | 0.0 | -2133.792450 | 2801.508040 | -479.126763 | 1573.261299 | 90.875984 | 1331.229444 | 1330.838429 | -47.463442 | -48.296040 | ... | -49.620461 | 7.701313 | -79.752192 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 112.891746 | 120.483307 | 81.74634 | 6.601025 | 1476.895986 | 0.235007 |
140 | 0.0 | -2090.957259 | 2928.147676 | -461.303731 | 1523.715187 | 89.506157 | 1403.598636 | 1283.312769 | -43.544720 | -47.758117 | ... | -48.872491 | 2.065291 | -82.291367 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 115.206491 | 124.390576 | 81.74634 | 15.595661 | 1639.266849 | 0.014259 |
141 | 0.0 | -2110.032023 | 3006.100929 | -489.555266 | 1560.462360 | 90.682503 | 1450.398007 | 1317.864595 | -47.006041 | -47.844067 | ... | -48.013885 | 2.084970 | -80.596617 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 90.144134 | 120.264349 | 81.74634 | 12.044857 | 1661.901465 | 0.234651 |
142 | 0.0 | -2113.521394 | 2999.112155 | -472.508995 | 1554.817132 | 89.633994 | 1463.947663 | 1314.773482 | -49.315623 | -48.684258 | ... | -46.441628 | 7.139928 | -83.631649 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 113.083494 | 126.285954 | 81.74634 | 10.216402 | 1709.817568 | 0.000746 |
143 | 0.0 | -2097.005518 | 2937.948356 | -464.917374 | 1566.558809 | 95.668453 | 1432.836943 | 1304.714259 | -47.001855 | -47.867360 | ... | -47.729151 | 1.091405 | -84.224396 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 75.292368 | 124.678258 | 81.74634 | 14.740225 | 1620.182180 | 0.038664 |
144 | 0.0 | -2124.913178 | 2944.514831 | -493.783012 | 1573.530655 | 88.989992 | 1407.598308 | 1344.928613 | -49.961994 | -48.568667 | ... | -44.867162 | 5.069023 | -81.610190 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 73.807503 | 117.400894 | 81.74634 | 11.582264 | 1579.328288 | 0.348630 |
145 | 0.0 | -2130.088561 | 2870.161785 | -489.130122 | 1492.698308 | 89.344045 | 1411.618221 | 1333.232092 | -47.261742 | -48.705428 | ... | -49.300383 | 8.348099 | -84.118442 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 112.378684 | 109.404614 | 81.74634 | 9.134458 | 1557.512770 | 0.460359 |
146 | 0.0 | -2125.127198 | 2850.554976 | -473.968178 | 1561.440253 | 91.014990 | 1382.390972 | 1330.658495 | -46.276677 | -48.726469 | ... | -50.388715 | 6.165901 | -83.264292 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 73.912396 | 111.071225 | 81.74634 | 6.286298 | 1507.335258 | 0.416813 |
147 | 0.0 | -2132.053031 | 2898.781949 | -495.785338 | 1573.291405 | 93.740735 | 1344.445871 | 1331.943941 | -47.832939 | -47.929045 | ... | -48.964468 | 11.452339 | -82.866998 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 74.032834 | 108.798061 | 81.74634 | 10.278420 | 1490.416464 | 0.620342 |
148 | 0.0 | -2139.826448 | 2841.177077 | -484.121259 | 1548.640063 | 91.386511 | 1363.220708 | 1343.080905 | -51.723530 | -47.995901 | ... | -47.802350 | 12.742675 | -81.557880 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 112.866188 | 121.589212 | 81.74634 | 6.045925 | 1527.918170 | 0.200723 |
149 | 0.0 | -2143.382034 | 2897.265992 | -514.952390 | 1560.487409 | 91.368863 | 1343.953646 | 1348.323361 | -51.508157 | -50.565540 | ... | -47.394245 | 17.041907 | -83.387448 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 91.992981 | 117.487554 | 81.74634 | 0.429813 | 1489.807209 | 0.382470 |
150 | 0.0 | -2120.741111 | 2809.449008 | -475.470457 | 2467.572674 | 113.563104 | 1375.959600 | 1322.874806 | -46.658919 | -51.433403 | ... | -52.009173 | 11.170164 | -86.872222 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 115.206491 | 115.685800 | 81.74634 | 6.670057 | 1541.463355 | 0.166151 |
151 | 0.0 | -2136.325178 | 2884.628860 | -513.920456 | 1559.878870 | 92.388043 | 1334.333687 | 1338.505606 | -51.686538 | -49.118018 | ... | -47.821198 | 15.070663 | -84.282077 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 91.376807 | 112.595560 | 81.74634 | 0.632104 | 1471.135782 | 0.358777 |
152 | 0.0 | -2133.797178 | 2853.978348 | -484.145637 | 1567.668634 | 91.337656 | 1322.515770 | 1332.110312 | -48.348268 | -49.988059 | ... | -48.039441 | 6.949739 | -82.454699 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 112.928183 | 114.040345 | 81.74634 | 9.934315 | 1506.579752 | 0.236804 |
153 | 0.0 | -2128.454653 | 2851.394925 | -487.328831 | 1555.157010 | 92.242113 | 1324.665368 | 1324.336250 | -51.016076 | -47.300948 | ... | -48.059293 | 13.992234 | -78.853827 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 112.912418 | 124.456656 | 81.74634 | 5.436119 | 1508.890703 | 0.478339 |
154 | 0.0 | -2139.368330 | 2936.076321 | -483.449818 | 1550.783879 | 91.800679 | 1345.199075 | 1348.714499 | -50.549542 | -46.956615 | ... | -47.609642 | 4.619060 | -80.734718 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 89.821609 | 118.733501 | 81.74634 | 9.639002 | 1560.839200 | 0.342402 |
155 | 0.0 | -2137.555643 | 2795.451017 | -499.644407 | 1484.424961 | 91.736192 | 1402.262453 | 1343.911470 | -49.831555 | -47.649349 | ... | -46.528055 | 14.005410 | -83.143630 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 112.776401 | 117.556135 | 81.74634 | 3.344627 | 1505.488812 | 0.149157 |
156 | 0.0 | -2128.284730 | 2796.317148 | -492.157328 | 1520.329803 | 89.342317 | 1342.262161 | 1335.670777 | -48.167967 | -50.223889 | ... | -48.775716 | 7.738594 | -84.801371 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 78.839587 | 105.630601 | 81.74634 | 8.682234 | 1418.647669 | 0.552394 |
157 | 0.0 | -2147.804722 | 2850.778752 | -514.751781 | 1549.533153 | 90.799332 | 1349.972499 | 1353.027955 | -52.763912 | -48.775347 | ... | -48.102799 | 15.068571 | -83.769684 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 92.271461 | 112.442378 | 81.74634 | 0.396009 | 1462.094842 | 0.572291 |
158 | 0.0 | -2149.813611 | 2861.453420 | -497.179059 | 1554.640882 | 91.733647 | 1343.436391 | 1365.364092 | -49.025013 | -48.886184 | ... | -46.047302 | 14.037734 | -81.954909 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 112.953796 | 111.888166 | 81.74634 | 5.757547 | 1527.601223 | 0.190742 |
159 | 0.0 | -2124.745177 | 2812.671157 | -493.382837 | 1558.498507 | 89.970193 | 1301.256917 | 1329.799382 | -47.415557 | -47.226482 | ... | -45.766534 | 12.734397 | -81.703491 | gANjcHlyb3NldHRhLnJvc2V0dGEuY29yZS5wb3NlClBvc2... | 90.459127 | 110.839783 | 81.74634 | 8.080812 | 1441.060819 | 0.230237 |
160 rows × 23 columns