Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deep_lincs-0.0.3.tar.gz (22.2 kB view details)

Uploaded Source

Built Distribution

deep_lincs-0.0.3-py3-none-any.whl (30.2 kB view details)

Uploaded Python 3

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

Hashes for deep_lincs-0.0.3.tar.gz
Algorithm Hash digest
SHA256 bcaed96605c8fc42a5e6112b648bb3152f4e9fa007a4079f4376311f4f48de51
MD5 e5e37fadc383410d299a33b7e841ff2e
BLAKE2b-256 6c0846d796308fd2e80c4d41b4c0806f2b504108306b87115222501166ec0ea6

See more details on using hashes here.

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

Hashes for deep_lincs-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 36dd7e6a70d123b8e548d416de30825643c21565e7b277419d8609e4331a086b
MD5 fde2c2ffaf6c167a2c762679d841a7c8
BLAKE2b-256 44dd718eb6a672a95651c7b228cbdeea4c63aaa7ad8dafbb227c08590bb8aed6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page