Tutorial for GagSphere Simulation

0. Introduction

This tutorial will guide you through the process of generating input files, running simulations, and analyzing the results for a gagsphere self-assembly process using NERDSS and ioNERDSS.

Group-specific antigen (gag) is a 55-kDa polyprotein that serves as the major strutural components of many ortervirales virus including HIV. During HIV maturation, gag can self-assemble as a single hexameric lattice curved into a sphere. A complete gagsphere is made of approximately 2000 gag monomers. This self-assembly process will be modeled and analyzed through this tutorial.

gag Monomer:

image-4.png

a1: gag-gag homodimerization; a2: gag-gag heterodimerization

Matthew J. Varga, Yiben Fu, Spencer Loggia, Osman N. Yogurtcu, Margaret E. Johnson, NERDSS: A Nonequilibrium Simulator for Multibody Self-Assembly at the Cellular Scale, Biophysical Journal, Volume 118, Issue 12, 2020, Pages 3026-3040, ISSN 0006-3495, https://doi.org/10.1016/j.bpj.2020.05.002.

gagsphere:

image-2.png

Briggs, J. A., J. D. Riches, ., H. G. Kr€ausslich. 2009. Structure and assembly of immature HIV. Proc. Natl. Acad. Sci. USA. 106:11090–11095

1. ioNERDSS Library Installation

The ioNERDSS library in uploaded onto the official Python Package Index (https://pypi.org/project/ioNERDSS/), where all information about this package can be found.

Run the following code in command line to install ioNERDSS from PyPi library:

[1]:
!pip install ioNERDSS
Requirement already satisfied: ioNERDSS in /home/yufengdu/anaconda3/lib/python3.11/site-packages (1.0.22)
Requirement already satisfied: numpy in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from ioNERDSS) (1.24.3)
Requirement already satisfied: pandas in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from ioNERDSS) (1.5.3)
Requirement already satisfied: matplotlib in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from ioNERDSS) (3.7.1)
Requirement already satisfied: seaborn in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from ioNERDSS) (0.12.2)
Requirement already satisfied: tqdm in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from ioNERDSS) (4.65.0)
Requirement already satisfied: contourpy>=1.0.1 in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from matplotlib->ioNERDSS) (1.0.5)
Requirement already satisfied: cycler>=0.10 in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from matplotlib->ioNERDSS) (0.11.0)
Requirement already satisfied: fonttools>=4.22.0 in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from matplotlib->ioNERDSS) (4.25.0)
Requirement already satisfied: kiwisolver>=1.0.1 in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from matplotlib->ioNERDSS) (1.4.4)
Requirement already satisfied: packaging>=20.0 in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from matplotlib->ioNERDSS) (23.0)
Requirement already satisfied: pillow>=6.2.0 in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from matplotlib->ioNERDSS) (9.4.0)
Requirement already satisfied: pyparsing>=2.3.1 in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from matplotlib->ioNERDSS) (3.0.9)
Requirement already satisfied: python-dateutil>=2.7 in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from matplotlib->ioNERDSS) (2.8.2)
Requirement already satisfied: pytz>=2020.1 in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from pandas->ioNERDSS) (2022.7)
Requirement already satisfied: six>=1.5 in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from python-dateutil>=2.7->matplotlib->ioNERDSS) (1.16.0)

To upgrade ioNERDSS, run the following code in command line:

[2]:
!pip install --upgrade ioNERDSS
Requirement already satisfied: ioNERDSS in /home/yufengdu/anaconda3/lib/python3.11/site-packages (1.0.22)
Collecting ioNERDSS
  Using cached ioNERDSS-1.0.23.tar.gz (127 kB)
  Preparing metadata (setup.py) ... done
Requirement already satisfied: numpy in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from ioNERDSS) (1.24.3)
Requirement already satisfied: pandas in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from ioNERDSS) (1.5.3)
Requirement already satisfied: matplotlib in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from ioNERDSS) (3.7.1)
Requirement already satisfied: seaborn in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from ioNERDSS) (0.12.2)
Requirement already satisfied: tqdm in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from ioNERDSS) (4.65.0)
INFO: pip is looking at multiple versions of ionerdss to determine which version is compatible with other requirements. This could take a while.
Requirement already satisfied: contourpy>=1.0.1 in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from matplotlib->ioNERDSS) (1.0.5)
Requirement already satisfied: cycler>=0.10 in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from matplotlib->ioNERDSS) (0.11.0)
Requirement already satisfied: fonttools>=4.22.0 in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from matplotlib->ioNERDSS) (4.25.0)
Requirement already satisfied: kiwisolver>=1.0.1 in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from matplotlib->ioNERDSS) (1.4.4)
Requirement already satisfied: packaging>=20.0 in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from matplotlib->ioNERDSS) (23.0)
Requirement already satisfied: pillow>=6.2.0 in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from matplotlib->ioNERDSS) (9.4.0)
Requirement already satisfied: pyparsing>=2.3.1 in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from matplotlib->ioNERDSS) (3.0.9)
Requirement already satisfied: python-dateutil>=2.7 in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from matplotlib->ioNERDSS) (2.8.2)
Requirement already satisfied: pytz>=2020.1 in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from pandas->ioNERDSS) (2022.7)
Requirement already satisfied: six>=1.5 in /home/yufengdu/anaconda3/lib/python3.11/site-packages (from python-dateutil>=2.7->matplotlib->ioNERDSS) (1.16.0)

