cfe-lab / cfe-lab/MiCall

Improve amplicon detector

Open
#487 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
21
Forks
11
Avg merge
12h 5m
Merged PRs (30d)
24

Description

The current technique that the assembled version is using to detect amplicons has two problems:

  1. Some lengths are identified as amplicons when they shouldn't be.
  2. Some lengths are not identified as amplicons when they should be. Usually, this is because there's another amplicon of a similar length, and it raises the average count within the 20 length window.

The 12 Jun 2015 run has examples of both problems.

  • V3LOOP amplicon not detected, because it didn't quite outnumber its neighbours enough.
    • 57368A-10-HLA-B-63594A-V3-1-V3LOOP_S10
    • 57481A-2-HLA-B-63456A-V3-2-V3LOOP_S14
    • 57481A-3-HLA-B-63456A-V3-3-V3LOOP_S15
  • HLA exon3 amplicon too short, because the full-length one got squished between two other spikes.
    • 57482A-2-HLA-B-63461A-V3-2-V3LOOP_S26

Instead of choosing the threshold for amplicon peaks as a multiple of the average count, use a multiple of the 90th percentile. There are several parameters we could try to optimize:

  • window size to compare each peak to, currently +/- 20

  • percentile to compare to within the window, currently 90

  • multiple of comparison, currently 50

  • minimum count, currently 50

  • change from average to percentile, and choose reasonable thresholds.

  • optimize the thresholds over a large number of samples.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Start by locating the assembled amplicon detector and reproducing the 12 Jun 2015 examples, then compare its peak thresholds with the listed parameters. Done means correcting the V3LOOP and HLA exon3 detections and evaluating threshold choices across a large sample set.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
bioinformatics
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.