citrine informatics€¦ · citrine informatics $ python (invokes the python intrepreter) $ conda...
TRANSCRIPT
Citrine Informatics
Citrine InformaticsThe data analytics platform for the physical world
Chris Borg 19 March 2018
Python Citrination Client
Citrine Informatics
conda.io/miniconda.html
Install Anaconda (miniconda)
terminal (osx)
$ bash Miniconda3-latest-MacOSX-x86_64.sh
powershell (windows)
Miniconda3-latest-Windows-x86_64.exe
Citrine Informatics
Set env variables (windows)system > advanced system settings > Environment variablesedit > PATH C:\ProgramData\miniconda3; C:\ProgramData\miniconda3\Scripts
Citrine Informatics
Pipenv docs.pipenv.org
The officially recommended Python packaging tool from Python.org
Benefits of virtual environments:
- Easily isolate project requirements- Quickly re-create environment anywhere
Citrine Informatics
$ python (invokes the Python intrepreter)$ conda (returns Anaconda help info)$ pip (allows for easy_install of Python packages)
$ pip install pypif$ pip install citrination_client
Pip install Citrine python packages
Citrine Informatics
quick text editing
terminal (osx / linux)
$ vim
powershell (windows)
> New-Item test.txt> notepad.exe test.txt
Citrine Informatics
Store your API key as an env variableterminal (osx / linux)
$ vim ~/.bashrc$ vim ~/.bash_profile>> export CITRINATION_API_KEY=“ABC123”
powershell (windows)
> Get-ChildItem Env: > [Environment]::SetEnvironmentVariable(”CITRINATION_API_KEY", ”ABC123")
Citrine Informatics
Create pif https://github.com/CitrineInformatics/pypif
write pif to file:
outfile = “MgO2.json”
pif.dump(chemical_system, open(outfile, "w"))
Citrine Informatics
Upload pif
$ python
>>> from citrination_client import CitrinationClient
>>> client = CitrinationClient(environ['CITRINATION_API_KEY'], 'https://citrination.com')
>>> client.create_data_set()
>>> client.upload([dataset_number], outfile)
Citrine Informatics
Query for pif$ python
>>> from citrination_client import CitrinationClient
>>> client = CitrinationClient(environ['CITRINATION_API_KEY'], 'https://citrination.com')
>>> query_result = client.search(query)
>>> for hit in query_result:print pif.dumps(query_reulst.hit.extracted, indent=2)
Citrine Informatics
PyCC query structurePifSystemReturningQuery(
query = DataQuery(
dataset = DataSetQuery(),system = PifSystemQuery(
chemical_formula = ChemicalFieldQuery(),properties = PropertyQuery(
name = FieldQuery()value = FieldQuery())))
ß Defines what query should return
ß filter on dataset
ß filter for specific records
ß Define which properties to extract
Citrine Informatics
client.dataset_search()
dataset_query = DatasetQuery(owner=[Filter(equal='Chris Borg')])
data_query = DataQuery(dataset=dataset_query)
dataset_returning_query = DatasetReturningQuery(query=data_query)
client.dataset_search(dataset_returning_query)
Citrine Informatics
client.dataset_search()
Returns DatasetSearchHit object
Citrine Informatics
client.search()
dataset_query = DatasetQuery(id=[Filter(equal=‘150560’)])
data_query = DataQuery(dataset=dataset_query)
pif_query = PifSystemReturningQuery(query=data_query)
client.search(pif_query)
Citrine Informatics
client.search()
Returns PifSearchHit object
Citrine Informatics
Accessing the learn-citrination repository
git clone [email protected]:CitrineInformatics/learn-citrination.git
Citrine Informatics
1. Generate valid training dataset (density.csv, better_density.csv)
2. Create a data view (citrination.com/data_views/27)
3. Test prediction endpoint.
4. Define design space.
5. Batch predictions.
Citrine Informatics
Citrine InformaticsThe data analytics platform for the physical world
Thank you