In [28]:
import os
from batchcalc.calculator import BatchCalculator, Component, Chemical

# create te model
bc = BatchCalculator()
bc.new_dbsession(os.path.join(os.getcwd(), 'zeolite.db'))

# get the components
moles = [8.0, 1.7, 1.0, 24.0, 410.0, 1.7]
bc.components = bc.session.query(Component).filter(Component.id < 7).order_by(Component.id).all()
for c, m in zip(bc.components, moles):
    c.moles = m

# now get the chemicals
ids = [1, 2, 5, 9, 10, 11]
for i in ids:
    bc.chemicals.append(bc.session.query(Chemical).filter(Chemical.id==i).one())

# do the calculation
bc.calculate()


2014-12-31 01:01:53,686 INFO sqlalchemy.engine.base.Engine SELECT CAST('test plain returns' AS VARCHAR(60)) AS anon_1
INFO:sqlalchemy.engine.base.Engine:SELECT CAST('test plain returns' AS VARCHAR(60)) AS anon_1
2014-12-31 01:01:53,687 INFO sqlalchemy.engine.base.Engine ()
INFO:sqlalchemy.engine.base.Engine:()
2014-12-31 01:01:53,688 INFO sqlalchemy.engine.base.Engine SELECT CAST('test unicode returns' AS VARCHAR(60)) AS anon_1
INFO:sqlalchemy.engine.base.Engine:SELECT CAST('test unicode returns' AS VARCHAR(60)) AS anon_1
2014-12-31 01:01:53,689 INFO sqlalchemy.engine.base.Engine ()
INFO:sqlalchemy.engine.base.Engine:()
2014-12-31 01:01:53,691 INFO sqlalchemy.engine.base.Engine BEGIN (implicit)
INFO:sqlalchemy.engine.base.Engine:BEGIN (implicit)
2014-12-31 01:01:53,694 INFO sqlalchemy.engine.base.Engine SELECT components.category_id AS components_category_id, components.id AS components_id, components.name AS components_name, components.formula AS components_formula, components.molwt AS components_molwt, components.short_name AS components_short_name 
FROM components 
WHERE components.id < ? ORDER BY components.id
INFO:sqlalchemy.engine.base.Engine:SELECT components.category_id AS components_category_id, components.id AS components_id, components.name AS components_name, components.formula AS components_formula, components.molwt AS components_molwt, components.short_name AS components_short_name 
FROM components 
WHERE components.id < ? ORDER BY components.id
2014-12-31 01:01:53,695 INFO sqlalchemy.engine.base.Engine (7,)
INFO:sqlalchemy.engine.base.Engine:(7,)
2014-12-31 01:01:53,700 INFO sqlalchemy.engine.base.Engine SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals 
WHERE chemicals.id = ?
INFO:sqlalchemy.engine.base.Engine:SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals 
WHERE chemicals.id = ?
2014-12-31 01:01:53,701 INFO sqlalchemy.engine.base.Engine (1,)
INFO:sqlalchemy.engine.base.Engine:(1,)
2014-12-31 01:01:53,706 INFO sqlalchemy.engine.base.Engine SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals 
WHERE chemicals.id = ?
INFO:sqlalchemy.engine.base.Engine:SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals 
WHERE chemicals.id = ?
2014-12-31 01:01:53,707 INFO sqlalchemy.engine.base.Engine (2,)
INFO:sqlalchemy.engine.base.Engine:(2,)
2014-12-31 01:01:53,711 INFO sqlalchemy.engine.base.Engine SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals 
WHERE chemicals.id = ?
INFO:sqlalchemy.engine.base.Engine:SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals 
WHERE chemicals.id = ?
2014-12-31 01:01:53,713 INFO sqlalchemy.engine.base.Engine (5,)
INFO:sqlalchemy.engine.base.Engine:(5,)
2014-12-31 01:01:53,717 INFO sqlalchemy.engine.base.Engine SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals 
WHERE chemicals.id = ?
INFO:sqlalchemy.engine.base.Engine:SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals 
WHERE chemicals.id = ?
2014-12-31 01:01:53,718 INFO sqlalchemy.engine.base.Engine (9,)
INFO:sqlalchemy.engine.base.Engine:(9,)
2014-12-31 01:01:53,721 INFO sqlalchemy.engine.base.Engine SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals 
WHERE chemicals.id = ?
INFO:sqlalchemy.engine.base.Engine:SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals 
WHERE chemicals.id = ?
2014-12-31 01:01:53,722 INFO sqlalchemy.engine.base.Engine (10,)
INFO:sqlalchemy.engine.base.Engine:(10,)
2014-12-31 01:01:53,727 INFO sqlalchemy.engine.base.Engine SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals 
WHERE chemicals.id = ?
INFO:sqlalchemy.engine.base.Engine:SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals 
WHERE chemicals.id = ?
2014-12-31 01:01:53,728 INFO sqlalchemy.engine.base.Engine (11,)
INFO:sqlalchemy.engine.base.Engine:(11,)
2014-12-31 01:01:53,732 INFO sqlalchemy.engine.base.Engine SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals JOIN batch ON chemicals.id = batch.chemical_id 
WHERE batch.component_id = ?
INFO:sqlalchemy.engine.base.Engine:SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals JOIN batch ON chemicals.id = batch.chemical_id 
WHERE batch.component_id = ?
2014-12-31 01:01:53,733 INFO sqlalchemy.engine.base.Engine (1,)
INFO:sqlalchemy.engine.base.Engine:(1,)
2014-12-31 01:01:53,738 INFO sqlalchemy.engine.base.Engine SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals JOIN batch ON chemicals.id = batch.chemical_id 
WHERE batch.component_id = ?
INFO:sqlalchemy.engine.base.Engine:SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals JOIN batch ON chemicals.id = batch.chemical_id 
WHERE batch.component_id = ?
2014-12-31 01:01:53,739 INFO sqlalchemy.engine.base.Engine (2,)
INFO:sqlalchemy.engine.base.Engine:(2,)
2014-12-31 01:01:53,744 INFO sqlalchemy.engine.base.Engine SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals JOIN batch ON chemicals.id = batch.chemical_id 
WHERE batch.component_id = ?
INFO:sqlalchemy.engine.base.Engine:SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals JOIN batch ON chemicals.id = batch.chemical_id 
WHERE batch.component_id = ?
2014-12-31 01:01:53,745 INFO sqlalchemy.engine.base.Engine (3,)
INFO:sqlalchemy.engine.base.Engine:(3,)
2014-12-31 01:01:53,750 INFO sqlalchemy.engine.base.Engine SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals JOIN batch ON chemicals.id = batch.chemical_id 
WHERE batch.component_id = ?
INFO:sqlalchemy.engine.base.Engine:SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals JOIN batch ON chemicals.id = batch.chemical_id 
WHERE batch.component_id = ?
2014-12-31 01:01:53,751 INFO sqlalchemy.engine.base.Engine (4,)
INFO:sqlalchemy.engine.base.Engine:(4,)
2014-12-31 01:01:53,756 INFO sqlalchemy.engine.base.Engine SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals JOIN batch ON chemicals.id = batch.chemical_id 
WHERE batch.component_id = ?
INFO:sqlalchemy.engine.base.Engine:SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals JOIN batch ON chemicals.id = batch.chemical_id 
WHERE batch.component_id = ?
2014-12-31 01:01:53,759 INFO sqlalchemy.engine.base.Engine (5,)
INFO:sqlalchemy.engine.base.Engine:(5,)
2014-12-31 01:01:53,763 INFO sqlalchemy.engine.base.Engine SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals JOIN batch ON chemicals.id = batch.chemical_id 
WHERE batch.component_id = ?
INFO:sqlalchemy.engine.base.Engine:SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals JOIN batch ON chemicals.id = batch.chemical_id 
WHERE batch.component_id = ?
2014-12-31 01:01:53,764 INFO sqlalchemy.engine.base.Engine (6,)
INFO:sqlalchemy.engine.base.Engine:(6,)
2014-12-31 01:01:53,769 INFO sqlalchemy.engine.base.Engine SELECT batch.id AS batch_id, batch.chemical_id AS batch_chemical_id, batch.component_id AS batch_component_id, batch.reaction_id AS batch_reaction_id, batch.coefficient AS batch_coefficient, components.category_id AS components_category_id, components.id AS components_id, components.name AS components_name, components.formula AS components_formula, components.molwt AS components_molwt, components.short_name AS components_short_name 
FROM batch, components 
WHERE batch.chemical_id = ? AND components.id = batch.component_id
INFO:sqlalchemy.engine.base.Engine:SELECT batch.id AS batch_id, batch.chemical_id AS batch_chemical_id, batch.component_id AS batch_component_id, batch.reaction_id AS batch_reaction_id, batch.coefficient AS batch_coefficient, components.category_id AS components_category_id, components.id AS components_id, components.name AS components_name, components.formula AS components_formula, components.molwt AS components_molwt, components.short_name AS components_short_name 
FROM batch, components 
WHERE batch.chemical_id = ? AND components.id = batch.component_id
2014-12-31 01:01:53,770 INFO sqlalchemy.engine.base.Engine (1,)
INFO:sqlalchemy.engine.base.Engine:(1,)
2014-12-31 01:01:53,777 INFO sqlalchemy.engine.base.Engine SELECT kinds.id AS kinds_id, kinds.name AS kinds_name 
FROM kinds 
WHERE kinds.id = ?
INFO:sqlalchemy.engine.base.Engine:SELECT kinds.id AS kinds_id, kinds.name AS kinds_name 
FROM kinds 
WHERE kinds.id = ?
2014-12-31 01:01:53,778 INFO sqlalchemy.engine.base.Engine (2,)
INFO:sqlalchemy.engine.base.Engine:(2,)
2014-12-31 01:01:53,782 INFO sqlalchemy.engine.base.Engine SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals 
WHERE chemicals.formula = ?
INFO:sqlalchemy.engine.base.Engine:SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals 
WHERE chemicals.formula = ?
2014-12-31 01:01:53,783 INFO sqlalchemy.engine.base.Engine ('H2O',)
INFO:sqlalchemy.engine.base.Engine:('H2O',)
2014-12-31 01:01:53,788 INFO sqlalchemy.engine.base.Engine SELECT batch.id AS batch_id, batch.chemical_id AS batch_chemical_id, batch.component_id AS batch_component_id, batch.reaction_id AS batch_reaction_id, batch.coefficient AS batch_coefficient, components.category_id AS components_category_id, components.id AS components_id, components.name AS components_name, components.formula AS components_formula, components.molwt AS components_molwt, components.short_name AS components_short_name 
FROM batch, components 
WHERE batch.chemical_id = ? AND components.id = batch.component_id
INFO:sqlalchemy.engine.base.Engine:SELECT batch.id AS batch_id, batch.chemical_id AS batch_chemical_id, batch.component_id AS batch_component_id, batch.reaction_id AS batch_reaction_id, batch.coefficient AS batch_coefficient, components.category_id AS components_category_id, components.id AS components_id, components.name AS components_name, components.formula AS components_formula, components.molwt AS components_molwt, components.short_name AS components_short_name 
FROM batch, components 
WHERE batch.chemical_id = ? AND components.id = batch.component_id
2014-12-31 01:01:53,789 INFO sqlalchemy.engine.base.Engine (2,)
INFO:sqlalchemy.engine.base.Engine:(2,)
2014-12-31 01:01:53,793 INFO sqlalchemy.engine.base.Engine SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals 
WHERE chemicals.formula = ?
INFO:sqlalchemy.engine.base.Engine:SELECT chemicals.kind_id AS chemicals_kind_id, chemicals.electrolyte_id AS chemicals_electrolyte_id, chemicals.physical_form_id AS chemicals_physical_form_id, chemicals.id AS chemicals_id, chemicals.name AS chemicals_name, chemicals.formula AS chemicals_formula, chemicals.molwt AS chemicals_molwt, chemicals.short_name AS chemicals_short_name, chemicals.concentration AS chemicals_concentration, chemicals.cas AS chemicals_cas, chemicals.density AS chemicals_density, chemicals.pk AS chemicals_pk, chemicals.smiles AS chemicals_smiles 
FROM chemicals 
WHERE chemicals.formula = ?
2014-12-31 01:01:53,794 INFO sqlalchemy.engine.base.Engine ('H2O',)
INFO:sqlalchemy.engine.base.Engine:('H2O',)
2014-12-31 01:01:53,798 INFO sqlalchemy.engine.base.Engine SELECT batch.id AS batch_id, batch.chemical_id AS batch_chemical_id, batch.component_id AS batch_component_id, batch.reaction_id AS batch_reaction_id, batch.coefficient AS batch_coefficient, components.category_id AS components_category_id, components.id AS components_id, components.name AS components_name, components.formula AS components_formula, components.molwt AS components_molwt, components.short_name AS components_short_name 
FROM batch, components 
WHERE batch.chemical_id = ? AND components.id = batch.component_id
INFO:sqlalchemy.engine.base.Engine:SELECT batch.id AS batch_id, batch.chemical_id AS batch_chemical_id, batch.component_id AS batch_component_id, batch.reaction_id AS batch_reaction_id, batch.coefficient AS batch_coefficient, components.category_id AS components_category_id, components.id AS components_id, components.name AS components_name, components.formula AS components_formula, components.molwt AS components_molwt, components.short_name AS components_short_name 
FROM batch, components 
WHERE batch.chemical_id = ? AND components.id = batch.component_id
2014-12-31 01:01:53,799 INFO sqlalchemy.engine.base.Engine (5,)
INFO:sqlalchemy.engine.base.Engine:(5,)
2014-12-31 01:01:53,803 INFO sqlalchemy.engine.base.Engine SELECT kinds.id AS kinds_id, kinds.name AS kinds_name 
FROM kinds 
WHERE kinds.id = ?
INFO:sqlalchemy.engine.base.Engine:SELECT kinds.id AS kinds_id, kinds.name AS kinds_name 
FROM kinds 
WHERE kinds.id = ?
2014-12-31 01:01:53,804 INFO sqlalchemy.engine.base.Engine (3,)
INFO:sqlalchemy.engine.base.Engine:(3,)
2014-12-31 01:01:53,807 INFO sqlalchemy.engine.base.Engine SELECT batch.id AS batch_id, batch.chemical_id AS batch_chemical_id, batch.component_id AS batch_component_id, batch.reaction_id AS batch_reaction_id, batch.coefficient AS batch_coefficient, components.category_id AS components_category_id, components.id AS components_id, components.name AS components_name, components.formula AS components_formula, components.molwt AS components_molwt, components.short_name AS components_short_name 
FROM batch, components 
WHERE batch.chemical_id = ? AND components.id = batch.component_id
INFO:sqlalchemy.engine.base.Engine:SELECT batch.id AS batch_id, batch.chemical_id AS batch_chemical_id, batch.component_id AS batch_component_id, batch.reaction_id AS batch_reaction_id, batch.coefficient AS batch_coefficient, components.category_id AS components_category_id, components.id AS components_id, components.name AS components_name, components.formula AS components_formula, components.molwt AS components_molwt, components.short_name AS components_short_name 
FROM batch, components 
WHERE batch.chemical_id = ? AND components.id = batch.component_id
2014-12-31 01:01:53,808 INFO sqlalchemy.engine.base.Engine (9,)
INFO:sqlalchemy.engine.base.Engine:(9,)
2014-12-31 01:01:53,812 INFO sqlalchemy.engine.base.Engine SELECT batch.id AS batch_id, batch.chemical_id AS batch_chemical_id, batch.component_id AS batch_component_id, batch.reaction_id AS batch_reaction_id, batch.coefficient AS batch_coefficient, components.category_id AS components_category_id, components.id AS components_id, components.name AS components_name, components.formula AS components_formula, components.molwt AS components_molwt, components.short_name AS components_short_name 
FROM batch, components 
WHERE batch.chemical_id = ? AND components.id = batch.component_id
INFO:sqlalchemy.engine.base.Engine:SELECT batch.id AS batch_id, batch.chemical_id AS batch_chemical_id, batch.component_id AS batch_component_id, batch.reaction_id AS batch_reaction_id, batch.coefficient AS batch_coefficient, components.category_id AS components_category_id, components.id AS components_id, components.name AS components_name, components.formula AS components_formula, components.molwt AS components_molwt, components.short_name AS components_short_name 
FROM batch, components 
WHERE batch.chemical_id = ? AND components.id = batch.component_id
2014-12-31 01:01:53,813 INFO sqlalchemy.engine.base.Engine (10,)
INFO:sqlalchemy.engine.base.Engine:(10,)
2014-12-31 01:01:53,817 INFO sqlalchemy.engine.base.Engine SELECT batch.id AS batch_id, batch.chemical_id AS batch_chemical_id, batch.component_id AS batch_component_id, batch.reaction_id AS batch_reaction_id, batch.coefficient AS batch_coefficient, components.category_id AS components_category_id, components.id AS components_id, components.name AS components_name, components.formula AS components_formula, components.molwt AS components_molwt, components.short_name AS components_short_name 
FROM batch, components 
WHERE batch.chemical_id = ? AND components.id = batch.component_id
INFO:sqlalchemy.engine.base.Engine:SELECT batch.id AS batch_id, batch.chemical_id AS batch_chemical_id, batch.component_id AS batch_component_id, batch.reaction_id AS batch_reaction_id, batch.coefficient AS batch_coefficient, components.category_id AS components_category_id, components.id AS components_id, components.name AS components_name, components.formula AS components_formula, components.molwt AS components_molwt, components.short_name AS components_short_name 
FROM batch, components 
WHERE batch.chemical_id = ? AND components.id = batch.component_id
2014-12-31 01:01:53,818 INFO sqlalchemy.engine.base.Engine (11,)
INFO:sqlalchemy.engine.base.Engine:(11,)

