Skip to content

Instantly share code, notes, and snippets.

@dotsdl
Last active February 7, 2016 05:27
Show Gist options
  • Save dotsdl/5c526d163be04ca366b0 to your computer and use it in GitHub Desktop.
Save dotsdl/5c526d163be04ca366b0 to your computer and use it in GitHub Desktop.
2D vs. 1D atom attributes through ResidueGroup, SegmentGroup
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import MDAnalysis as mda\n",
"from MDAnalysisTests.datafiles import PSF, DCD, GRO, XTC\n",
"\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"u = mda.Universe(GRO)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We want to see the performance benefit/sacrifice for making atom attributes accessed from a `ResidueGroup` or `SegmentGroup` yield 2D results (typically a list of arrays where there is an array for each residue/segment) vs. 1D results, where there is a single array with a value for each atom. The reason we care at all is because for the 2D case the results are separated by residue/segment. Also, it adds something that can't currently be gotten performantly at the level of `ResidueGroup`s and `SegmentGroup`s."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The idea is that for a `ResidueGroup`, we can already get to the names of every atom represented with:"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array(['N', 'O', 'C', ..., 'NA', 'NA', 'NA'], dtype=object)"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"u.residues.atoms.names"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"But what if we want the names separated by residue, but don't want to iterate through like:"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 loop, best of 3: 182 ms per loop\n"
]
}
],
"source": [
"%timeit b = [res.atoms.names for res in u.residues]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Instead we could do this:"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[array(['N', 'O', 'C', 'HE3', 'HE1', 'CE', 'SD', 'HG2', 'HG1', 'HE2', 'HB2',\n",
" 'HB1', 'CB', 'HA', 'CA', 'H3', 'H2', 'H1', 'CG'], dtype=object),\n",
" array(['HE', 'CZ', 'NH1', 'HH11', 'HH12', 'C', 'HH21', 'HH22', 'O', 'NE',\n",
" 'NH2', 'HD2', 'HB2', 'CD', 'N', 'HD1', 'CA', 'HA', 'CB', 'H', 'CG',\n",
" 'HG1', 'HG2', 'HB1'], dtype=object),\n",
" array(['HG22', 'O', 'C', 'HD3', 'HD2', 'HD1', 'CD', 'HG23', 'HG21', 'H',\n",
" 'HG12', 'CA', 'HA', 'CB', 'N', 'CG1', 'HG11', 'HB', 'CG2'], dtype=object),\n",
" array(['O', 'HG21', 'C', 'HD3', 'HD2', 'HD1', 'CD', 'HG23', 'HG22', 'CG2',\n",
" 'HG11', 'CG1', 'HB', 'CB', 'HA', 'CA', 'H', 'N', 'HG12'], dtype=object),\n",
" array(['HD13', 'CD2', 'HD21', 'HD11', 'HD23', 'C', 'O', 'HD22', 'CD1',\n",
" 'HD12', 'CG', 'H', 'CA', 'HA', 'N', 'HB1', 'HB2', 'HG', 'CB'], dtype=object),\n",
" array(['HD11', 'O', 'C', 'HD22', 'HD21', 'CD2', 'HD13', 'HD12', 'CD1',\n",
" 'HD23', 'CG', 'HB2', 'HB1', 'CB', 'HA', 'CA', 'HG', 'H', 'N'], dtype=object),\n",
" array(['O', 'C', 'HA2', 'H', 'CA', 'N', 'HA1'], dtype=object),\n",
" array(['HB2', 'O', 'C', 'HB3', 'HB1', 'N', 'HA', 'CA', 'H', 'CB'], dtype=object),\n",
" array(['HG2', 'C', 'O', 'HD2', 'HD1', 'CD', 'HG1', 'CA', 'HB2', 'HB1',\n",
" 'CB', 'HA', 'N', 'CG'], dtype=object),\n",
" array(['O', 'C', 'HA2', 'CA', 'H', 'N', 'HA1'], dtype=object),\n",
" array(['HB2', 'C', 'O', 'HB1', 'HB3', 'HA', 'CA', 'H', 'N', 'CB'], dtype=object),\n",
" array(['C', 'HA2', 'HA1', 'O', 'H', 'N', 'CA'], dtype=object),\n",
" array(['HD2', 'O', 'C', 'HZ3', 'HZ2', 'HZ1', 'NZ', 'HE2', 'HE1', 'CE',\n",
" 'HD1', 'CG', 'HG2', 'HG1', 'CD', 'HB2', 'HB1', 'CB', 'HA', 'CA',\n",
" 'H', 'N'], dtype=object),\n",
" array(['O', 'C', 'HA2', 'H', 'CA', 'N', 'HA1'], dtype=object),\n",
" array(['CG2', 'O', 'C', 'HG23', 'HG22', 'HG21', 'HG1', 'CA', 'HB', 'CB',\n",
" 'HA', 'H', 'N', 'OG1'], dtype=object),\n",
" array(['HG2', 'O', 'C', 'HE22', 'HE21', 'NE2', 'OE1', 'HG1', 'CD', 'HB2',\n",
" 'CG', 'HB1', 'CB', 'HA', 'CA', 'H', 'N'], dtype=object),\n",
" array(['O', 'C', 'HB3', 'HB2', 'HB1', 'CB', 'HA', 'CA', 'H', 'N'], dtype=object),\n",
" array(['C', 'HE22', 'HE21', 'O', 'NE2', 'OE1', 'CD', 'HG2', 'HA', 'CG',\n",
" 'HB2', 'HB1', 'CB', 'CA', 'H', 'N', 'HG1'], dtype=object),\n",
" array(['CE1', 'O', 'CE2', 'C', 'CZ', 'HZ', 'HD2', 'HE2', 'CD2', 'HE1',\n",
" 'CD1', 'N', 'H', 'CA', 'HA', 'HD1', 'HB1', 'HB2', 'CG', 'CB'], dtype=object),\n",
" array(['HG21', 'O', 'C', 'HD2', 'HD1', 'CD', 'HG23', 'HG22', 'CG2', 'HD3',\n",
" 'HG11', 'H', 'CA', 'HA', 'N', 'HB', 'CG1', 'CB', 'HG12'], dtype=object),\n",
" array(['O', 'HG2', 'C', 'HE3', 'HE2', 'HE1', 'CE', 'SD', 'CG', 'HB2',\n",
" 'HB1', 'CB', 'HA', 'CA', 'H', 'N', 'HG1'], dtype=object),\n",
" array(['HG2', 'O', 'C', 'OE2', 'OE1', 'CD', 'HG1', 'N', 'HB2', 'HB1', 'CB',\n",
" 'HA', 'CA', 'H', 'CG'], dtype=object),\n",
" array(['CE', 'HE1', 'HE2', 'NZ', 'HZ3', 'HZ2', 'C', 'O', 'HZ1', 'HD1',\n",
" 'HD2', 'HG2', 'HG1', 'CG', 'HB2', 'HB1', 'CB', 'HA', 'CA', 'H', 'N',\n",
" 'CD'], dtype=object),\n",
" array(['CE1', 'HE1', 'CE2', 'HE2', 'HD2', 'HH', 'C', 'O', 'OH', 'CD2',\n",
" 'CZ', 'CD1', 'CG', 'HB2', 'HB1', 'CB', 'HD1', 'HA', 'CA', 'H', 'N'], dtype=object),\n",
" array(['O', 'C', 'HA2', 'CA', 'H', 'N', 'HA1'], dtype=object),\n",
" array(['HG22', 'O', 'C', 'HD3', 'HD2', 'HD1', 'CD', 'HG23', 'HG21', 'HA',\n",
" 'HG12', 'HG11', 'CG1', 'HB', 'CB', 'CA', 'H', 'N', 'CG2'], dtype=object),\n",
" array(['HG2', 'O', 'C', 'HD2', 'HD1', 'HG1', 'CD', 'HB2', 'HB1', 'CG',\n",
" 'CB', 'HA', 'CA', 'N'], dtype=object),\n",
" array(['C', 'HE22', 'HE21', 'NE2', 'OE1', 'CD', 'HG2', 'HG1', 'O', 'HB2',\n",
" 'HB1', 'CB', 'HA', 'CA', 'H', 'N', 'CG'], dtype=object),\n",
" array(['HG22', 'HG23', 'CD', 'C', 'HD2', 'HD3', 'O', 'HD1', 'HG21', 'HG11',\n",
" 'HG12', 'CG1', 'HB', 'CB', 'HA', 'CA', 'H', 'N', 'CG2'], dtype=object),\n",
" array(['OG', 'O', 'C', 'HG', 'HB2', 'CA', 'CB', 'HA', 'HB1', 'H', 'N'], dtype=object),\n",
" array(['O', 'C', 'HG23', 'HG22', 'HG21', 'CG2', 'HG1', 'HB', 'CB', 'HA',\n",
" 'CA', 'H', 'N', 'OG1'], dtype=object),\n",
" array(['C', 'O', 'HA2', 'HA1', 'CA', 'H', 'N'], dtype=object),\n",
" array(['O', 'C', 'OD2', 'CG', 'HB2', 'OD1', 'CB', 'HA', 'CA', 'H', 'N',\n",
" 'HB1'], dtype=object),\n",
" array(['SD', 'C', 'HE3', 'HE2', 'HE1', 'O', 'CE', 'HG2', 'CB', 'CG', 'HB2',\n",
" 'HB1', 'HA', 'CA', 'H', 'N', 'HG1'], dtype=object),\n",
" array(['HD12', 'HD13', 'CD2', 'C', 'HD22', 'HD23', 'O', 'HD21', 'CD1',\n",
" 'HD11', 'CG', 'HB2', 'HB1', 'CB', 'HA', 'CA', 'H', 'N', 'HG'], dtype=object),\n",
" array(['HE', 'CZ', 'NH1', 'HH11', 'O', 'NH2', 'HH21', 'HH22', 'NE', 'HH12',\n",
" 'HD2', 'C', 'CD', 'HD1', 'N', 'H', 'HA', 'CB', 'CA', 'HB2', 'CG',\n",
" 'HG1', 'HG2', 'HB1'], dtype=object),\n",
" array(['HB2', 'O', 'C', 'HB3', 'HB1', 'N', 'HA', 'CA', 'H', 'CB'], dtype=object),\n",
" array(['HB2', 'O', 'C', 'HB1', 'HB3', 'HA', 'CA', 'H', 'N', 'CB'], dtype=object),\n",
" array(['O', 'C', 'HG23', 'HG22', 'HG21', 'HG13', 'HG12', 'CG2', 'CG1',\n",
" 'HB', 'CB', 'HA', 'CA', 'H', 'N', 'HG11'], dtype=object),\n",
" array(['CE', 'HE1', 'HE2', 'NZ', 'C', 'HZ2', 'HZ3', 'O', 'HD2', 'HZ1',\n",
" 'HD1', 'CB', 'HG2', 'HG1', 'CG', 'HB2', 'HB1', 'HA', 'CA', 'H', 'N',\n",
" 'CD'], dtype=object),\n",
" array(['O', 'C', 'HG', 'OG', 'HB2', 'H', 'CB', 'HA', 'CA', 'N', 'HB1'], dtype=object),\n",
" array(['O', 'C', 'HA2', 'H', 'CA', 'N', 'HA1'], dtype=object),\n",
" array(['O', 'C', 'HG', 'HB2', 'HB1', 'OG', 'HA', 'CA', 'H', 'N', 'CB'], dtype=object),\n",
" array(['HG2', 'O', 'C', 'OE2', 'OE1', 'CD', 'HG1', 'N', 'HB2', 'HB1', 'CB',\n",
" 'HA', 'CA', 'H', 'CG'], dtype=object),\n",
" array(['O', 'C', 'HD23', 'HD22', 'CD2', 'HD13', 'HD12', 'HD11', 'CD1',\n",
" 'HD21', 'CG', 'HB2', 'HB1', 'CB', 'HA', 'CA', 'H', 'N', 'HG'], dtype=object),\n",
" array(['O', 'C', 'HA2', 'HA1', 'H', 'N', 'CA'], dtype=object),\n",
" array(['O', 'C', 'HZ3', 'HZ2', 'HZ1', 'NZ', 'HE2', 'HE1', 'CE', 'HD1',\n",
" 'HD2', 'HG2', 'CD', 'H', 'CA', 'HA', 'N', 'HB1', 'HB2', 'CG', 'HG1',\n",
" 'CB'], dtype=object),\n",
" array(['HG2', 'O', 'C', 'HE22', 'HE21', 'OE1', 'CD', 'HG1', 'NE2', 'HB2',\n",
" 'HB1', 'CB', 'HA', 'CA', 'H', 'N', 'CG'], dtype=object),\n",
" array(['O', 'C', 'HB3', 'HB2', 'HB1', 'HA', 'CA', 'H', 'N', 'CB'], dtype=object),\n",
" array(['HD2', 'O', 'C', 'HZ3', 'HZ2', 'HZ1', 'NZ', 'HE1', 'CE', 'HD1',\n",
" 'HE2', 'HG2', 'N', 'H', 'HA', 'CB', 'CA', 'CD', 'HB2', 'CG', 'HG1',\n",
" 'HB1'], dtype=object),\n",
" array(['CG', 'O', 'C', 'OD2', 'OD1', 'HB2', 'CB', 'HA', 'CA', 'H', 'N',\n",
" 'HB1'], dtype=object),\n",
" array(['HG22', 'O', 'C', 'HD3', 'HD2', 'HD1', 'CD', 'HG23', 'HG21', 'H',\n",
" 'HG12', 'CG2', 'CA', 'HA', 'N', 'HB', 'CG1', 'HG11', 'CB'], dtype=object),\n",
" array(['SD', 'O', 'C', 'HE3', 'HE2', 'HE1', 'CE', 'HG2', 'CG', 'HB2',\n",
" 'HB1', 'CB', 'HA', 'CA', 'H', 'N', 'HG1'], dtype=object),\n",
" array(['CB', 'C', 'OD2', 'OD1', 'CG', 'HB2', 'CA', 'HA', 'O', 'H', 'N',\n",
" 'HB1'], dtype=object),\n",
" array(['HB3', 'HA', 'O', 'C', 'HB2', 'N', 'CB', 'CA', 'H', 'HB1'], dtype=object),\n",
" array(['N', 'H', 'CA', 'HA1', 'HA2', 'C', 'O'], dtype=object),\n",
" array(['HE2', 'CE', 'HE1', 'NZ', 'HD2', 'HZ2', 'HZ3', 'C', 'O', 'HZ1',\n",
" 'HD1', 'HG2', 'N', 'HG1', 'CG', 'HB2', 'HB1', 'CB', 'HA', 'CA', 'H',\n",
" 'CD'], dtype=object),\n",
" array(['HD13', 'CD2', 'HD21', 'HD22', 'C', 'O', 'HD12', 'HD23', 'HD11',\n",
" 'CG', 'HG', 'HB2', 'HB1', 'CB', 'HA', 'CA', 'H', 'N', 'CD1'], dtype=object),\n",
" array(['HG13', 'C', 'HG23', 'HG22', 'HG21', 'CG2', 'HG12', 'O', 'CG1',\n",
" 'HB', 'CB', 'HA', 'CA', 'H', 'N', 'HG11'], dtype=object),\n",
" array(['O', 'C', 'HG23', 'CG2', 'HG22', 'HG21', 'HG1', 'CA', 'HB', 'CB',\n",
" 'HA', 'H', 'N', 'OG1'], dtype=object),\n",
" array(['C', 'OD2', 'OD1', 'CG', 'HB2', 'O', 'CB', 'HA', 'CA', 'H', 'N',\n",
" 'HB1'], dtype=object),\n",
" array(['O', 'C', 'OE2', 'OE1', 'CD', 'HG2', 'HG1', 'HB1', 'HB2', 'CB',\n",
" 'HA', 'CA', 'H', 'N', 'CG'], dtype=object),\n",
" array(['CD2', 'HD13', 'HD21', 'HD12', 'HD23', 'C', 'O', 'HD22', 'HD11',\n",
" 'HB1', 'HG', 'CG', 'HB2', 'CD1', 'CB', 'HA', 'CA', 'H', 'N'], dtype=object),\n",
" array(['O', 'HG23', 'HG22', 'HG21', 'CG2', 'HG13', 'HG12', 'C', 'CG1',\n",
" 'HB', 'CB', 'HA', 'CA', 'H', 'N', 'HG11'], dtype=object),\n",
" array(['HG22', 'HG23', 'CD', 'C', 'HD2', 'HD3', 'O', 'HD1', 'HG21', 'HG11',\n",
" 'HG12', 'CG1', 'HB', 'CB', 'HA', 'CA', 'H', 'N', 'CG2'], dtype=object),\n",
" array(['HB3', 'O', 'C', 'HB2', 'HB1', 'HA', 'CA', 'H', 'N', 'CB'], dtype=object),\n",
" array(['HD23', 'O', 'C', 'HD22', 'HD21', 'CD2', 'HD13', 'HD12', 'CD1',\n",
" 'HD11', 'H', 'CG', 'HB2', 'HB1', 'CB', 'HA', 'CA', 'HG', 'N'], dtype=object),\n",
" array(['CG2', 'HG21', 'HG22', 'HG13', 'C', 'O', 'HG23', 'HG12', 'H', 'CG1',\n",
" 'HB', 'CB', 'HA', 'CA', 'N', 'HG11'], dtype=object),\n",
" array(['HE2', 'CE', 'HE1', 'NZ', 'HD2', 'HZ1', 'HZ2', 'HZ3', 'C', 'O',\n",
" 'HD1', 'CB', 'HG2', 'CD', 'H', 'CA', 'HA', 'N', 'HB2', 'CG', 'HG1',\n",
" 'HB1'], dtype=object),\n",
" array(['HG2', 'O', 'C', 'OE2', 'OE1', 'CD', 'HG1', 'CG', 'HB2', 'HB1',\n",
" 'CB', 'HA', 'CA', 'H', 'N'], dtype=object),\n",
" array(['HE', 'CZ', 'NH1', 'O', 'HH22', 'NH2', 'HH21', 'NE', 'C', 'HH12',\n",
" 'HD2', 'HH11', 'CD', 'HD1', 'H', 'CA', 'HA', 'CB', 'N', 'HB2', 'CG',\n",
" 'HG1', 'HG2', 'HB1'], dtype=object),\n",
" array(['HG21', 'O', 'C', 'HD3', 'HD2', 'HD1', 'CD', 'HG22', 'CG2', 'HG23',\n",
" 'HG11', 'CG1', 'HB', 'CB', 'HA', 'CA', 'H', 'N', 'HG12'], dtype=object),\n",
" array(['O', 'C', 'HB3', 'HB2', 'HB1', 'CB', 'CA', 'H', 'N', 'HA'], dtype=object),\n",
" array(['CD', 'O', 'C', 'HE22', 'HE21', 'NE2', 'OE1', 'HG2', 'N', 'CG',\n",
" 'HB2', 'HB1', 'CB', 'HA', 'CA', 'H', 'HG1'], dtype=object),\n",
" array(['O', 'C', 'OE2', 'CD', 'HG2', 'HG1', 'CG', 'OE1', 'HB1', 'CB', 'HA',\n",
" 'CA', 'H', 'N', 'HB2'], dtype=object),\n",
" array(['O', 'C', 'OD2', 'OD1', 'CG', 'HB2', 'CB', 'HA', 'CA', 'H', 'N',\n",
" 'HB1'], dtype=object),\n",
" array(['HB2', 'O', 'C', 'SG', 'HB1', 'HG', 'HA', 'CA', 'H', 'N', 'CB'], dtype=object),\n",
" array(['O', 'C', 'HH22', 'HH21', 'NH2', 'HH12', 'NH1', 'CZ', 'HE', 'NE',\n",
" 'HD2', 'HH11', 'CD', 'HD1', 'N', 'CA', 'HA', 'CB', 'H', 'HB2', 'CG',\n",
" 'HG1', 'HG2', 'HB1'], dtype=object),\n",
" array(['OD1', 'O', 'C', 'HD22', 'HD21', 'ND2', 'CG', 'CA', 'HB1', 'CB',\n",
" 'HA', 'H', 'N', 'HB2'], dtype=object),\n",
" array(['C', 'O', 'HA1', 'HA2', 'H', 'N', 'CA'], dtype=object),\n",
" array(['CE1', 'O', 'C', 'HZ', 'CZ', 'HE2', 'CE2', 'HE1', 'HD2', 'CD2',\n",
" 'HD1', 'CD1', 'CG', 'HB2', 'HB1', 'CB', 'HA', 'CA', 'H', 'N'], dtype=object),\n",
" array(['HD13', 'CD2', 'HD21', 'O', 'HD23', 'C', 'HD12', 'HD22', 'HD11',\n",
" 'CA', 'HG', 'CG', 'HB2', 'HB1', 'CB', 'HA', 'H', 'CD1', 'N'], dtype=object),\n",
" array(['HD13', 'CD2', 'HD21', 'O', 'HD23', 'C', 'HD12', 'HD22', 'HD11',\n",
" 'CA', 'HG', 'CG', 'HB2', 'HB1', 'CB', 'HA', 'H', 'N', 'CD1'], dtype=object),\n",
" array(['O', 'C', 'OD2', 'OD1', 'CG', 'HB2', 'CB', 'HA', 'CA', 'H', 'N',\n",
" 'HB1'], dtype=object),\n",
" array(['N', 'H', 'CA', 'HA1', 'HA2', 'C', 'O'], dtype=object),\n",
" array(['HE1', 'CE1', 'CE2', 'HD2', 'CZ', 'HZ', 'C', 'O', 'CD2', 'HE2',\n",
" 'CD1', 'CG', 'HB2', 'HB1', 'CB', 'HA', 'CA', 'H', 'N', 'HD1'], dtype=object),\n",
" array(['O', 'C', 'HD2', 'HD1', 'CD', 'HG2', 'HG1', 'HB2', 'HB1', 'CB',\n",
" 'HA', 'CA', 'N', 'CG'], dtype=object),\n",
" array(['NE', 'HE', 'CZ', 'NH1', 'HH11', 'C', 'HH21', 'HH22', 'O', 'HH12',\n",
" 'HD2', 'NH2', 'CD', 'N', 'H', 'CA', 'HD1', 'CB', 'HA', 'HB2', 'CG',\n",
" 'HG1', 'HG2', 'HB1'], dtype=object),\n",
" array(['CG2', 'C', 'HG23', 'HG22', 'HG21', 'HG1', 'O', 'HB', 'CB', 'HA',\n",
" 'CA', 'H', 'N', 'OG1'], dtype=object),\n",
" array(['O', 'C', 'HD3', 'HD2', 'HD1', 'CD', 'HG23', 'HG22', 'HG21', 'HG12',\n",
" 'HG11', 'CG1', 'HB', 'CB', 'HA', 'CA', 'H', 'N', 'CG2'], dtype=object),\n",
" array(['HG2', 'C', 'HD2', 'HD1', 'CD', 'HG1', 'O', 'HB2', 'N', 'CA', 'CG',\n",
" 'CB', 'HB1', 'HA'], dtype=object),\n",
" array(['O', 'C', 'HE22', 'HE21', 'NE2', 'OE1', 'CD', 'HG1', 'HG2', 'HB2',\n",
" 'HB1', 'CB', 'HA', 'CA', 'H', 'N', 'CG'], dtype=object),\n",
" array(['O', 'C', 'HB3', 'HB2', 'HB1', 'HA', 'CA', 'CB', 'H', 'N'], dtype=object),\n",
" array(['CG', 'O', 'C', 'OD2', 'OD1', 'HB2', 'CB', 'HA', 'CA', 'H', 'N',\n",
" 'HB1'], dtype=object),\n",
" array(['HB1', 'C', 'HB3', 'HB2', 'O', 'CB', 'CA', 'H', 'N', 'HA'], dtype=object),\n",
" array(['O', 'C', 'HE3', 'HE2', 'HE1', 'SD', 'HG2', 'HG1', 'CE', 'HB2',\n",
" 'HB1', 'CB', 'HA', 'CA', 'H', 'N', 'CG'], dtype=object),\n",
" array(['CE', 'HE1', 'HE2', 'NZ', 'HZ3', 'O', 'HZ2', 'C', 'HD2', 'HZ1',\n",
" 'HD1', 'HA', 'HG2', 'CD', 'H', 'CA', 'CB', 'N', 'HB2', 'CG', 'HG1',\n",
" 'HB1'], dtype=object),\n",
" array(['HG2', 'O', 'C', 'OE2', 'OE1', 'CD', 'HG1', 'HB1', 'HB2', 'CG',\n",
" 'CB', 'HA', 'CA', 'H', 'N'], dtype=object),\n",
" array(['C', 'HB3', 'HB2', 'HB1', 'O', 'HA', 'CA', 'H', 'N', 'CB'], dtype=object),\n",
" array(['O', 'HA2', 'HA1', 'C', 'H', 'N', 'CA'], dtype=object),\n",
" array(['HG22', 'O', 'C', 'HD3', 'HD2', 'HD1', 'CD', 'HG23', 'HG21', 'N',\n",
" 'HG12', 'HG11', 'CG1', 'HB', 'CB', 'HA', 'CA', 'H', 'CG2'], dtype=object),\n",
" array(['OD1', 'O', 'C', 'HD22', 'HD21', 'ND2', 'CG', 'CB', 'HB1', 'HB2',\n",
" 'HA', 'CA', 'H', 'N'], dtype=object),\n",
" array(['C', 'HG23', 'HG22', 'HG21', 'CG2', 'HG13', 'HG12', 'O', 'CG1',\n",
" 'HB', 'CB', 'HA', 'CA', 'H', 'N', 'HG11'], dtype=object),\n",
" array(['O', 'C', 'OD2', 'OD1', 'CG', 'HB2', 'CB', 'HA', 'CA', 'H', 'N',\n",
" 'HB1'], dtype=object),\n",
" array(['CE1', 'O', 'C', 'HH', 'OH', 'CZ', 'HE2', 'CE2', 'HE1', 'HD2',\n",
" 'HB1', 'HD1', 'N', 'CA', 'HA', 'CB', 'H', 'HB2', 'CG', 'CD1', 'CD2'], dtype=object),\n",
" array(['HG13', 'O', 'C', 'HG23', 'HG22', 'HG21', 'CG2', 'HG12', 'HG11',\n",
" 'CG1', 'HB', 'CB', 'HA', 'CA', 'H', 'N'], dtype=object),\n",
" array(['C', 'O', 'HD22', 'HD21', 'CD2', 'HD13', 'HD12', 'HD11', 'CD1',\n",
" 'HD23', 'CG', 'HB2', 'HB1', 'CB', 'HA', 'CA', 'H', 'N', 'HG'], dtype=object),\n",
" array(['O', 'C', 'OE2', 'OE1', 'CD', 'HG2', 'HG1', 'CG', 'HB2', 'HB1',\n",
" 'CB', 'HA', 'CA', 'H', 'N'], dtype=object),\n",
" array(['CE1', 'HE1', 'CE2', 'HE2', 'C', 'HZ', 'HD2', 'O', 'CZ', 'CD2', 'N',\n",
" 'CD1', 'CG', 'HB2', 'HB1', 'CB', 'HA', 'CA', 'H', 'HD1'], dtype=object),\n",
" array(['CG', 'O', 'OD2', 'OD1', 'HB2', 'C', 'CB', 'HA', 'CA', 'H', 'HB1',\n",
" 'N'], dtype=object),\n",
" array(['O', 'HG23', 'HG22', 'HG21', 'CG2', 'HG13', 'HG12', 'C', 'CG1',\n",
" 'HB', 'CB', 'HA', 'CA', 'H', 'N', 'HG11'], dtype=object),\n",
" array(['O', 'C', 'HD2', 'HD1', 'CD', 'HG2', 'HG1', 'HB2', 'HB1', 'CB',\n",
" 'HA', 'CA', 'N', 'CG'], dtype=object),\n",
" array(['CG', 'O', 'C', 'OD1', 'HB2', 'OD2', 'CB', 'HA', 'CA', 'HB1', 'H',\n",
" 'N'], dtype=object),\n",
" array(['O', 'C', 'OE2', 'OE1', 'CD', 'HG2', 'CG', 'HG1', 'HB1', 'CB', 'HA',\n",
" 'CA', 'H', 'N', 'HB2'], dtype=object),\n",
" array(['HD12', 'C', 'HD23', 'HD22', 'O', 'HD21', 'CD2', 'HD13', 'HD11',\n",
" 'HA', 'HG', 'CG', 'HB2', 'HB1', 'CB', 'CA', 'H', 'N', 'CD1'], dtype=object),\n",
" array(['HG22', 'HG23', 'O', 'HG21', 'HD2', 'HD3', 'C', 'HD1', 'CG2', 'CD',\n",
" 'HG11', 'N', 'H', 'CA', 'HG12', 'CB', 'HB', 'CG1', 'HA'], dtype=object),\n",
" array(['O', 'HG23', 'HG22', 'HG21', 'CG2', 'HG13', 'HG12', 'C', 'CG1',\n",
" 'HB', 'CB', 'HA', 'CA', 'H', 'N', 'HG11'], dtype=object),\n",
" array(['O', 'C', 'OD2', 'OD1', 'HB2', 'CG', 'CB', 'HB1', 'N', 'H', 'CA',\n",
" 'HA'], dtype=object),\n",
" array(['NE', 'C', 'HH22', 'NH2', 'HH12', 'HH11', 'NH1', 'CZ', 'HE', 'O',\n",
" 'HH21', 'HD2', 'CD', 'HD1', 'H', 'CA', 'HA', 'CB', 'N', 'HB2', 'CG',\n",
" 'HG1', 'HG2', 'HB1'], dtype=object),\n",
" array(['HG21', 'O', 'C', 'HD3', 'HD2', 'HD1', 'CD', 'HG22', 'CG2', 'HG23',\n",
" 'HG11', 'CG1', 'HB', 'CB', 'HA', 'CA', 'H', 'N', 'HG12'], dtype=object),\n",
" array(['CG2', 'HG21', 'O', 'HG23', 'C', 'HG13', 'HG22', 'HG12', 'CB',\n",
" 'CG1', 'HB', 'HA', 'CA', 'H', 'N', 'HG11'], dtype=object),\n",
" array(['C', 'O', 'HA1', 'HA2', 'H', 'N', 'CA'], dtype=object),\n",
" array(['CZ', 'O', 'C', 'HH22', 'HH21', 'NH2', 'HH12', 'HH11', 'NH1', 'HE',\n",
" 'NE', 'HD2', 'CD', 'HG2', 'HG1', 'CG', 'HB2', 'HB1', 'CB', 'HA',\n",
" 'CA', 'H', 'N', 'HD1'], dtype=object),\n",
" array(['NH1', 'HE', 'CZ', 'HH12', 'O', 'HH21', 'HH22', 'C', 'NE', 'NH2',\n",
" 'HD2', 'HH11', 'CD', 'HD1', 'N', 'H', 'HA', 'CB', 'CA', 'HB2', 'CG',\n",
" 'HG1', 'HG2', 'HB1'], dtype=object),\n",
" array(['O', 'HG13', 'C', 'HG23', 'HG21', 'CG2', 'HG12', 'HG22', 'CG1',\n",
" 'HB', 'CB', 'HA', 'CA', 'H', 'N', 'HG11'], dtype=object),\n",
" array(['O', 'C', 'HE2', 'NE2', 'HE1', 'CE1', 'HD2', 'CD2', 'HB2', 'CG',\n",
" 'HB1', 'CB', 'HA', 'CA', 'H', 'N', 'ND1'], dtype=object),\n",
" array(['HB2', 'O', 'C', 'HB3', 'HB1', 'HA', 'CA', 'H', 'N', 'CB'], dtype=object),\n",
" array(['O', 'C', 'HD2', 'HD1', 'HG2', 'CD', 'HG1', 'CB', 'HB2', 'N', 'CA',\n",
" 'CG', 'HB1', 'HA'], dtype=object),\n",
" array(['N', 'H', 'CA', 'HA', 'CB', 'HB1', 'HB2', 'OG', 'HG', 'C', 'O'], dtype=object),\n",
" array(['O', 'C', 'HA2', 'CA', 'H', 'HA1', 'N'], dtype=object),\n",
" array(['NE', 'O', 'C', 'HH22', 'HH21', 'NH2', 'HH12', 'HH11', 'NH1', 'CZ',\n",
" 'HE', 'HD2', 'CD', 'N', 'HD1', 'CA', 'HA', 'CB', 'H', 'HB2', 'CG',\n",
" 'HG1', 'HG2', 'HB1'], dtype=object),\n",
" array(['O', 'C', 'HG23', 'HG22', 'HG21', 'CG2', 'HG13', 'HG12', 'CG1',\n",
" 'HB', 'CB', 'HA', 'CA', 'H', 'N', 'HG11'], dtype=object),\n",
" array(['CE1', 'HE1', 'CE2', 'HE2', 'C', 'HH', 'O', 'HD2', 'CZ', 'CD2',\n",
" 'OH', 'CD1', 'N', 'HD1', 'CA', 'HA', 'H', 'HB1', 'HB2', 'CG', 'CB'], dtype=object),\n",
" array(['O', 'HD2', 'C', 'HE2', 'NE2', 'HE1', 'CE1', 'CD2', 'N', 'CG',\n",
" 'HB2', 'HB1', 'CB', 'HA', 'CA', 'H', 'ND1'], dtype=object),\n",
" array(['O', 'C', 'HG23', 'HG22', 'HG21', 'CG2', 'HG13', 'HG12', 'CG1',\n",
" 'HB', 'CB', 'HA', 'CA', 'H', 'N', 'HG11'], dtype=object),\n",
" array(['HD2', 'CE', 'HE1', 'HE2', 'C', 'HZ1', 'HZ2', 'O', 'NZ', 'HD1',\n",
" 'HZ3', 'HG2', 'CD', 'H', 'CA', 'HA', 'N', 'HB1', 'HB2', 'CG', 'HG1',\n",
" 'CB'], dtype=object),\n",
" array(['HD2', 'O', 'C', 'HZ', 'CZ', 'HE2', 'HE1', 'CE1', 'CD2', 'CE2',\n",
" 'CD1', 'HD1', 'H', 'CA', 'HA', 'N', 'HB1', 'HB2', 'CG', 'CB'], dtype=object),\n",
" array(['O', 'C', 'HD22', 'HD21', 'ND2', 'OD1', 'CG', 'HB1', 'CB', 'HA',\n",
" 'CA', 'H', 'N', 'HB2'], dtype=object),\n",
" array(['O', 'C', 'HD2', 'HD1', 'CD', 'HG2', 'HG1', 'HB2', 'HB1', 'CB',\n",
" 'HA', 'CA', 'N', 'CG'], dtype=object),\n",
" array(['O', 'C', 'HD2', 'HD1', 'CD', 'HG1', 'HG2', 'HB2', 'HB1', 'CB',\n",
" 'HA', 'CA', 'N', 'CG'], dtype=object),\n",
" array(['CE', 'HE1', 'HE2', 'NZ', 'HZ3', 'HZ2', 'C', 'HD2', 'HZ1', 'HD1',\n",
" 'O', 'HG2', 'CD', 'N', 'CA', 'HA', 'H', 'HB1', 'HB2', 'CG', 'HG1',\n",
" 'CB'], dtype=object),\n",
" array(['HG13', 'C', 'HG23', 'HG22', 'HG21', 'CG2', 'HG12', 'O', 'CG1',\n",
" 'HB', 'CB', 'HA', 'CA', 'H', 'N', 'HG11'], dtype=object),\n",
" array(['O', 'C', 'OE2', 'OE1', 'CD', 'HG2', 'CG', 'HG1', 'HB1', 'CB', 'HA',\n",
" 'CA', 'H', 'N', 'HB2'], dtype=object),\n",
" array(['O', 'C', 'HA2', 'H', 'CA', 'N', 'HA1'], dtype=object),\n",
" array(['HE1', 'CE', 'O', 'HE2', 'HD2', 'HZ1', 'HZ2', 'HZ3', 'C', 'NZ',\n",
" 'HD1', 'CG', 'HG2', 'HG1', 'HB2', 'HB1', 'CB', 'HA', 'CA', 'H', 'N',\n",
" 'CD'], dtype=object),\n",
" array(['O', 'OD2', 'OD1', 'CG', 'HB2', 'C', 'CB', 'HA', 'CA', 'H', 'N',\n",
" 'HB1'], dtype=object),\n",
" array(['O', 'C', 'OD2', 'OD1', 'CG', 'HB2', 'CB', 'HA', 'CA', 'H', 'N',\n",
" 'HB1'], dtype=object),\n",
" array(['HG13', 'O', 'C', 'HG23', 'HG21', 'CG2', 'HG12', 'HG22', 'CG1', 'N',\n",
" 'H', 'CA', 'HG11', 'HA', 'CB', 'HB'], dtype=object),\n",
" array(['O', 'C', 'HG23', 'HG22', 'HG21', 'CG2', 'HG1', 'OG1', 'HB', 'HA',\n",
" 'CA', 'H', 'N', 'CB'], dtype=object),\n",
" array(['HA2', 'C', 'O', 'HA1', 'H', 'N', 'CA'], dtype=object),\n",
" array(['O', 'C', 'OE2', 'OE1', 'CD', 'HG1', 'CG', 'HG2', 'HB1', 'CB', 'HA',\n",
" 'CA', 'H', 'N', 'HB2'], dtype=object),\n",
" array(['HG2', 'O', 'C', 'OE2', 'OE1', 'CD', 'HG1', 'CB', 'HB2', 'HB1',\n",
" 'CG', 'HA', 'CA', 'H', 'N'], dtype=object),\n",
" array(['O', 'C', 'HD22', 'HD21', 'CD2', 'HD13', 'HD12', 'HD11', 'CD1',\n",
" 'HD23', 'CG', 'HB2', 'HB1', 'CB', 'HA', 'CA', 'H', 'N', 'HG'], dtype=object),\n",
" array(['O', 'C', 'HG23', 'HG22', 'HG21', 'CG2', 'HG1', 'HB', 'CB', 'HA',\n",
" 'CA', 'H', 'N', 'OG1'], dtype=object),\n",
" array(['CG2', 'C', 'HG23', 'HG22', 'O', 'HG21', 'HG1', 'HA', 'HB', 'CB',\n",
" 'CA', 'H', 'N', 'OG1'], dtype=object),\n",
" array(['HE', 'CZ', 'NH1', 'HH11', 'HH21', 'NH2', 'HH22', 'C', 'O', 'HH12',\n",
" 'HD2', 'NE', 'CD', 'HD1', 'H', 'CA', 'HA', 'CB', 'N', 'HB2', 'CG',\n",
" 'HG1', 'HG2', 'HB1'], dtype=object),\n",
" array(['HD2', 'O', 'C', 'HZ3', 'HZ2', 'HZ1', 'NZ', 'HE2', 'CE', 'HD1',\n",
" 'HE1', 'HG2', 'HG1', 'CG', 'CD', 'HB2', 'HB1', 'CB', 'HA', 'CA',\n",
" 'H', 'N'], dtype=object),\n",
" array(['O', 'OD2', 'OD1', 'CG', 'HB2', 'C', 'CB', 'HA', 'CA', 'H', 'N',\n",
" 'HB1'], dtype=object),\n",
" array(['O', 'C', 'OD2', 'OD1', 'CG', 'HB2', 'CB', 'HA', 'CA', 'H', 'N',\n",
" 'HB1'], dtype=object),\n",
" array(['CD', 'O', 'C', 'HE22', 'HE21', 'NE2', 'OE1', 'HG2', 'HG1', 'CG',\n",
" 'HB2', 'HB1', 'CB', 'HA', 'CA', 'H', 'N'], dtype=object),\n",
" array(['O', 'OE2', 'OE1', 'CD', 'HG2', 'HG1', 'CG', 'C', 'HB1', 'CB', 'HA',\n",
" 'CA', 'H', 'N', 'HB2'], dtype=object),\n",
" array(['O', 'C', 'OE2', 'OE1', 'CD', 'HG2', 'HG1', 'HB2', 'HB1', 'CB',\n",
" 'HA', 'CA', 'H', 'N', 'CG'], dtype=object),\n",
" array(['CG2', 'C', 'HG23', 'HG22', 'HG21', 'HG1', 'O', 'HB', 'CB', 'HA',\n",
" 'CA', 'H', 'N', 'OG1'], dtype=object),\n",
" array(['O', 'C', 'HG23', 'HG22', 'HG21', 'HG13', 'HG12', 'CG2', 'CG1',\n",
" 'HB', 'CB', 'HA', 'CA', 'H', 'N', 'HG11'], dtype=object),\n",
" array(['HE', 'CZ', 'NH1', 'HH11', 'HH12', 'C', 'HH21', 'HH22', 'O', 'NE',\n",
" 'NH2', 'HD2', 'HB1', 'CD', 'HD1', 'H', 'CA', 'HA', 'CB', 'N', 'HB2',\n",
" 'CG', 'HG1', 'HG2'], dtype=object),\n",
" array(['C', 'HZ3', 'HZ2', 'O', 'HZ1', 'NZ', 'HE2', 'HE1', 'CE', 'HD2',\n",
" 'HD1', 'HA', 'HG2', 'N', 'H', 'CA', 'CB', 'CD', 'HB2', 'CG', 'HG1',\n",
" 'HB1'], dtype=object),\n",
" array(['O', 'HD2', 'HH22', 'HH21', 'NH2', 'HH12', 'HH11', 'NH1', 'CZ',\n",
" 'HE', 'NE', 'C', 'HD1', 'HG2', 'CD', 'H', 'CA', 'HA', 'N', 'HB1',\n",
" 'HB2', 'CG', 'HG1', 'CB'], dtype=object),\n",
" array(['HD12', 'C', 'HD23', 'HD22', 'HD21', 'CD2', 'O', 'HD13', 'HD11',\n",
" 'HB1', 'HG', 'CG', 'HB2', 'CB', 'HA', 'CA', 'H', 'N', 'CD1'], dtype=object),\n",
" array(['C', 'HG23', 'HG22', 'HG21', 'CG2', 'HG13', 'HG12', 'O', 'CG1',\n",
" 'HB', 'CB', 'HA', 'CA', 'H', 'N', 'HG11'], dtype=object),\n",
" array(['O', 'C', 'OE2', 'OE1', 'CD', 'HG2', 'CG', 'HG1', 'HB1', 'CB', 'HA',\n",
" 'CA', 'H', 'N', 'HB2'], dtype=object),\n",
" array(['HE1', 'CE2', 'HE2', 'CZ', 'C', 'HH', 'O', 'CE1', 'OH', 'HD2', 'CA',\n",
" 'HD1', 'N', 'HA', 'CB', 'H', 'HB2', 'CG', 'CD1', 'HB1', 'CD2'], dtype=object),\n",
" array(['O', 'CD2', 'C', 'HE2', 'NE2', 'HE1', 'CE1', 'HD2', 'CG', 'HB2',\n",
" 'HB1', 'CB', 'HA', 'CA', 'H', 'N', 'ND1'], dtype=object),\n",
" array(['HG2', 'O', 'C', 'HE22', 'HE21', 'NE2', 'OE1', 'HG1', 'CD', 'HB2',\n",
" 'HB1', 'CB', 'HA', 'CA', 'H', 'N', 'CG'], dtype=object),\n",
" array(['O', 'C', 'HE3', 'HE1', 'CE', 'SD', 'HG2', 'HG1', 'HE2', 'HB2',\n",
" 'HB1', 'CB', 'HA', 'CA', 'H', 'N', 'CG'], dtype=object),\n",
" array(['O', 'C', 'HG23', 'HG22', 'HG21', 'CG2', 'HG1', 'CB', 'HB', 'HA',\n",
" 'CA', 'H', 'N', 'OG1'], dtype=object),\n",
" array(['O', 'C', 'HB3', 'HB1', 'HB2', 'HA', 'CA', 'H', 'N', 'CB'], dtype=object),\n",
" array(['O', 'C', 'HD2', 'HD1', 'CD', 'HG1', 'HG2', 'HB2', 'HB1', 'CB',\n",
" 'HA', 'CA', 'N', 'CG'], dtype=object),\n",
" array(['HD12', 'C', 'HD23', 'HD22', 'HD21', 'O', 'CD2', 'HD13', 'HD11',\n",
" 'CB', 'HG', 'CG', 'HB2', 'HB1', 'HA', 'CA', 'H', 'N', 'CD1'], dtype=object),\n",
" array(['HG22', 'HG23', 'O', 'HG21', 'HD2', 'HD3', 'C', 'HD1', 'CG2', 'CD',\n",
" 'HG11', 'CG1', 'HB', 'CB', 'HA', 'CA', 'H', 'N', 'HG12'], dtype=object),\n",
" array(['O', 'C', 'HA2', 'HA1', 'CA', 'H', 'N'], dtype=object),\n",
" array(['O', 'C', 'HH', 'OH', 'CZ', 'HE2', 'CE2', 'HE1', 'CE1', 'HD2', 'CG',\n",
" 'HD1', 'CD2', 'H', 'CA', 'HA', 'N', 'HB1', 'HB2', 'CD1', 'CB'], dtype=object),\n",
" array(['CE1', 'O', 'C', 'HH', 'OH', 'CZ', 'HE2', 'CE2', 'HE1', 'CD2',\n",
" 'HD2', 'HD1', 'CD1', 'CG', 'HB2', 'HB1', 'CB', 'HA', 'CA', 'H', 'N'], dtype=object),\n",
" array(['O', 'C', 'HG', 'OG', 'HB2', 'HB1', 'CB', 'HA', 'H', 'N', 'CA'], dtype=object),\n",
" array(['HZ1', 'HE2', 'NZ', 'HE1', 'HA', 'HZ3', 'C', 'O', 'CE', 'HZ2',\n",
" 'HD2', 'H', 'CD', 'HG2', 'HG1', 'CG', 'HB2', 'HB1', 'CB', 'CA', 'N',\n",
" 'HD1'], dtype=object),\n",
" array(['CD', 'OE1', 'HG2', 'OE2', 'C', 'O', 'HG1', 'CA', 'HB2', 'HB1',\n",
" 'CB', 'HA', 'H', 'N', 'CG'], dtype=object),\n",
" array(['O', 'C', 'HB3', 'HB2', 'HB1', 'CB', 'CA', 'H', 'N', 'HA'], dtype=object),\n",
" array(['O', 'C', 'OE2', 'OE1', 'CD', 'HG2', 'HG1', 'HB1', 'HB2', 'CB',\n",
" 'HA', 'CA', 'H', 'N', 'CG'], dtype=object),\n",
" array(['O', 'C', 'HB3', 'HB2', 'HB1', 'CA', 'HA', 'H', 'N', 'CB'], dtype=object),\n",
" array(['O', 'C', 'HA2', 'H', 'CA', 'N', 'HA1'], dtype=object),\n",
" array(['O', 'C', 'HD22', 'HD21', 'ND2', 'CG', 'OD1', 'HB1', 'CB', 'HA',\n",
" 'CA', 'H', 'N', 'HB2'], dtype=object),\n",
" array(['CG2', 'C', 'HG23', 'HG22', 'O', 'HG21', 'HG1', 'HA', 'HB', 'CB',\n",
" 'CA', 'H', 'N', 'OG1'], dtype=object),\n",
" array(['CE', 'HE1', 'HE2', 'NZ', 'HZ3', 'HZ2', 'C', 'O', 'HD2', 'HZ1',\n",
" 'HD1', 'CA', 'HG2', 'H', 'CD', 'HA', 'CB', 'N', 'HB2', 'CG', 'HG1',\n",
" 'HB1'], dtype=object),\n",
" array(['HD2', 'O', 'C', 'HH', 'OH', 'CZ', 'CE2', 'HE1', 'CE1', 'CD2',\n",
" 'HE2', 'CD1', 'CG', 'HB2', 'HB1', 'CB', 'HA', 'CA', 'H', 'N', 'HD1'], dtype=object),\n",
" array(['O', 'C', 'HB3', 'HB2', 'HB1', 'HA', 'CA', 'H', 'N', 'CB'], dtype=object),\n",
" array(['HD2', 'O', 'C', 'HZ3', 'HZ2', 'HZ1', 'NZ', 'HE2', 'HE1', 'CE',\n",
" 'HD1', 'N', 'HG2', 'CD', 'CA', 'HA', 'CB', 'H', 'HB2', 'CG', 'HG1',\n",
" 'HB1'], dtype=object),\n",
" array(['HG13', 'O', 'C', 'HG23', 'HG22', 'HG21', 'CG2', 'HG12', 'HB',\n",
" 'CG1', 'CB', 'HA', 'CA', 'H', 'N', 'HG11'], dtype=object),\n",
" array(['CG', 'C', 'OD2', 'OD1', 'HB2', 'O', 'CB', 'HA', 'CA', 'H', 'N',\n",
" 'HB1'], dtype=object),\n",
" array(['O', 'C', 'HA2', 'HA1', 'CA', 'H', 'N'], dtype=object),\n",
" array(['O', 'C', 'HG23', 'HG22', 'HG21', 'CG2', 'HG1', 'HB', 'CB', 'HA',\n",
" 'CA', 'H', 'N', 'OG1'], dtype=object),\n",
" array(['HD2', 'O', 'HZ3', 'HZ2', 'HZ1', 'NZ', 'HE2', 'HE1', 'CE', 'HD1',\n",
" 'C', 'HG2', 'CD', 'N', 'CA', 'HA', 'H', 'HB1', 'HB2', 'CG', 'HG1',\n",
" 'CB'], dtype=object),\n",
" array(['HG2', 'O', 'C', 'HD2', 'HD1', 'CD', 'HG1', 'HB2', 'HB1', 'CB',\n",
" 'HA', 'CA', 'N', 'CG'], dtype=object),\n",
" array(['HG13', 'C', 'HG23', 'HG22', 'O', 'HG21', 'CG2', 'HG12', 'HA',\n",
" 'CG1', 'HB', 'CB', 'CA', 'H', 'N', 'HG11'], dtype=object),\n",
" array(['O', 'C', 'HB3', 'HB2', 'HB1', 'CB', 'CA', 'H', 'N', 'HA'], dtype=object),\n",
" array(['HG2', 'O', 'C', 'OE2', 'OE1', 'CD', 'CG', 'HG1', 'HB2', 'HB1',\n",
" 'CB', 'HA', 'CA', 'H', 'N'], dtype=object),\n",
" array(['O', 'C', 'HG23', 'HG22', 'HG21', 'CG2', 'HG12', 'HG13', 'CG1',\n",
" 'HB', 'CB', 'HA', 'CA', 'H', 'N', 'HG11'], dtype=object),\n",
" array(['HE', 'CZ', 'NH1', 'HH11', 'C', 'NH2', 'HH21', 'O', 'NE', 'HH12',\n",
" 'HD2', 'HH22', 'CD', 'N', 'H', 'HD1', 'HA', 'CB', 'CA', 'HB2', 'CG',\n",
" 'HG1', 'HG2', 'HB1'], dtype=object),\n",
" array(['HB2', 'O', 'C', 'HB3', 'HB1', 'N', 'HA', 'CA', 'H', 'CB'], dtype=object),\n",
" array(['O', 'C', 'OD2', 'OD1', 'CG', 'HB2', 'HB1', 'CB', 'HA', 'CA', 'H',\n",
" 'N'], dtype=object),\n",
" array(['O', 'C', 'HD23', 'HD22', 'HD21', 'CD2', 'HD13', 'HD12', 'HD11',\n",
" 'CG', 'HG', 'HB2', 'HB1', 'CB', 'HA', 'H', 'N', 'CD1', 'CA'], dtype=object),\n",
" array(['OE1', 'CD', 'HA', 'C', 'O', 'HG2', 'OE2', 'HG1', 'H', 'HB2', 'HB1',\n",
" 'CB', 'CA', 'CG', 'N'], dtype=object),\n",
" array(['O', 'C', 'HZ3', 'HZ2', 'HZ1', 'NZ', 'HE2', 'HE1', 'CE', 'HD1',\n",
" 'HD2', 'HG2', 'N', 'CD', 'CA', 'HA', 'CB', 'H', 'HB2', 'CG', 'HG1',\n",
" 'HB1'], dtype=object),\n",
" array(['HG21', 'C', 'HD3', 'HD2', 'HD1', 'O', 'HG23', 'HG22', 'CG2', 'CD',\n",
" 'HG11', 'CG1', 'HB', 'CB', 'HA', 'CA', 'H', 'N', 'HG12'], dtype=object),\n",
" array(['HD12', 'HD13', 'HD21', 'O', 'HD23', 'C', 'HD11', 'HD22', 'CD1',\n",
" 'CD2', 'CG', 'HB2', 'HB1', 'CB', 'HA', 'CA', 'H', 'N', 'HG'], dtype=object),\n",
" array(['O2', 'O1', 'C', 'HA2', 'HA1', 'H', 'N', 'CA'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW1', 'MW', 'OW', 'HW2'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'OW', 'HW1', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'OW', 'HW1', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW1', 'HW2', 'OW', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW1', 'MW', 'OW', 'HW2'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'OW', 'HW1', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW1', 'HW2', 'OW', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW1', 'HW2', 'OW', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW1', 'MW', 'OW', 'HW2'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'OW', 'HW1', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW1', 'HW2', 'OW', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW1', 'OW', 'HW2'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW1', 'HW2', 'OW', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'OW', 'HW1', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW1', 'HW2', 'OW', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW1', 'MW', 'OW', 'HW2'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'OW', 'HW1', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW1', 'OW', 'HW2'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW1', 'HW2', 'OW', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'OW', 'HW1', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW1', 'HW2', 'OW', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW1', 'OW', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'OW', 'HW1', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW1', 'HW2', 'OW', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'OW', 'HW1', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'OW', 'HW1', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'OW', 'HW1', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW1', 'OW', 'HW2'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW1', 'HW2', 'OW', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'HW1', 'OW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" array(['HW2', 'MW', 'OW', 'HW1'], dtype=object),\n",
" array(['MW', 'HW2', 'OW', 'HW1'], dtype=object),\n",
" array(['OW', 'HW1', 'HW2', 'MW'], dtype=object),\n",
" array(['MW', 'OW', 'HW1', 'HW2'], dtype=object),\n",
" ...]"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"u.residues.names"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And it would be fast, because we skip making a `Residue` object and `AtomGroup` for each residue along the way:"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10 loops, best of 3: 26 ms per loop\n"
]
}
],
"source": [
"%timeit b = u.residues.names"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How well does this scale?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 3.5 million atoms"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"u = mda.Universe('../perftests/systems/vesicles/3_5M/system.gro')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2D"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How we'd have to do it if we don't have 2D outputs for atom attributes at the `ResidueGroup` level:"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 loop, best of 3: 840 ms per loop\n"
]
}
],
"source": [
"%timeit b = [res.atoms.names for res in u.residues]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Performance for 2D outputs:"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10 loops, best of 3: 159 ms per loop\n"
]
}
],
"source": [
"%timeit b = u.residues.names"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"48582"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(u.residues.names)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10 loops, best of 3: 159 ms per loop\n"
]
}
],
"source": [
"%timeit c = u.segments.names"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"1"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(u.segments.names)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"No noticeable performance drop for residues vs. segments, despite there being ~50,000 residues but 1 segment."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1D"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How we'd do it without 1D outputs:"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 loop, best of 3: 147 ms per loop\n"
]
}
],
"source": [
"%timeit b = u.residues.atoms.names"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"How much time 1D outputs for `ResidueGroup` and `SegmentGroup` take:"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10 loops, best of 3: 150 ms per loop\n"
]
}
],
"source": [
"%timeit b = u.residues.names"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10 loops, best of 3: 163 ms per loop\n"
]
}
],
"source": [
"%timeit c = u.segments.names"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Access times for generating an `AtomGroup` from the `ResidueGroup` and getting the names from there was no different than getting them directly from the `ResidueGroup` or `SegmentGroup`. Also, these times were no different than those required for the 2D outputs demonstrated above."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Builtin GRO system"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We get the same timings as above but for a system that's builtin to the testsuite. The conclusions are the same for this case."
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"u = mda.Universe(GRO)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2D"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 loop, best of 3: 184 ms per loop\n"
]
}
],
"source": [
"%timeit b = [res.atoms.names for res in u.residues]"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10 loops, best of 3: 26.4 ms per loop\n"
]
}
],
"source": [
"%timeit b = u.residues.names"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10 loops, best of 3: 24.5 ms per loop\n"
]
}
],
"source": [
"%timeit c = u.segments.names"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1D"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10 loops, best of 3: 23 ms per loop\n"
]
}
],
"source": [
"%timeit b = u.residues.atoms.names"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10 loops, best of 3: 22.6 ms per loop\n"
]
}
],
"source": [
"%timeit b = u.residues.names"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10 loops, best of 3: 22.8 ms per loop\n"
]
}
],
"source": [
"%timeit c = u.segments.names"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python2",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.11"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment