Mercurial > repos > nick > allele_counts
annotate allele-counts.xml @ 6:df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
author | nicksto <nmapsy@gmail.com> |
---|---|
date | Wed, 09 Dec 2015 11:20:51 -0500 |
parents | 31361191d2d2 |
children | a72277535a2c |
rev | line source |
---|---|
6
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
1 <tool id="allele_counts_1" version="1.2" name="Variant Annotator"> |
5 | 2 <description> process variant counts</description> |
6
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
3 <command interpreter="python">allele-counts.py -i $input -o $output -f $freq -c $covg $header $stranded $nofilt -r $seed</command> |
0 | 4 <inputs> |
5 <param name="input" type="data" format="vcf" label="Input variants from Naive Variants Detector"/> | |
6
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
6 <param name="freq" type="float" value="1.0" min="0" max="100" label="Minor allele frequency threshold" help="in percent"/> |
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
7 <param name="covg" type="integer" value="10" min="0" label="Coverage threshold" help="in reads (per strand)"/> |
5 | 8 <param name="nofilt" type="boolean" truevalue="-n" falsevalue="" checked="False" label="Do not filter sites or alleles" /> |
9 <param name="stranded" type="boolean" truevalue="-s" falsevalue="" checked="False" label="Output stranded base counts" /> | |
3 | 10 <param name="header" type="boolean" truevalue="-H" falsevalue="" checked="True" label="Write header line" /> |
6
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
11 <param name="seed" type="text" value="" label="PRNG seed" /> |
0 | 12 </inputs> |
13 <outputs> | |
14 <data name="output" format="tabular"/> | |
15 </outputs> | |
16 <stdio> | |
17 <exit_code range="1:" err_level="fatal"/> | |
18 <exit_code range=":-1" err_level="fatal"/> | |
19 </stdio> | |
20 | |
6
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
21 <tests> |
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
22 <test> |
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
23 <param name="input" value="tests/artificial.vcf.in" /> |
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
24 <param name="freq" value="10" /> |
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
25 <param name="covg" value="10" /> |
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
26 <param name="seed" value="1" /> |
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
27 <output name="output" file="tests/artificial.csv.out" /> |
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
28 </test> |
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
29 </tests> |
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
30 |
0 | 31 <help> |
3 | 32 |
4 | 33 .. class:: infomark |
34 | |
35 **What it does** | |
36 | |
5 | 37 This tool parses variant counts from a special VCF file. It counts simple variants, calculates numbers of alleles, and calculates minor allele frequency. It can apply filters based on coverage, strand bias, and minor allele frequency cutoffs. |
4 | 38 |
39 ----- | |
40 | |
5 | 41 .. class:: infomark |
42 | |
43 **Input Format** | |
44 | |
3 | 45 .. class:: warningmark |
46 | |
5 | 47 **Note:** variants that are not A/C/G/T SNVs will be ignored! |
3 | 48 |
5 | 49 The input VCF should be like the output of the **Naive Variant Detector** tool (using the stranded option). The sample column(s) must give the read count for each variant **on each strand**. Below is an example of a valid sample column entry (the important part is after the last colon):: |
50 | |
51 0/0:1:0.02:+T=27,+G=1,-T=22, | |
3 | 52 |
53 ----- | |
54 | |
55 .. class:: infomark | |
56 | |
5 | 57 **Output** |
3 | 58 |
6
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
59 Each row represents one site in one sample. For **unstranded** output, 13 fields give information about that site:: |
0 | 60 |
5 | 61 1. SAMPLE - Sample name (from VCF sample column labels) |
3 | 62 2. CHR - Chromosome of the site |
63 3. POS - Chromosomal coordinate of the site | |
64 4. A - Number of reads supporting an 'A' | |
5 | 65 5. C - 'C' reads |
66 6. G - 'G' reads | |
67 7. T - 'T' reads | |
3 | 68 8. CVRG - Total (number of reads supporting one of the four bases above) |
69 9. ALLELES - Number of qualifying alleles | |
5 | 70 10. MAJOR - Major allele |
71 11. MINOR - Minor allele (2nd most prevalent variant) | |
6
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
72 12. MAF - Frequency of minor allele |
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
73 13. BIAS - Strand bias measure |
3 | 74 |
5 | 75 For stranded output, instead of using 4 columns to report read counts per base, 8 are used to report the stranded counts per base:: |
76 | |
6
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
77 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
78 SAMPLE CHR POS +A +C +G +T -A -C -G -T CVRG ALLELES MAJOR MINOR MAF BIAS |
5 | 79 |
4 | 80 **Example** |
81 | |
5 | 82 Below is a header line, followed by some example data lines. Since the input contained three samples, the data for each site is reported on three consecutive lines. However, if a sample fell below the coverage threshold at that site, the line will be omitted:: |
4 | 83 |
6
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
84 #SAMPLE CHR POS A C G T CVRG ALLELES MAJOR MINOR MAF BIAS |
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
85 BLOOD_1 chr20 99 0 101 1 2 104 1 C T 0.01923 0.33657 |
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
86 BLOOD_2 chr20 99 82 44 0 1 127 2 A C 0.34646 0.07823 |
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
87 BLOOD_3 chr20 99 0 110 1 0 111 1 C G 0.009 1.00909 |
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
88 BLOOD_1 chr20 100 3 5 100 0 108 1 G C 0.0463 0.15986 |
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
89 BLOOD_3 chr20 100 1 118 11 0 130 0 C G 0.08462 0.04154 |
3 | 90 |
91 ----- | |
92 | |
93 .. class:: warningmark | |
94 | |
95 **Site printing and allele tallying requirements** | |
96 | |
5 | 97 Coverage threshold: |
3 | 98 |
5 | 99 If a coverage threshold is used, the number of reads **on each strand** must be at or above the threshold. If either strand is below the threshold, the line will be omitted. **N.B.** this means the total coverage for each printed site will be at least twice the number you give in the "coverage threshold" option. Also, since only simple variants are counted, a site with 100 reads, all supporting a deletion variant, would not be printed. |
3 | 100 |
5 | 101 Frequency threshold: |
3 | 102 |
5 | 103 If a frequency threshold is used, alleles are only counted (in the ALLELES column) if they meet or exceed this minor allele frequency threshold. |
3 | 104 |
5 | 105 Strand bias: |
3 | 106 |
5 | 107 The alleles passing the threshold on each strand must match (though not in order), or the allele count will be 0. So a site with A, C, G on the plus strand and A, G on the minus strand will get an allele count of zero, though the (strand-independent) major allele, minor allele, and minor allele frequency will still be reported. If there is a tie for the minor allele, one will be randomly chosen. |
3 | 108 |
6
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
109 Additionally, a measure of strand bias is given in the last column. This is calculated using the method of Guo et al., 2012. A value of "." is given when there is no valid result of the calculation due to a zero denominator. This occurs when there are no reads on one of the strands, or when there is no minor allele. |
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
110 |
0 | 111 </help> |
112 | |
6
df3b28364cd2
allele-counts.{py,xml}: Add strand bias, documentation updates.
nicksto <nmapsy@gmail.com>
parents:
5
diff
changeset
|
113 </tool> |