annotate htseq-count.xml @ 3:c6d73933f601

Fixed issues with tool shed parsing
author Lance Parsons <lparsons@princeton.edu>
date Fri, 31 Aug 2012 16:50:42 -0400
parents 8f0f896ec527
children 359d40333595
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
1 <tool id="htseq_count" name="htseq-count" version="0.1">
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
2 <description> - Count aligned reads in a BAM file that overlap features in a GFF file</description>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
3 <version_command>htseq-count -h | grep version | sed 's/^\(.*\)*\(version .*\)\./\2/'</version_command>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
4 <requirements>
2
8f0f896ec527 Added tool_dependencies.xml
Lance Parsons <lparsons@princeton.edu>
parents: 1
diff changeset
5 <requirement type="package" version="1.6.2">numpy</requirement>
8f0f896ec527 Added tool_dependencies.xml
Lance Parsons <lparsons@princeton.edu>
parents: 1
diff changeset
6 <requirement type="package" version="0.5.3.p9">htseq</requirement>
1
4de3f044aaeb Added version to requirements
Lance Parsons <lparsons@princeton.edu>
parents: 0
diff changeset
7 <requirement type="package" version="0.1.18">samtools</requirement>
0
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
8 </requirements>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
9 <command>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
10 ##set up input files
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
11 #set $reference_fasta_filename = "localref.fa"
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
12 #if $samout_conditional.samout:
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
13 #if str( $samout_conditional.reference_source.reference_source_selector ) == "history":
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
14 ln -s "${samout_conditional.reference_source.ref_file}" "${reference_fasta_filename}" &amp;&amp;
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
15 samtools faidx "${reference_fasta_filename}" 2&gt;&amp;1 || echo "Error running samtools faidx for htseq-count" &gt;&amp;2 &amp;&amp;
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
16 #else:
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
17 #set $reference_fasta_filename = str( $samout_conditional.reference_source.ref_file.fields.path )
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
18 #end if
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
19 #end if
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
20
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
21 #if $samfile.extension == "bam":
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
22 samtools view $samfile |
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
23 #end if
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
24 htseq-count
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
25 --mode=$mode
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
26 --stranded=$stranded
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
27 --minaqual=$minaqual
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
28 --type=$type
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
29 --idattr=$idattr
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
30 #if $samout_conditional.samout:
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
31 --samout=$__new_file_path__/${samoutfile.id}_tmp
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
32 #end if
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
33 #if $samfile.extension == "bam":
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
34 -
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
35 #else
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
36 $samfile
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
37 #end if
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
38 $gfffile
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
39 &gt; $counts
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
40 #if $samout_conditional.samout:
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
41 &amp;&amp; samtools view -Su -t ${reference_fasta_filename}.fai $__new_file_path__/${samoutfile.id}_tmp | samtools sort -o - sorted > $samoutfile
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
42 #end if</command>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
43 <inputs>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
44 <param format="sam, bam" name="samfile" type="data" label="Aligned SAM File">
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
45 <help>Paired-End data must be sorted by QUERY NAME, use Picard Read Mate Fixer and Query name sort order before using this tool on paired data</help>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
46 </param>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
47 <param format="gff" name="gfffile" type="data" label="GFF File"/>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
48 <param name="mode" type="select" label="Mode">
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
49 <help>Mode to handle reads overlapping more than one feature.</help>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
50 <option value="union" selected="true">Union</option>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
51 <option value="intersection-strict">Intersection (strict)</option>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
52 <option value="intersection-nonempty">Intersection (nonempty)</option>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
53 </param>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
54 <param name="stranded" type="select" label="Stranded">
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
55 <help>Specify whether the data is from a strand-specific assay. 'Reverse' means yes with reversed strand interpretation.</help>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
56 <option value="yes" selected="true">Yes</option>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
57 <option value="no">No</option>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
58 <option value="reverse">Reverse</option>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
59 </param>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
60 <param name="minaqual" type="integer" value="0" label="Minimum alignment quality">
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
61 <help>Skip all reads with alignment quality lower than the given minimum value</help>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
62 </param>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
63 <param name="type" type="text" value="exon" label="Feature type">
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
64 <help>Feature type (3rd column in GFF file) to be used. All features of other types are ignored. The default, suitable for RNA-Seq and Ensembl GTF files, is exon.</help>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
65 </param>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
66 <param name="idattr" type="text" value="gene_id" label="ID Attribute">
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
67 <help>GFF attribute to be used as feature ID. Several GFF lines with the same feature ID will be considered as parts of the same feature. The feature ID is used to identity the counts in the output table. The default, suitable for RNA-SEq and Ensembl GTF files, is gene_id.</help>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
68 </param>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
69 <conditional name="samout_conditional">
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
70 <param name="samout" type="boolean" value="False" truevalue="True" falsevalue="False" label="Additional BAM Output">
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
71 <help>Write out all SAM alignment records into an output BAM file, annotating each line with its assignment to a feature or a special counter (as an optional field with tag ‘XF’).</help>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
72 </param>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
73 <when value="True">
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
74 <conditional name="reference_source">
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
75 <param name="reference_source_selector" type="select" label="Choose the source for the reference list">
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
76 <option value="cached">Locally cached</option>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
77 <option value="history">History</option>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
78 </param>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
79 <when value="cached">
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
80 <param name="ref_file" type="select" label="Using reference genome">
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
81 <options from_data_table="sam_fa_indexes">
3
c6d73933f601 Fixed issues with tool shed parsing
Lance Parsons <lparsons@princeton.edu>
parents: 2
diff changeset
82 <filter type="data_meta" key="dbkey" ref="samfile" column="3"/>
0
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
83 </options>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
84 <validator type="no_options" message="A built-in reference genome is not available for the build associated with the selected input file"/>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
85 </param>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
86 </when>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
87 <when value="history"> <!-- FIX ME!!!! -->
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
88 <param name="ref_file" type="data" format="fasta" label="Using reference file" />
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
89 </when>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
90 </conditional>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
91 </when>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
92 </conditional>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
93 </inputs>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
94
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
95 <outputs>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
96 <data format="tabular" name="counts" label="${tool.name} on ${on_string}"/>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
97 <data format="bam" name="samoutfile" label="${tool.name} on ${on_string} (BAM)">
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
98 <filter>samout_conditional['samout']</filter>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
99 </data>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
100 </outputs>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
101
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
102 <stdio>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
103 <exit_code range="1:" level="fatal" description="Unknown error occurred" />
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
104 </stdio>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
105
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
106 <tests>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
107 <test>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
108 <param name="samfile" value="htseq-test.sam" />
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
109 <param name="gfffile" value="htseq-test.gff" />
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
110 <param name="samout" value="False" />
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
111 <output name="counts" file="htseq-test_counts.tsv" />
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
112 </test>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
113 <test>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
114 <param name="samfile" value="htseq-test.bam" />
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
115 <param name="gfffile" value="htseq-test.gff" />
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
116 <param name="samout" value="False" />
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
117 <output name="counts" file="htseq-test_counts.tsv" />
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
118 </test>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
119 <!-- Seems to be an issue setting the $reference_fasta_filename variable during test
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
120 <test>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
121 <param name="samfile" value="htseq-test.sam" />
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
122 <param name="gfffile" value="htseq-test.gff" />
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
123 <param name="samout" value="True" />
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
124 <param name="reference_source_selector" value="history" />
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
125 <param name="ref_file" value="htseq-test_reference.fasta" />
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
126 <output name="counts" file="htseq-test_counts.tsv" />
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
127 <output name="samoutfile" file="htseq-test_samout.bam" />
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
128 </test>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
129 -->
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
130
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
131 </tests>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
132
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
133 <help>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
134 Overview
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
135 --------
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
136
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
137 This tool takes an alignment file in SAM or BAM format and feature file in GFF format
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
138 and calculates the number of reads mapping to each feature. It uses the *htseq-count*
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
139 script that is part of the HTSeq python module. See
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
140 http://www-huber.embl.de/users/anders/HTSeq/doc/count.html for details.
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
141
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
142 A feature is an interval (i.e., a range of positions) on a chromosome or a union of
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
143 such intervals. In the case of RNA-Seq, the features are typically genes, where
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
144 each gene is considered here as the union of all its exons. One may also consider
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
145 each exon as a feature, e.g., in order to check for alternative splicing. For
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
146 comparative ChIP-Seq, the features might be binding regions from a pre-determined
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
147 list.
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
148
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
149 **Paired-end Data MUST be sorted by QUERY NAME first**
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
150
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
151 This tool requires that paired-end data be sorted by query name, which is NOT the default for Galaxy. Using the Picard Paired Read Mate Fixer with Query name sort FIRST is required for paired end data.
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
152
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
153
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
154 Overlap Modes
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
155 -------------
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
156
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
157 Special care must be taken to decide how to deal with reads that overlap more than one feature.
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
158
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
159 The htseq-count script allows to choose between three modes: *union*, *intersection-strict*, and *intersection-nonempty*.
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
160
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
161 The following figure illustrates the effect of these three modes:
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
162
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
163 .. image:: /static/images/count_modes.png
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
164 :width: 500
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
165
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
166 Strandedness
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
167 ------------
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
168
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
169 **Important**: The default for strandedness is yes. If your RNA-Seq data has not been made with a strand-specific protocol, this causes half of the reads to be lost. Hence, make sure to set the option Stranded to 'No' unless you have strand-specific data!
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
170
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
171 Output
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
172 ------
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
173
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
174 The script outputs a table with counts for each feature, followed by the special counters, which count reads that were not counted for any feature for various reasons, namely
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
175
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
176 - *no_feature*: reads which could not be assigned to any feature (set S as described above was empty).
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
177
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
178 - *ambiguous*: reads which could have been assigned to more than one feature and hence were not counted for any of these (set S had mroe than one element).
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
179
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
180 - *too_low_aQual*: reads which were not counted due to the -a option, see below
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
181
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
182 - *not_aligned*: reads in the SAM file without alignment
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
183
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
184 - *alignment_not_unique*: reads 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, multiply aligned reads will be counted multiple times.)
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
185
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
186
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
187 Options Summary
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
188 ---------------
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
189
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
190 Usage: htseq-count [options] sam_file gff_file
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
191
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
192 This script takes an alignment file in SAM format and a feature file in GFF
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
193 format and calculates for each feature the number of reads mapping to it. See
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
194 http://www-huber.embl.de/users/anders/HTSeq/doc/count.html for details.
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
195
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
196 Options:
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
197 -h, --help show this help message and exit
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
198 -m MODE, --mode=MODE mode to handle reads overlapping more than one
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
199 feature(choices: union, intersection-strict,
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
200 intersection-nonempty; default: union)
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
201 -s STRANDED, --stranded=STRANDED
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
202 whether the data is from a strand-specific assay.
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
203 Specify 'yes', 'no', or 'reverse' (default: yes).
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
204 'reverse' means 'yes' with reversed strand
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
205 interpretation
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
206 -a MINAQUAL, --minaqual=MINAQUAL
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
207 skip all reads with alignment quality lower than the
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
208 given minimum value (default: 0)
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
209 -t FEATURETYPE, --type=FEATURETYPE
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
210 feature type (3rd column in GFF file) to be used, all
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
211 features of other type are ignored (default, suitable
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
212 for Ensembl GTF files: exon)
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
213 -i IDATTR, --idattr=IDATTR
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
214 GFF attribute to be used as feature ID (default,
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
215 suitable for Ensembl GTF files: gene_id)
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
216 -o SAMOUT, --samout=SAMOUT
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
217 write out all SAM alignment records into an output SAM
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
218 file called SAMOUT, annotating each line with its
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
219 feature assignment (as an optional field with tag
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
220 'XF')
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
221 -q, --quiet suppress progress report and warnings
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
222
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
223 Written by Simon Anders (sanders@fs.tum.de), European Molecular Biology
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
224 Laboratory (EMBL). (c) 2010. Released under the terms of the GNU General
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
225 Public License v3. Part of the 'HTSeq' framework.
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
226 </help>
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
227
b8349d8458fa Initial commit
Lance Parsons <lparsons@princeton.edu>
parents:
diff changeset
228 </tool>