~ubuntu-branches/ubuntu/wily/bioperl-run/wily-proposed

« back to all changes in this revision

Viewing changes to Bio/Tools/Run/PiseApplication/grailclnt.pm

  • Committer: Bazaar Package Importer
  • Author(s): Charles Plessy
  • Date: 2009-09-03 11:00:03 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20090903110003-11of27rxner5vnl9
Tags: 1.6.1-1
* New upstream release.
* debian/patches/10-wrong-path-for-interpreter.patch: removed
  (fixed upstream).
* debian/watch updated (bioperl -> BioPerl).
* debian/rules refreshed with dh-make-perl 0.53.
  - Disabled installation of examples (removed upstream).
  - Removed the correction of file permission of Pise documentation
    (removed upstream).
  - Removed patching facilities (no patches anymore).
  - Disabled tests as I experience failures with t/Eponine.t despite
    this program is not installed.
* debian/copyright:
  - Removed vanity lines about debianization and debian copyright.
  - Incremented years to 2009.
  - Updated to latest experimentation of the machine-readable license summary.
* debian/control:
  - Incremented Standards-Version to reflect conformance on new Policy
    (dropped versionned build-dependancy on Perl).
  - Removed build-dependancy on quilt (no patches anymore).
  - Depend and Build-Depend on bioperl versions superior or equal to 1.6.0.
  - Build-depends on, and Recommdnes libalgorithm-diff-perl, libipc-run-perl,
    libio-string-perl and libxml-twig-perl, that are listed in DEPENDANCIES.
  - Build-depends on libarray-compare-perl and libtree-dagnode-perl
    (otherwise tests fail). 
  - Depend on amap-align instead of amap (Closes: #541274).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# $Id: grailclnt.pm,v 1.8 2006/07/04 22:23:34 mauricio Exp $
2
 
# BioPerl module for Bio::Tools::Run::PiseApplication::grailclnt
3
 
#
4
 
# Cared for by Catherine Letondal <letondal@pasteur.fr>
5
 
#
6
 
# For copyright and disclaimer see below.
7
 
#
8
 
# POD documentation - main docs before the code
9
 
 
10
 
=head1 NAME
11
 
 
12
 
Bio::Tools::Run::PiseApplication::grailclnt
13
 
 
14
 
=head1 SYNOPSIS
15
 
 
16
 
  #
17
 
 
18
 
=head1 DESCRIPTION
19
 
 
20
 
Bio::Tools::Run::PiseApplication::grailclnt
21
 
 
22
 
      Bioperl class for:
23
 
 
24
 
        GRAILCLNT       Grail client (Xu, Einstein, Mural, Shah, Uberbacher)
25
 
 
26
 
        References:
27
 
 
28
 
                Xu, Y., Einstein, J. R., Mural, R.J., Shah, M. and Uberbacher, E.C., (1994) An Improved System for Exon Recognition and Gene Modeling in Human DNA Sequences, Published Presentation: The Second International Conference on Intelligent Systems for Molecular Biology, Stanford University, San Francisco, CA, August 14-17, 1994.
29
 
 
30
 
 
31
 
 
32
 
      Parameters: 
33
 
 
34
 
        (see also:
35
 
          http://bioweb.pasteur.fr/seqanal/interfaces/grailclnt.html 
36
 
         for available values):
37
 
 
38
 
 
39
 
                grailclnt (String)
40
 
 
41
 
                seq (Sequence)
42
 
                        Sequence
43
 
 
44
 
                feature (Excl)
45
 
                        Which feature?
46
 
 
47
 
                organism (Excl)
48
 
                        Organism
49
 
 
50
 
                header (Switch)
51
 
                        Header
52
 
 
53
 
                translation (Switch)
54
 
                        Translation
55
 
 
56
 
                strandscores (Switch)
57
 
                        Strandscores (grail1)
58
 
 
59
 
                shadowexons (Switch)
60
 
                        Shadowexons (grail 1.a or grail2)
61
 
 
62
 
                clusters (Switch)
63
 
                        Clusters (grail 2)
64
 
 
65
 
                cluster_file (InFile)
66
 
                        grail2exons results file
67
 
                        pipe: grail_cluster
68
 
 
69
 
                modelexon_translation (Switch)
70
 
                        Gene model exons translation
71
 
 
72
 
                genemodel_translation (Switch)
73
 
                        Entire gene models translation
74
 
 
75
 
                auto_strand (Switch)
76
 
                        AUTO STRAND
77
 
 
78
 
                start_strand (Integer)
79
 
                        AUTO STRAND start
80
 
 
81
 
                end_strand (Integer)
82
 
                        AUTO STRAND end
83
 
 
84
 
                forward_strand (Switch)
85
 
                        FORWARD_STRAND
86
 
 
87
 
                reverse_strand (Switch)
88
 
                        REVERSE_STRAND
89
 
 
90
 
                grail2_file (InFile)
91
 
                        grail2exons results file
92
 
                        pipe: grail_cluster
93
 
 
94
 
                fserr_strand (Excl)
95
 
                        Strand
96
 
 
97
 
                rpttv_organism (String)
98
 
 
99
 
                start_seq (String)
100
 
 
101
 
                end_seq (String)
102
 
 
103
 
                end_request (String)
104
 
 
105
 
                outfile (OutFile)
106
 
                        Result file
107
 
                        pipe: grail_cluster
108
 
 
109
 
=head1 FEEDBACK
110
 
 
111
 
=head2 Mailing Lists
112
 
 
113
 
User feedback is an integral part of the evolution of this and other
114
 
Bioperl modules. Send your comments and suggestions preferably to
115
 
the Bioperl mailing list.  Your participation is much appreciated.
116
 
 
117
 
  bioperl-l@bioperl.org                  - General discussion
118
 
  http://bioperl.org/wiki/Mailing_lists  - About the mailing lists
119
 
 
120
 
=head2 Reporting Bugs
121
 
 
122
 
Report bugs to the Bioperl bug tracking system to help us keep track
123
 
of the bugs and their resolution. Bug reports can be submitted via the
124
 
web:
125
 
 
126
 
  http://bugzilla.open-bio.org/
127
 
 
128
 
=head1 AUTHOR
129
 
 
130
 
Catherine Letondal (letondal@pasteur.fr)
131
 
 
132
 
=head1 COPYRIGHT
133
 
 
134
 
Copyright (C) 2003 Institut Pasteur & Catherine Letondal.
135
 
All Rights Reserved.
136
 
 
137
 
This module is free software; you can redistribute it and/or modify
138
 
it under the same terms as Perl itself.
139
 
 
140
 
=head1 DISCLAIMER
141
 
 
142
 
This software is provided "as is" without warranty of any kind.
143
 
 
144
 
=head1 SEE ALSO
145
 
 
146
 
=over
147
 
 
148
 
=item *
149
 
 
150
 
http://bioweb.pasteur.fr/seqanal/interfaces/grailclnt.html
151
 
 
152
 
=item *
153
 
 
154
 
Bio::Tools::Run::PiseApplication
155
 
 
156
 
=item *
157
 
 
158
 
Bio::Tools::Run::AnalysisFactory::Pise
159
 
 
160
 
=item *
161
 
 
162
 
Bio::Tools::Run::PiseJob
163
 
 
164
 
=back
165
 
 
166
 
=cut
167
 
 
168
 
#'
169
 
package Bio::Tools::Run::PiseApplication::grailclnt;
170
 
 
171
 
use vars qw(@ISA);
172
 
use strict;
173
 
use Bio::Tools::Run::PiseApplication;
174
 
 
175
 
@ISA = qw(Bio::Tools::Run::PiseApplication);
176
 
 
177
 
=head2 new
178
 
 
179
 
 Title   : new()
180
 
 Usage   : my $grailclnt = Bio::Tools::Run::PiseApplication::grailclnt->new($location, $email, @params);
181
 
 Function: Creates a Bio::Tools::Run::PiseApplication::grailclnt object.
182
 
           This method should not be used directly, but rather by 
183
 
           a Bio::Tools::Run::AnalysisFactory::Pise instance.
184
 
           my $factory = Bio::Tools::Run::AnalysisFactory::Pise->new();
185
 
           my $grailclnt = $factory->program('grailclnt');
186
 
 Example : -
187
 
 Returns : An instance of Bio::Tools::Run::PiseApplication::grailclnt.
188
 
 
189
 
=cut
190
 
 
191
 
sub new {
192
 
    my ($class, $location, $email, @params) = @_;
193
 
    my $self = $class->SUPER::new($location, $email);
194
 
 
195
 
# -- begin of definitions extracted from /local/gensoft/lib/Pise/5.a/PerlDef/grailclnt.pm
196
 
 
197
 
    $self->{COMMAND}   = "grailclnt";
198
 
    $self->{VERSION}   = "5.a";
199
 
    $self->{TITLE}   = "GRAILCLNT";
200
 
 
201
 
    $self->{DESCRIPTION}   = "Grail client";
202
 
 
203
 
    $self->{OPT_EMAIL}   = 0;
204
 
 
205
 
    $self->{AUTHORS}   = "Xu, Einstein, Mural, Shah, Uberbacher";
206
 
 
207
 
    $self->{REFERENCE}   = [
208
 
 
209
 
         "Xu, Y., Einstein, J. R., Mural, R.J., Shah, M. and Uberbacher, E.C., (1994) An Improved System for Exon Recognition and Gene Modeling in Human DNA Sequences, Published Presentation: The Second International Conference on Intelligent Systems for Molecular Biology, Stanford University, San Francisco, CA, August 14-17, 1994.",
210
 
 ];
211
 
 
212
 
    $self->{_INTERFACE_STANDOUT} = undef;
213
 
    $self->{_STANDOUT_FILE} = undef;
214
 
 
215
 
    $self->{TOP_PARAMETERS}  = [ 
216
 
        "grailclnt",
217
 
        "seq",
218
 
        "feature",
219
 
        "organism",
220
 
        "header",
221
 
        "exons_options",
222
 
        "gap_options",
223
 
        "polIIprom_options",
224
 
        "fserr_options",
225
 
        "rpttv_organism",
226
 
        "start_seq",
227
 
        "end_seq",
228
 
        "end_request",
229
 
        "input_file",
230
 
        "outfile",
231
 
 
232
 
    ];
233
 
 
234
 
    $self->{PARAMETERS_ORDER}  = [
235
 
        "grailclnt",
236
 
        "seq",  # Sequence
237
 
        "feature",      # Which feature?
238
 
        "organism",     # Organism
239
 
        "header",       # Header
240
 
        "exons_options",        # Exons options
241
 
        "translation",  # Translation
242
 
        "strandscores",         # Strandscores (grail1)
243
 
        "shadowexons",  # Shadowexons (grail 1.a or grail2)
244
 
        "clusters",     # Clusters (grail 2)
245
 
        "gap_options",  # Gene modelling options
246
 
        "cluster_file",         # grail2exons results file
247
 
        "modelexon_translation",        # Gene model exons translation
248
 
        "genemodel_translation",        # Entire gene models translation
249
 
        "auto_strand",  # AUTO STRAND
250
 
        "start_strand",         # AUTO STRAND start
251
 
        "end_strand",   # AUTO STRAND end
252
 
        "forward_strand",       # FORWARD_STRAND
253
 
        "reverse_strand",       # REVERSE_STRAND
254
 
        "polIIprom_options",    # Pol II Promoters options
255
 
        "grail2_file",  # grail2exons results file
256
 
        "fserr_options",        # fserr options
257
 
        "fserr_strand",         # Strand
258
 
        "rpttv_organism",
259
 
        "start_seq",
260
 
        "end_seq",
261
 
        "end_request",
262
 
        "input_file",
263
 
        "outfile",      # Result file
264
 
 
265
 
    ];
266
 
 
267
 
    $self->{TYPE}  = {
268
 
        "grailclnt" => 'String',
269
 
        "seq" => 'Sequence',
270
 
        "feature" => 'Excl',
271
 
        "organism" => 'Excl',
272
 
        "header" => 'Switch',
273
 
        "exons_options" => 'Paragraph',
274
 
        "translation" => 'Switch',
275
 
        "strandscores" => 'Switch',
276
 
        "shadowexons" => 'Switch',
277
 
        "clusters" => 'Switch',
278
 
        "gap_options" => 'Paragraph',
279
 
        "cluster_file" => 'InFile',
280
 
        "modelexon_translation" => 'Switch',
281
 
        "genemodel_translation" => 'Switch',
282
 
        "auto_strand" => 'Switch',
283
 
        "start_strand" => 'Integer',
284
 
        "end_strand" => 'Integer',
285
 
        "forward_strand" => 'Switch',
286
 
        "reverse_strand" => 'Switch',
287
 
        "polIIprom_options" => 'Paragraph',
288
 
        "grail2_file" => 'InFile',
289
 
        "fserr_options" => 'Paragraph',
290
 
        "fserr_strand" => 'Excl',
291
 
        "rpttv_organism" => 'String',
292
 
        "start_seq" => 'String',
293
 
        "end_seq" => 'String',
294
 
        "end_request" => 'String',
295
 
        "input_file" => 'Results',
296
 
        "outfile" => 'OutFile',
297
 
 
298
 
    };
299
 
 
300
 
    $self->{FORMAT}  = {
301
 
        "grailclnt" => {
302
 
                "perl" => '"cat grail_input_* > grail_input; grailclnt -host grailsrv.lsd.ornl.gov -port 2050 < grail_input " ',
303
 
        },
304
 
        "seq" => {
305
 
                "perl" => '" ln -s $seq grail_input_a4 ;"',
306
 
        },
307
 
        "feature" => {
308
 
                "perl" => '($value eq "cpg" || $value eq "rpttv" || $value eq "smprpt")? "\\n\\[Request\\_$value\\_1.3\\]\\n\\n" : "\\n\\[Request\\_$value\\_$organism\\_1.3\\]\\n\\n" ',
309
 
        },
310
 
        "organism" => {
311
 
                "perl" => '""',
312
 
        },
313
 
        "header" => {
314
 
                "perl" => '($value)? "[Option= header]\\n" : ""',
315
 
        },
316
 
        "exons_options" => {
317
 
        },
318
 
        "translation" => {
319
 
                "perl" => '($value)? "[Option= translation]\\n" : ""',
320
 
        },
321
 
        "strandscores" => {
322
 
                "perl" => '($value)? "[Option= strandscores]\\n" : ""',
323
 
        },
324
 
        "shadowexons" => {
325
 
                "perl" => '($value)? "[Option= shadowexons]\\n" : ""',
326
 
        },
327
 
        "clusters" => {
328
 
                "perl" => '($value)? "[Option= clusters]\\n" : ""',
329
 
        },
330
 
        "gap_options" => {
331
 
        },
332
 
        "cluster_file" => {
333
 
                "perl" => '($value)? "sed -n \\"/^.Start clusters/,/^.End clusters/p\\" $cluster_file > grail_input_b4 ;" : "" ',
334
 
        },
335
 
        "modelexon_translation" => {
336
 
                "perl" => '($value)? "[Option= modelexon_translation]\\n" : ""',
337
 
        },
338
 
        "genemodel_translation" => {
339
 
                "perl" => '($value)? "[Option= genemodel_translation]\\n" : ""',
340
 
        },
341
 
        "auto_strand" => {
342
 
                "perl" => '($value)? "[Params= AUTO_STRAND $start_strand $end_strand]\\n" : ""',
343
 
        },
344
 
        "start_strand" => {
345
 
                "perl" => ' "" ',
346
 
        },
347
 
        "end_strand" => {
348
 
                "perl" => ' "" ',
349
 
        },
350
 
        "forward_strand" => {
351
 
                "perl" => '($value)? "[Params= FORWARD_STRAND]\\n" : ""',
352
 
        },
353
 
        "reverse_strand" => {
354
 
                "perl" => '($value)? "[Params= REVERSE_STRAND]\\n" : ""',
355
 
        },
356
 
        "polIIprom_options" => {
357
 
        },
358
 
        "grail2_file" => {
359
 
                "perl" => '($value)? " ln -s $grail2_file grail_input_b2 ;" : "" ',
360
 
        },
361
 
        "fserr_options" => {
362
 
        },
363
 
        "fserr_strand" => {
364
 
                "perl" => '"[Params= $value]\\n" ',
365
 
        },
366
 
        "rpttv_organism" => {
367
 
                "perl" => '"\\n\\n[Params= $organism]\\n\\n"',
368
 
        },
369
 
        "start_seq" => {
370
 
                "perl" => '"\\n\\n[Start DNASequence]\\n\\n"',
371
 
        },
372
 
        "end_seq" => {
373
 
                "perl" => '"\\n\\n[End DNASequence]\\n\\n"',
374
 
        },
375
 
        "end_request" => {
376
 
                "perl" => '"\\n\\n[End_Request]\\n\\n"',
377
 
        },
378
 
        "input_file" => {
379
 
        },
380
 
        "outfile" => {
381
 
                "perl" => '($value)? " > $value" : ""',
382
 
        },
383
 
 
384
 
    };
385
 
 
386
 
    $self->{FILENAMES}  = {
387
 
        "input_file" => 'grail_input',
388
 
 
389
 
    };
390
 
 
391
 
    $self->{SEQFMT}  = {
392
 
        "seq" => [13],
393
 
 
394
 
    };
395
 
 
396
 
    $self->{GROUP}  = {
397
 
        "grailclnt" => 2,
398
 
        "seq" => 1,
399
 
        "feature" => 2,
400
 
        "organism" => 2,
401
 
        "header" => 3,
402
 
        "translation" => 3,
403
 
        "strandscores" => 3,
404
 
        "shadowexons" => 3,
405
 
        "clusters" => 3,
406
 
        "cluster_file" => 1,
407
 
        "modelexon_translation" => 3,
408
 
        "genemodel_translation" => 3,
409
 
        "auto_strand" => 4,
410
 
        "forward_strand" => 4,
411
 
        "reverse_strand" => 4,
412
 
        "grail2_file" => 1,
413
 
        "fserr_strand" => 4,
414
 
        "rpttv_organism" => 4,
415
 
        "outfile" => 10,
416
 
 
417
 
    };
418
 
 
419
 
    $self->{BY_GROUP_PARAMETERS}  = [
420
 
        "fserr_options",
421
 
        "start_seq",
422
 
        "end_seq",
423
 
        "end_request",
424
 
        "input_file",
425
 
        "exons_options",
426
 
        "start_strand",
427
 
        "gap_options",
428
 
        "end_strand",
429
 
        "polIIprom_options",
430
 
        "seq",
431
 
        "cluster_file",
432
 
        "grail2_file",
433
 
        "grailclnt",
434
 
        "feature",
435
 
        "organism",
436
 
        "translation",
437
 
        "strandscores",
438
 
        "shadowexons",
439
 
        "clusters",
440
 
        "modelexon_translation",
441
 
        "genemodel_translation",
442
 
        "header",
443
 
        "rpttv_organism",
444
 
        "auto_strand",
445
 
        "forward_strand",
446
 
        "reverse_strand",
447
 
        "fserr_strand",
448
 
        "outfile",
449
 
 
450
 
    ];
451
 
 
452
 
    $self->{SIZE}  = {
453
 
 
454
 
    };
455
 
 
456
 
    $self->{ISHIDDEN}  = {
457
 
        "grailclnt" => 1,
458
 
        "seq" => 0,
459
 
        "feature" => 0,
460
 
        "organism" => 0,
461
 
        "header" => 0,
462
 
        "exons_options" => 0,
463
 
        "translation" => 0,
464
 
        "strandscores" => 0,
465
 
        "shadowexons" => 0,
466
 
        "clusters" => 0,
467
 
        "gap_options" => 0,
468
 
        "cluster_file" => 0,
469
 
        "modelexon_translation" => 0,
470
 
        "genemodel_translation" => 0,
471
 
        "auto_strand" => 0,
472
 
        "start_strand" => 0,
473
 
        "end_strand" => 0,
474
 
        "forward_strand" => 0,
475
 
        "reverse_strand" => 0,
476
 
        "polIIprom_options" => 0,
477
 
        "grail2_file" => 0,
478
 
        "fserr_options" => 0,
479
 
        "fserr_strand" => 0,
480
 
        "rpttv_organism" => 1,
481
 
        "start_seq" => 1,
482
 
        "end_seq" => 1,
483
 
        "end_request" => 1,
484
 
        "input_file" => 0,
485
 
        "outfile" => 0,
486
 
 
487
 
    };
488
 
 
489
 
    $self->{ISCOMMAND}  = {
490
 
        "grailclnt" => 1,
491
 
        "seq" => 0,
492
 
        "feature" => 0,
493
 
        "organism" => 0,
494
 
        "header" => 0,
495
 
        "exons_options" => 0,
496
 
        "translation" => 0,
497
 
        "strandscores" => 0,
498
 
        "shadowexons" => 0,
499
 
        "clusters" => 0,
500
 
        "gap_options" => 0,
501
 
        "cluster_file" => 0,
502
 
        "modelexon_translation" => 0,
503
 
        "genemodel_translation" => 0,
504
 
        "auto_strand" => 0,
505
 
        "start_strand" => 0,
506
 
        "end_strand" => 0,
507
 
        "forward_strand" => 0,
508
 
        "reverse_strand" => 0,
509
 
        "polIIprom_options" => 0,
510
 
        "grail2_file" => 0,
511
 
        "fserr_options" => 0,
512
 
        "fserr_strand" => 0,
513
 
        "rpttv_organism" => 0,
514
 
        "start_seq" => 0,
515
 
        "end_seq" => 0,
516
 
        "end_request" => 0,
517
 
        "input_file" => 0,
518
 
        "outfile" => 0,
519
 
 
520
 
    };
521
 
 
522
 
    $self->{ISMANDATORY}  = {
523
 
        "grailclnt" => 0,
524
 
        "seq" => 1,
525
 
        "feature" => 1,
526
 
        "organism" => 1,
527
 
        "header" => 0,
528
 
        "exons_options" => 0,
529
 
        "translation" => 0,
530
 
        "strandscores" => 0,
531
 
        "shadowexons" => 0,
532
 
        "clusters" => 0,
533
 
        "gap_options" => 0,
534
 
        "cluster_file" => 1,
535
 
        "modelexon_translation" => 0,
536
 
        "genemodel_translation" => 0,
537
 
        "auto_strand" => 0,
538
 
        "start_strand" => 1,
539
 
        "end_strand" => 1,
540
 
        "forward_strand" => 0,
541
 
        "reverse_strand" => 0,
542
 
        "polIIprom_options" => 0,
543
 
        "grail2_file" => 1,
544
 
        "fserr_options" => 0,
545
 
        "fserr_strand" => 1,
546
 
        "rpttv_organism" => 0,
547
 
        "start_seq" => 0,
548
 
        "end_seq" => 0,
549
 
        "end_request" => 0,
550
 
        "input_file" => 0,
551
 
        "outfile" => 0,
552
 
 
553
 
    };
554
 
 
555
 
    $self->{PROMPT}  = {
556
 
        "grailclnt" => "",
557
 
        "seq" => "Sequence",
558
 
        "feature" => "Which feature?",
559
 
        "organism" => "Organism",
560
 
        "header" => "Header",
561
 
        "exons_options" => "Exons options",
562
 
        "translation" => "Translation",
563
 
        "strandscores" => "Strandscores (grail1)",
564
 
        "shadowexons" => "Shadowexons (grail 1.a or grail2)",
565
 
        "clusters" => "Clusters (grail 2)",
566
 
        "gap_options" => "Gene modelling options",
567
 
        "cluster_file" => "grail2exons results file",
568
 
        "modelexon_translation" => "Gene model exons translation",
569
 
        "genemodel_translation" => "Entire gene models translation",
570
 
        "auto_strand" => "AUTO STRAND",
571
 
        "start_strand" => "AUTO STRAND start",
572
 
        "end_strand" => "AUTO STRAND end",
573
 
        "forward_strand" => "FORWARD_STRAND",
574
 
        "reverse_strand" => "REVERSE_STRAND",
575
 
        "polIIprom_options" => "Pol II Promoters options",
576
 
        "grail2_file" => "grail2exons results file",
577
 
        "fserr_options" => "fserr options",
578
 
        "fserr_strand" => "Strand",
579
 
        "rpttv_organism" => "",
580
 
        "start_seq" => "",
581
 
        "end_seq" => "",
582
 
        "end_request" => "",
583
 
        "input_file" => "",
584
 
        "outfile" => "Result file",
585
 
 
586
 
    };
587
 
 
588
 
    $self->{ISSTANDOUT}  = {
589
 
        "grailclnt" => 0,
590
 
        "seq" => 0,
591
 
        "feature" => 0,
592
 
        "organism" => 0,
593
 
        "header" => 0,
594
 
        "exons_options" => 0,
595
 
        "translation" => 0,
596
 
        "strandscores" => 0,
597
 
        "shadowexons" => 0,
598
 
        "clusters" => 0,
599
 
        "gap_options" => 0,
600
 
        "cluster_file" => 0,
601
 
        "modelexon_translation" => 0,
602
 
        "genemodel_translation" => 0,
603
 
        "auto_strand" => 0,
604
 
        "start_strand" => 0,
605
 
        "end_strand" => 0,
606
 
        "forward_strand" => 0,
607
 
        "reverse_strand" => 0,
608
 
        "polIIprom_options" => 0,
609
 
        "grail2_file" => 0,
610
 
        "fserr_options" => 0,
611
 
        "fserr_strand" => 0,
612
 
        "rpttv_organism" => 0,
613
 
        "start_seq" => 0,
614
 
        "end_seq" => 0,
615
 
        "end_request" => 0,
616
 
        "input_file" => 0,
617
 
        "outfile" => 1,
618
 
 
619
 
    };
620
 
 
621
 
    $self->{VLIST}  = {
622
 
 
623
 
        "feature" => ['grail1exons','grail1exons: Protein Coding Regions (grail 1)','grail1aexons','grail1aexons: Protein Coding Regions (grail 1.a)','grail2exons','grail2exons: Protein Coding Regions (grail 2)','gap2','gap2: Gene Modeling','polya','polya: PolyA sites','polIIprom','polIIprom: Pol II Promoters','cpg','cpg: CpG Islands','rpttv','rpttv: repetitive DNA elements','smprpt','smprpt: simple repeats','fserr','fserr: Frame Shift Errors',],
624
 
        "organism" => ['human','Human','mouse','Mouse','arabd','Arabidopsis','droso','Drosophila','ecoli','E. coli',],
625
 
        "exons_options" => ['translation','strandscores','shadowexons','clusters',],
626
 
        "gap_options" => ['cluster_file','modelexon_translation','genemodel_translation','auto_strand','start_strand','end_strand','forward_strand','reverse_strand',],
627
 
        "polIIprom_options" => ['grail2_file',],
628
 
        "fserr_options" => ['fserr_strand',],
629
 
        "fserr_strand" => ['AUTO_STRAND','AUTO_STRAND','FORWARD_STRAND','FORWARD_STRAND','REVERSE_STRAND','REVERSE_STRAND',],
630
 
    };
631
 
 
632
 
    $self->{FLIST}  = {
633
 
 
634
 
    };
635
 
 
636
 
    $self->{SEPARATOR}  = {
637
 
 
638
 
    };
639
 
 
640
 
    $self->{VDEF}  = {
641
 
        "feature" => 'grail2exons',
642
 
        "organism" => 'human',
643
 
        "header" => '0',
644
 
        "translation" => '0',
645
 
        "strandscores" => '0',
646
 
        "shadowexons" => '1',
647
 
        "clusters" => '1',
648
 
        "modelexon_translation" => '0',
649
 
        "genemodel_translation" => '0',
650
 
        "auto_strand" => '1',
651
 
        "forward_strand" => '0',
652
 
        "reverse_strand" => '0',
653
 
        "fserr_strand" => 'AUTO_STRAND',
654
 
        "outfile" => 'grailclnt.txt',
655
 
 
656
 
    };
657
 
 
658
 
    $self->{PRECOND}  = {
659
 
        "grailclnt" => { "perl" => '1' },
660
 
        "seq" => { "perl" => '1' },
661
 
        "feature" => { "perl" => '1' },
662
 
        "organism" => { "perl" => '1' },
663
 
        "header" => { "perl" => '1' },
664
 
        "exons_options" => {
665
 
                "perl" => '$feature =~ /grail/',
666
 
        },
667
 
        "translation" => {
668
 
                "perl" => '$feature =~ /grail/',
669
 
        },
670
 
        "strandscores" => {
671
 
                "perl" => '$feature =~ /grail/ && $feature eq "grail1exons" ',
672
 
        },
673
 
        "shadowexons" => {
674
 
                "perl" => '$feature =~ /grail/ && $feature ne "grail1exons" ',
675
 
        },
676
 
        "clusters" => {
677
 
                "perl" => '$feature =~ /grail/ && $feature eq "grail2exons" ',
678
 
        },
679
 
        "gap_options" => {
680
 
                "perl" => '$feature eq "gap2" ',
681
 
        },
682
 
        "cluster_file" => {
683
 
                "perl" => '$feature eq "gap2" ',
684
 
        },
685
 
        "modelexon_translation" => {
686
 
                "perl" => '$feature eq "gap2" ',
687
 
        },
688
 
        "genemodel_translation" => {
689
 
                "perl" => '$feature eq "gap2" ',
690
 
        },
691
 
        "auto_strand" => {
692
 
                "perl" => '$feature eq "gap2" ',
693
 
        },
694
 
        "start_strand" => {
695
 
                "perl" => '$feature eq "gap2"  && $auto_strand',
696
 
        },
697
 
        "end_strand" => {
698
 
                "perl" => '$feature eq "gap2"  && $auto_strand',
699
 
        },
700
 
        "forward_strand" => {
701
 
                "perl" => '$feature eq "gap2"  && ! $auto_strand',
702
 
        },
703
 
        "reverse_strand" => {
704
 
                "perl" => '$feature eq "gap2"  && ! $auto_strand',
705
 
        },
706
 
        "polIIprom_options" => {
707
 
                "perl" => '$feature eq "polIIprom" ',
708
 
        },
709
 
        "grail2_file" => {
710
 
                "perl" => '$feature eq "polIIprom" ',
711
 
        },
712
 
        "fserr_options" => {
713
 
                "perl" => '$feature eq "fserr" ',
714
 
        },
715
 
        "fserr_strand" => {
716
 
                "perl" => '$feature eq "fserr" ',
717
 
        },
718
 
        "rpttv_organism" => {
719
 
                "perl" => '$feature eq "rpttv" ',
720
 
        },
721
 
        "start_seq" => { "perl" => '1' },
722
 
        "end_seq" => { "perl" => '1' },
723
 
        "end_request" => { "perl" => '1' },
724
 
        "input_file" => { "perl" => '1' },
725
 
        "outfile" => { "perl" => '1' },
726
 
 
727
 
    };
728
 
 
729
 
    $self->{CTRL}  = {
730
 
        "feature" => {
731
 
                "perl" => {
732
 
                        '$organism eq "ecoli" && (! ($feature eq "grail1" || $feature eq "smprpt")) ' => "E. coli is available only for grail1 or simple repeats",
733
 
                        '$feature eq "polIIprom" && (! ($organism eq "human" || $organism eq "mouse"))' => "polIIprom is available only for Human or Mouse",
734
 
                        '$feature eq "rpttv" && (! ($organism eq "human" || $organism eq "mouse"))' => "Repetitive DNA is available only for Human or Mouse",
735
 
                        '$organism eq "droso" && ($feature =~ /grail1/)' => "Grail 1 or 1.a is not available for drosophila",
736
 
                        '$feature eq "fserr" && (! ($organism eq "human" || $organism eq "mouse"))' => "fserr is available only for Human or Mouse",
737
 
                        '$feature eq "polya" && (! ($organism eq "human" || $organism eq "mouse"))' => "polya is available only for Human or Mouse",
738
 
                        '$organism eq "arabd" && ($feature =~ /grail1/)' => "Grail 1 or 1.a is not available for arabidopsis",
739
 
                        '$feature eq "cpg" && (! ($organism eq "human" || $organism eq "mouse"))' => "CpG is available only for Human or Mouse",
740
 
                },
741
 
        },
742
 
 
743
 
    };
744
 
 
745
 
    $self->{PIPEOUT}  = {
746
 
        "outfile" => {
747
 
                 '$feature eq "grail2exons" ' => "grail_cluster",
748
 
        },
749
 
 
750
 
    };
751
 
 
752
 
    $self->{WITHPIPEOUT}  = {
753
 
 
754
 
    };
755
 
 
756
 
    $self->{PIPEIN}  = {
757
 
        "cluster_file" => {
758
 
                 "grail_cluster" => '1',
759
 
        },
760
 
        "grail2_file" => {
761
 
                 "grail_cluster" => '1',
762
 
        },
763
 
 
764
 
    };
765
 
 
766
 
    $self->{WITHPIPEIN}  = {
767
 
 
768
 
    };
769
 
 
770
 
    $self->{ISCLEAN}  = {
771
 
        "grailclnt" => 0,
772
 
        "seq" => 0,
773
 
        "feature" => 0,
774
 
        "organism" => 0,
775
 
        "header" => 0,
776
 
        "exons_options" => 0,
777
 
        "translation" => 0,
778
 
        "strandscores" => 0,
779
 
        "shadowexons" => 0,
780
 
        "clusters" => 0,
781
 
        "gap_options" => 0,
782
 
        "cluster_file" => 0,
783
 
        "modelexon_translation" => 0,
784
 
        "genemodel_translation" => 0,
785
 
        "auto_strand" => 0,
786
 
        "start_strand" => 0,
787
 
        "end_strand" => 0,
788
 
        "forward_strand" => 0,
789
 
        "reverse_strand" => 0,
790
 
        "polIIprom_options" => 0,
791
 
        "grail2_file" => 0,
792
 
        "fserr_options" => 0,
793
 
        "fserr_strand" => 0,
794
 
        "rpttv_organism" => 0,
795
 
        "start_seq" => 0,
796
 
        "end_seq" => 0,
797
 
        "end_request" => 0,
798
 
        "input_file" => 0,
799
 
        "outfile" => 0,
800
 
 
801
 
    };
802
 
 
803
 
    $self->{ISSIMPLE}  = {
804
 
        "grailclnt" => 0,
805
 
        "seq" => 1,
806
 
        "feature" => 0,
807
 
        "organism" => 1,
808
 
        "header" => 0,
809
 
        "exons_options" => 0,
810
 
        "translation" => 0,
811
 
        "strandscores" => 0,
812
 
        "shadowexons" => 0,
813
 
        "clusters" => 0,
814
 
        "gap_options" => 0,
815
 
        "cluster_file" => 0,
816
 
        "modelexon_translation" => 0,
817
 
        "genemodel_translation" => 0,
818
 
        "auto_strand" => 0,
819
 
        "start_strand" => 0,
820
 
        "end_strand" => 0,
821
 
        "forward_strand" => 0,
822
 
        "reverse_strand" => 0,
823
 
        "polIIprom_options" => 0,
824
 
        "grail2_file" => 0,
825
 
        "fserr_options" => 0,
826
 
        "fserr_strand" => 0,
827
 
        "rpttv_organism" => 0,
828
 
        "start_seq" => 0,
829
 
        "end_seq" => 0,
830
 
        "end_request" => 0,
831
 
        "input_file" => 0,
832
 
        "outfile" => 0,
833
 
 
834
 
    };
835
 
 
836
 
    $self->{PARAMFILE}  = {
837
 
        "feature" => "grail_input_a1",
838
 
        "header" => "grail_input_a1",
839
 
        "translation" => "grail_input_a1",
840
 
        "strandscores" => "grail_input_a1",
841
 
        "shadowexons" => "grail_input_a1",
842
 
        "clusters" => "grail_input_a1",
843
 
        "modelexon_translation" => "grail_input_a1",
844
 
        "genemodel_translation" => "grail_input_a1",
845
 
        "auto_strand" => "grail_input_a1",
846
 
        "start_strand" => "grail_input_a1",
847
 
        "end_strand" => "grail_input_a1",
848
 
        "forward_strand" => "grail_input_a1",
849
 
        "reverse_strand" => "grail_input_a1",
850
 
        "fserr_strand" => "grail_input_a1",
851
 
        "rpttv_organism" => "grail_input_a1",
852
 
        "start_seq" => "grail_input_a3",
853
 
        "end_seq" => "grail_input_a5",
854
 
        "end_request" => "grail_input_z9",
855
 
 
856
 
    };
857
 
 
858
 
    $self->{COMMENT}  = {
859
 
        "feature" => [
860
 
                "The coding recognition portion of the system uses a neural network which combines a series of coding prediction algorithms. There are three basic versions of this neural network, GRAIL 1, GRAIL 1a and GRAIL 2: ",
861
 
                "GRAIL 1 has been in place for about five years. It uses a neural network described in PNAS 88, 11261-11265, which recognizes coding potential within a fixed size (100 base) window. It evaluates coding potential without looking for additional features (information such as splice junctions, etc).",
862
 
                "GRAIL 1a is an updated version of GRAIL 1. It uses a fixed-length window to locate the potential coding regions and then evaluates a number of discrete candidates of different lengths around each potential coding region, using information from the two 60-base regions adjacent to that coding region, to find the \'best\' boundaries for that coding region.",
863
 
                "GRAIL 2 uses variable-length windows tailored to each potential exon candidate, defined as an open reading frame bounded by a pair of start/donor, acceptor/donor or acceptor/stop sites. This scheme facilitates the use of more genomic context information (splice junctions, translation starts, non-coding scores of 60-base regions on either side of a putative exon) in the exon recognition process. GRAIL 2 is therefore not appropriate for sequences without genomic context (when the regions adjacent to an exon are not present).",
864
 
        ],
865
 
        "shadowexons" => [
866
 
                "This feature is needed for a further polIIpromoters analysis.",
867
 
        ],
868
 
        "clusters" => [
869
 
                "This feature is needed for a further Gene Modelling analysis with GAP2 or polIIpromoters.",
870
 
        ],
871
 
        "cluster_file" => [
872
 
                "For gap2 (gene assembly) the cluster tables returned by grail2exons must be included.",
873
 
                "So what you have to do here is to put your grail2exons results, the program will extract clusters from this data.",
874
 
        ],
875
 
        "grail2_file" => [
876
 
                "For Pol II promoters, all the results of grail2 must be included.",
877
 
                "The [Start/end header] lines must be removed.",
878
 
        ],
879
 
 
880
 
    };
881
 
 
882
 
    $self->{SCALEMIN}  = {
883
 
 
884
 
    };
885
 
 
886
 
    $self->{SCALEMAX}  = {
887
 
 
888
 
    };
889
 
 
890
 
    $self->{SCALEINC}  = {
891
 
 
892
 
    };
893
 
 
894
 
    $self->{INFO}  = {
895
 
 
896
 
    };
897
 
 
898
 
# -- end of definitions extracted from /local/gensoft/lib/Pise/5.a/PerlDef/grailclnt.pm
899
 
 
900
 
 
901
 
 
902
 
    $self->_init_params(@params);
903
 
 
904
 
    return $self;
905
 
}
906
 
 
907
 
 
908
 
 
909
 
1; # Needed to keep compiler happy
910