umis

Tools for processing UMI RNA-tag data

https://github.com/vals/umis

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    3 of 12 committers (25.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.4%) to scientific vocabulary

Keywords from Contributors

bioinformatics reporting nextflow nf-core
Last synced: 11 months ago · JSON representation

Repository

Tools for processing UMI RNA-tag data

Basic Info
  • Host: GitHub
  • Owner: vals
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 539 KB
Statistics
  • Stars: 131
  • Watchers: 10
  • Forks: 35
  • Open Issues: 7
  • Releases: 17
Created about 11 years ago · Last pushed over 3 years ago
Metadata Files
Readme Changelog License

README.md

umis

umis provides tools for estimating expression in RNA-Seq data which performs sequencing of end tags of transcript, and incorporate molecular tags to correct for amplification bias.

There are four steps in this process.

  1. Formatting reads
  2. Filtering noisy cellular barcodes
  3. Pseudo-mapping to cDNAs
  4. Counting molecular identifiers

1. Formatting reads

We want to strip out all non-biological segments of the sequenced reads for the sake of mapping. While also keeping this information for later use. We consider non-biological information such as Cellular Barcode and Molecular Barcode. To later be able to extract the optional CB and the MB these are put in the read header, with the following format.

@HWI-ST808:130:H0B8YADXX:1:1101:2088:2222:CELL_GGTCCA:UMI_CCCT
AGGAAGATGGAGGAGAGAAGGCGGTGAAAGAGACCTGTAAAAAGCCACCGN
+
@@@DDBD>=AFCF+<CAFHDECII:DGGGHGIGGIIIEHGIIIGIIDHII#

The command umis fastqtransform is for transforming a (pair of) read(s) to this format based on a transform file. The transform file is a json file which has a Python flavored regular expression for each read, made to extract the necessary components of the reads.

2. Filtering noisy cellular barcodes

Not all cellular barcodes identified in the transformation will be real. Some will be low abundance barcodes that do not represent an actual cell. Others will be barcodes that don't come from a set of known barcodes. The umi cb_filter command can be used to filter a transformed FASTQ file, dropping unknown barcodes. The --nedit option can be supplied to correct barcodes --nedit distance away from known barcodes. After barcode filtering, the umis cb_histogram command will generate a file of counts for each cellular barcode. This file can be used to find a count cut-off for barcodes that are high abundance for downstream quantitation.

3. Pseudo-mapping to cDNAs

This is done by pseudo-aligners, either Kallisto or RapMap. The SAM (or BAM) file output from these tools need to be saved.

4. Counting molecular identifiers

The final step is to infer which cDNA was the origin of the tag a UMI was attached to. We use the pseudo-alignments to the cDNAs, and consider a tag assigned to a cDNA as a partial evidence for a (cDNA, UMI) pairing. For actual counting, we only count unique UMIs for (gene, UMI) pairings with sufficient evidence.

To count, use the command umis tagcount. This requires a SAM or BAM file as input.

By default, the read name will be used to cell barcodes and UMI sequences. Optionally, when using the --parse_tags option, the CR and UM bam tags will be used to extract the cell barcode and UMI, respectively.

The recommended workflow is to map reads to cDNA, in which case the target name in the BAM will be a transcript ID. If the BAM has been mapped to a genome (e.g. with STAR) tagcount can use the optional GX BAM tag to get the gene name. In this case, use the option --gene_tags.

kallisto

The quantitation used in umis handles reads that could come from multiple transcripts by assigning a fractional count to each transcript and then filtering for a minimum count at the end. Many single-cell analyses use something similar to this type of counting, but it has drawbacks (see this paper). For more principled UMI quantification, see Kallisto. kallisto needs the files in a certain format: each cellular barcode has its own FASTQ file and a file that lists the UMI for each read. The umis kallisto command can reformat your fastq files to that format.

Owner

  • Name: Valentine Svensson
  • Login: vals
  • Kind: user
  • Location: San Diego, CA
  • Company: Altos Labs

GitHub Events

Total
  • Issues event: 1
  • Watch event: 3
  • Issue comment event: 1
  • Fork event: 1
Last Year
  • Issues event: 1
  • Watch event: 3
  • Issue comment event: 1
  • Fork event: 1

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 213
  • Total Committers: 12
  • Avg Commits per committer: 17.75
  • Development Distribution Score (DDS): 0.469
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
roryk r****r@g****m 113
Valentine Svensson v****e@e****k 71
MarinusVL m****t@g****m 7
tomasgomes t****s 4
Luca Beltrame l****e@h****t 4
naumenko.sa e****b@g****m 3
chapmanb c****b@5****m 3
Michael Steinbaugh m****e@s****m 2
lylamha l****y@f****e 2
Andreas WILM w****a@g****g 2
shians r****u@g****m 1
Philipp A f****p@w****e 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 33
  • Total pull requests: 39
  • Average time to close issues: 4 months
  • Average time to close pull requests: 9 days
  • Total issue authors: 22
  • Total pull request authors: 11
  • Average comments per issue: 3.36
  • Average comments per pull request: 1.9
  • Merged pull requests: 37
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • roryk (6)
  • vals (3)
  • mfansler (2)
  • lixin4306ren (2)
  • tomsing1 (2)
  • magali (2)
  • ivlachos (1)
  • mmikedis (1)
  • sgmccalla (1)
  • asee-imagia (1)
  • Dragonlongzhilin (1)
  • skytguuu (1)
  • tillea (1)
  • ghost (1)
  • fitzgeraldZoeky (1)
Pull Request Authors
  • roryk (23)
  • naumenko-sa (3)
  • chapmanb (2)
  • andreas-wilm (2)
  • lbeltrame (2)
  • lylamha (2)
  • Shians (1)
  • tomasgomes (1)
  • flying-sheep (1)
  • mjsteinbaugh (1)
  • MarinusVL (1)
Top Labels
Issue Labels
enhancement (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 23 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 2
  • Total versions: 8
  • Total maintainers: 1
pypi.org: umis

Package for estimating UMI counts in Transcript Tag Counting data.

  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 2
  • Downloads: 23 Last month
Rankings
Stargazers count: 6.4%
Forks count: 6.6%
Dependent packages count: 10.0%
Dependent repos count: 11.6%
Average: 14.1%
Downloads: 36.1%
Maintainers (1)
Last synced: 11 months ago

Dependencies

setup.py pypi
  • click *
  • pandas *
  • pysam >=0.8.3
  • regex *
  • scipy *
  • toolz *