annotate readme.md @ 9:81383b1c05d9 draft default tip

planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 59eb9b27c7382ae4736eb7425615e4b575757378
author yating-l
date Thu, 04 May 2017 17:30:27 -0400
parents 36f4ba558f9f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
1 Galaxy wrapper for GlimmerHMM
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
2 =====================================
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
3
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
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.
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
5
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
6 This is a wrapper for the command line tool of GlimmerHMM.
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
7 https://ccb.jhu.edu/software/glimmerhmm/
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
8
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
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,
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
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
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
11 Interpolated Markov Models for the coding and noncoding models.
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
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).
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
13
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
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.
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
15 Pertea, M. and S. L. Salzberg (2002). "Computational gene finding in plants." Plant Molecular Biology 48(1-2): 39-48.
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
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.
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
17 Pertea, M., S. L. Salzberg, et al. (2000). "Finding genes in Plasmodium falciparum." Nature 404(6773): 34; discussion 34-5.
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
18 Salzberg, S. L., M. Pertea, et al. (1999). "Interpolated Markov models for eukaryotic gene finding." Genomics 59(1): 24-31.
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
19
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
20
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
21 Installation
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
22 ============
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
23
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
24 To install Glimmer3, please download GlimmerHMM from
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
25
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
26 ftp://ccb.jhu.edu/pub/software/glimmerhmm
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
27
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
28 and follow the installation instructions.
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
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.
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
30
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
31 To install the wrapper copy the glimmerHMM folder in the galaxy tools
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
32 folder and modify the $GALAXY_ROOT/config/tool_conf.xml file to make the tool available to Galaxy.
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
33 For example:
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
34
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
35 ```xml
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
36 <tool file="gene_prediction/tools/glimmerHMM/glimmerhmm_predict.xml" />
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
37 <tool file="gene_prediction/tools/glimmerHMM/glimmerhmm_to_sequence.xml" />
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
38 ```
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
39
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
40 You also need to use a trained organism by adding them as reference data in Galaxy:
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
41
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
42 1. Add the *glimmer_hmm_trained_dir* data table to `tool_data_table_conf.xml` in `$GALAXY_ROOT/config/`:
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
43
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
44 ```xml
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
45 <!-- glimmer_hmm trained_dir -->
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
46 <table name="glimmer_hmm_trained_dir" comment_char="#">
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
47 <columns>value, name, path</columns>
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
48 <file path="tool-data/glimmer_hmm.loc" />
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
49 </table>
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
50 ```
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
51
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
52 2. Add the `glimmer_hmm.loc` file referencing your trained organism, in `tool-data`.
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
53 You have a sample [`glimmer_hmm.loc.sample`] available in the repository to help you configuring it properly
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
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`
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
55
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
56 History
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
57 =======
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
58
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
59 - v3.0 - Add the Multi Fasta support
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
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
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
61 - v0.1 - Initial public release
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
62
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
63
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
64 Wrapper Licence (MIT/BSD style)
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
65 ===============================
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
66
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
67 Permission to use, copy, modify, and distribute this software and its
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
68 documentation with or without modifications and for any purpose and
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
69 without fee is hereby granted, provided that any copyright notices
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
70 appear in all copies and that both those copyright notices and this
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
71 permission notice appear in supporting documentation, and that the
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
72 names of the contributors or copyright holders not be used in
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
73 advertising or publicity pertaining to distribution of the software
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
74 without specific prior permission.
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
75
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
76 THE CONTRIBUTORS AND COPYRIGHT HOLDERS OF THIS SOFTWARE DISCLAIM ALL
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
77 WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
78 WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
79 CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
80 OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
81 OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
82 OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
36f4ba558f9f planemo upload for repository https://github.com/remimarenco/multi_fasta_glimmerhmm.git commit 1245031a7d52c922c86f33ebfd0f20eb9ddf84ac-dirty
yating-l
parents:
diff changeset
83 OR PERFORMANCE OF THIS SOFTWARE.