Skip to content

Repository files navigation

Welcome!

Rnacounter estimates abundances of genes and their different transcripts from read alignments. Exons and introns can also be quantified.

It provides fast read counting in annotated genomic features as well as a simple, yet efficient solution to the quantification of isoforms from RNA-seq data. The method used is described in [<ref>]. A typical run is expected to take less than 2 minutes for a 1Gb BAM file from mouse RNA sequencing, increasing linearly with the BAM size.

For all these tasks it only requires a BAM file from a read mapping on the genome, and a single GTF/GFF file describing the exon structure such as those provided by Ensembl or GenRep.

It is not meant to be used as a library, but through its command-line tool "rnacounter".

The code project is hosted in Github (https://github.com/delafont/rnacounter), GPL-2 licensed.

Usage:

See "rnacounter --help" and the tutorial at http://bbcf.epfl.ch/bbcflib/tutorial_rnacounter.html, also available in the doc/ folder.

Minimal example:

rnacounter test.bam test.gtf

Installation:

First ensure that you have numpy installed, then install rnacounter. With easy_install:

sudo easy_install numpy
sudo easy_install rnacounter

Or better yet, with pip:

sudo pip install numpy
sudo pip install rnacounter

It installs as a standard Python library but includes the executable and puts it somewhere in your $PATH. Dependencies will be added automatically.

Check that it works with the test command:

rnacounter test

It should display something similar to this:

ID Count RPKM Chrom Start End Strand GeneName Type Sense Synonym
ENSMUSG00000038271 0.0 0.0 chr6 125095258 125111800 1 Iffo1 Gene . .
ENSMUSG00000057666 3956.87179487 434612.223694 chr6 125111870 125116485 -1 Gapdh Gene . .
ENSMUSG00000038252 0.0 0.0 chr6 125118026 125141613 -1 Ncapd2 Gene . .

To uninstall with pip:

sudo pip uninstall rnacounter

The code is fully compatible with Python 2.7 and Python 3.

Building from source:

This allows to modify the Cython source code (rnacounter.pyx) before rebuilding.

Clone or download the repository from https://github.com/delafont/rnacounter .

You need cython installed (pip install cython).

From where rnacounter.pyx lies (rnacounter/rnacounter/), run:

sudo python setup.py build_ext

It will recompile to create rnacounter.c, and build it. Then add the executable (rnacounter/bin/rnacounter) to your $PATH, or install from the package root (rnacounter/) with:

sudo python setup.py install

Dependencies:

Tests run with the library versions below, but may work with earlier versions.

  • setuptools 7.0+ (installation)
  • pysam 0.7.5+ (samtools wrapper)
  • numpy 1.6.2+ (efficient numeric arrays)
  • scipy 0.9.0+ (NNLS algorithm)
  • docopt 0.6.1+ (command-line args parsing)
  • cython 0.20+ (translate Python code to C)

Testing:

Testing files in the testfiles/ folder: - gapdhKO.bam: alignment on mm9 with only Gapdh covered. - mm9_3genes_renamed.gtf: extract of the Ensembl GTF with Gapdh, the gene before and the gene after it. - mm9_Gapdh_renamed.gtf: extract of the Ensembl GTF with Gapdh only.

Example:

rnacounter testfiles/gapdhKO.bam testfiles/mm9_3genes_renamed.gtf

(which is equivalent to what the test command does):

rnacounter test

The BAM contains 4041 reads all aligning perfectly on Gapdh (ENSMUSG00000057666) exons, mostly on ENSMUSE00000487077 but also ENSMUSE00000751942 and ENSMUSE00000886744. Nothing on other exons, which makes it a good example of badly conditioned input data...

The least squares method returns counts on the following transcripts: ENSMUST00000117757, ENSMUST00000118875, ENSMUST00000147954 and nothing on ENSMUST00000073605, ENSMUST00000144205, ENSMUST00000144588 .

Troubleshooting:

Any bug report, usage issue or feature request not listed below can be addressed to julien.delafontaine@epfl.ch or webmaster.bbcf@epfl.ch .

About

Counter of HTS reads

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - bbcf/rnacounter: Counter of HTS reads · GitHub
Skip to content

Repository files navigation

Welcome!

Rnacounter estimates abundances of genes and their different transcripts from read alignments. Exons and introns can also be quantified.

It provides fast read counting in annotated genomic features as well as a simple, yet efficient solution to the quantification of isoforms from RNA-seq data. The method used is described in [<ref>]. A typical run is expected to take less than 2 minutes for a 1Gb BAM file from mouse RNA sequencing, increasing linearly with the BAM size.

For all these tasks it only requires a BAM file from a read mapping on the genome, and a single GTF/GFF file describing the exon structure such as those provided by Ensembl or GenRep.

It is not meant to be used as a library, but through its command-line tool "rnacounter".

The code project is hosted in Github (https://github.com/delafont/rnacounter), GPL-2 licensed.

Usage:

See "rnacounter --help" and the tutorial at http://bbcf.epfl.ch/bbcflib/tutorial_rnacounter.html, also available in the doc/ folder.

Minimal example:

rnacounter test.bam test.gtf

Installation:

First ensure that you have numpy installed, then install rnacounter. With easy_install:

sudo easy_install numpy
sudo easy_install rnacounter

Or better yet, with pip:

sudo pip install numpy
sudo pip install rnacounter

It installs as a standard Python library but includes the executable and puts it somewhere in your $PATH. Dependencies will be added automatically.

Check that it works with the test command:

rnacounter test

It should display something similar to this:

ID Count RPKM Chrom Start End Strand GeneName Type Sense Synonym
ENSMUSG00000038271 0.0 0.0 chr6 125095258 125111800 1 Iffo1 Gene . .
ENSMUSG00000057666 3956.87179487 434612.223694 chr6 125111870 125116485 -1 Gapdh Gene . .
ENSMUSG00000038252 0.0 0.0 chr6 125118026 125141613 -1 Ncapd2 Gene . .

To uninstall with pip:

sudo pip uninstall rnacounter

The code is fully compatible with Python 2.7 and Python 3.

Building from source:

This allows to modify the Cython source code (rnacounter.pyx) before rebuilding.

Clone or download the repository from https://github.com/delafont/rnacounter .

You need cython installed (pip install cython).

From where rnacounter.pyx lies (rnacounter/rnacounter/), run:

sudo python setup.py build_ext

It will recompile to create rnacounter.c, and build it. Then add the executable (rnacounter/bin/rnacounter) to your $PATH, or install from the package root (rnacounter/) with:

sudo python setup.py install

Dependencies:

Tests run with the library versions below, but may work with earlier versions.

  • setuptools 7.0+ (installation)
  • pysam 0.7.5+ (samtools wrapper)
  • numpy 1.6.2+ (efficient numeric arrays)
  • scipy 0.9.0+ (NNLS algorithm)
  • docopt 0.6.1+ (command-line args parsing)
  • cython 0.20+ (translate Python code to C)

Testing:

Testing files in the testfiles/ folder: - gapdhKO.bam: alignment on mm9 with only Gapdh covered. - mm9_3genes_renamed.gtf: extract of the Ensembl GTF with Gapdh, the gene before and the gene after it. - mm9_Gapdh_renamed.gtf: extract of the Ensembl GTF with Gapdh only.

Example:

rnacounter testfiles/gapdhKO.bam testfiles/mm9_3genes_renamed.gtf

(which is equivalent to what the test command does):

rnacounter test

The BAM contains 4041 reads all aligning perfectly on Gapdh (ENSMUSG00000057666) exons, mostly on ENSMUSE00000487077 but also ENSMUSE00000751942 and ENSMUSE00000886744. Nothing on other exons, which makes it a good example of badly conditioned input data...

The least squares method returns counts on the following transcripts: ENSMUST00000117757, ENSMUST00000118875, ENSMUST00000147954 and nothing on ENSMUST00000073605, ENSMUST00000144205, ENSMUST00000144588 .

Troubleshooting:

Any bug report, usage issue or feature request not listed below can be addressed to julien.delafontaine@epfl.ch or webmaster.bbcf@epfl.ch .

About

Counter of HTS reads

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - bbcf/rnacounter: Counter of HTS reads · GitHub
Skip to content

Repository files navigation

Welcome!

Rnacounter estimates abundances of genes and their different transcripts from read alignments. Exons and introns can also be quantified.

It provides fast read counting in annotated genomic features as well as a simple, yet efficient solution to the quantification of isoforms from RNA-seq data. The method used is described in [<ref>]. A typical run is expected to take less than 2 minutes for a 1Gb BAM file from mouse RNA sequencing, increasing linearly with the BAM size.

For all these tasks it only requires a BAM file from a read mapping on the genome, and a single GTF/GFF file describing the exon structure such as those provided by Ensembl or GenRep.

It is not meant to be used as a library, but through its command-line tool "rnacounter".

The code project is hosted in Github (https://github.com/delafont/rnacounter), GPL-2 licensed.

Usage:

See "rnacounter --help" and the tutorial at http://bbcf.epfl.ch/bbcflib/tutorial_rnacounter.html, also available in the doc/ folder.

Minimal example:

rnacounter test.bam test.gtf

Installation:

First ensure that you have numpy installed, then install rnacounter. With easy_install:

sudo easy_install numpy
sudo easy_install rnacounter

Or better yet, with pip:

sudo pip install numpy
sudo pip install rnacounter

It installs as a standard Python library but includes the executable and puts it somewhere in your $PATH. Dependencies will be added automatically.

Check that it works with the test command:

rnacounter test

It should display something similar to this:

ID Count RPKM Chrom Start End Strand GeneName Type Sense Synonym
ENSMUSG00000038271 0.0 0.0 chr6 125095258 125111800 1 Iffo1 Gene . .
ENSMUSG00000057666 3956.87179487 434612.223694 chr6 125111870 125116485 -1 Gapdh Gene . .
ENSMUSG00000038252 0.0 0.0 chr6 125118026 125141613 -1 Ncapd2 Gene . .

To uninstall with pip:

sudo pip uninstall rnacounter

The code is fully compatible with Python 2.7 and Python 3.

Building from source:

This allows to modify the Cython source code (rnacounter.pyx) before rebuilding.

Clone or download the repository from https://github.com/delafont/rnacounter .

You need cython installed (pip install cython).

From where rnacounter.pyx lies (rnacounter/rnacounter/), run:

sudo python setup.py build_ext

It will recompile to create rnacounter.c, and build it. Then add the executable (rnacounter/bin/rnacounter) to your $PATH, or install from the package root (rnacounter/) with:

sudo python setup.py install

Dependencies:

Tests run with the library versions below, but may work with earlier versions.

  • setuptools 7.0+ (installation)
  • pysam 0.7.5+ (samtools wrapper)
  • numpy 1.6.2+ (efficient numeric arrays)
  • scipy 0.9.0+ (NNLS algorithm)
  • docopt 0.6.1+ (command-line args parsing)
  • cython 0.20+ (translate Python code to C)

Testing:

Testing files in the testfiles/ folder: - gapdhKO.bam: alignment on mm9 with only Gapdh covered. - mm9_3genes_renamed.gtf: extract of the Ensembl GTF with Gapdh, the gene before and the gene after it. - mm9_Gapdh_renamed.gtf: extract of the Ensembl GTF with Gapdh only.

Example:

rnacounter testfiles/gapdhKO.bam testfiles/mm9_3genes_renamed.gtf

(which is equivalent to what the test command does):

rnacounter test

The BAM contains 4041 reads all aligning perfectly on Gapdh (ENSMUSG00000057666) exons, mostly on ENSMUSE00000487077 but also ENSMUSE00000751942 and ENSMUSE00000886744. Nothing on other exons, which makes it a good example of badly conditioned input data...

The least squares method returns counts on the following transcripts: ENSMUST00000117757, ENSMUST00000118875, ENSMUST00000147954 and nothing on ENSMUST00000073605, ENSMUST00000144205, ENSMUST00000144588 .

Troubleshooting:

Any bug report, usage issue or feature request not listed below can be addressed to julien.delafontaine@epfl.ch or webmaster.bbcf@epfl.ch .

About

Counter of HTS reads

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - bbcf/rnacounter: Counter of HTS reads · GitHub
Skip to content

Repository files navigation

Welcome!

Rnacounter estimates abundances of genes and their different transcripts from read alignments. Exons and introns can also be quantified.

It provides fast read counting in annotated genomic features as well as a simple, yet efficient solution to the quantification of isoforms from RNA-seq data. The method used is described in [<ref>]. A typical run is expected to take less than 2 minutes for a 1Gb BAM file from mouse RNA sequencing, increasing linearly with the BAM size.

For all these tasks it only requires a BAM file from a read mapping on the genome, and a single GTF/GFF file describing the exon structure such as those provided by Ensembl or GenRep.

It is not meant to be used as a library, but through its command-line tool "rnacounter".

The code project is hosted in Github (https://github.com/delafont/rnacounter), GPL-2 licensed.

Usage:

See "rnacounter --help" and the tutorial at http://bbcf.epfl.ch/bbcflib/tutorial_rnacounter.html, also available in the doc/ folder.

Minimal example:

rnacounter test.bam test.gtf

Installation:

First ensure that you have numpy installed, then install rnacounter. With easy_install:

sudo easy_install numpy
sudo easy_install rnacounter

Or better yet, with pip:

sudo pip install numpy
sudo pip install rnacounter

It installs as a standard Python library but includes the executable and puts it somewhere in your $PATH. Dependencies will be added automatically.

Check that it works with the test command:

rnacounter test

It should display something similar to this:

ID Count RPKM Chrom Start End Strand GeneName Type Sense Synonym
ENSMUSG00000038271 0.0 0.0 chr6 125095258 125111800 1 Iffo1 Gene . .
ENSMUSG00000057666 3956.87179487 434612.223694 chr6 125111870 125116485 -1 Gapdh Gene . .
ENSMUSG00000038252 0.0 0.0 chr6 125118026 125141613 -1 Ncapd2 Gene . .

To uninstall with pip:

sudo pip uninstall rnacounter

The code is fully compatible with Python 2.7 and Python 3.

Building from source:

This allows to modify the Cython source code (rnacounter.pyx) before rebuilding.

Clone or download the repository from https://github.com/delafont/rnacounter .

You need cython installed (pip install cython).

From where rnacounter.pyx lies (rnacounter/rnacounter/), run:

sudo python setup.py build_ext

It will recompile to create rnacounter.c, and build it. Then add the executable (rnacounter/bin/rnacounter) to your $PATH, or install from the package root (rnacounter/) with:

sudo python setup.py install

Dependencies:

Tests run with the library versions below, but may work with earlier versions.

  • setuptools 7.0+ (installation)
  • pysam 0.7.5+ (samtools wrapper)
  • numpy 1.6.2+ (efficient numeric arrays)
  • scipy 0.9.0+ (NNLS algorithm)
  • docopt 0.6.1+ (command-line args parsing)
  • cython 0.20+ (translate Python code to C)

Testing:

Testing files in the testfiles/ folder: - gapdhKO.bam: alignment on mm9 with only Gapdh covered. - mm9_3genes_renamed.gtf: extract of the Ensembl GTF with Gapdh, the gene before and the gene after it. - mm9_Gapdh_renamed.gtf: extract of the Ensembl GTF with Gapdh only.

Example:

rnacounter testfiles/gapdhKO.bam testfiles/mm9_3genes_renamed.gtf

(which is equivalent to what the test command does):

rnacounter test

The BAM contains 4041 reads all aligning perfectly on Gapdh (ENSMUSG00000057666) exons, mostly on ENSMUSE00000487077 but also ENSMUSE00000751942 and ENSMUSE00000886744. Nothing on other exons, which makes it a good example of badly conditioned input data...

The least squares method returns counts on the following transcripts: ENSMUST00000117757, ENSMUST00000118875, ENSMUST00000147954 and nothing on ENSMUST00000073605, ENSMUST00000144205, ENSMUST00000144588 .

Troubleshooting:

Any bug report, usage issue or feature request not listed below can be addressed to julien.delafontaine@epfl.ch or webmaster.bbcf@epfl.ch .

About

Counter of HTS reads

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - bbcf/rnacounter: Counter of HTS reads · GitHub
Skip to content

Repository files navigation

Welcome!

Rnacounter estimates abundances of genes and their different transcripts from read alignments. Exons and introns can also be quantified.

It provides fast read counting in annotated genomic features as well as a simple, yet efficient solution to the quantification of isoforms from RNA-seq data. The method used is described in [<ref>]. A typical run is expected to take less than 2 minutes for a 1Gb BAM file from mouse RNA sequencing, increasing linearly with the BAM size.

For all these tasks it only requires a BAM file from a read mapping on the genome, and a single GTF/GFF file describing the exon structure such as those provided by Ensembl or GenRep.

It is not meant to be used as a library, but through its command-line tool "rnacounter".

The code project is hosted in Github (https://github.com/delafont/rnacounter), GPL-2 licensed.

Usage:

See "rnacounter --help" and the tutorial at http://bbcf.epfl.ch/bbcflib/tutorial_rnacounter.html, also available in the doc/ folder.

Minimal example:

rnacounter test.bam test.gtf

Installation:

First ensure that you have numpy installed, then install rnacounter. With easy_install:

sudo easy_install numpy
sudo easy_install rnacounter

Or better yet, with pip:

sudo pip install numpy
sudo pip install rnacounter

It installs as a standard Python library but includes the executable and puts it somewhere in your $PATH. Dependencies will be added automatically.

Check that it works with the test command:

rnacounter test

It should display something similar to this:

ID Count RPKM Chrom Start End Strand GeneName Type Sense Synonym
ENSMUSG00000038271 0.0 0.0 chr6 125095258 125111800 1 Iffo1 Gene . .
ENSMUSG00000057666 3956.87179487 434612.223694 chr6 125111870 125116485 -1 Gapdh Gene . .
ENSMUSG00000038252 0.0 0.0 chr6 125118026 125141613 -1 Ncapd2 Gene . .

To uninstall with pip:

sudo pip uninstall rnacounter

The code is fully compatible with Python 2.7 and Python 3.

Building from source:

This allows to modify the Cython source code (rnacounter.pyx) before rebuilding.

Clone or download the repository from https://github.com/delafont/rnacounter .

You need cython installed (pip install cython).

From where rnacounter.pyx lies (rnacounter/rnacounter/), run:

sudo python setup.py build_ext

It will recompile to create rnacounter.c, and build it. Then add the executable (rnacounter/bin/rnacounter) to your $PATH, or install from the package root (rnacounter/) with:

sudo python setup.py install

Dependencies:

Tests run with the library versions below, but may work with earlier versions.

  • setuptools 7.0+ (installation)
  • pysam 0.7.5+ (samtools wrapper)
  • numpy 1.6.2+ (efficient numeric arrays)
  • scipy 0.9.0+ (NNLS algorithm)
  • docopt 0.6.1+ (command-line args parsing)
  • cython 0.20+ (translate Python code to C)

Testing:

Testing files in the testfiles/ folder: - gapdhKO.bam: alignment on mm9 with only Gapdh covered. - mm9_3genes_renamed.gtf: extract of the Ensembl GTF with Gapdh, the gene before and the gene after it. - mm9_Gapdh_renamed.gtf: extract of the Ensembl GTF with Gapdh only.

Example:

rnacounter testfiles/gapdhKO.bam testfiles/mm9_3genes_renamed.gtf

(which is equivalent to what the test command does):

rnacounter test

The BAM contains 4041 reads all aligning perfectly on Gapdh (ENSMUSG00000057666) exons, mostly on ENSMUSE00000487077 but also ENSMUSE00000751942 and ENSMUSE00000886744. Nothing on other exons, which makes it a good example of badly conditioned input data...

The least squares method returns counts on the following transcripts: ENSMUST00000117757, ENSMUST00000118875, ENSMUST00000147954 and nothing on ENSMUST00000073605, ENSMUST00000144205, ENSMUST00000144588 .

Troubleshooting:

Any bug report, usage issue or feature request not listed below can be addressed to julien.delafontaine@epfl.ch or webmaster.bbcf@epfl.ch .

About

Counter of HTS reads

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - bbcf/rnacounter: Counter of HTS reads · GitHub
Skip to content

Repository files navigation

Welcome!

Rnacounter estimates abundances of genes and their different transcripts from read alignments. Exons and introns can also be quantified.

It provides fast read counting in annotated genomic features as well as a simple, yet efficient solution to the quantification of isoforms from RNA-seq data. The method used is described in [<ref>]. A typical run is expected to take less than 2 minutes for a 1Gb BAM file from mouse RNA sequencing, increasing linearly with the BAM size.

For all these tasks it only requires a BAM file from a read mapping on the genome, and a single GTF/GFF file describing the exon structure such as those provided by Ensembl or GenRep.

It is not meant to be used as a library, but through its command-line tool "rnacounter".

The code project is hosted in Github (https://github.com/delafont/rnacounter), GPL-2 licensed.

Usage:

See "rnacounter --help" and the tutorial at http://bbcf.epfl.ch/bbcflib/tutorial_rnacounter.html, also available in the doc/ folder.

Minimal example:

rnacounter test.bam test.gtf

Installation:

First ensure that you have numpy installed, then install rnacounter. With easy_install:

sudo easy_install numpy
sudo easy_install rnacounter

Or better yet, with pip:

sudo pip install numpy
sudo pip install rnacounter

It installs as a standard Python library but includes the executable and puts it somewhere in your $PATH. Dependencies will be added automatically.

Check that it works with the test command:

rnacounter test

It should display something similar to this:

ID Count RPKM Chrom Start End Strand GeneName Type Sense Synonym
ENSMUSG00000038271 0.0 0.0 chr6 125095258 125111800 1 Iffo1 Gene . .
ENSMUSG00000057666 3956.87179487 434612.223694 chr6 125111870 125116485 -1 Gapdh Gene . .
ENSMUSG00000038252 0.0 0.0 chr6 125118026 125141613 -1 Ncapd2 Gene . .

To uninstall with pip:

sudo pip uninstall rnacounter

The code is fully compatible with Python 2.7 and Python 3.

Building from source:

This allows to modify the Cython source code (rnacounter.pyx) before rebuilding.

Clone or download the repository from https://github.com/delafont/rnacounter .

You need cython installed (pip install cython).

From where rnacounter.pyx lies (rnacounter/rnacounter/), run:

sudo python setup.py build_ext

It will recompile to create rnacounter.c, and build it. Then add the executable (rnacounter/bin/rnacounter) to your $PATH, or install from the package root (rnacounter/) with:

sudo python setup.py install

Dependencies:

Tests run with the library versions below, but may work with earlier versions.

  • setuptools 7.0+ (installation)
  • pysam 0.7.5+ (samtools wrapper)
  • numpy 1.6.2+ (efficient numeric arrays)
  • scipy 0.9.0+ (NNLS algorithm)
  • docopt 0.6.1+ (command-line args parsing)
  • cython 0.20+ (translate Python code to C)

Testing:

Testing files in the testfiles/ folder: - gapdhKO.bam: alignment on mm9 with only Gapdh covered. - mm9_3genes_renamed.gtf: extract of the Ensembl GTF with Gapdh, the gene before and the gene after it. - mm9_Gapdh_renamed.gtf: extract of the Ensembl GTF with Gapdh only.

Example:

rnacounter testfiles/gapdhKO.bam testfiles/mm9_3genes_renamed.gtf

(which is equivalent to what the test command does):

rnacounter test

The BAM contains 4041 reads all aligning perfectly on Gapdh (ENSMUSG00000057666) exons, mostly on ENSMUSE00000487077 but also ENSMUSE00000751942 and ENSMUSE00000886744. Nothing on other exons, which makes it a good example of badly conditioned input data...

The least squares method returns counts on the following transcripts: ENSMUST00000117757, ENSMUST00000118875, ENSMUST00000147954 and nothing on ENSMUST00000073605, ENSMUST00000144205, ENSMUST00000144588 .

Troubleshooting:

Any bug report, usage issue or feature request not listed below can be addressed to julien.delafontaine@epfl.ch or webmaster.bbcf@epfl.ch .

About

Counter of HTS reads

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - bbcf/rnacounter: Counter of HTS reads · GitHub
Skip to content

Repository files navigation

Welcome!

Rnacounter estimates abundances of genes and their different transcripts from read alignments. Exons and introns can also be quantified.

It provides fast read counting in annotated genomic features as well as a simple, yet efficient solution to the quantification of isoforms from RNA-seq data. The method used is described in [<ref>]. A typical run is expected to take less than 2 minutes for a 1Gb BAM file from mouse RNA sequencing, increasing linearly with the BAM size.

For all these tasks it only requires a BAM file from a read mapping on the genome, and a single GTF/GFF file describing the exon structure such as those provided by Ensembl or GenRep.

It is not meant to be used as a library, but through its command-line tool "rnacounter".

The code project is hosted in Github (https://github.com/delafont/rnacounter), GPL-2 licensed.

Usage:

See "rnacounter --help" and the tutorial at http://bbcf.epfl.ch/bbcflib/tutorial_rnacounter.html, also available in the doc/ folder.

Minimal example:

rnacounter test.bam test.gtf

Installation:

First ensure that you have numpy installed, then install rnacounter. With easy_install:

sudo easy_install numpy
sudo easy_install rnacounter

Or better yet, with pip:

sudo pip install numpy
sudo pip install rnacounter

It installs as a standard Python library but includes the executable and puts it somewhere in your $PATH. Dependencies will be added automatically.

Check that it works with the test command:

rnacounter test

It should display something similar to this:

ID Count RPKM Chrom Start End Strand GeneName Type Sense Synonym
ENSMUSG00000038271 0.0 0.0 chr6 125095258 125111800 1 Iffo1 Gene . .
ENSMUSG00000057666 3956.87179487 434612.223694 chr6 125111870 125116485 -1 Gapdh Gene . .
ENSMUSG00000038252 0.0 0.0 chr6 125118026 125141613 -1 Ncapd2 Gene . .

To uninstall with pip:

sudo pip uninstall rnacounter

The code is fully compatible with Python 2.7 and Python 3.

Building from source:

This allows to modify the Cython source code (rnacounter.pyx) before rebuilding.

Clone or download the repository from https://github.com/delafont/rnacounter .

You need cython installed (pip install cython).

From where rnacounter.pyx lies (rnacounter/rnacounter/), run:

sudo python setup.py build_ext

It will recompile to create rnacounter.c, and build it. Then add the executable (rnacounter/bin/rnacounter) to your $PATH, or install from the package root (rnacounter/) with:

sudo python setup.py install

Dependencies:

Tests run with the library versions below, but may work with earlier versions.

  • setuptools 7.0+ (installation)
  • pysam 0.7.5+ (samtools wrapper)
  • numpy 1.6.2+ (efficient numeric arrays)
  • scipy 0.9.0+ (NNLS algorithm)
  • docopt 0.6.1+ (command-line args parsing)
  • cython 0.20+ (translate Python code to C)

Testing:

Testing files in the testfiles/ folder: - gapdhKO.bam: alignment on mm9 with only Gapdh covered. - mm9_3genes_renamed.gtf: extract of the Ensembl GTF with Gapdh, the gene before and the gene after it. - mm9_Gapdh_renamed.gtf: extract of the Ensembl GTF with Gapdh only.

Example:

rnacounter testfiles/gapdhKO.bam testfiles/mm9_3genes_renamed.gtf

(which is equivalent to what the test command does):

rnacounter test

The BAM contains 4041 reads all aligning perfectly on Gapdh (ENSMUSG00000057666) exons, mostly on ENSMUSE00000487077 but also ENSMUSE00000751942 and ENSMUSE00000886744. Nothing on other exons, which makes it a good example of badly conditioned input data...

The least squares method returns counts on the following transcripts: ENSMUST00000117757, ENSMUST00000118875, ENSMUST00000147954 and nothing on ENSMUST00000073605, ENSMUST00000144205, ENSMUST00000144588 .

Troubleshooting:

Any bug report, usage issue or feature request not listed below can be addressed to julien.delafontaine@epfl.ch or webmaster.bbcf@epfl.ch .

About

Counter of HTS reads

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - bbcf/rnacounter: Counter of HTS reads · GitHub
Skip to content

Repository files navigation

Welcome!

Rnacounter estimates abundances of genes and their different transcripts from read alignments. Exons and introns can also be quantified.

It provides fast read counting in annotated genomic features as well as a simple, yet efficient solution to the quantification of isoforms from RNA-seq data. The method used is described in [<ref>]. A typical run is expected to take less than 2 minutes for a 1Gb BAM file from mouse RNA sequencing, increasing linearly with the BAM size.

For all these tasks it only requires a BAM file from a read mapping on the genome, and a single GTF/GFF file describing the exon structure such as those provided by Ensembl or GenRep.

It is not meant to be used as a library, but through its command-line tool "rnacounter".

The code project is hosted in Github (https://github.com/delafont/rnacounter), GPL-2 licensed.

Usage:

See "rnacounter --help" and the tutorial at http://bbcf.epfl.ch/bbcflib/tutorial_rnacounter.html, also available in the doc/ folder.

Minimal example:

rnacounter test.bam test.gtf

Installation:

First ensure that you have numpy installed, then install rnacounter. With easy_install:

sudo easy_install numpy
sudo easy_install rnacounter

Or better yet, with pip:

sudo pip install numpy
sudo pip install rnacounter

It installs as a standard Python library but includes the executable and puts it somewhere in your $PATH. Dependencies will be added automatically.

Check that it works with the test command:

rnacounter test

It should display something similar to this:

ID Count RPKM Chrom Start End Strand GeneName Type Sense Synonym
ENSMUSG00000038271 0.0 0.0 chr6 125095258 125111800 1 Iffo1 Gene . .
ENSMUSG00000057666 3956.87179487 434612.223694 chr6 125111870 125116485 -1 Gapdh Gene . .
ENSMUSG00000038252 0.0 0.0 chr6 125118026 125141613 -1 Ncapd2 Gene . .

To uninstall with pip:

sudo pip uninstall rnacounter

The code is fully compatible with Python 2.7 and Python 3.

Building from source:

This allows to modify the Cython source code (rnacounter.pyx) before rebuilding.

Clone or download the repository from https://github.com/delafont/rnacounter .

You need cython installed (pip install cython).

From where rnacounter.pyx lies (rnacounter/rnacounter/), run:

sudo python setup.py build_ext

It will recompile to create rnacounter.c, and build it. Then add the executable (rnacounter/bin/rnacounter) to your $PATH, or install from the package root (rnacounter/) with:

sudo python setup.py install

Dependencies:

Tests run with the library versions below, but may work with earlier versions.

  • setuptools 7.0+ (installation)
  • pysam 0.7.5+ (samtools wrapper)
  • numpy 1.6.2+ (efficient numeric arrays)
  • scipy 0.9.0+ (NNLS algorithm)
  • docopt 0.6.1+ (command-line args parsing)
  • cython 0.20+ (translate Python code to C)

Testing:

Testing files in the testfiles/ folder: - gapdhKO.bam: alignment on mm9 with only Gapdh covered. - mm9_3genes_renamed.gtf: extract of the Ensembl GTF with Gapdh, the gene before and the gene after it. - mm9_Gapdh_renamed.gtf: extract of the Ensembl GTF with Gapdh only.

Example:

rnacounter testfiles/gapdhKO.bam testfiles/mm9_3genes_renamed.gtf

(which is equivalent to what the test command does):

rnacounter test

The BAM contains 4041 reads all aligning perfectly on Gapdh (ENSMUSG00000057666) exons, mostly on ENSMUSE00000487077 but also ENSMUSE00000751942 and ENSMUSE00000886744. Nothing on other exons, which makes it a good example of badly conditioned input data...

The least squares method returns counts on the following transcripts: ENSMUST00000117757, ENSMUST00000118875, ENSMUST00000147954 and nothing on ENSMUST00000073605, ENSMUST00000144205, ENSMUST00000144588 .

Troubleshooting:

Any bug report, usage issue or feature request not listed below can be addressed to julien.delafontaine@epfl.ch or webmaster.bbcf@epfl.ch .

About

Counter of HTS reads

Resources

Stars

0 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages