bedapub / bedapub/besca

Automatic Detection of cutoff levels for signatures

Open
#34 0 comments 0 reactions 0 assignees View on GitHub
enhancement for future
Dominant language
Python
Stars
50
Forks
17
Avg merge
1d 4h
Merged PRs (30d)
3

Description

Currently cutoff levels for signatures are determined manually through trial and error and saved for future use. It would be beneficial to develop an automatic method for cutoff determination which can aid in the process of determining cutoff values.

A potentially idea for this would be the following: fit a bimodal distribution to your calculated score, then automatically calculate a 95% CI threshold above which a cell with a specific score belongs to the population with the higher score. This is defined as the cutoff value.

The method is based on the following assumptions:
- you have a bimodal distribution in your dataset
- you prefer to have false negatives than false positives

Caveats with this method:
- will not work if you only have one celltype in your dataset and thus not a bimodal distribtution

Implementation would take some work because the method is currently only implemented in R (and although running in a python Jupyter notebook requires more backend setup by the user). In addition checks need to be implemented for the above named assumptions.

This method has been applied and tested to identify naive T cells. See Example slide below.

![thumb575](https://user-images.githubusercontent.com/15019107/82446639-4bca8180-9aa7-11ea-9a31-fd8b3a08c0ba.png)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the existing R implementation and the Python Jupyter notebook setup for signature scores. Define how the bimodal distribution and 95% CI threshold should be calculated, then specify checks for the single-population and false-positive assumptions; done means automatic cutoff values can identify naive T cells without manual trial and error.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, r
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.