In [29]:
bc.print_A()


     ************  Composition Vector [C]  ************

         Formula       |     Moles     |   Mass [g]    
     --------------------------------------------------
         sodium oxide  |         8.0000|       495.8315
      potassium oxide  |         1.7000|       160.1332
      aluminium oxide  |         1.0000|       101.9613
     silicone dioxide  |        24.0000|      1442.0232
                water  |       410.0000|      7386.2320
                TMACl  |         1.7000|       186.3175

In [24]:
[(x.name, x.concentration) for x in bc.chemicals]


Out[24]:
[(u'sodium hydroxide', 0.98),
 (u'potassium hydroxide', 0.85),
 (u'aluminium isopropoxide', 0.98),
 (u'fumed silica', 1.0),
 (u'water', 1.0),
 (u'tetramethylammonium chloride', 0.98)]

In [25]:
bc.print_batch_matrix()


       **********************************************************  Batch Matrix [B]  **********************************************************

                           sodium oxide    |  potassium oxide  |  aluminium oxide  | silicone dioxide  |       water       |       TMACl       
                       ------------------------------------------------------------------------------------------------------------------------
     sodium hydroxide  |         0.7593    |         0.0000    |         0.0000    |         0.0000    |         0.2407    |         0.0000    
     potassium hydroxide  |         0.0000    |         0.7135    |         0.0000    |         0.0000    |         0.2865    |         0.0000    
            Al(iPrO)3  |         0.0000    |         0.0000    |         0.2496    |         0.0000    |        -0.1323    |         0.0000    
         fumed silica  |         0.0000    |         0.0000    |         0.0000    |         1.0000    |         0.0000    |         0.0000    
                water  |         0.0000    |         0.0000    |         0.0000    |         0.0000    |         1.0000    |         0.0000    
                TMACl  |         0.0000    |         0.0000    |         0.0000    |         0.0000    |         0.0000    |         1.0000    

