Ipynb idioms

From DISI
Revision as of 18:25, 23 October 2014 by Frodo (talk | contribs) (add note about sets)
Jump to navigation Jump to search

These are idioms for iPython Notebooks, also generally python.


top of every ipynb

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import requests
import urllib

set up variables for webapi

(hint ask john for credentials)

urlroot = 'http://x.ucsf.bkslab.org:y'
format = 'txt'

execute a command, with optional limits

R = requests.get(cmd + '?count=10000')
lines = list(R.iter_lines())
print len(lines)
print R.text

setup

from rdkit.Chem.Draw import IPythonConsole
import rdkit.Chem.Draw as D
import rdkit.Chem as C
import rdkit.Chem.Descriptors as CD
from rdkit.Chem import SmilesMolSupplier

activate zinc api

import zinc.api
api=zinc.api.make_api()

Display mols

path = '/nfs/home/jji/ipynb/data/test.smi'
mols = SmilesMolSupplier(path, titleLine=False)
D.MolsToGridImage( mols, legends=[m.GetProp('_Name') for m in mols])

drill down on mol

s1 =api.substances.get(110341849)
[(ci.supplier_code,ci.catalog.name) for ci in s1.catalog_items]

stuff about sets

from sets import Set

https://docs.python.org/2/library/sets.html

employees = engineers | programmers | managers           # union
engineering_management = engineers & managers            # intersection
fulltime_management = managers - engineers - programmers # difference
engineers.add('Marvin')                                  # add element