annotate lib/parser.pm @ 1:adf9ae010b1c draft

planemo upload for repository https://github.com/workflow4metabolomics/tool-bank-lipidmaps.git commit 7028ace57a9bbcefccb40cf4c841ef8a92646e06
author fgiacomoni
date Tue, 11 Apr 2017 04:09:58 -0400
parents e8bd49794291
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
1 package lib::parser ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
2
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
3 use strict;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
4 use warnings;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
5
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
6 use Data::Dumper;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
7 use Carp ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
8
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
9 use Exporter;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
10 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
11
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
12 $VERSION = "1.0";
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
13 @ISA = qw(Exporter);
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
14 @EXPORT = ();
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
15 @EXPORT_OK = qw( get_oxidation_ref get_neutral_loss_ref set_category set_class set_subclass );
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
16 %EXPORT_TAGS = ( ALL => [qw( get_oxidation_ref get_neutral_loss_ref set_category set_class set_subclass )] ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
17
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
18 =head1 NAME
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
19
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
20 My::operations - An example module
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
21
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
22 =head1 SYNOPSIS
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
23
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
24 use My::operations;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
25 my $object = My::Module->new();
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
26 print $object->as_string;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
27
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
28 =head1 DESCRIPTION
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
29
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
30 This module clusters several more used maths functions like factorial...
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
31
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
32 =head1 METHODS
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
33
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
34 Methods are :
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
35
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
36 =head2 METHOD new
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
37
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
38 ## Description : new
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
39 ## Input : $self
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
40 ## Ouput : bless $self ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
41 ## Usage : new() ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
42
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
43 =cut
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
44
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
45 sub new {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
46 ## Variables
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
47 my $self={};
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
48 bless($self) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
49 return $self ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
50 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
51 ### END of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
52
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
53 =head2 METHOD get_oxidation_ref
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
54
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
55 ## Description : get oxidation type and oxidation modification from conf file
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
56 ## Input : $CONF
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
57 ## Output : $list_oxidations, $list_ox_values
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
58 ## Usage : my ( $list_oxidations, $list_ox_values ) = get_oxidation_ref( $CONF, $selected_ox ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
59
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
60 =cut
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
61 ## START of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
62 sub get_oxidation_ref {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
63 ## Retrieve Values
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
64 my $self = shift ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
65 my ( $CONF, $selected_ox ) = @_ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
66
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
67 my @list_oxidations = () ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
68 my @clean_list_oxidations = () ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
69 my @list_ox_values = () ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
70
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
71 if ( defined $selected_ox ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
72
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
73 @list_oxidations = split( /,/, $selected_ox ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
74 my $pos = 0 ; ## manage the splice
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
75
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
76 foreach my $ox ( @list_oxidations ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
77 if ($ox !~/NA$/ ) { ## case of ox
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
78 push(@clean_list_oxidations, $ox) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
79 if ( $ox =~/^loss_(.*)/ ) { push ( @list_ox_values, ($CONF->{$1}) ) ; }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
80 elsif ( $ox =~/^add_(.*)/ ) { push ( @list_ox_values, -($CONF->{$1}) ) ; } ### carefull of the number sign
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
81 else { warn "This oxidation ($ox) is unknown in conf and menu\n" ; }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
82 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
83 else { # if atoms eq NA, splice it
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
84 next ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
85 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
86 $pos++ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
87 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
88 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
89 return(\@clean_list_oxidations, \@list_ox_values) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
90 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
91 ## END of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
92
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
93 =head2 METHOD get_neutral_loss_ref
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
94
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
95 ## Description : get neutral loss type and neutral loss modifications from conf file
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
96 ## Input : $CONF
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
97 ## Output : $list_neutral_losses, $list_nloss_values
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
98 ## Usage : my ( $list_neutral_losses, $list_nloss_values ) = get_neutral_loss_ref( $CONF, $selected_nloss ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
99
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
100 =cut
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
101 ## START of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
102 sub get_neutral_loss_ref {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
103 ## Retrieve Values
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
104 my $self = shift ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
105 my ( $CONF, $selected_nloss ) = @_ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
106
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
107 my @list_neutral_losses = () ; ## complete list
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
108 my @clean_list_neutral_losses = () ; # list without NA
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
109 my @list_nloss_values = () ; # values
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
110
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
111 if ( defined $selected_nloss ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
112 @list_neutral_losses = split( /,/, $selected_nloss ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
113
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
114 foreach my $nloss ( @list_neutral_losses ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
115
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
116 if ($nloss !~/NA$/ ) { ## case of neutral loss
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
117 push(@clean_list_neutral_losses, $nloss) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
118 if ( $nloss =~/^loss_(.*)/ ) { push ( @list_nloss_values, ($CONF->{$1}) ) ; }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
119 elsif ( $nloss =~/^add_(.*)/ ) { push ( @list_nloss_values, -($CONF->{$1}) ) ; } ### carefull of the number sign
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
120 else { warn "This neutral loss ($nloss) is unknown in conf and menu\n" ; }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
121 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
122 else { # if atoms eq NA, splice it
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
123 next ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
124 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
125 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
126 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
127 return(\@clean_list_neutral_losses, \@list_nloss_values) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
128 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
129 ## END of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
130
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
131 =head2 METHOD set_category
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
132
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
133 ## Description : set the category id from any types of ids
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
134 ## Input : $unknown_id
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
135 ## Output : $cat_id
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
136 ## Usage : my ( $cat_id ) = set_category( $unknown_id ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
137
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
138 =cut
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
139 ## START of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
140 sub set_category {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
141 ## Retrieve Values
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
142 my $self = shift ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
143 my ( $unknown_id ) = @_ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
144 my $cat_id = undef ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
145
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
146 if ( defined $unknown_id ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
147 if ( $unknown_id > 0 ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
148 if ( (length $unknown_id) == 1 ) { $cat_id = $unknown_id }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
149 elsif ( (length $unknown_id) == 3 ) { $cat_id = substr($unknown_id, 0, 1) }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
150 elsif ( (length $unknown_id) == 5 ) { $cat_id = substr($unknown_id, 0, 1) }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
151 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
152 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
153 else {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
154 warn "Can't find any id to substr\n" ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
155 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
156 return( \$cat_id ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
157 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
158 ## END of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
159
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
160 =head2 METHOD set_class
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
161
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
162 ## Description : set the class id from any types of ids
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
163 ## Input : $unknown_id
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
164 ## Output : $class_id
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
165 ## Usage : my ( $class_id ) = set_category( $unknown_id ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
166
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
167 =cut
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
168 ## START of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
169 sub set_class {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
170 ## Retrieve Values
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
171 my $self = shift ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
172 my ( $unknown_id ) = @_ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
173 my $class_id = undef ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
174
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
175 if ( defined $unknown_id ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
176 if ( $unknown_id > 0 ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
177 if ( (length $unknown_id) == 3 ) { $class_id = $unknown_id }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
178 elsif ( (length $unknown_id) == 5 ) { $class_id = substr($unknown_id, 0, 3) }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
179 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
180 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
181 else {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
182 warn "Can't find any id to substr\n" ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
183 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
184 return( \$class_id ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
185 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
186 ## END of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
187
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
188 =head2 METHOD set_subclass
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
189
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
190 ## Description : set the subclass id from any types of ids
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
191 ## Input : $unknown_id
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
192 ## Output : $subclass_id
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
193 ## Usage : my ( $subclass_id ) = set_subclass( $unknown_id ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
194
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
195 =cut
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
196 ## START of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
197 sub set_subclass {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
198 ## Retrieve Values
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
199 my $self = shift ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
200 my ( $unknown_id ) = @_ ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
201 my $subclass_id = undef ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
202
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
203 if ( defined $unknown_id ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
204 if ( $unknown_id > 0 ) {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
205 if ( (length $unknown_id) == 5 ) { $subclass_id = $unknown_id }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
206 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
207 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
208 else {
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
209 warn "Can't find any id to substr\n" ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
210 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
211 return( \$subclass_id ) ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
212 }
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
213 ## END of SUB
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
214
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
215
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
216
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
217 1 ;
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
218
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
219
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
220 __END__
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
221
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
222 =head1 SUPPORT
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
223
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
224 You can find documentation for this module with the perldoc command.
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
225
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
226 perldoc XXX.pm
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
227
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
228 =head1 Exports
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
229
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
230 =over 4
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
231
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
232 =item :ALL is ...
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
233
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
234 =back
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
235
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
236 =head1 AUTHOR
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
237
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
238 Franck Giacomoni E<lt>franck.giacomoni@clermont.inra.frE<gt>
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
239
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
240 =head1 LICENSE
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
241
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
242 This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
243
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
244 =head1 VERSION
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
245
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
246 version 1 : xx / xx / 201x
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
247
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
248 version 2 : ??
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
249
e8bd49794291 Init repository with last lipidmaps_textsearch master version
fgiacomoni
parents:
diff changeset
250 =cut