ThermoMLDataSet¶
-
class
propertyestimator.datasets.
ThermoMLDataSet
[source]¶ A dataset of physical property measurements created from a ThermoML dataset.
Examples
For example, we can use the DOI 10.1016/j.jct.2005.03.012 as a key for retrieving the dataset from the ThermoML Archive:
>>> dataset = ThermoMLDataSet.from_doi('10.1016/j.jct.2005.03.012')
You can also specify multiple ThermoML Archive keys to create a dataset from multiple ThermoML files:
>>> thermoml_keys = ['10.1021/acs.jced.5b00365', '10.1021/acs.jced.5b00474'] >>> dataset = ThermoMLDataSet.from_doi(*thermoml_keys)
Methods
__init__
()Constructs a new ThermoMLDataSet object.
filter_by_components
(number_of_components)Filter the data set based on a minimum and maximum temperature.
filter_by_elements
(*allowed_elements)Filters out those properties which were estimated for
filter_by_function
(filter_function)Filter the data set using a given filter function.
filter_by_phases
(phases)Filter the data set based on the phase of the property (e.g liquid).
filter_by_pressure
(min_pressure, max_pressure)Filter the data set based on a minimum and maximum pressure.
filter_by_property_types
(*property_type)Filter the data set based on the type of property (e.g Density).
filter_by_smiles
(*allowed_smiles)Filters out those properties which were estimated for
filter_by_temperature
(min_temperature, …)Filter the data set based on a minimum and maximum temperature.
from_doi
(*doi_list)Load a ThermoML data set from a list of DOIs
from_file
(*file_list)Load a ThermoML data set from a list of files
from_url
(*url_list)Load a ThermoML data set from a list of URLs
from_xml
(xml, source)Load a ThermoML data set from an xml object.
json
()Creates a JSON representation of this class.
merge
(data_set)Merge another data set into the current one.
parse_json
(string_contents[, encoding])Parses a typed json string into the corresponding class structure.
Attributes
The number of properties in the data set.
A list of all of the properties within this set, partitioned by substance identifier.
The list of sources from which the properties were gathered
-
classmethod
from_doi
(*doi_list)[source]¶ Load a ThermoML data set from a list of DOIs
- Parameters
doi_list (str) – The list of DOIs to pull data from
- Returns
The loaded data set.
- Return type
-
classmethod
from_url
(*url_list)[source]¶ Load a ThermoML data set from a list of URLs
- Parameters
url_list (str) – The list of URLs to pull data from
- Returns
The loaded data set.
- Return type
-
classmethod
from_file
(*file_list)[source]¶ Load a ThermoML data set from a list of files
- Parameters
file_list (str) – The list of files to pull data from
- Returns
The loaded data set.
- Return type
-
filter_by_components
(number_of_components)¶ Filter the data set based on a minimum and maximum temperature.
- Parameters
number_of_components (int) – The allowed number of components in the mixture.
Examples
Filter the dataset to only include pure substance properties.
>>> # Load in the data set of properties which will be used for comparisons >>> from propertyestimator.datasets import ThermoMLDataSet >>> data_set = ThermoMLDataSet.from_doi('10.1016/j.jct.2016.10.001') >>> >>> data_set.filter_by_components(number_of_components=1)
-
filter_by_elements
(*allowed_elements)¶ - Filters out those properties which were estimated for
compounds which contain elements outside of those defined in allowed_elements.
- Parameters
allowed_elements (str) – The symbols (e.g. C, H, Cl) of the elements to retain.
-
filter_by_function
(filter_function)¶ Filter the data set using a given filter function.
- Parameters
filter_function (lambda) – The filter function.
-
filter_by_phases
(phases)¶ Filter the data set based on the phase of the property (e.g liquid).
- Parameters
phases (PropertyPhase) – The phase of property which should be retained.
Examples
Filter the dataset to only include liquid properties.
>>> # Load in the data set of properties which will be used for comparisons >>> from propertyestimator.datasets import ThermoMLDataSet >>> data_set = ThermoMLDataSet.from_doi('10.1016/j.jct.2016.10.001') >>> >>> from propertyestimator.properties import PropertyPhase >>> data_set.filter_by_temperature(PropertyPhase.Liquid)
-
filter_by_pressure
(min_pressure, max_pressure)¶ Filter the data set based on a minimum and maximum pressure.
- Parameters
min_pressure (unit.Quantity) – The minimum pressure.
max_pressure (unit.Quantity) – The maximum pressure.
Examples
Filter the dataset to only include properties measured between 70-150 kPa.
>>> # Load in the data set of properties which will be used for comparisons >>> from propertyestimator.datasets import ThermoMLDataSet >>> data_set = ThermoMLDataSet.from_doi('10.1016/j.jct.2016.10.001') >>> >>> from propertyestimator import unit >>> data_set.filter_by_temperature(min_pressure=70*unit.kilopascal, max_temperature=150*unit.kilopascal)
-
filter_by_property_types
(*property_type)¶ Filter the data set based on the type of property (e.g Density).
- Parameters
property_type (PropertyType or str) – The type of property which should be retained.
Examples
Filter the dataset to only contain densities and static dielectric constants
>>> # Load in the data set of properties which will be used for comparisons >>> from propertyestimator.datasets import ThermoMLDataSet >>> data_set = ThermoMLDataSet.from_doi('10.1016/j.jct.2016.10.001') >>> >>> # Filter the dataset to only include densities and dielectric constants. >>> from propertyestimator.properties import Density, DielectricConstant >>> data_set.filter_by_property_types(Density, DielectricConstant)
or
>>> data_set.filter_by_property_types('Density', 'DielectricConstant')
-
filter_by_smiles
(*allowed_smiles)¶ - Filters out those properties which were estimated for
compounds which do not appear in the allowed smiles list.
- Parameters
allowed_smiles (str) – The smiles identifiers of the compounds to keep after filtering.
-
filter_by_temperature
(min_temperature, max_temperature)¶ Filter the data set based on a minimum and maximum temperature.
- Parameters
min_temperature (unit.Quantity) – The minimum temperature.
max_temperature (unit.Quantity) – The maximum temperature.
Examples
Filter the dataset to only include properties measured between 130-260 K.
>>> # Load in the data set of properties which will be used for comparisons >>> from propertyestimator.datasets import ThermoMLDataSet >>> data_set = ThermoMLDataSet.from_doi('10.1016/j.jct.2016.10.001') >>> >>> from propertyestimator import unit >>> data_set.filter_by_temperature(min_temperature=130*unit.kelvin, max_temperature=260*unit.kelvin)
-
classmethod
from_xml
(xml, source)[source]¶ Load a ThermoML data set from an xml object.
- Parameters
- Returns
The loaded ThermoML data set.
- Return type
-
json
()¶ Creates a JSON representation of this class.
- Returns
The JSON representation of this class.
- Return type
-
merge
(data_set)¶ Merge another data set into the current one.
- Parameters
data_set (PhysicalPropertyDataSet) – The secondary data set to merge into this one.
-
classmethod
parse_json
(string_contents, encoding='utf8')¶ Parses a typed json string into the corresponding class structure.
-
property
properties
¶ A list of all of the properties within this set, partitioned by substance identifier.
TODO: Add a link to Substance.identifier when have access to sphinx docs. TODO: Investigate why PhysicalProperty is not cross-linking.
See also
Substance.identifier
- Type
dict of str and list of PhysicalProperty
-
property
sources
¶ The list of sources from which the properties were gathered
- Type
list of Source
-
classmethod