In [1]:
from rmgpy.molecule.molecule import Molecule
import timeit
import numpy as np
In [2]:
mol = Molecule(SMILES="c1c(C)cc(CC)cc1O")
ignoreList = []
neighbors = []
startingAtoms = [mol.atoms[0]]
for atom in startingAtoms:
neighbors.extend(mol.getBonds(atom).keys())
neighbors = list(set(neighbors)-set(ignoreList))
neighbors = [neighbor for neighbor in neighbors if neighbor.isNonHydrogen()]
print neighbors
In [3]:
setup = """\
from rmgpy.molecule.molecule import Molecule
mol = Molecule(SMILES="c1c(C)cc(CC)cc1O")
ignoreList = []
neighbors = []
startingAtoms = [mol.atoms[0]]
"""
test = """\
for atom in startingAtoms:
neighbors.extend(mol.getBonds(atom).keys())
neighbors = list(set(neighbors)-set(ignoreList))
neighbors = [neighbor for neighbor in neighbors if neighbor.isNonHydrogen()]
"""
np.mean(timeit.repeat(test, setup, repeat=5, number=100000))
Out[3]:
In [4]:
setup = """\
from rmgpy.molecule.molecule import Molecule
mol = Molecule(SMILES="c1c(C)cc(CC)cc1O")
ignoreList = []
neighbors = []
startingAtoms = [mol.atoms[0]]
"""
test = """\
for atom in startingAtoms:
newNeighbors = [neighbor for neighbor in mol.getBonds(atom) if neighbor.isNonHydrogen()]
neighbors.extend(newNeighbors)
neighbors = list(set(neighbors)-set(ignoreList))
"""
np.mean(timeit.repeat(test, setup, repeat=5, number=100000))
Out[4]:
In [5]:
setup = """\
from rmgpy.molecule.molecule import Molecule
mol = Molecule(SMILES="c1c(C)cc(CC)cc1O")
ignoreList = []
neighbors = []
startingAtoms = [mol.atoms[0]]
"""
test = """\
for atom in startingAtoms:
for neighbor in mol.getBonds(atom):
if neighbor.isNonHydrogen():
neighbors.append(neighbor)
neighbors = list(set(neighbors)-set(ignoreList))
"""
np.mean(timeit.repeat(test, setup, repeat=5, number=100000))
Out[5]:
In [ ]: