Mercurial > repos > fgiacomoni > lipidmaps_textsearch
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 |
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 |