annotate htseq-count.xml @ 15:3ffe4e2572a7

Merge multiple heads.
author Dave Bouvier <dave@bx.psu.edu>
date Mon, 27 Jan 2014 14:12:46 -0500
parents 30bb8acb77a4 55bd18f8429c
children 227f9d3f0e32
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13
30bb8acb77a4 Updated to v0.5.4p5, use repository dependencies.
lparsons
parents: 12
diff changeset
1 <tool id="htseq_count" name="htseq-count" version="0.3.2">
0
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
2 <description> - Count aligned reads in a BAM file that overlap features in a GFF file</description>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
3 <version_command>htseq-count -h | grep version | sed 's/^\(.*\)*\(version .*\)\./\2/'</version_command>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
4 <requirements>
13
30bb8acb77a4 Updated to v0.5.4p5, use repository dependencies.
lparsons
parents: 12
diff changeset
5 <requirement type="package" version="1.7.1">numpy</requirement>
30bb8acb77a4 Updated to v0.5.4p5, use repository dependencies.
lparsons
parents: 12
diff changeset
6 <requirement type="package" version="0.5.4p5">htseq</requirement>
30bb8acb77a4 Updated to v0.5.4p5, use repository dependencies.
lparsons
parents: 12
diff changeset
7 <requirement type="package" version="0.1.19">samtools</requirement>
10
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
8 <requirement type="package" version="1.56.0">picard</requirement>
0
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
9 </requirements>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
10 <command>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
11 ##set up input files
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
12 #set $reference_fasta_filename = "localref.fa"
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
13 #if $samout_conditional.samout:
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
14 #if str( $samout_conditional.reference_source.reference_source_selector ) == "history":
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
15 ln -s "${samout_conditional.reference_source.ref_file}" "${reference_fasta_filename}" &amp;&amp;
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
16 samtools faidx "${reference_fasta_filename}" 2&gt;&amp;1 || echo "Error running samtools faidx for htseq-count" &gt;&amp;2 &amp;&amp;
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
17 #else:
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
18 #set $reference_fasta_filename = str( $samout_conditional.reference_source.ref_file.fields.path )
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
19 #end if
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
20 #end if
10
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
21 #if str($singlepaired) == "paired":
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
22 ln -s $samfile local_input.sam &amp;&amp;
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
23 java -Xmx2G -jar "\$JAVA_JAR_PATH/SortSam.jar" VALIDATION_STRINGENCY=LENIENT SORT_ORDER=queryname O=prepared_input.sam I=local_input.sam TMP_DIR="${__new_file_path__}"
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
24 || echo "Error running Picard MergeSamFiles" &gt;&amp;2 &amp;&amp;
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
25 #else:
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
26 #if $samfile.extension == "bam":
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
27 samtools view $samfile |
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
28 #else
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
29 ln -s $samfile prepared_input.sam &amp;&amp;
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
30 #end if
0
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
31 #end if
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
32 htseq-count
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
33 --mode=$mode
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
34 --stranded=$stranded
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
35 --minaqual=$minaqual
6
2861eb44fbbf Fix issue with workflows (type->featuretype) and general error check
Lance Parsons <lparsons@princeton.edu>
parents: 5
diff changeset
36 --type=$featuretype
0
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
37 --idattr=$idattr
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
38 #if $samout_conditional.samout:
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
39 --samout=$__new_file_path__/${samoutfile.id}_tmp
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
40 #end if
10
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
41 #if str($singlepaired) == "paired":
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
42 prepared_input.sam
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
43 #else:
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
44 #if $samfile.extension == "bam":
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
45 -
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
46 #else:
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
47 prepared_input.sam
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
48 #end if
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
49 #end if
0
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
50 $gfffile
3
f7a5b54a8d4f Split feature and non-feature counts, removed tool_dependencies.xml (for now)
Lance Parsons <lparsons@princeton.edu>
parents: 0
diff changeset
51 | awk '{if ($1 ~ "no_feature|ambiguous|too_low_aQual|not_aligned|alignment_not_unique") print $0 | "cat 1>&amp;2"; else print $0}' &gt; $counts 2&gt;$othercounts
0
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
52 #if $samout_conditional.samout:
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
53 &amp;&amp; samtools view -Su -t ${reference_fasta_filename}.fai $__new_file_path__/${samoutfile.id}_tmp | samtools sort -o - sorted > $samoutfile
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
54 #end if</command>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
55 <inputs>
10
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
56 <param format="sam, bam" name="samfile" type="data" label="Aligned SAM/BAM File"/>
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
57 <param name="singlepaired" type="select" label="Is this library mate-paired?">
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
58 <help>Paired libraries will be sorted by read name prior to counting.</help>
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
59 <option value="single" selected="true">single-end</option>
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
60 <option value="paired">paired-end</option>
0
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
61 </param>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
62 <param format="gff" name="gfffile" type="data" label="GFF File"/>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
63 <param name="mode" type="select" label="Mode">
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
64 <help>Mode to handle reads overlapping more than one feature.</help>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
65 <option value="union" selected="true">Union</option>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
66 <option value="intersection-strict">Intersection (strict)</option>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
67 <option value="intersection-nonempty">Intersection (nonempty)</option>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
68 </param>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
69 <param name="stranded" type="select" label="Stranded">
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
70 <help>Specify whether the data is from a strand-specific assay. 'Reverse' means yes with reversed strand interpretation.</help>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
71 <option value="yes" selected="true">Yes</option>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
72 <option value="no">No</option>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
73 <option value="reverse">Reverse</option>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
74 </param>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
75 <param name="minaqual" type="integer" value="0" label="Minimum alignment quality">
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
76 <help>Skip all reads with alignment quality lower than the given minimum value</help>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
77 </param>
6
2861eb44fbbf Fix issue with workflows (type->featuretype) and general error check
Lance Parsons <lparsons@princeton.edu>
parents: 5
diff changeset
78 <param name="featuretype" type="text" value="exon" label="Feature type">
0
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
79 <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>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
80 </param>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
81 <param name="idattr" type="text" value="gene_id" label="ID Attribute">
5
8a5d43b21c6e Improved error handling
Lance Parsons <lparsons@princeton.edu>
parents: 4
diff changeset
82 <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. All features of the specified type MUST have a value for this attribute. The default, suitable for RNA-SEq and Ensembl GTF files, is gene_id.</help>
0
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
83 </param>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
84 <conditional name="samout_conditional">
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
85 <param name="samout" type="boolean" value="False" truevalue="True" falsevalue="False" label="Additional BAM Output">
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
86 <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>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
87 </param>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
88 <when value="True">
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
89 <conditional name="reference_source">
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
90 <param name="reference_source_selector" type="select" label="Choose the source for the reference list">
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
91 <option value="cached">Locally cached</option>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
92 <option value="history">History</option>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
93 </param>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
94 <when value="cached">
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
95 <param name="ref_file" type="select" label="Using reference genome">
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
96 <options from_data_table="sam_fa_indexes">
9
971e20519fb8 Fix for dbkey column check when output additional bam is selected
lparsons
parents: 8
diff changeset
97 <filter type="data_meta" key="dbkey" ref="samfile" column="1"/>
0
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
98 </options>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
99 <validator type="no_options" message="A built-in reference genome is not available for the build associated with the selected input file"/>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
100 </param>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
101 </when>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
102 <when value="history"> <!-- FIX ME!!!! -->
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
103 <param name="ref_file" type="data" format="fasta" label="Using reference file" />
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
104 </when>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
105 </conditional>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
106 </when>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
107 </conditional>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
108 </inputs>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
109
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
110 <outputs>
10
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
111 <data format="tabular" name="counts" metadata_source="samfile" label="${tool.name} on ${on_string}"/>
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
112 <data format="tabular" name="othercounts" metadata_source="samfile" label="${tool.name} on ${on_string} (no feature)"/>
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
113 <data format="bam" name="samoutfile" metadata_source="samfile" label="${tool.name} on ${on_string} (BAM)">
0
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
114 <filter>samout_conditional['samout']</filter>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
115 </data>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
116 </outputs>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
117
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
118 <stdio>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
119 <exit_code range="1:" level="fatal" description="Unknown error occurred" />
5
8a5d43b21c6e Improved error handling
Lance Parsons <lparsons@princeton.edu>
parents: 4
diff changeset
120 <regex match="htseq-count: command not found" source="stderr" level="fatal" description="The HTSeq python package is not properly installed, contact Galaxy administrators" />
8a5d43b21c6e Improved error handling
Lance Parsons <lparsons@princeton.edu>
parents: 4
diff changeset
121 <regex match="samtools: command not found" source="stderr" level="fatal" description="The samtools package is not properly installed, contact Galaxy administrators" />
8a5d43b21c6e Improved error handling
Lance Parsons <lparsons@princeton.edu>
parents: 4
diff changeset
122 <regex match="Error: Feature (.+) does not contain a '(.+)' attribute" source="both" level="fatal" description="Error parsing the GFF file, at least one feature of the specified 'Feature type' does not have a value for the specified 'ID Attribute'" />
8a5d43b21c6e Improved error handling
Lance Parsons <lparsons@princeton.edu>
parents: 4
diff changeset
123 <regex match="Error occured in line (\d+) of file" source="stderr" level="fatal" description="Unknown error parsing the GFF file" />
6
2861eb44fbbf Fix issue with workflows (type->featuretype) and general error check
Lance Parsons <lparsons@princeton.edu>
parents: 5
diff changeset
124 <regex match="Error" source="stderr" level="fatal" description="Unknown error occured" />
10
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
125 <regex match="Warning: Read (.+) claims to have an aligned mate which could not be found. \(Is the SAM file properly sorted\?\)" source="stderr" level="warning" description="PAIRED DATA MISSING OR NOT PROPERLY SORTED. Try reruning and selecting the paired-end option. See stderr output of this dataset for more information." />
0
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
126 </stdio>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
127
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
128 <tests>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
129 <test>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
130 <param name="samfile" value="htseq-test.sam" />
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
131 <param name="gfffile" value="htseq-test.gff" />
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
132 <param name="samout" value="False" />
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
133 <output name="counts" file="htseq-test_counts.tsv" />
3
f7a5b54a8d4f Split feature and non-feature counts, removed tool_dependencies.xml (for now)
Lance Parsons <lparsons@princeton.edu>
parents: 0
diff changeset
134 <output name="othercounts" file="htseq-test_othercounts.tsv" />
0
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
135 </test>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
136 <test>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
137 <param name="samfile" value="htseq-test.bam" />
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
138 <param name="gfffile" value="htseq-test.gff" />
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
139 <param name="samout" value="False" />
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
140 <output name="counts" file="htseq-test_counts.tsv" />
3
f7a5b54a8d4f Split feature and non-feature counts, removed tool_dependencies.xml (for now)
Lance Parsons <lparsons@princeton.edu>
parents: 0
diff changeset
141 <output name="othercounts" file="htseq-test_othercounts.tsv" />
0
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
142 </test>
10
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
143 <test>
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
144 <param name="samfile" value="htseq-test-paired.bam" />
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
145 <param name="singlepaired" value="paired" />
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
146 <param name="gfffile" value="htseq-test.gff" />
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
147 <param name="samout" value="False" />
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
148 <output name="counts" file="htseq-test-paired_counts.tsv" />
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
149 <output name="othercounts" file="htseq-test-paired_othercounts.tsv" />
5d969cb56112 Version 0.3 - paried-end sorting is now built-in (uses Picard tools)
lparsons
parents: 9
diff changeset
150 </test>
0
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
151 <!-- Seems to be an issue setting the $reference_fasta_filename variable during test
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
152 <test>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
153 <param name="samfile" value="htseq-test.sam" />
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
154 <param name="gfffile" value="htseq-test.gff" />
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
155 <param name="samout" value="True" />
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
156 <param name="reference_source_selector" value="history" />
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
157 <param name="ref_file" value="htseq-test_reference.fasta" />
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
158 <output name="counts" file="htseq-test_counts.tsv" />
3
f7a5b54a8d4f Split feature and non-feature counts, removed tool_dependencies.xml (for now)
Lance Parsons <lparsons@princeton.edu>
parents: 0
diff changeset
159 <output name="othercounts" file="htseq-test_othercounts.tsv" />
0
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
160 <output name="samoutfile" file="htseq-test_samout.bam" />
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
161 </test>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
162 -->
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
163 </tests>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
164
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
165 <help>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
166 Overview
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
167 --------
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
168
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
169 This tool takes an alignment file in SAM or BAM format and feature file in GFF format
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
170 and calculates the number of reads mapping to each feature. It uses the *htseq-count*
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
171 script that is part of the HTSeq python module. See
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
172 http://www-huber.embl.de/users/anders/HTSeq/doc/count.html for details.
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
173
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
174 A feature is an interval (i.e., a range of positions) on a chromosome or a union of
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
175 such intervals. In the case of RNA-Seq, the features are typically genes, where
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
176 each gene is considered here as the union of all its exons. One may also consider
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
177 each exon as a feature, e.g., in order to check for alternative splicing. For
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
178 comparative ChIP-Seq, the features might be binding regions from a pre-determined
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
179 list.
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
180
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
181
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
182 Overlap Modes
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
183 -------------
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
184
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
185 Special care must be taken to decide how to deal with reads that overlap more than one feature.
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
186
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
187 The htseq-count script allows to choose between three modes: *union*, *intersection-strict*, and *intersection-nonempty*.
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
188
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
189 The following figure illustrates the effect of these three modes:
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
190
13
30bb8acb77a4 Updated to v0.5.4p5, use repository dependencies.
lparsons
parents: 12
diff changeset
191 .. image:: $PATH_TO_IMAGES/count_modes.png
0
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
192 :width: 500
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
193
11
f320093f1e8e Removed sorting notice from help
lparsons
parents: 10
diff changeset
194
0
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
195 Strandedness
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
196 ------------
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
197
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
198 **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!
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
199
11
f320093f1e8e Removed sorting notice from help
lparsons
parents: 10
diff changeset
200
0
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
201 Output
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
202 ------
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
203
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
204 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
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
205
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
206 - *no_feature*: reads which could not be assigned to any feature (set S as described above was empty).
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
207
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
208 - *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).
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
209
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
210 - *too_low_aQual*: reads which were not counted due to the -a option, see below
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
211
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
212 - *not_aligned*: reads in the SAM file without alignment
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
213
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
214 - *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.)
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
215
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
216
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
217 Options Summary
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
218 ---------------
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
219
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
220 Usage: htseq-count [options] sam_file gff_file
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
221
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
222 This script takes an alignment file in SAM format and a feature file in GFF
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
223 format and calculates for each feature the number of reads mapping to it. See
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
224 http://www-huber.embl.de/users/anders/HTSeq/doc/count.html for details.
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
225
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
226 Options:
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
227 -h, --help show this help message and exit
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
228 -m MODE, --mode=MODE mode to handle reads overlapping more than one
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
229 feature(choices: union, intersection-strict,
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
230 intersection-nonempty; default: union)
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
231 -s STRANDED, --stranded=STRANDED
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
232 whether the data is from a strand-specific assay.
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
233 Specify 'yes', 'no', or 'reverse' (default: yes).
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
234 'reverse' means 'yes' with reversed strand
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
235 interpretation
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
236 -a MINAQUAL, --minaqual=MINAQUAL
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
237 skip all reads with alignment quality lower than the
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
238 given minimum value (default: 0)
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
239 -t FEATURETYPE, --type=FEATURETYPE
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
240 feature type (3rd column in GFF file) to be used, all
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
241 features of other type are ignored (default, suitable
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
242 for Ensembl GTF files: exon)
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
243 -i IDATTR, --idattr=IDATTR
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
244 GFF attribute to be used as feature ID (default,
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
245 suitable for Ensembl GTF files: gene_id)
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
246 -o SAMOUT, --samout=SAMOUT
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
247 write out all SAM alignment records into an output SAM
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
248 file called SAMOUT, annotating each line with its
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
249 feature assignment (as an optional field with tag
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
250 'XF')
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
251 -q, --quiet suppress progress report and warnings
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
252
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
253 Written by Simon Anders (sanders@fs.tum.de), European Molecular Biology
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
254 Laboratory (EMBL). (c) 2010. Released under the terms of the GNU General
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
255 Public License v3. Part of the 'HTSeq' framework.
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
256 </help>
3fdeebd7e710 Initial commit
lparsons
parents:
diff changeset
257 </tool>