-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhtseq_count_doc.html
More file actions
216 lines (203 loc) · 47.8 KB
/
htseq_count_doc.html
File metadata and controls
216 lines (203 loc) · 47.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
<!DOCTYPE meta PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.or
g/TR/html4/loose.dtd">
<html>
<head>
<title>
GenePattern - HTSeq.Count documentation
</title>
<style>
h1 {text-align: center}
span.terminal {font-family: courier}
</style>
</head>
<body>
<h1>HTSeq.Count</h1>
<h2>Summary</h2>
Takes alignment files in SAM/BAM format and a feature file in GTF/GFF format (usually with exon annotation), name sorts the alignment file(s) and calculates
for each sample the number of reads mapping to each feature. Can optionally produce output in GCT format.
<h2>Authorship</h2>
<p>
<a href="http://htseq.readthedocs.io/" target="_blank">htseq-count</a> is a Python script, distributed together with the HTSeq Python library developed by Simon Anders at EMBL Heidelberg.<br>
This module uses HTSeq v0.11.2 via the biocontainers HTSeq.count image
<a href="https://hub.docker.com/layers/biocontainers/htseq/v0.11.2-1-deb-py3_cv1/images/sha256-8a26acdb5f03f32d42b2542e2c83353b1d3c72b3745d2661f389c004601fce5d?context=explore" target="_blank">biocontainers/htseq:v0.11.2-1-deb-py3_cv1</a>.<br>
HTSeq.Count was originally wrapped as a GenePattern module by the staff of <a href="https://www.bits.vib.be/" target="_blank">VIB BioinformaticsCore</a>,
and then "Dockerized" by the GenePattern team for use on Docker enabled GenePattern servers.<br>
GenePattern Module wrapping: Barbara Hill, <a href="https://genepattern.org" target="_blank">GenePattern Team</a>; Guy Bottu, <a href="https://www.bits.vib.be/" target="_blank">VIB BioinformaticsCore</a>
</p>
<h2>References</h2>
<ol>
<li>Anders S, Pyl PT, Huber W : HTSeq--a Python framework to work with high-throughput sequencing data. Bioinformatics 31(2), 166-169 (2015) <a href="http://www.ncbi.nlm.nih.gov/pubmed/25260700" target="_blank">PubMed 25260700</a>
</ol>
<h2>Contact</h2>
Please <a href="https://genepattern.org/help" target="_blank">post in the GenePattern Forum</a> for assistance with this module.
<h2>Links</h2>
<ul>
<li><a href="http://htseq.readthedocs.io/" target="_blank">The HTSeq</a> home page.</li>
<li><a href="https://github.com/genepattern/HTSeq.Count/releases/tag/v3.0" target="_blank">The HTSeq.Count GenePattern module source repository</a></li>
<li><a href="https://hub.docker.com/layers/genepattern/htseq_count/0.6/images/sha256-2058d5c767885350e401874389d558d0557aad0562291a32aaffb95e260903da?context=explore" target="_blank">HTSeq.Count GenePattern Module Docker image</a></li>
</ul>
<h2>Description</h2>
Given a file with aligned sequencing reads and a list of genomic features, a common task is to count how many reads map
to each feature. A feature is here an interval (i.e. a range of positions) on a chromosome or a union of such intervals.
In the case of RNA-Seq, the features are typically genes, where each gene is considered here as the union of all its exons.
One may also consider each exon as a feature, e.g., in order to check for alternative splicing. For comparative ChIP-Seq,
the features might be binding region from a pre-determined list.
<p id="modes">
Special care must be taken to decide how to deal with reads that align to or overlap with more than one feature. HTSeq.Count
allows the user to choose between three modes, which work as follows : For each position <i>i</i> in the read, a set <i>S(i)</i>
is defined as the set of all features overlapping position <i>i</i>. Then, consider the set <i>S</i>, which is (with <i>i</i>
running through all position within the read or a read pair) either :
<ul>
<li>the union of all the sets <i>S(i)</i>. This is recommended for most cases.
<li>the intersection of all the sets <i>S(i)</i>
<li>the intersection of all non-empty sets <i>S(i)</i>
</ul>
If <i>S</i> contains precisely one feature, the read (or read pair) is counted for this feature. If <i>S</i> is empty,
the read (or read pair) is counted as <span class="terminal">no_feature</span>. If <i>S</i> contains more than one feature,
HTSeq.Count behaves differently based on the setting of the <b><span class="terminal">count nonunique</span></b> parameter :
<ul>
<li>no (the default) : the read (or read pair) is counted as <span class="terminal">ambiguous</span> and not counted for any feature.
Also, if the read (or read pair) aligns to more than one location in the reference, it is scored as <span class="terminal">alignment_not_unique</span>.
<li>yes : the read (or read pair) is counted as <span class="terminal">ambiguous</span> and is also counted in all features
to which it was assigned. Also, if the read (or read pair) aligns to more than one location in the reference,
it is scored as <span class="terminal">alignment_not_unique</span> and also separately for each location.
Note that in this case the sum of all counts will not be equal to the number of reads (or read pairs), because those
with multiple alignments or overlaps get scored multiple times.
</ul>
<p>
The following figure illustrates the effect of these three modes:
<p>
<img src="data:image/png;base64,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" alt="Union and Intersection">
<h2>Parameters</h2>
<table border="1"><tr>
<th>Name</th>
<th>Description</th>
<th>Allowed values</th>
<th>Default</th>
</tr><tr>
<td>input file*</td>
<td>Input file(s) in SAM or BAM format.</td>
<td>SAM or BAM format file</td>
<td></td>
</tr><tr>
<td>sample names</td>
<td>Text file with the names of the samples, one per line (optional and only relevant if you request Excel or GCT format).
The names in the file must be in the same order as the input SAM/BAM files.
If you do not provide a file the sample names will be deduced from the SAM/BAM file names.</td>
<td>valid file</td>
<td></td>
</tr><tr>
<td>GTF file*</td>
<td>A GTF or GFF file containing a list of gene model annotations.<em>This file can be gzipped.</em></td>
<td>selection from dynamic list or valid file</td>
<td></td>
</tr><tr>
<td>strandedness*</td>
<td>none : a read is considered overlapping with a feature regardless of whether it is mapped to the same or the opposite strand as the feature.
<p>forward : a single-end read has to be mapped to the same strand as the feature, for paired-end reads the first read has to be
on the same strand and the second read on the opposite strand.
<p>reverse : the above rules are reversed.
<p><b><i>set to 'none' if your input file contains no strand information.</i></b></td>
<td><ul><li>none<li>forward<li>reverse</ul></td>
<td>forward</td>
</tr><tr>
<td>output file*</td>
<td>output file name - format will be <i>Inputfile_Basename.Output_Filename</i> (if you choose GCT format .gct will automatically be added)</td>
<td></td>
<td>HTSeq.counts</td>
</tr><tr>
<td>output format*</td>
<td></td>
<td><li>raw HTseq format<li>with header added, suitable for import in Excel<li>GCT</td>
<td>raw HTSeq format</td>
</tr><tr>
<td>min qual*</td>
<td>Minimum quality to accept a read.</td>
<td>min = 0</td>
<td>10</td>
</tr><tr>
<td>mode*</td>
<td>Mode to handle reads overlapping more than one feature. See above for a full explanation.</td>
<td><ul><li>union<li>intersection-strict<li>intersection-nonempty</ul></td>
<td>union</td>
</tr><tr>
<td>count nonunique*</td>
<td>Whether to count reads that are not uniquely aligned or are ambiguously assigned to features.</td>
<td><li>yes<li>no</td>
<td>no</td>
</tr><tr>
<td>count secondary*</td>
<td>Whether to count secondary alignments (which are marked in the SAM/BAM file by a 0x100 flag).</td>
<td><li>yes<li>no</td>
<td>no</td>
</tr><tr>
<td>count supplementary*</td>
<td>Whether to count supplementary alignments (which are marked in the SAM/BAM file by a 0x800 flag).</td>
<td><li>yes<li>no</td>
<td>no</td>
</tr><tr>
<td>id type*</td>
<td>GTF/GFF attribute used to group features.</td>
<td></td>
<td>gene_id</td>
</tr><tr>
<td>gene name</td>
<td>GTF/GFF attribute with the name of the gene or some other information that can help to identify the gene in a more
user-friendly way than the ID (optional). If you fill this in an extra column will be added to the output table.
For Ensembl data <b><span class="terminal">gene_name</span></b> is suitable.</td>
<td></td>
<td></td>
</tr><tr>
<td>feature type*</td>
<td>Name in the 3<sup>th</sup> column of the GTF/GFF input file that is used to identify the features that must be counted.</td>
<td></td>
<td>exon</td>
</tr></table>
* - required
<h2>Input files</h2>
HTSeq.Counts takes as input one or more files with mapped reads in <a href="http://wiki.bits.vib.be/index.php/.sam" target="_blank">SAM</a>
or <a href="http://wiki.bits.vib.be/index.php/.bam" target="_blank">BAM</a> format and a file with annotations
in <a href="http://wiki.bits.vib.be/index.php/.gtf" target="_blank">GTF</a> or <a href="http://wiki.bits.vib.be/index.php/.gff" target="_blank">GFF</a> format.
<br>
Example input files can be found in the module <a href="https://github.com/genepattern/HTSeq.Count/tree/main/gpunit/input" target="_blank">Git repository.</a>
<h2>Output files</h2>
HTSeq.Count creates a tabular output file with the name of a gene (or more generally, the feature selected with the "id type" parameter) on each line
and the total number of reads (or read pairs) mapped to exons (or more generally, the feature selected with the "feature type" parameter) belonging to that gene.
If you have set the "gene name" parameter, you will get an extra column in the table.
If you have given multiple mapping files as input, you will get a separate column with counts for each sample.
The output file ends with summary lines that for each sample count :
<table>
<tr><td><span class="terminal">__no_feature</span></td><td>number of reads (or read pairs) that were labeled <span class="terminal">no_feature</span>
because they could not be assigned to any feature, see <a href="#modes">Description</a> for more explanation</td></tr>
<tr><td><span class="terminal">__ambiguous</span></td><td>number of reads (or read pairs) that were labeled <span class="terminal">ambiguous</span>,
because they could have been assigned to more than one feature, see <a href="#modes">Description</a> for more explanation</td></tr>
<tr><td><span class="terminal">__too_low_aQual</span></td><td>number of reads (or read pairs) that were skipped due to having low quality
according to the "min qual" parameter</td></tr>
<tr><td><span class="terminal">__not_aligned</span></td><td>number of reads (or read pairs) in the SAM/BAM file without alignment</td></tr>
<tr><td><span class="terminal">__alignment_not_unique</span></td><td>number of reads (or read pairs) with more than one reported alignment.
These reads are recognized from the NH optional SAM field tag (if the aligner does not set this field, multiple aligned reads will be counted multiple times).</td></tr>
</table>
<p>
If you request the Excel output format the module will add a header with the sample name on top of each column with read counts.
</p>
<p>
If you request <a href="https://www.genepattern.org/file-formats-guide#GCT" target="_blank">GCT</a>
the module will format the output file accordingly, and will redirect the summary lines to <b><span class="terminal">stdout.txt</span></b>.<br>
</p>
<p>
If you have separate .count files output from multiple runs of HTSeq.Count, you can use the GenePattern module,
MergeHTSeqCounts to combine those files into a single GCT output file.
</p>
<p>
Example output files can be found in the module <a href="https://github.com/genepattern/HTSeq.Count/tree/main/gpunit/output" target="_blank">Git repository.</a>
</p>
<h2>Version Comments</h2>
<table>
<tr><th>Version</th><th>Release date</th><th>Description</th><tr>
<tr><td>1</td><td>2016-07-15</td><td>for htseq-count of HTSeq 0.6.1p2</td></tr>
<tr><td>2</td><td>2018-02-22</td><td>for htseq-count of HTSeq 0.9.1, allows multiple input files</td></tr>
<tr><td>2.1</td><td>2019-08-26</td><td>for htseq-count of HTSeq 0.11.1, uses Python 3 and has other defaults</td></tr>
<tr><td>3.0</td><td>2020-10-31</td><td>Dockerized version of the module using biocontainers/htseq:v0.11.2-1-deb-py3_cv1, and adding python wrapper to detect format of and name sort alignment files.</td></tr>
</table>
</body>
</html>