2.Generating NERDSS input files using ioNERDSS

Ready-to-go .mol and .inp files for this simulation are provided in the tutorial folder “/ReadyToGoInputFiles”. This tutorial will also guide you through how to generate these files from scratch with ioNERDSS.

2.1 .mol file

The .mol files keep track the parameters of each kind of molecule involved in the simulation. For more information, please refer to the NERDSS user guide in the NERDSS github repository. (https://github.com/mjohn218/NERDSS)

2.1.1 gag

Each gag monomer has five sites: 1 homodimerizing site, 1 RNA-binding site, 1 membrane-binding site, and 2 heterodimerizing site. The coordinates of these sites relative to its center of mass are (unit = nm):

  • homo 0.0000 0.5000 0.0000

  • mem 0.0000 2.0000 0.0000

  • rna 0.0000 -4.0000 0.0000

  • het1 -2.0000 0.0000 0.0000

  • het2 2.0000 0.0000 0.0000

Note: The simulation described in this tutorial will only consider the self-assembly gag monomers in absence of RNA and membrane lipids. Therefore, reactions involving the membrane-binding site and the RNA-binding sites will be omitted.

The translational diffusion constants and rotational diffusion constants of clathrin we will use are Dt = [10, 10, 10] (unit = um2/s), Dr = [0.01, 0.01, 0.01] (unit = rad2/us).

To incorporate this molecule in the simulation, let’s generate a .mol file using the gui.

[ ]:
# Note: Please only run this cell if you are using VSCode Jupyter Notebook extension.
# The gui will not work if being run in a web browser Jupyter Notebook viewer. In this case. instead of running this cell
# directly, please copy and paste the contents in this cell into a .py file and run it there.

# If this cell is run in a web browser Jupyter Notebook viewer, the gui will likely not shown properly
# and later codes will be blocked from being processed. In that case, restart kernal.
import ionerdss as io
io.gui()

Run the code above to bring up the gui, go the the Molecules tab, fill in the information as shown in the image below, and click "Add Molecule". A "gag.mol" will be generated in the current directory

Note: Do not close the gui after finished for now as it will need the molecule information stored later.

image.png

2.2 .inp file

The .inp file records the simulation parameters, reactions between molecules, and initial configuration of the system. For more information, please refer to the NERDSS user guide in the NERDSS github repository. (https://github.com/mjohn218/NERDSS)

2.2.1 Parameters tab

Go to the Parameters tab and fill in the information as shown in the image below and do NOT click Generate .inp file just yet.

image.png

2.2.2 Boundaries tab

Go to the Boundaries tab and fill in the information as shown in the image below and do NOT click Generate .inp file just yet.

  • We will constraint this simulation to a box with dimensions 436,436,436 nm.

image.png

2.2.3 Reactions tab

Go to the Reactions tab and specify all the possible reactions between the molecules during simulation and the reaction parameters. For this simulation, we will have the following reactions:

  • gag-gag homodimerization

    • gag(homo) + gag(homo) <-> gag(homo!1).gag(homo!1)

    • onRate3DMacro = 3.33 #units of /uM/s

    • offRateMacro = 1.0 #units of /s

    • sigma = 1.0 #nm

    • norm1 = [0,0,1]

    • norm2 = [0,0,1]

    • bindRadSameCom = 1.5 #scales sigma to define distance

    • excludeVolumeBound = true

    • loopCoopFactor = 0.001

    • assocAngles = [1.56349699, 1.56349699, 0.0, 0.0, 0.0]

  • gag-gag heterodimerization

    • gag(het2) + gag(het1) <-> gag(het2!1).gag(het1!1)

    • onRate3DMacro = 0.5 #/uM/s

    • offRateMacro = 5 #/s

    • sigma = 1.0

    • norm1 = [0,0,1]

    • norm2 = [0,0,1]

    • bindRadSameCom = 1.5 #scales sigma to define distance

    • loopCoopFactor = 0.001

    • assocAngles = [2.61799387799, 2.61799387799, -3.075896854, 3.075896854, 0.0]

For homodimerization, fill in the following and click Add Reaction:

image-2.png

For heterodimerization, For homodimerization, fill in the following and click Add Reaction:

image.png

Click Generate .inp File, and a "parms.inp" should be generated in the current directory.

3. Running simulation

Clone NERDSS repository from Github (https://github.com/mjohn218/NERDSS). Refer to the user guide and install NERDSS on local device. After installation NERDSS, a executable file named ‘nerdss.exe’ will be found.

To run the simulation, copy the ‘nerdss.exe’ file generated in the first step in the same directory as .inp and .mol file. Open the same directory in terminal and run command below in system command line to start simulation:

./nerdss -f parms.inp

When the simulation concludes, several NERDSS outpus files and directories will be generated in the current directoy. These include:

  • observables_time.dat

  • copy_numbers_time.dat

  • histogram_complexes_time.dat

  • mono_dimer_time.dat

  • bound_pair_time.dat

  • transition_matrix_time.dat

  • restart.dat

  • /RESTARTS

  • /PDB

  • initial_crds.xyz

  • final_coords.xyz

  • trajectory.xyz

  • system.psf

Some of these files may not be generated based on different input parameters. For more information on these output files, please refer to the NERDSS user guide found in the NERDSS github repository.

4. Analyzing Output Files

ioNERDSS includes a variety of functions to analyze and visualize the simulation results. The codes below will show some of them. For single species simulations, the tutorial on all of them can be found in SingleSpeciesTutorial, which is also in the ioNERDSS github repository. A more detailed description on the functions and all of there parameters can be found in the ioNERDSS User Guide in the ioNERDSS github repository.

[1]:
import ioNERDSS as io
# Create a single histogram object
single_hist = io.SingleHistogram(FileName = "ReadyToGoOutputFiles/histogram_complexes_time.dat", FileNum = 1, InitialTime = 0.0, FinalTime = 0.02, SpeciesName = 'gag')

4.1 General Histogram

This function creates histogram of the average number of each type/size of complex species

For more information, read 2.2.1 HISTOGRAM average number of each complex species size in the User Guide.

[2]:
result = single_hist.hist_complex_count()
_images/ioNERDSSTutorialGagSphere_43_0.png

4.2 Maximum Monomers in Single Complex vs. Time

This function creates a plot indicating maximum number of monomers in single complex molecule during a certain time period.

For more information, read 2.1.5 LINE GRAPH max count of protein species in a single complex at a time in the User Guide.

[3]:
result = single_hist.line_max_complex_size()
_images/ioNERDSSTutorialGagSphere_46_0.png

4.3 General Histogram Progression vs. Time

This function enables users to generate 2D histogram of numerical distribution of different N-mers vs. time. The x-axis is the distribution of number of monomers in single complex and y-axis is the time period. The color in each box indicates the number of corresponding N-mers when corresponding time period is reached.

Important Parameters:

  • TimeBins: It is the number of bins that users want to divide the selected time period into. The value should be a positive integer.

  • xBarSize (Int, Optional = 1): It is the size of each data bar in x-dimension. The x-axis will be separated evenly according to this number and the count of each size range will be summed up and shown together.

  • ShowMean (Bool, Optional = False): Whether the corresponding mean value will be shown in the center of each box

  • ShowStd (Bool, Optional = False): Whether the corresponding standard deviation value will be shown in the center of each box

For more information, read 2.2.3 HEATMAP average number of complexes at each time interval in the User Guide.

[4]:
result = single_hist.heatmap_complex_count(TimeBins = 12)
_images/ioNERDSSTutorialGagSphere_49_0.png

4.4 sphere_regularization_index

image.png

In the sphere assembled by gag proteins, each gag monomer can be viewed as a sphere cap contributing a portion of the sphere. Ideally, the gag monomers would self-organize themselves exactly on the surface of the ideal sphere and become “spherical caps” that perfectly comprise of the sphere. However, this assembly may not be perfect in reality. The theta of each gag sphere cap can be either greater than or less than the ideal theta of the sphere. In this case, the sphere regularization index is calculated as the ratio of gag monomers that have their theta less than or equal to the ideal theta in an assembled complex.

This function calculated the regularization index of the complexes formed in the simulation.

For more information, read 2.8.2 Sphere Regularization Index in the User Guide.

[1]:
import ioNERDSS as io

# Calculate the regularization index of the first 3 largest complexes formed at iteration 200000
io.sphere_regularization_index(PathName = "ReadyToGoOutputFiles", IterNum = 200000, TimeStep = 0.1, ComplexNum = 3, SpeciesName = "gag")
The total number of complexes is 1715
Complex Size: 6.000000
Theta of the sphere cap: 0.928128
R of the fitted circle: 4.500332
Sphere center coord:  [360.08775134 334.06316664 324.12423557]
Sphere cap COM:  [360.151, 334.6261666666666, 324.179]
Regularixation index:  0.0
------------------------------------------------------------------------------
The total number of complexes is 1715
Complex Size: 6.000000
Theta of the sphere cap: 0.577679
R of the fitted circle: 7.071632
Sphere center coord:  [232.64189749  25.71270212 430.04258583]
Sphere cap COM:  [231.44450000000003, 20.3605, 430.05566666666664]
Regularixation index:  0.0
------------------------------------------------------------------------------
The total number of complexes is 1715
Complex Size: 5.000000
Theta of the sphere cap: 0.294724
R of the fitted circle: 12.523278
Sphere center coord:  [227.15198911  48.0934493   53.14100001]
Sphere cap COM:  [220.01, 39.382999999999996, 49.8514]
Regularixation index:  0.2
------------------------------------End---------------------------------------
[1]:
([6, 6, 5],
 [0.9281276152423736, 0.5776793892583632, 0.2947238103467156],
 [4.50033236241453, 7.071632070949526, 12.523277826527606],
 [array([360.08775134, 334.06316664, 324.12423557]),
  array([232.64189749,  25.71270212, 430.04258583]),
  array([227.15198911,  48.0934493 ,  53.14100001])],
 [[360.151, 334.6261666666666, 324.179],
  [231.44450000000003, 20.3605, 430.05566666666664],
  [220.01, 39.382999999999996, 49.8514]],
 [0.0, 0.0, 0.2])

4.5 Gag Reshape

This function reshapes and regularizes experimentally measured gag lattice structures. Constructs a model of the gag monomer; Experimentally measured gag lattice structures must be regularized to eliminate thermal fluctuations and other experimental errors.

[7]:
import ioNERDSS as io
io.reshape_gag("ReadyToGoOutputFiles/PDB/5000.pdb")
Sphere center position [x,y,z] and radius [R] are, respectively:
 [15.89516162 22.03259438 27.17165812 23.93213471]
A

[[ 2.37606754e+01  1.34138348e-01  6.05013414e+01]
 [ 2.41262243e+01  1.36202015e-01  6.14321313e+01]
 [ 2.33951266e+01  1.32074681e-01  5.95705515e+01]
 [ 2.37972622e+01  1.56891512e-01  6.04864566e+01]
 [ 2.38259336e+01  1.95556876e-01  6.04950575e+01]
 [ 2.34679874e+01 -4.79029305e-02  6.06204233e+01]
 [ 2.37792024e+01  1.77536547e-01  6.05190585e+01]
 [ 2.38439026e+01  1.72579408e-01  6.04423316e+01]]

B

[[-21.61793913   8.95384255  60.64234009]
 [-21.95052281   9.09159398  61.57529917]
 [-21.28535545   8.81609113  59.70938101]
 [-21.65496656   8.92922043  60.63231141]
 [-21.68321566   8.89234614  60.64758586]
 [-21.32172572   9.15083593  60.72257122]
 [-21.63571702   8.91362133  60.66697235]
 [-21.70308832   8.90724983  60.5926875 ]]

C

[[ -9.57478778 -11.35859552  63.27958396]
 [ -9.72209221 -11.53334314  64.25311603]
 [ -9.42748336 -11.18384789  62.3060519 ]
 [ -9.57378707 -11.40339915  63.27124805]
 [ -9.55423053 -11.44583555  63.28566077]
 [ -9.58281026 -11.00016322  63.34627533]
 [ -9.54576231 -11.39334931  63.30172544]
 [ -9.58493958 -11.45765079  63.23518081]]

D

[[11.7641705  20.6444177  60.50134139]
 [11.94515774 20.96202413 61.43213126]
 [11.58318326 20.32681128 59.57055152]
 [11.76275907 20.68747936 60.48645665]
 [11.74360957 20.7316422  60.49505746]
 [11.77547884 20.29992178 60.62042325]
 [11.73585003 20.68216162 60.51905853]
 [11.77249317 20.73571512 60.44233155]]

E

[[-18.56322467 -14.24476319  60.64234009]
 [-18.84881275 -14.46391339  61.57529917]
 [-18.2776366  -14.02561298  59.70938101]
 [-18.560415   -14.28914095  60.63231141]
 [-18.54260549 -14.33204252  60.64758586]
 [-18.58571924 -13.88973816  60.72257122]
 [-18.53728102 -14.2802699   60.66697235]
 [-18.56544879 -14.34180091  60.5926875 ]]

F

[[  5.04943838 -13.97130722  63.27958396]
 [  5.12712204 -14.1862504   64.25311603]
 [  4.97175471 -13.75636403  62.3060519 ]
 [  5.08873982 -13.99284239  63.27124805]
 [  5.13526909 -13.99712412  63.28566077]
 [  4.73501567 -13.79903873  63.34627533]
 [  5.09404878 -13.96354732  63.30172544]
 [  5.13014686 -14.02962657  63.23518081]]

G

[[-11.99650493  20.51027936  60.50134139]
 [-12.18106654  20.82582212  61.43213126]
 [-11.81194332  20.1947366   59.57055152]
 [-12.03450314  20.53058785  60.48645665]
 [-12.08232402  20.53608532  60.49505746]
 [-11.69250853  20.34782471  60.62042325]
 [-12.04335235  20.50462507  60.51905853]
 [-12.07140947  20.56313571  60.44233155]]

H

[[  3.05471445 -23.19860574  60.64234009]
 [  3.10171006 -23.55550736  61.57529917]
 [  3.00771885 -22.84170411  59.70938101]
 [  3.09455155 -23.21836137  60.63231141]
 [  3.14061017 -23.22438867  60.64758586]
 [  2.73600648 -23.04057409  60.72257122]
 [  3.098436   -23.19389123  60.66697235]
 [  3.13763953 -23.24905074  60.5926875 ]]

I

[[14.62422616 -2.6127117  63.27958396]
 [14.84921426 -2.65290726 64.25311603]
 [14.39923807 -2.57251613 62.3060519 ]
 [14.66252689 -2.58944324 63.27124805]
 [14.68949962 -2.55128857 63.28566077]
 [14.31782592 -2.79887551 63.34627533]
 [14.63981109 -2.57019801 63.30172544]
 [14.71508644 -2.57197578 63.23518081]]

J

[[-2.37606754e+01 -1.34138348e-01  6.05013414e+01]
 [-2.41262243e+01 -1.36202015e-01  6.14321313e+01]
 [-2.33951266e+01 -1.32074681e-01  5.95705515e+01]
 [-2.37972622e+01 -1.56891512e-01  6.04864566e+01]
 [-2.38259336e+01 -1.95556876e-01  6.04950575e+01]
 [-2.34679874e+01  4.79029305e-02  6.06204233e+01]
 [-2.37792024e+01 -1.77536547e-01  6.05190585e+01]
 [-2.38439026e+01 -1.72579408e-01  6.04423316e+01]]

K

[[21.61793913 -8.95384255 60.64234009]
 [21.95052281 -9.09159398 61.57529917]
 [21.28535545 -8.81609113 59.70938101]
 [21.65496656 -8.92922043 60.63231141]
 [21.68321566 -8.89234614 60.64758586]
 [21.32172572 -9.15083593 60.72257122]
 [21.63571702 -8.91362133 60.66697235]
 [21.70308832 -8.90724983 60.5926875 ]]

L

[[ 9.57478778 11.35859552 63.27958396]
 [ 9.72209221 11.53334314 64.25311603]
 [ 9.42748336 11.18384789 62.3060519 ]
 [ 9.57378707 11.40339915 63.27124805]
 [ 9.55423053 11.44583555 63.28566077]
 [ 9.58281026 11.00016322 63.34627533]
 [ 9.54576231 11.39334931 63.30172544]
 [ 9.58493958 11.45765079 63.23518081]]

M

[[-11.7641705  -20.6444177   60.50134139]
 [-11.94515774 -20.96202413  61.43213126]
 [-11.58318326 -20.32681128  59.57055152]
 [-11.76275907 -20.68747936  60.48645665]
 [-11.74360957 -20.7316422   60.49505746]
 [-11.77547884 -20.29992178  60.62042325]
 [-11.73585003 -20.68216162  60.51905853]
 [-11.77249317 -20.73571512  60.44233155]]

N

[[18.56322467 14.24476319 60.64234009]
 [18.84881275 14.46391339 61.57529917]
 [18.2776366  14.02561298 59.70938101]
 [18.560415   14.28914095 60.63231141]
 [18.54260549 14.33204252 60.64758586]
 [18.58571924 13.88973816 60.72257122]
 [18.53728102 14.2802699  60.66697235]
 [18.56544879 14.34180091 60.5926875 ]]

O

[[-5.04943838 13.97130722 63.27958396]
 [-5.12712204 14.1862504  64.25311603]
 [-4.97175471 13.75636403 62.3060519 ]
 [-5.08873982 13.99284239 63.27124805]
 [-5.13526909 13.99712412 63.28566077]
 [-4.73501567 13.79903873 63.34627533]
 [-5.09404878 13.96354732 63.30172544]
 [-5.13014686 14.02962657 63.23518081]]

P

[[ 11.99650493 -20.51027936  60.50134139]
 [ 12.18106654 -20.82582212  61.43213126]
 [ 11.81194332 -20.1947366   59.57055152]
 [ 12.03450314 -20.53058785  60.48645665]
 [ 12.08232402 -20.53608532  60.49505746]
 [ 11.69250853 -20.34782471  60.62042325]
 [ 12.04335235 -20.50462507  60.51905853]
 [ 12.07140947 -20.56313571  60.44233155]]

Q

[[-3.05471445 23.19860574 60.64234009]
 [-3.10171006 23.55550736 61.57529917]
 [-3.00771885 22.84170411 59.70938101]
 [-3.09455155 23.21836137 60.63231141]
 [-3.14061017 23.22438867 60.64758586]
 [-2.73600648 23.04057409 60.72257122]
 [-3.098436   23.19389123 60.66697235]
 [-3.13763953 23.24905074 60.5926875 ]]

R

[[-14.62422616   2.6127117   63.27958396]
 [-14.84921426   2.65290726  64.25311603]
 [-14.39923807   2.57251613  62.3060519 ]
 [-14.66252689   2.58944324  63.27124805]
 [-14.68949962   2.55128857  63.28566077]
 [-14.31782592   2.79887551  63.34627533]
 [-14.63981109   2.57019801  63.30172544]
 [-14.71508644   2.57197578  63.23518081]]

[7]:
array([[ 2.37606754e+01,  1.34138348e-01,  6.05013414e+01],
       [ 2.41262243e+01,  1.36202015e-01,  6.14321313e+01],
       [ 2.33951266e+01,  1.32074681e-01,  5.95705515e+01],
       [ 2.37972622e+01,  1.56891512e-01,  6.04864566e+01],
       [ 2.38259336e+01,  1.95556876e-01,  6.04950575e+01],
       [ 2.34679874e+01, -4.79029305e-02,  6.06204233e+01],
       [ 2.37792024e+01,  1.77536547e-01,  6.05190585e+01],
       [ 2.38439026e+01,  1.72579408e-01,  6.04423316e+01],
       [-2.16179391e+01,  8.95384255e+00,  6.06423401e+01],
       [-2.19505228e+01,  9.09159398e+00,  6.15752992e+01],
       [-2.12853554e+01,  8.81609113e+00,  5.97093810e+01],
       [-2.16549666e+01,  8.92922043e+00,  6.06323114e+01],
       [-2.16832157e+01,  8.89234614e+00,  6.06475859e+01],
       [-2.13217257e+01,  9.15083593e+00,  6.07225712e+01],
       [-2.16357170e+01,  8.91362133e+00,  6.06669724e+01],
       [-2.17030883e+01,  8.90724983e+00,  6.05926875e+01],
       [-9.57478778e+00, -1.13585955e+01,  6.32795840e+01],
       [-9.72209221e+00, -1.15333431e+01,  6.42531160e+01],
       [-9.42748336e+00, -1.11838479e+01,  6.23060519e+01],
       [-9.57378707e+00, -1.14033991e+01,  6.32712480e+01],
       [-9.55423053e+00, -1.14458356e+01,  6.32856608e+01],
       [-9.58281026e+00, -1.10001632e+01,  6.33462753e+01],
       [-9.54576231e+00, -1.13933493e+01,  6.33017254e+01],
       [-9.58493958e+00, -1.14576508e+01,  6.32351808e+01],
       [ 1.17641705e+01,  2.06444177e+01,  6.05013414e+01],
       [ 1.19451577e+01,  2.09620241e+01,  6.14321313e+01],
       [ 1.15831833e+01,  2.03268113e+01,  5.95705515e+01],
       [ 1.17627591e+01,  2.06874794e+01,  6.04864566e+01],
       [ 1.17436096e+01,  2.07316422e+01,  6.04950575e+01],
       [ 1.17754788e+01,  2.02999218e+01,  6.06204233e+01],
       [ 1.17358500e+01,  2.06821616e+01,  6.05190585e+01],
       [ 1.17724932e+01,  2.07357151e+01,  6.04423316e+01],
       [-1.85632247e+01, -1.42447632e+01,  6.06423401e+01],
       [-1.88488127e+01, -1.44639134e+01,  6.15752992e+01],
       [-1.82776366e+01, -1.40256130e+01,  5.97093810e+01],
       [-1.85604150e+01, -1.42891409e+01,  6.06323114e+01],
       [-1.85426055e+01, -1.43320425e+01,  6.06475859e+01],
       [-1.85857192e+01, -1.38897382e+01,  6.07225712e+01],
       [-1.85372810e+01, -1.42802699e+01,  6.06669724e+01],
       [-1.85654488e+01, -1.43418009e+01,  6.05926875e+01],
       [ 5.04943838e+00, -1.39713072e+01,  6.32795840e+01],
       [ 5.12712204e+00, -1.41862504e+01,  6.42531160e+01],
       [ 4.97175471e+00, -1.37563640e+01,  6.23060519e+01],
       [ 5.08873982e+00, -1.39928424e+01,  6.32712480e+01],
       [ 5.13526909e+00, -1.39971241e+01,  6.32856608e+01],
       [ 4.73501567e+00, -1.37990387e+01,  6.33462753e+01],
       [ 5.09404878e+00, -1.39635473e+01,  6.33017254e+01],
       [ 5.13014686e+00, -1.40296266e+01,  6.32351808e+01],
       [-1.19965049e+01,  2.05102794e+01,  6.05013414e+01],
       [-1.21810665e+01,  2.08258221e+01,  6.14321313e+01],
       [-1.18119433e+01,  2.01947366e+01,  5.95705515e+01],
       [-1.20345031e+01,  2.05305879e+01,  6.04864566e+01],
       [-1.20823240e+01,  2.05360853e+01,  6.04950575e+01],
       [-1.16925085e+01,  2.03478247e+01,  6.06204233e+01],
       [-1.20433523e+01,  2.05046251e+01,  6.05190585e+01],
       [-1.20714095e+01,  2.05631357e+01,  6.04423316e+01],
       [ 3.05471445e+00, -2.31986057e+01,  6.06423401e+01],
       [ 3.10171006e+00, -2.35555074e+01,  6.15752992e+01],
       [ 3.00771885e+00, -2.28417041e+01,  5.97093810e+01],
       [ 3.09455155e+00, -2.32183614e+01,  6.06323114e+01],
       [ 3.14061017e+00, -2.32243887e+01,  6.06475859e+01],
       [ 2.73600648e+00, -2.30405741e+01,  6.07225712e+01],
       [ 3.09843600e+00, -2.31938912e+01,  6.06669724e+01],
       [ 3.13763953e+00, -2.32490507e+01,  6.05926875e+01],
       [ 1.46242262e+01, -2.61271170e+00,  6.32795840e+01],
       [ 1.48492143e+01, -2.65290726e+00,  6.42531160e+01],
       [ 1.43992381e+01, -2.57251613e+00,  6.23060519e+01],
       [ 1.46625269e+01, -2.58944324e+00,  6.32712480e+01],
       [ 1.46894996e+01, -2.55128857e+00,  6.32856608e+01],
       [ 1.43178259e+01, -2.79887551e+00,  6.33462753e+01],
       [ 1.46398111e+01, -2.57019801e+00,  6.33017254e+01],
       [ 1.47150864e+01, -2.57197578e+00,  6.32351808e+01],
       [-2.37606754e+01, -1.34138348e-01,  6.05013414e+01],
       [-2.41262243e+01, -1.36202015e-01,  6.14321313e+01],
       [-2.33951266e+01, -1.32074681e-01,  5.95705515e+01],
       [-2.37972622e+01, -1.56891512e-01,  6.04864566e+01],
       [-2.38259336e+01, -1.95556876e-01,  6.04950575e+01],
       [-2.34679874e+01,  4.79029305e-02,  6.06204233e+01],
       [-2.37792024e+01, -1.77536547e-01,  6.05190585e+01],
       [-2.38439026e+01, -1.72579408e-01,  6.04423316e+01],
       [ 2.16179391e+01, -8.95384255e+00,  6.06423401e+01],
       [ 2.19505228e+01, -9.09159398e+00,  6.15752992e+01],
       [ 2.12853554e+01, -8.81609113e+00,  5.97093810e+01],
       [ 2.16549666e+01, -8.92922043e+00,  6.06323114e+01],
       [ 2.16832157e+01, -8.89234614e+00,  6.06475859e+01],
       [ 2.13217257e+01, -9.15083593e+00,  6.07225712e+01],
       [ 2.16357170e+01, -8.91362133e+00,  6.06669724e+01],
       [ 2.17030883e+01, -8.90724983e+00,  6.05926875e+01],
       [ 9.57478778e+00,  1.13585955e+01,  6.32795840e+01],
       [ 9.72209221e+00,  1.15333431e+01,  6.42531160e+01],
       [ 9.42748336e+00,  1.11838479e+01,  6.23060519e+01],
       [ 9.57378707e+00,  1.14033991e+01,  6.32712480e+01],
       [ 9.55423053e+00,  1.14458356e+01,  6.32856608e+01],
       [ 9.58281026e+00,  1.10001632e+01,  6.33462753e+01],
       [ 9.54576231e+00,  1.13933493e+01,  6.33017254e+01],
       [ 9.58493958e+00,  1.14576508e+01,  6.32351808e+01],
       [-1.17641705e+01, -2.06444177e+01,  6.05013414e+01],
       [-1.19451577e+01, -2.09620241e+01,  6.14321313e+01],
       [-1.15831833e+01, -2.03268113e+01,  5.95705515e+01],
       [-1.17627591e+01, -2.06874794e+01,  6.04864566e+01],
       [-1.17436096e+01, -2.07316422e+01,  6.04950575e+01],
       [-1.17754788e+01, -2.02999218e+01,  6.06204233e+01],
       [-1.17358500e+01, -2.06821616e+01,  6.05190585e+01],
       [-1.17724932e+01, -2.07357151e+01,  6.04423316e+01],
       [ 1.85632247e+01,  1.42447632e+01,  6.06423401e+01],
       [ 1.88488127e+01,  1.44639134e+01,  6.15752992e+01],
       [ 1.82776366e+01,  1.40256130e+01,  5.97093810e+01],
       [ 1.85604150e+01,  1.42891409e+01,  6.06323114e+01],
       [ 1.85426055e+01,  1.43320425e+01,  6.06475859e+01],
       [ 1.85857192e+01,  1.38897382e+01,  6.07225712e+01],
       [ 1.85372810e+01,  1.42802699e+01,  6.06669724e+01],
       [ 1.85654488e+01,  1.43418009e+01,  6.05926875e+01],
       [-5.04943838e+00,  1.39713072e+01,  6.32795840e+01],
       [-5.12712204e+00,  1.41862504e+01,  6.42531160e+01],
       [-4.97175471e+00,  1.37563640e+01,  6.23060519e+01],
       [-5.08873982e+00,  1.39928424e+01,  6.32712480e+01],
       [-5.13526909e+00,  1.39971241e+01,  6.32856608e+01],
       [-4.73501567e+00,  1.37990387e+01,  6.33462753e+01],
       [-5.09404878e+00,  1.39635473e+01,  6.33017254e+01],
       [-5.13014686e+00,  1.40296266e+01,  6.32351808e+01],
       [ 1.19965049e+01, -2.05102794e+01,  6.05013414e+01],
       [ 1.21810665e+01, -2.08258221e+01,  6.14321313e+01],
       [ 1.18119433e+01, -2.01947366e+01,  5.95705515e+01],
       [ 1.20345031e+01, -2.05305879e+01,  6.04864566e+01],
       [ 1.20823240e+01, -2.05360853e+01,  6.04950575e+01],
       [ 1.16925085e+01, -2.03478247e+01,  6.06204233e+01],
       [ 1.20433523e+01, -2.05046251e+01,  6.05190585e+01],
       [ 1.20714095e+01, -2.05631357e+01,  6.04423316e+01],
       [-3.05471445e+00,  2.31986057e+01,  6.06423401e+01],
       [-3.10171006e+00,  2.35555074e+01,  6.15752992e+01],
       [-3.00771885e+00,  2.28417041e+01,  5.97093810e+01],
       [-3.09455155e+00,  2.32183614e+01,  6.06323114e+01],
       [-3.14061017e+00,  2.32243887e+01,  6.06475859e+01],
       [-2.73600648e+00,  2.30405741e+01,  6.07225712e+01],
       [-3.09843600e+00,  2.31938912e+01,  6.06669724e+01],
       [-3.13763953e+00,  2.32490507e+01,  6.05926875e+01],
       [-1.46242262e+01,  2.61271170e+00,  6.32795840e+01],
       [-1.48492143e+01,  2.65290726e+00,  6.42531160e+01],
       [-1.43992381e+01,  2.57251613e+00,  6.23060519e+01],
       [-1.46625269e+01,  2.58944324e+00,  6.32712480e+01],
       [-1.46894996e+01,  2.55128857e+00,  6.32856608e+01],
       [-1.43178259e+01,  2.79887551e+00,  6.33462753e+01],
       [-1.46398111e+01,  2.57019801e+00,  6.33017254e+01],
       [-1.47150864e+01,  2.57197578e+00,  6.32351808e+01]])