[Bio] / Sprout / LoadSproutTables.pl Repository:
ViewVC logotype

Diff of /Sprout/LoadSproutTables.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4, Sun Sep 11 17:06:21 2005 UTC revision 1.13, Sat Nov 12 03:42:48 2005 UTC
# Line 2  Line 2 
2    
3  =head1 Load Sprout Tables  =head1 Load Sprout Tables
4    
5  Create the load files for a group of Sprout tables. The parameters are the names of  =head2 Introduction
6  the table groups whose data is to be created. The legal table group names are given below.  
7    This script creates the load files for Sprout tables and optionally loads them.
8    The parameters are the names of the table groups whose data is to be created.
9    The legal table group names are given below.
10    
11  =over 4  =over 4
12    
# Line 24  Line 27 
27  =item Subsystem  =item Subsystem
28    
29  Loads B<Subsystem>, B<Role>, B<SSCell>, B<ContainsFeature>, B<IsGenomeOf>,  Loads B<Subsystem>, B<Role>, B<SSCell>, B<ContainsFeature>, B<IsGenomeOf>,
30  B<IsRoleOf>, B<OccursInSubsystem>, B<ParticipatesIn>, B<HasSSCell>.  B<IsRoleOf>, B<OccursInSubsystem>, B<ParticipatesIn>, B<HasSSCell>,
31    B<Catalyzes>, B<ConsistsOfRoles>, B<RoleSubset>, B<HasRoleSubset>,
32    B<ConsistsOfGenomes>, B<GenomeSubset>, B<HasGenomeSubset>, B<Diagram>,
33    B<RoleOccursIn>.
34    
35  =item Annotation  =item Annotation
36    
37  Loads B<SproutUser>, B<UserAccess>, B<Annotation>, B<IsTargetOfAnnotation>,  Loads B<SproutUser>, B<UserAccess>, B<Annotation>, B<IsTargetOfAnnotation>,
38  B<MadeAnnotation>.  B<MadeAnnotation>.
39    
 =item Diagram  
   
 Loads B<Diagram>, B<RoleOccursIn>.  
   
40  =item Property  =item Property
41    
42  Loads B<Property>, B<HasProperty>.  Loads B<Property>, B<HasProperty>.
# Line 55  Line 57 
57    
58  Loads B<ExternalAliasOrg>, B<ExternalAliasFunc>.  Loads B<ExternalAliasOrg>, B<ExternalAliasFunc>.
59    
60    =item Reaction
61    
62    Loads B<ReactionURL>, B<Compound>, B<CompoundName>,
63    B<CompoundCAS>, B<IsAComponentOf>, B<Reaction>.
64    
65  =item *  =item *
66    
67  Loads all of the above tables.  Loads all of the above tables.
68    
69  =back  =back
70    
71  There are two command-line options, given below. Note that in the command line, spaces  The command-line options are given below.
 inside parameters should be represented by C<\b>.  
72    
73  =over 4  =over 4
74    
# Line 82  Line 88 
88    
89  Desired tracing level. The default is 3.  Desired tracing level. The default is 3.
90    
91    =item limitedFeatures
92    
93    Only generate the B<Feature> and B<IsLocatedIn> tables when processing the feature group.
94    
95    =item dbLoad
96    
97    If TRUE, the database tables will be loaded automatically from the load files created.
98    
99  =back  =back
100    
101    =head2 Usage
102    
103    To load all the Sprout tables and then validate the result, you need to issue three
104    commands.
105    
106        LoadSproutTables -dbLoad "*"
107        TestSproutLoad
108        index_sprout
109    
110    All three commands send output to the console. In addition, C<LoadSproutTables> and
111    C<TestSproutLoad> write tracing information to C<trace.log> in the FIG temporary
112    directory (B<$FIG_Config::Tmp>). At the bottom of the log file will be a complete
113    list of errors. If errors occur in C<LoadSproutTables>, then the data must be corrected
114    and the offending table group reloaded. So, for example, if there are errors in the
115    load of the B<MadeAnnotation> and B<Compound> tables, you would need to run
116    
117        LoadSproutTables -dbLoad Annotation Reaction
118    
119    because B<MadeAnnotation> is in the C<Annotation> group, and B<Compound> is in the
120    C<Reaction> group. You can omit the C<dbLoad> option to create the load files without
121    loading the database, and you can add a C<trace> option to change the trace level.
122    The command below creates the Genome-related load files with a trace level of 3 and
123    does not load them into the Sprout database.
124    
125        LoadSproutTables -trace=3 Genome
126    
127    C<LoadSproutTables> takes a long time to run, so setting the trace level to 3 helps
128    to give you an idea of the progress.
129    
130    Once the Sprout database is loaded, B<TestSproutLoad> can be used to verify the load
131    against the FIG data. Again, the end of the C<trace.log> file will contain a summary
132    of the errors found. Like C<LoadSproutTables>, C<TestSproutLoad> is a time-consuming
133    script, so you may want to set the trace level to 3 to see visible progress.
134    
135        TestSproutLoad -trace=3
136    
137    Unlike C<LoadSproutTables>, in C<TestSproutLoad>, the individual errors found are
138    mixed in with the trace messages. They are all, however, marked with a trace type
139    of B<Problem>, as shown in the fragment below.
140    
141        11/02/2005 19:15:16 <main>: Processing feature fig|100226.1.peg.7742.
142        11/02/2005 19:15:17 <main>: Processing feature fig|100226.1.peg.7741.
143        11/02/2005 19:15:17 <Problem>: assignment "Short-chain dehydrodenase ...
144        11/02/2005 19:15:17 <Problem>: assignment "putative oxidoreductase." ...
145        11/02/2005 19:15:17 <Problem>: Incorrect assignment for fig|100226.1.peg.7741...
146        11/02/2005 19:15:17 <Problem>: Incorrect number of annotations found in ...
147        11/02/2005 19:15:17 <main>: Processing feature fig|100226.1.peg.7740.
148        11/02/2005 19:15:18 <main>: Processing feature fig|100226.1.peg.7739.
149    
150    The test may reveal that some tables need to be reloaded, or that a software
151    problem has crept into the Sprout.
152    
153    Once all the tables have the correct data, C<index_sprout> can be run to create the
154    Glimpse indexes.
155    
156  =cut  =cut
157    
158  use strict;  use strict;
# Line 96  Line 165 
165  use File::Path;  use File::Path;
166  use SproutLoad;  use SproutLoad;
167  use Stats;  use Stats;
168    use SFXlate;
169    
170  # Get the command-line parameters and options.  # Get the command-line parameters and options.
171  my ($options, @parameters) = Tracer::ParseCommand({ geneFile => "", subsysFile => "",  my ($options, @parameters) = Tracer::ParseCommand({ geneFile => "", subsysFile => "",
172                                                      trace => 3 },                                                      trace => 3, limitedFeatures => 0,
173                                                                 @ARGV);                                                      dbLoad => 0 }, @ARGV);
174  # Set up tracing.  # Set up tracing.
175  TSetup("$options->{trace} SproutLoad ERDBLoad ERDB Stats Tracer Load", "+>$FIG_Config::temp/trace.log");  TSetup("$options->{trace} SproutLoad ERDBLoad ERDB Stats Tracer Load", "+>$FIG_Config::temp/trace.log");
176  # Create the sprout loader object.  # Create the sprout loader object. Note that the Sprout object does not
177    # open the database unless the "dbLoad" option is turned on.
178  my $fig = FIG->new();  my $fig = FIG->new();
179  my $sprout = SFXlate->new_sprout_only();  my $sprout = SFXlate->new_sprout_only(undef, undef, undef, ! $options->{dbLoad});
180  my $spl = SproutLoad->new($sprout, $fig, $options->{geneFile},  my $spl = SproutLoad->new($sprout, $fig, $options->{geneFile}, $options->{subsysFile}, $options);
                           $options->{subsysFile});  
181  # Process the parameters.  # Process the parameters.
182  for my $group (@parameters) {  for my $group (@parameters) {
183      Trace("Processing load group $group.") if T(2);      Trace("Processing load group $group.") if T(2);
# Line 127  Line 197 
197      if ($group eq 'Property' || $group eq '*') {      if ($group eq 'Property' || $group eq '*') {
198          $spl->LoadPropertyData();          $spl->LoadPropertyData();
199      }      }
     if ($group eq 'Diagram' || $group eq '*') {  
         $spl->LoadDiagramData();  
     }  
200      if ($group eq 'Annotation' || $group eq '*') {      if ($group eq 'Annotation' || $group eq '*') {
201          $spl->LoadAnnotationData();          $spl->LoadAnnotationData();
202      }      }
# Line 145  Line 212 
212      if ($group eq 'External' || $group eq '*') {      if ($group eq 'External' || $group eq '*') {
213          $spl->LoadExternalData();          $spl->LoadExternalData();
214      }      }
215        if ($group eq 'Reaction' || $group eq '*') {
216            $spl->LoadReactionData();
217        }
218    
219  }  }
220  Trace("Load complete.") if T(2);  Trace("Load complete.") if T(2);

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.13

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3