comparison hyphy_slac.xml @ 36:183cf2baf56e draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hyphy/ commit d97b1b98a3a621c93a7ed9e7db16bda47eefcb92
author iuc
date Tue, 07 Oct 2025 20:40:22 +0000
parents 6130cd31dfb9
children
comparison
equal deleted inserted replaced
35:6130cd31dfb9 36:183cf2baf56e
5 </macros> 5 </macros>
6 <expand macro="bio_tools"/> 6 <expand macro="bio_tools"/>
7 <expand macro="requirements"/> 7 <expand macro="requirements"/>
8 <command detect_errors="exit_code"><![CDATA[ 8 <command detect_errors="exit_code"><![CDATA[
9 @SYMLINK_FILES@ 9 @SYMLINK_FILES@
10 hyphy slac 10 @HYPHYMP@ slac
11 --alignment ./$input_file 11 --alignment ./$input_file
12 @INPUT_TREE@ 12 @INPUT_TREE@
13 --code '$gencodeid' 13 --code '$gencodeid'
14 @branch_options@ 14 @branch_options@
15 --samples '$number_of_samples' 15 --samples '$number_of_samples'
16 --pvalue '$p_value' 16 --pvalue '$p_value'
17 --output '$slac_output' 17 --output '$slac_output'
18 --kill-zero-lengths $kill_zero_lengths > slac_stdout.md
18 @ERRORS@ 19 @ERRORS@
19 ]]></command> 20 ]]></command>
20 <inputs> 21 <inputs>
21 <expand macro="inputs"/> 22 <expand macro="inputs"/>
22 <expand macro="gencode"/> 23 <expand macro="gencode"/>
23 <expand macro="branches"/> 24 <expand macro="branches"/>
24 <param argument="--pvalue" name="p_value" type="float" value=".1" min="0" max="1" label="P-value" /> 25 <param argument="--pvalue" name="p_value" type="float" value=".1" min="0" max="1" label="P-value" />
25 <param argument="--samples" name="number_of_samples" type="integer" value="100" min="0" max="100000" label="Number of samples used to assess ancestral reconstruction uncertainty"/> 26 <param argument="--samples" name="number_of_samples" type="integer" value="0" min="0" max="10000" label="Number of samples used to assess ancestral reconstruction uncertainty"/>
27 <expand macro="kill_zero_lengths_param"/>
26 </inputs> 28 </inputs>
27 <outputs> 29 <outputs>
30 <data name="slac_md_report" format="markdown" from_work_dir="slac_stdout.md" label="SLAC Report (Markdown) for ${tool.name} on ${on_string}" />
28 <data name="slac_output" format="hyphy_results.json" /> 31 <data name="slac_output" format="hyphy_results.json" />
29 </outputs> 32 </outputs>
30 <tests> 33 <tests>
31 <test> 34 <test>
32 <param name="input_file" ftype="fasta" value="absrel-in1.fa"/> 35 <param name="input_file" ftype="fasta" value="absrel-in1.fa"/>
33 <param name="input_nhx" ftype="nhx" value="absrel-in1.nhx"/> 36 <param name="input_nhx" ftype="nhx" value="absrel-in1.nhx"/>
37 <param name="number_of_samples" value="100"/>
34 <output name="slac_output"> 38 <output name="slac_output">
35 <assert_contents> 39 <assert_contents>
36 <has_size value="280000" delta="8000"/> 40 <has_text text="sample-2.5"/>
37 <has_text text="tested"/>
38 <has_text text="sample-median"/>
39 <has_text text="sample-97.5"/> 41 <has_text text="sample-97.5"/>
42 <has_text text="Global MG94xREV"/>
43 </assert_contents>
44 </output>
45 <output name="slac_md_report">
46 <assert_contents>
47 <has_text text="Performing joint maximum likelihood ancestral state reconstruction"/>
48 <has_text text="Selected 5 branches to include in SLAC calculations: `Pig, Cow, Node2, Baboon, Rat`"/>
40 </assert_contents> 49 </assert_contents>
41 </output> 50 </output>
42 </test> 51 </test>
43 </tests> 52 </tests>
44 <help><![CDATA[ 53 <help><![CDATA[
46 ========================================== 55 ==========================================
47 56
48 What question does this method answer? 57 What question does this method answer?
49 -------------------------------------- 58 --------------------------------------
50 59
51 Which site(s) in a gene are subject to pervasive, i.e. consistently across the entire phylogeny, diversifying selection? 60 SLAC (Single Likelihood Ancestor Counting) is designed to identify individual sites within a gene that are subject to pervasive diversifying selection, meaning selection that acts consistently across the entire evolutionary phylogeny. It helps answer: Which specific sites in a gene show evidence of positive selection that has been maintained throughout the evolutionary history of the analyzed sequences?
52 61
53 Recommended Applications 62 Recommended Applications
54 ------------------------ 63 ------------------------
55 64
56 The phenomenon of pervasive selection is generally most prevalent in pathogen evolution and any biological system influenced by evolutionary arms race dynamics 65 The phenomenon of pervasive selection is generally most prevalent in pathogen evolution and any biological system influenced by evolutionary arms race dynamics
60 In general, this method will be the least statistically robust (compared to FEL or FUBAR), but it is the most directly interpretable. 69 In general, this method will be the least statistically robust (compared to FEL or FUBAR), but it is the most directly interpretable.
61 70
62 Brief description 71 Brief description
63 ----------------- 72 -----------------
64 73
65 SLAC (Single Likelihood Ancestor Counting) uses a maximum likelihood 74 SLAC (Single Likelihood Ancestor Counting) is a counting-based method designed to detect pervasive positive or negative selection at individual sites within a gene. It operates by first inferring ancestral sequences at each node of the provided phylogenetic tree using a maximum likelihood approach. This reconstruction allows for the estimation of synonymous (dS) and non-synonymous (dN) substitution rates at each site across the entire phylogeny. Finally, a binomial test is applied to determine if the observed number of non-synonymous substitutions significantly deviates from the expected number under neutrality (dN = dS). The method aggregates information across all branches of the phylogeny, making it suitable for detecting pervasive diversifying selection (dN > dS) or purifying selection (dN < dS) that acts consistently throughout the evolutionary history of the analyzed sequences. While generally less statistically robust than likelihood-based methods like FEL or FUBAR, SLAC offers direct interpretability of its results.
66 ancestral state reconstruction and minimum path substitution counting to 75
67 estimate site - level dS and dN, and applies a simple binomial - based 76 How it works
68 test to test if dS differs drom dN. The estimates aggregate information 77 ------------
69 over all branches, so the signal is derived from pervasive 78
70 diversification or conservation. A subset of branches can be selected 79 1. Ancestral Sequence Reconstruction: SLAC begins by reconstructing the most likely ancestral sequences at each internal node of the provided phylogenetic tree.
71 for testing as well. 80 2. Counting Substitutions: Once ancestral sequences are inferred, the method counts the number of synonymous (dS) and non-synonymous (dN) substitutions that have occurred along each branch of the phylogeny.
81 3. Binomial Test: For each site, SLAC applies a binomial test. The null hypothesis is that non-synonymous and synonymous mutations occur at equal rates (i.e., no selection).
82 4. Pervasive Selection: By aggregating evidence across all branches of the tree, SLAC identifies sites that have been under consistent selective pressure throughout the evolutionary history of the gene.
72 83
73 Input 84 Input
74 ----- 85 -----
75 86
76 1. A *FASTA* sequence alignment. 87 1. A coding multiple sequence alignment.
77 2. A phylogenetic tree in the *Newick* format 88 2. A phylogenetic tree in the *Newick* format
78 89
79 Note: the names of sequences in the alignment must match the names of the sequences in the tree. 90 Note: the names of sequences in the alignment must match the names of the sequences in the tree.
80 91
81 92
82 Output 93 Output
83 ------ 94 ------
84 95
85 A JSON file with analysis results (http://hyphy.org/resources/json-fields.pdf). 96 A JSON file with analysis results (http://hyphy.org/resources/json-fields.pdf). This JSON output can be visualized using the HyPhy Vision platform at http://vision.hyphy.org/SLAC/.
86
87 A custom visualization module for viewing these results is available (see http://vision.hyphy.org/SLAC for an example)
88 97
89 Further reading 98 Further reading
90 --------------- 99 ---------------
91 100
92 http://hyphy.org/methods/selection-methods/#SLAC 101 http://hyphy.org/methods/selection-methods/#SLAC
94 103
95 Tool options 104 Tool options
96 ------------ 105 ------------
97 :: 106 ::
98 107
108 --alignment [required] An in-frame codon alignment in one of the formats supported by HyPhy.
109 --tree [conditionally required] A phylogenetic tree (optionally annotated with {}).
99 110
100 --code Which genetic code to use 111 --code Which genetic code to use (see tool form for available options).
101 112
102 --branches Which branches should be tested for selection? 113 --branches Which branches should be tested for selection?
103 All [default] : test all branches 114 All [default] : test all branches
115 Internal : test only internal branches (suitable for intra-host pathogen evolution for example, where terminal branches may contain polymorphism data)
116 Leaves: test only terminal (leaf) branches
117 Unlabeled: if the Newick string is labeled using the {} notation, test only branches without explicit labels (see http://hyphy.org/tutorials/phylotree/)
118 Custom : Enter a branch label.
104 119
105 Internal : test only internal branches (suitable for 120 --pvalue The significance level used to determine significance (default: 0.1, range: 0 to 1).
106 intra-host pathogen evolution for example, where terminal branches 121 --samples Draw this many alternative ancestral state reconstructions to evaluate uncertainty (default: 100, range: 0 to 10000).
107 may contain polymorphism data)
108 122
109 Leaves: test only terminal (leaf) branches 123 --kill-zero-lengths Automatically delete internal zero-length branches for computational efficiency.
110 124 Yes [default] : Automatically delete internal zero-length branches for computational efficiency (will not affect results otherwise).
111 Unlabeled: if the Newick string is labeled using the {} notation, 125 Constrain : Keep zero-length branches, but constrain their values to 0.
112 test only branches without explicit labels 126 No : Keep all branches.
113 (see http://hyphy.org/tutorials/phylotree/)
114
115 --pvalue The significance level used to determine significance
116
117 --samples Draw this many alternative ancestral state reconstructions
118 to evaluate uncertainty
119 127
120 ]]> 128 ]]>
121 </help> 129 </help>
122 <expand macro="citations"> 130 <expand macro="citations">
123 <citation type="doi">10.1093/molbev/msi105</citation> 131 <citation type="doi">10.1093/molbev/msi105</citation>