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.
There are two separate sets of attributes, one for maps and another for analysis results. For each there are two types of attributes:
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.
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.
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.
Attributes define two types of data to SIFTER:
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.
Each input attribute file for addattr.pl must contain the following keywords:
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 $