A framework for deep learning with LINCS L1000 Data
Project description
deep_lincs
A deep learning wrapper around Keras for Lincs L1000 expression data.
Check out the documentation here.
Installation
$ pip install deep-lincs
Getting started
The data for 1.3 million L1000 profiles are availabe on GEO. The script load_files.sh fetches the Level 3
data along with all metadata available. The largest file is quite big (~50Gb) so please be patient.
$ git clone https://github.com/manzt/deep_lincs.git && cd deep_lincs
$ source load_files.sh # download raw data from GEO
$ cd notebooks
$ jupyter lab # get started in a notebook
L1000 Dataset
The Dataset
class is built with a variety of methods to load, subset, filter, and combine expression and metadata.
from deep_lincs import Dataset
# Select samples
cell_ids = ["VCAP", "MCF7", "PC3"]
pert_types = ["trt_cp", "ctl_vehicle", "ctl_untrt"]
# Loading a Dataset
dataset = Dataset.from_yaml("settings.yaml", cell_id=cell_ids, pert_type=pert_types)
# Normalizing the expression data
dataset.normalize_by_gene("standard_scale")
# Chainable methods
subset = dataset.sample_rows(5000).filter_rows(pert_id=["ctl_vehicle", "ctl_untrt"])
Models
Models interface with the Dataset
class to make training and evaluating different arcitectures simple.
Single Classifier
from deep_lincs.models import SingleClassifier
model = SingleClassifier(dataset, target="cell_id")
model.prepare_tf_datasets(batch_size=64)
model.compile_model([128, 128, 64, 32], dropout_rate=0.1)
model.fit(epochs=10)
model.evaluate() # Evaluates on isntance test Dataset
model.evaluate(subset) # Evalutates model on user-defined Dataset
Multiple Classifier
from deep_lincs.models import MutliClassifier
targets = ["cell_id", "pert_type"]
model = MutliClassifier(dataset, target=targets)
model.prepare_tf_datasets(batch_size=64)
model.compile_model(hidden_layers=[128, 128, 64, 32])
model.fit(epochs=10)
model.evaluate() # Evaluates on isntance test Dataset
model.evaluate(subset) # Evalutates model on user-defined Dataset
Autoencoder
from deep_lincs.models import AutoEncoder
model = AutoEncoder(dataset)
model.prepare_tf_datasets(batch_size=64)
model.compile_model(hidden_layers=[128, 32, 128], l1_reg=0.01)
model.fit(epochs=10)
model.encoder.predict() # Gives encodings for instance test Dataset
model.encoder.predict(subset) # Gives encodings for user-defined Dataset
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file deep_lincs-0.0.3.tar.gz
.
File metadata
- Download URL: deep_lincs-0.0.3.tar.gz
- Upload date:
- Size: 22.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bcaed96605c8fc42a5e6112b648bb3152f4e9fa007a4079f4376311f4f48de51 |
|
MD5 | e5e37fadc383410d299a33b7e841ff2e |
|
BLAKE2b-256 | 6c0846d796308fd2e80c4d41b4c0806f2b504108306b87115222501166ec0ea6 |
File details
Details for the file deep_lincs-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: deep_lincs-0.0.3-py3-none-any.whl
- Upload date:
- Size: 30.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36dd7e6a70d123b8e548d416de30825643c21565e7b277419d8609e4331a086b |
|
MD5 | fde2c2ffaf6c167a2c762679d841a7c8 |
|
BLAKE2b-256 | 44dd718eb6a672a95651c7b228cbdeea4c63aaa7ad8dafbb227c08590bb8aed6 |