In [30]:
[(x.name, x.mass) for x in bc.chemicals]


Out[30]:
[(u'sodium hydroxide', 653.01338775510214),
 (u'potassium hydroxide', 224.42239999999998),
 (u'aluminium isopropoxide', 416.82579591836736),
 (u'fumed silica', 1442.0232000000001),
 (u'water', 7218.8065322448983),
 (u'tetramethylammonium chloride', 190.11984693877551)]

In [35]:
data = [['Compound']+[c.name for c in bc.components],
        ['Mole ratio']+[c.moles for c in bc.components],
        ['Weight [g]']+[c.mass for c in bc.components],
        ['Mol. wt. [g/mol]']+[c.molwt for x in bc.components]]

In [36]:
data


Out[36]:
[['Compound',
  u'sodium oxide',
  u'potassium oxide',
  u'aluminium oxide',
  u'silicone dioxide',
  u'water',
  u'tetramethylammonium chloride'],
 ['Mole ratio', 8.0, 1.7, 1.0, 24.0, 410.0, 1.7],
 ['Weight [g]',
  495.83152,
  160.1332,
  101.96128,
  1442.0232,
  7386.232,
  186.31745],
 ['Mol. wt. [g/mol]',
  109.5985,
  109.5985,
  109.5985,
  109.5985,
  109.5985,
  109.5985]]

In [ ]: