SIFTER Administration

SIFTER attempts to be as flexible as possible in the names chosen for the data saved. There are a small number of fixed names which cannot be changed, but most names can be changed. All of these names are incorporated as attributes.

Attributes and Enumerations

There are two separate sets of attributes, one for maps and another for analysis results. For each there are two types of attributes:

Primary attributes
are those keywords which are used to describe some characteristic of your map or result. This might include the type of analysis, date, analyst or other. Taken together, all the primary attributes will uniquely identify the map or analysis. These attributes may be used to search for a particular map or result. The list of primary attributes is fixed within SIFTER. You may modify the details of a primary attribute, but a it may not be deleted.
Secondary attributes
are those keywords which describe some additional aspect of your map or result. This includes the software used, it's version, as well as all the result variable names found in your results. You may well want to invent your own attributes. While you may add or delete secondary attributes, care should be taken to avoid deleting attributes which are being referenced by maps or results. Secondary attributes may also be used to search for a particular map or result.

The comand showsifter.pl (part of the client install) can be used to display the attributes for maps and analysis. There is a web interface which shows the same information.

Default Analysis Attributes

                               Primary Attributes
  Name          Display_name  Format  Req  Description                           
  ============  ============  ======  ===  ====================================  
  Analyst       Analyst       %10s    0    Analyst                               
  Chromosome    Chromosome    %2s     1    Chromosome                            
  Date          Date          %10s    1    Date analysis was run                 
  IsMultipoint  IsMultipoint  %1s     1    Multipoint analysis                   
  MapID         MapID         %12s    0    Unique ID for Map                     
  MapName       MapName       %50s    1    Map on which analysis is based        
  Population    Population    %25s    0    Population                            
  Position      Position      %f      1    Map position                          
  Project       Project       %25s    0    Project                               
  Statistic     Statistic     %10s    1    Statistic used                        
  Status        Status        %1s     0    If a more up-to-date analysis exists  
  Title         Title         %60s    0    Unique title for this analysis        
  Trait         Trait         %25s    0    Trait analyzed                        
  Type          Type          %25s    1    Type of analysis                      
  Uniqname      Uniqname      %32s    1    Unique string used to find a result   
  Value         Value         %12.3f  1    Value of statistic                    
  
                                 Secondary Attributes
  Name             Display_name     Format  Req  Description          
  ===============  ===============  ======  ===  ===================  
  Software         Software         %25s    0    Software used        
  SoftwareVersion  SoftwareVersion  %25s    0    Version of software  

Default Map Attributes

                                 Primary Attributes
  Name        Display_name  Format  Req  Description                                    
  ==========  ============  ======  ===  =============================================  
  Analyst     Analyst       %10s    0    Map analyst                                    
  Chromosome  Chromosome    %2s     1    Chromosome                                     
  Date        Date          %10s    1    Map date                                       
  MarkerID    MarkerID      %12d    0    Unique database ID of marker                   
  MarkerName  MarkerName    %16s    1    Name of marker on map                          
  Name        Name          %30s    1    Unique map name                                
  Position    Position      %12.3f  1    Position of marker on map                      
  Software    Software      %25s    0    Map software                                   
  Source      Source        %25s    0    Map source                                     
  Status      Status        %1s     0    Map status (true if a newer map is available)  
  Type        Type          %10s    1    Map type                                       
  Units       Units         %10s    1    Map units                                      
  
                                 Secondary Attributes
  Name   Display_name  Format  Req  Description                                 
  =====  ============  ======  ===  ==========================================  
  Flips  Flips         %f      0    Log of the likelihood ratio for this order  

Each attribute may be defined with a particular data type (boolean, string, number, enumerated values etc). You must explicitly set the valid enumeration values when the data type is enum. When you attempt to load data and specify an enumerated attribute, the value of the attribute must be in the enumeration list or the data load will fail. This helps to insure the integrity of the data.

You may change attributes and enumerations using the web pages that come with the install of a project. See the links at the top of your SIFTER home page. These forms will allow you to display and/or modify the attributes and enumerated values for your project. Keep in mind, however, that changing attributes or enumeration values could invalidate data already loaded into your database.

You may also initialize attributes and enumerations in an automated fashion. The programs addattr.pl and addenum.pl are part of the client install and read simple ASCII files and update your project database. These programs are particularly useful during the early learning phase when you decide to rebuild the database several times while you are learning what you want.

Batch Attribute Changes

Attributes can be set with the Perl script addattr.pl (documentation is available using perldoc addattr.pl as you should expect). This reads a file of key=value lines and changes the secondary attribute in the database. A sample follows:

~> cat analysis.zlr.attr
name=zlr
type=number
format=%f
display_name=ZLR
description=Result variable
is_required=0
allow_new_values=0

addattr.pl -realm=MYPROJ -type=analysis analysis.zlr.attr

You will find it convenient to create separate files for each attribute and then use a simple shell script to invoke addattr.pl to update each attribute. Alternatively you may, of course, use the web interface to make the changes too.

Batch Enumeration Changes

Enumerations can be set with the Perl script addenum.pl (use perldoc again). You should set enumerations for both primary and secondary attributes. For instance, you will certainly want to set enumerations for these primary attributes: population, project, statistic and possibly type.

The program reads a file of values (one per line) and replaces all the enumerations for an existing attribute. This means you must make any changes to attributes before setting the enumerations. A sample follows:

~> cat analysis.statistic.enum
intlod
lod
osalod
pvalue

addenum.pl -realm=MYPROJ -type=analysis statistic analysis.statistic.enum

You will find it convenient to create separate files for each enumeration and then use a simple shell script to invoke addenum.pl to update the enumerations for each attribute. Alternatively you may, of course, use the web interface to make the changes too.

When to Add an Attribute

Attributes define two types of data to SIFTER:

  1. A particular class of characteristics of your data. Your analysis might be organized by some event (perhaps associated with a regular meeting) and so you'd like to be able to search for a result based on the event. You should add an enumerated attribute 'event' and set the enumeration list to all the possible unique event values (assuming this is a smallish list). Adding this attribute allows you to search for results with a particular event value, making your overall search more efficient.

  2. Each result variable name must be an attribute. In the SIFTER configuration file you will specify 'vars=' values to name each column of data you want to keep. It would not be surprising you'd want to add attributes with these names: condchr, condpos, dhat, hpl, uload, or zlr (assuming some of these names suggest names of variables in your results).

Each input attribute file for addattr.pl must contain the following keywords:

HTML Customization and Localization

All HTML pages are generated by the Perl Template Toolkit module which allows one to specify a path where the HTML files are found. SIFTER sets the HTML path to include a directory for the local installation to copy and modify almost any HTML file.

During the installation the project name serves as a directory in your Web server's HTDOCS directory. This is where all the SIFTER HTML, CGI and image files for the project are saved. In that directory you will also find a directory named local. If you wish to modify some HTML file, all you need do is copy it to the local directory and make your change. Your changed file will be found before the standard SIFTER HTML pages. This technique only applies to HTML pages generated by the CGI scripts. It does not apply to static HTML pages (like this one) or images.

For instance, suppose you want to add additional links in the standard header. All you'd need to do is copy hdr.html (or more likely hdr1.html) to the directory local and modify it. Be careful to avoid unintentionally removing any SIFTER functionality. When installing a new SIFTER release, you'll need to review any files you've modified in local and check for changes in the release files.

Version=$Id: admin.html,v 1.7 2002/09/13 16:54:03 tpg Exp $