-
Notifications
You must be signed in to change notification settings - Fork 6
/
profilegenerator.xml
110 lines (84 loc) · 3.86 KB
/
profilegenerator.xml
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
<tool id="Profilegenerator" name="Generate all possible combination of STR length profile" version="2.0.0">
<description> of the consecutive allele from given error profile </description>
<command interpreter="python2.7">profilegenerator.py $error_profile $MOTIF $Maxdepth $minprob > $output </command>
<inputs>
<param name="error_profile" type="data" label="Select error profile" />
<param name="MOTIF" type="text" value="A" label="Type in a motif of interest (e.g. AGC)" />
<param name="Maxdepth" type="integer" value="30" label="Maximum read depth of interest" />
<param name="minprob" type="float" value="0.00000001" label="Minimum error rate to be considered" />
</inputs>
<outputs>
<data name="output" format="tabular" />
</outputs>
<tests>
<!-- Test data with valid values -->
<test>
<param name="error_profile" value="sampleprofilegenerator_in"/>
<param name="MOTIF" value="A"/>
<param name="Maxdepth" value="3"/>
<param name="minprob" value="0.00000001"/>
<output name="output" file="sampleprofilegenerator_out"/>
</test>
</tests>
<help>
.. class:: infomark
**What it does**
This tool will generate all possible combination of observed STR length profiles of the consecutive alleles from given error profile. The range of observed read lengths can be filtered to contain only those that are frequently occur using "Minimum error rate to be considered" parameter.
This program will collect the lists of valid (pass "Minimum error rate to be considered" threshold) observed length profiles from combination of consecutive allele lengths. The lists that are equivalent or the subset of the other lists will be removed. For each depth and each list, length profile were generated from combination with replacement which compatible with python 2.7. There could be redundant error profiles generated from different lists if more than one combination of allele is generated due to overlap range of observed microsatellite lengths. The user need to remove them which can be done easily using **sort | uniq** command in unix.
**Citation**
When you use this tool, please cite **Fungtammasan A, Ananda G, Hile SE, Su MS, Sun C, Harris R, Medvedev P, Eckert K, Makova KD. 2015. Accurate Typing of Short Tandem Repeats from Genome-wide Sequencing Data and its Applications, Genome Research**
**Input**
- The error profile needs to contain these three columns.
- Column 1 = Correct STR length
- Column 2 = Observed STR length
- Column 3 = Number of observation
**Output**
- Column 1 = Place holder for location of STR locus. (just "chr")
- Column 2 = length profile (length of STR in each read that mapped to this location in comma separated format).
- Column 3 = motif of STR in this locus.
**Example**
- Suppose that we provide the following STR length profile ::
true obs. reads
9 9 100000
10 10 91456
10 9 1259
11 11 39657
11 10 1211
11 12 514
- Using the default minimum probability (fraction of reads) of 0.00000001 and motif = A, all observed STR lengths are valid. The program will generated lists of observed length profiles from consecutive allele lengths ::
9:10 = [9,10]
10:11 = [9,10,11,12]
- Lists that are subsets of other lists will be removed. In this example, [9,10] will not be considered.
- The program will then generate all combinations with replacement for each depth from each list. Using **maximum read depth levels =3**, we will get the following output. ::
chr 9,9 A
chr 9,10 A
chr 9,11 A
chr 9,12 A
chr 10,10 A
chr 10,11 A
chr 10,12 A
chr 11,11 A
chr 11,12 A
chr 12,12 A
chr 9,9,9 A
chr 9,9,10 A
chr 9,9,11 A
chr 9,9,12 A
chr 9,10,10 A
chr 9,10,11 A
chr 9,10,12 A
chr 9,11,11 A
chr 9,11,12 A
chr 9,12,12 A
chr 10,10,10 A
chr 10,10,11 A
chr 10,10,12 A
chr 10,11,11 A
chr 10,11,12 A
chr 10,12,12 A
chr 11,11,11 A
chr 11,11,12 A
chr 11,12,12 A
chr 12,12,12 A
</help>
</tool>