Skip to content
Read files from inForm software by PerkinElmer
Branch: master
Clone or download
Pull request Compare This branch is 43 commits behind jason-weirather:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
example_data
pythologist
.gitignore
Dockerfile
LICENSE
MANIFEST.in
README.md
setup.py

README.md

pythologist

Read files from inForm software by PerkinElmer.

Docker quickstart

To start a jupyter notebook in the current working directory on port 8885 you can use the following docker command.

$ docker run --rm -p 8885:8885 -v $(pwd):/home/jovyan vacation/pythologist:latest jupyter notebook --port 8885

Install

$ pip install pythologist

Common tasks

Reading in data

import pythologist

fname = 'data directory'
raw = pythologist.read_inForm(fname)

Directory names are infered from the last folder name. If this is not actually the sample name, you can safely use the folder path as a sample name, or specify a sample_index in argument.

Use the second to last folder as the sample name

import pythologist

fname = 'data directory'
raw = pythologist.read_inForm(fname,sample_index=2)

Use the folder path as the sample name

import pythologist

fname = 'data directory'
raw = pythologist.read_inForm(fname,folder_as_sample=True)

Quality check samples

import pythologist
from pythologist.test import InFormCellFrameTest

raw = pythologist.read_inForm('myfolder')
test = InFormCellFrameTest(raw)
test.check_overlapping_samples()
test.check_overlapping_frames()
test.check_scored_stain_consistency()
test.check_phenotype_consistency()
test.check_tissue_consistency()
test.scored_stain_compartment()

Show the stains present

raw.all_stains

Combine two or more phenotypes into one or rename a phenotype

collapsed = raw.collapse_phenotypes(['CD68 PDL1+','CD68 PDL1-'],'CD68')

Rename a tisssue

Rename TUMOR to Tumor

raw = raw.rename_tissue('TUMOR','Tumor')

Threshold a phenotype

Make CYTOK into CYTOK PDL1+ and CYTOK PDL1-

raw_thresh = raw.threshold('PDL1 (Opal 520)','CYTOK','PDL1')

Double threshold

CD68_CD163 = raw.threshold('CD163 (Opal 690)','CD68','CD163')
CD68_CD163pos_PDL1 = CD68_CD163.threshold('PDL1 (Opal 520)','CD68 CD163+','PDL1')

Get per frame counts

frame_counts = raw.frame_counts
frame_counts

write those counts out to a csv file

frame_counts.to_csv('my_frame_counts.csv')

Get per sample counts

sample_counts = raw.sample_counts
sample_counts

write those counts out to a csv file

sample_counts.to_csv('my_sample_counts.csv')

Save gated-relabeled data as an inFrom compatible project

  1. make a copy of your data

either copy the folder in your file explorer or from command line i.e.

$ cp -r myfolder myfolder2

  1. write your new data into the folder
CD68_CD163pos.write_inForm('myfolder2',overwrite=True)

Now the project myfolder2 can be used in IrisSpatialFeatures

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.