annotate readme.md @ 0:0ddb5ee32ff6 draft default tip

planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
author rmarenco
date Thu, 18 Aug 2016 18:50:00 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
1 Galaxy wrapper for GlimmerHMM
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
2 =====================================
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
3
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
4 This wrapper has been rewritten by Rémi Marenco in 2016 to fix issues, improve it and add the multi_fasta handling. It has been originally written by Björn Gruening.
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
5
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
6 This is a wrapper for the command line tool of GlimmerHMM.
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
7 https://ccb.jhu.edu/software/glimmerhmm/
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
8
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
9 GlimmerHMM is a gene finder based on a Generalized Hidden Markov Model (GHMM). Although the gene finder conforms to the overall mathematical framework of a GHMM,
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
10 additionally it incorporates splice site models adapted from the GeneSplicer program and a decision tree adapted from GlimmerM. It also utilizes
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
11 Interpolated Markov Models for the coding and noncoding models.
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
12 Currently, GlimmerHMM's GHMM structure includes introns of each phase, intergenic regions, and four types of exons (initial, internal, final, and single).
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
13
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
14 Majoros, W.H., Pertea, M., and Salzberg, S.L. TigrScan and GlimmerHMM: two open-source ab initio eukaryotic gene-finders Bioinformatics 20 2878-2879.
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
15 Pertea, M. and S. L. Salzberg (2002). "Computational gene finding in plants." Plant Molecular Biology 48(1-2): 39-48.
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
16 The Arabidopsis Genome Initiative, (2000) "Analysis of the genome sequence of the flowering plant Arabidopsis thaliana", Nature. Dec 14; 408(6814):796-815.
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
17 Pertea, M., S. L. Salzberg, et al. (2000). "Finding genes in Plasmodium falciparum." Nature 404(6773): 34; discussion 34-5.
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
18 Salzberg, S. L., M. Pertea, et al. (1999). "Interpolated Markov models for eukaryotic gene finding." Genomics 59(1): 24-31.
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
19
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
20
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
21 Installation
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
22 ============
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
23
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
24 To install Glimmer3, please download GlimmerHMM from
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
25
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
26 ftp://ccb.jhu.edu/pub/software/glimmerhmm
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
27
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
28 and follow the installation instructions.
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
29 To extract the glimmerHMM predicted genes, the GFF Parser from Brad Chapman (ttp://github.com/chapmanb/bcbb/tree/master/gff) was used and is included.
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
30
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
31 To install the wrapper copy the glimmerHMM folder in the galaxy tools
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
32 folder and modify the $GALAXY_ROOT/config/tool_conf.xml file to make the tool available to Galaxy.
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
33 For example:
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
34
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
35 ```xml
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
36 <tool file="gene_prediction/tools/glimmerHMM/glimmerhmm_predict.xml" />
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
37 <tool file="gene_prediction/tools/glimmerHMM/glimmerhmm_to_sequence.xml" />
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
38 ```
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
39
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
40 You also need to use a trained organism by adding them as reference data in Galaxy:
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
41
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
42 1. Add the *glimmer_hmm_trained_dir* data table to `tool_data_table_conf.xml` in `$GALAXY_ROOT/config/`:
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
43
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
44 ```xml
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
45 <!-- glimmer_hmm trained_dir -->
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
46 <table name="glimmer_hmm_trained_dir" comment_char="#">
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
47 <columns>value, name, path</columns>
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
48 <file path="tool-data/glimmer_hmm.loc" />
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
49 </table>
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
50 ```
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
51
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
52 2. Add the `glimmer_hmm.loc` file referencing your trained organism, in `tool-data`.
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
53 You have a sample [`glimmer_hmm.loc.sample`] available in the repository to help you configuring it properly
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
54 3. Add your data in the chosen folder at step 2. You can get them from the GlimmerHMM tar, `$GLIMMERHMM/trained_dir`
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
55
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
56 History
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
57 =======
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
58
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
59 - v3.0 - Add the Multi Fasta support
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
60 - v2.0 - Update by Rémi Marenco to make it work without having to modify the wrapper + add ability to select the species
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
61 - v0.1 - Initial public release
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
62
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
63
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
64 Wrapper Licence (MIT/BSD style)
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
65 ===============================
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
66
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
67 Permission to use, copy, modify, and distribute this software and its
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
68 documentation with or without modifications and for any purpose and
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
69 without fee is hereby granted, provided that any copyright notices
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
70 appear in all copies and that both those copyright notices and this
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
71 permission notice appear in supporting documentation, and that the
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
72 names of the contributors or copyright holders not be used in
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
73 advertising or publicity pertaining to distribution of the software
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
74 without specific prior permission.
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
75
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
76 THE CONTRIBUTORS AND COPYRIGHT HOLDERS OF THIS SOFTWARE DISCLAIM ALL
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
77 WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
78 WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
79 CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
80 OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
81 OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
82 OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
0ddb5ee32ff6 planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 28bd73b26b50165eded1d9ba995979acdf005ad1-dirty
rmarenco
parents:
diff changeset
83 OR PERFORMANCE OF THIS SOFTWARE.