ZFIN Documentation:
Table of Contents
This documentation is preserved for historical purposes, and NOT updated. Updated documentation is found here: http://almost.zfin.org/doc

$Id: index.html,v 1.77 2006-03-30 23:17:38 peirans Exp $


The online ZFIN documentation
is split across a small number of files. The first part is an introduction that should be useful to everyone involved in the project. The remaining parts are each geared to a different audience, depending on the job they do.

Sections

Introduction

Curation

Data Submission and Transfer

Database Design

Implementation and Developement

Coding Standards and Best Practices

System, Web Server, and Database Administration

Table of Contents, Overview

Introduction

  1. ZFIN
  2. ZFIN Documentation
  3. FogBUGZ
  4. ZFIN Web Sites
  5. ODBC Connections

Curation

  1. Overview
  2. Curation Resources
  3. Publication Identification, Entry, Acquisition, and Annotation
  4. Genes
  5. Mutants
  6. Morpholinos
  7. People and Labs
  8. Companies
  9. Publications
  10. Nomenclature Approvals
  11. When the Web Pages Aren't Enough

Data Submission and Transfer:

  1. Overview
  2. Direct Data Submissions
  3. Automated Data Transfers

Database Design

  1. History
  2. Logical Design Conventions
  3. Database Schema
  4. Database Areas
  5. Database Cleaning and Validation
  6. Database Functions

Implementation and Development

  1. Big Picture
  2. Machines and Informix Engines
  3. Directories and Files
  4. Web Site / Database / Machine Matrix
  5. ZFIN Development Environments
  6. Web Page Design and Implementation
  7. Database Implementation
  8. Uniquery
  9. BLAST
  10. Mirror Sites

Coding Standards and Best Practices

  1. Philosophy
  2. Updating ZFIN Standards
  3. Enforcement
  4. General Standards and Best Practices
  5. HTML
  6. Database
  7. Web Datablade App Pages
  8. CGI
  9. PERL

System, Web Server, and Database Administration

  1. Database Administration
  2. Apache and Web Datablade Administration
  3. System Administration
  4. BLAST Server Admininstration
  5. Moving zfin.org to a Different Machine
  6. Moving loadUp directories

Table of Contents, Detailed

Introduction

  1. ZFIN
  2. ZFIN Documentation
    1. Where To Find This Documentation
    2. How To Read This Documentation
      1. Biologists
      2. Technologists
    3. How To Update This Documentation
      1. Biologists
      2. Technologists
        1. Figures
        2. Database Documentation
  3. FogBUGZ
  4. ZFIN Web Sites
    1. Production Site
    2. Pre-Production and Sandbox Site
    3. Beta Testing Site
    4. Development Sites
    5. BLAST Site
    6. Mirror Sites
  5. ODBC Connections

Curation

  1. Overview
  2. Curation Resources
    1. Journal Acquisition
    2. Nomenclature
    3. Bioinformatics and Analysis Tools
    4. Genome and Sequence
    5. Ontologies
    6. Model Organism Databases
  3. Publication Identification, Entry, Acquisition, and Annotation
  4. Genes
    1. Gene Nomenclature
      1. Nomenclature Entry
        1. Renaming genes
        2. "Reason"s for renaming gene names and symbols
      2. Previous Names
        1. Previous Name Entry
    2. Gene Products
    3. Gene Ontology (GO)
      1. Creating New Annotations
      2. Editing Existing Annotations
        1. Using the Annotation Editor
        2. Deleting GO Terms
      3. General GO Consortium Recommendations
      4. Evidence Codes
        1. IC
        2. IDA
        3. IEA
        4. IEP
        5. IGI
        6. IPI
        7. IMP
        8. ISS
        9. NAS
        10. ND
        11. TAS
      5. ZFIN GO Curation Policies
        1. Annotating a subunit of a complex and the use of the "contributes to" checkbox.
        2. Exchange of DNA/RNA between species.
        3. "Sensu" terms and term definitions.
        4. Creating new GO terms and modifying current ontology structures.
        5. Bringing forward annotations from orthologs/homologs.
    4. Gene Expression
      1. Gene Expression Entry
    5. DNA Segments
      1. DNA Segment Entry
    6. Sequence
      1. Sequence Entry
    7. Mapping
      1. Mapping Entry
    8. Orthology
      1. Orthology Entry
    9. Citations
      1. Citation Entry
    10. Merging Genes
  5. Mutants
    1. Locus/allele registration
    2. Curation of Locus and Fish records
      1. Linking Locus and Fish records
      2. Affected gene
      3. Previous names
      4. Mutant descriptions
      5. Phenotype annotation
      6. Publications
    3. Images
  6. Morpholinos
    1. Morpholino Nomenclature
    2. Confirming Morpholino Sequences
    3. Adding a New Morpholino
    4. Other Morpholino Considerations
  7. People and Labs
    1. New Records
    2. Updating Information
    3. Deleting Records
  8. Companies
    1. New Records
    2. Updating Information
  9. Publications
    1. Pub Searches
    2. Entering New Publications
    3. Linking to Authors
  10. Nomenclature Approvals
  11. When the Web Pages Aren't Enough

Data Submission and Transfer:

  1. Overview
  2. Direct Data Submissions
    1. Mapping Panels
    2. Expression Data (FileMaker Templates)
      1. Purpose
      2. Passwords
      3. The User Interface
      4. Tables
      5. Fields
      6. Scripts
      7. Controlled Vocabularies
      8. FR Template
  3. Automated Data Transfers
    1. ZFIN Download Files
    2. Custom Data Transfers
      1. pull.sh
      2. BLAST
      3. euGenes
      4. GO
      5. NCBI
        1. GenPept
        2. RefSeq
      6. John Postlethwait
      7. Sanger
      8. SWISS-PROT
      9. Thisse
      10. ZIRC
      11. Images and PDFs

Database Design

  1. History
  2. Logical Design Conventions
    1. ZDB IDs and ZDB Object Types
    2. Sources and Data
      1. Sources
      2. Data
      3. ZDB_ACTIVE_SOURCE and ZDB_ACTIVE_DATA
        1. ZDB ID History
    3. Tables and Columns
      1. Generic Tables
      2. Data Types
        1. VARCHAR and CHAR
        2. LVARCHAR, CLOB, and HTML
      3. Redundant Data
        1. Derived Data
          1. Derived Columns
          2. Fast Search Tables
        2. Redundant Attributions
        3. Legacy Redundant Data
      4. Private Data
    4. Views
    5. Naming Conventions
      1. Table Names
      2. View Names
      3. Column Names
      4. Function Names
      5. Other Database Names
    6. Constraints
      1. Primary Keys
        1. When to Give a Table Its Own ZDB ID
          1. When to Add a Foreign Key Referencing ZDB_ACTIVE_DATA
      2. Foreign Keys
        1. Cascading Deletes
        2. When Not to Use a Foreign Key
      3. Alternate Keys
      4. Not NULL Constraints
      5. Check Constraints
        1. Check Triggers
    7. Triggers
  3. Database Schema
  4. Database Areas
    1. Anatomical Dictionary
    2. Expression
    3. Fish / Mutants
      1. Fish Images
      2. ZIRC
      3. New Fish Model
    4. Infrastructure
    5. Mapping and Linkages
    6. Markers and Genes
      1. Gene Ontology (GO)
      2. Orthologues and DB Links
    7. Sources and Attribution
      1. Curator Database
    8. Unclassified
  5. Database Cleaning and Validation
  6. Database Functions
    1. Infrastructure Functions
    2. Text Processing Functions
    3. Regen Functions
      1. regen_names Functions
        1. regen_names Implementation
    4. Stage Functions
      1. Stage Name Functions
        1. Stage Names
      2. Stage Window Functions
        1. Stage Windows
    5. Image Functions
    6. Fish/Mutant Functions
    7. Publication Functions

Implementation and Development

  1. Big Picture
    1. Architecture
    2. Development and Deployment
      1. Creating a Test Web Site
      2. Updating a File
      3. Deploying a Change to Production
  2. Machines and Informix Engines
    1. Production Server
    2. Development Server
    3. Upgrade Server
    4. BLAST Server
    5. FogBUGZ Server
    6. Non-Server Machines
    7. Past Servers
  3. Directories and Files
    1. Web Sites
      1. Web Site Directory Structure
    2. ZFIN Central
    3. ZFIN Commons
    4. ZFIN Prod
    5. ZFIN Users
    6. ZFIN Unloads
    7. ZFIN Archive
    8. /private
      1. /private/ZfinLinks
    9. Databases
    10. loadUp Directories
  4. Web Site / Database / Machine Matrix
  5. ZFIN Development Environments
    1. Environment Variables
      1. .env Files
      2. Informix Environment Variables
      3. Makefile Environment Variables
    2. Makefiles and the ZFIN_WWW Source Tree
      1. Generic vs. Specific
      2. Recursion
      3. Targets
      4. Makefile Variables
      5. Makefile Include Files
      6. Staging Directories
    3. Source Code Control and CVS
      1. CVS Commands
        1. CVS Global Options
        2. CVS Common Command Options
      2. CVSweb
      3. CVS, Locking, and Multiple Developers
        1. The RCS Approach
        2. The CVS Approach
        3. Conflict Resolution in CVS
      4. CVS and Large Projects
        1. Manual Coordination of Updates for Multiple Developer Projects
        2. Manual Coordination of Updates for a Single Developer with Multiple Projects
        3. Automatic Coordination of Updates and CVS Branching
    4. Creating a ZFIN Development Environment, An Example
    5. Updating a File, An Example
    6. Putting Changes Into Production
    7. Updating Files in the ZFIN Commons
    8. Obtaining a Development Web Site
  6. Web Page Design and Implementation
    1. Static Pages
      1. Design Guidelines
      2. Static Web Page Updates
        1. How it's done depends on who is doing it
        2. Updates Done By Biologists
        3. Updates Done by Technologists
      3. checklinks
    2. Dynamic (Database) Pages
      1. Design Guidelines
      2. Web Datablade
        1. Debugging App Pages
      3. Java
        1. Applets
        2. JDKs and Class Libraries
        3. Javaserver
  7. Database Implementation
    1. Informix
      1. Informix Settings
      2. Informix Tools
        1. dbaccess
        2. dbschema
        3. finderr
    2. ZFIN Database Tools
      1. Loading Databases
        1. loaddb.pl
      2. Scan All Character Columns for a String (scancharcols.pl)
      3. Scan All Character Columns for Illegal Characters (scrubscan.pl)
      4. sysexec, EXECWEB, and unix_commands
    3. ODBC Connections
    4. ZFIN LoadUp
      1. Filesystem space and permissions
      2. Database pointers
      3. Apache configuration
      4. Environment and .tt files
      5. Development filesystem sync
  8. Uniquery
    1. IndexApp
      1. Runtime Options
      2. Implementation Notes
      3. Classes
    2. UniquerySupport
      1. Classes
    3. SearchApp
      1. Configuration
      2. Implementation Notes
      3. Classes
      4. Deployment to Development
  9. BLAST
    1. BLAST Version
    2. Environment Variables
    3. BLAST Files and BLAST Databases
      1. Format BLAST DBs
      2. Retrieve Fasta Files
      3. BLAST DBs Update
    4. BLAST Commands
      1. Single node execution
      2. Clustered execution
    5. Web-based BLAST
      1. Execution
      2. Executables
      3. Results
  10. Mirror Sites

Coding Standards and Best Practices

  1. Philosophy
    1. Non Standards
  2. Updating ZFIN Standards
  3. Enforcement
    1. Code Reviews
    2. Deadlines versus Code Reviews
  4. General Standards and Best Practices
    1. Naming Conventions
      1. Variable Scope
    2. Modularity and Defined Interfaces
    3. Comments
      1. Defined Interface Comments
      2. Closing Comments
      3. Inline Comments
      4. Comment Flags
      5. Section Separator Comments
    4. Indenting and Whitespace
      1. Reindenting
      2. Whitespace
        1. Tabs versus Spaces
        2. Maximum Line Length
    5. Source Code Control and Committing Files
      1. Committing Files
    6. Debugging Support
    7. Overriding Standards
    8. Applying Standards to Old Code
  5. HTML
    1. Style Sheets
    2. HTML Capitalization
    3. HTML Closing Tags
    4. HTML Attribute Values
    5. Italics
    6. Non-ASCII Characters in HTML
      1. HTML Character Entities
    7. HTML Comments
    8. Internal ZFIN Links
    9. JavaScript
  6. Database
    1. SQL
      1. SQL Comments
      2. SQL Indenting
      3. SQL Capitalization
      4. Join Syntax
      5. SELECT DISTINCT
      6. INSERT
      7. Column Names versus Column Numbers
      8. Subqueries
        1. IN versus EXISTS
      9. SELECT INTO TEMP
    2. SPL
      1. SPL Naming Conventions
        1. SPL Variable Naming Conventions
      2. SPL Variable Data Types
      3. SPL Modularity and Defined Interfaces
        1. SPL Defined Interfaces
        2. SPL Modularity
      4. SPL Comments
      5. SPL Debugging Support
    3. Testing Database Scripts
    4. Temporary Tables
      1. Temporary Table Creation
        1. With No Log, Indexes, and Constraints
  7. Web Datablade App Pages
    1. App Page Naming Conventions
      1. App Page Directories
      2. App Page File Names
      3. App Page Variable Names
        1. App Page Variable Name Prefix
        2. App Page Database Column Variables
        3. App Page $1, $2, ... Variables
        4. App Page Boolean Variable Names
    2. App Page Modularity and Defined Interfaces
      1. Top Level versus Subroutine App Pages
        1. When to Create Subroutine App Pages
        2. Subroutine App Pages versus Stored Procedures
      2. App Page Defined Interfaces
    3. App Page Variables
      1. App Page Boolean Variables
      2. App Page Variable Existence and Non-Existence
      3. App Page Vector Variables
    4. Web Datablade Tags and Functions
      1. MIBLOCK and MIELSE versus MIVAR
      2. MIVAR versus $(SETVAR)
      3. App Page Comments
        1. MICOMMENT versus HTML Comments
        2. App Page Section Separator Comments
      4. HTML in App Pages
      5. JavaScript in App Pages
      6. Temporary Tables in App Pages
    5. App Page Debugging Support
  8. CGI
  9. PERL
    1. PERL Taint

System, Web Server, and Database Administration

  1. Database Administration
    1. Products and Licenses
      1. Informix Dynamic Server
      2. Client SDK
      3. Informix Server Administrator (ISA)
      4. Verity Text Search Datablade
      5. Licenses
    2. Dealing With IBM Corporation
      1. History
      2. IBM Scholars Program
      3. IBM Passport Advantage Support
      4. Bug Reporting
      5. Upgrades
      6. Online Resources
    3. Backups
      1. Full Nightly Dump of Production Server
      2. Logical Log Dumps as the Logs Become Full
      3. Unloads of Individual Databases
    4. Monitoring
      1. Memory Usage
      2. Informix Server Status - onstat
      3. Active Queries
      4. Monitoring Locks
      5. Monitoring Temp Table Creation and Use
      6. Informix Server Status - Message Log
      7. Other Informix Monitoring Tools
    5. Fixing Immediate Problems
      1. Run onstat -a
      2. Errors
        1. onstat says -- On-Line --, but zfinners piling up
        2. onstat says -- On-Line (CKPT REQ) --
        3. onstat says 'shared memory not initialized for ...'
        4. onstat returns a different one line error
    6. Solutions
      1. Dealing with a badly broken server
      2. Rebooting the server
      3. Starting the server
      4. Starting ontape
    7. Disk Usage
      1. Ownership
      2. RAID
        1. RAID Levels
        2. Sun A1000 RAID
        3. NStor 4150S RAID
        4. RAID and Informix
      3. Production Server Disk
        1. Internal Disks
        2. RAID Disks
          1. Physical Allocation
          2. Logical Allocation
      4. Development Server Disk
        1. Internal Disks
        2. RAID Disks
          1. Physical Allocation
          2. Logical Allocation
      5. Upgrade Server Disk
        1. Internal Disks
    8. Physical Design
      1. DB Spaces
        1. Separate Table and Index dbspaces
        2. Table dbspaces
        3. Index dbspaces
        4. Default dbspace
        5. Smart BLOB Spaces
        6. Temporary dbspaces
      2. Tables and Indexes
        1. Fragmentation
        2. Extent Sizes
        3. Lock Mode
        4. Constraint Names
        5. Primary Key, Unique, and Foreign Key Indexes
        6. Example Table Definition
  2. Apache and Web Datablade Administration
    1. Versions
    2. Apache
      1. Starting, Stopping, and Restarting Apache
      2. Monitoring Apache
      3. httpd.conf Configuration File
        1. Production
        2. Development
    3. Web Datablade
      1. web.cnf Configuration File
      2. admin Mappings
    4. Adding a New Web Site
    5. Reassigning a Web Site
    6. Web Logs
      1. Apache Logs
      2. webdriver Log
      3. Log Analysis
      4. webrotate.pl
    7. SSL
  3. System Administration
    1. ZFIN Usernames
    2. ZFIN Groups
    3. Ports and Services
    4. /etc/system
    5. Startup and Shutdown
    6. cron
    7. Xvfb and /usr/X11R6
    8. Netpbm
    9. FTP
    10. E-mail
    11. Domain Name Registration
    12. /private/apps
      1. Informix
      2. alchemy
      3. apache
      4. java
      5. PERL
      6. Rebol
    13. Power
      1. Equipment
      2. Dual Transfer Switch
      3. Uninterruptable Power Supply (UPS)
        1. Estimated Run Times
        2. Load Balancing
        3. Support
        4. History
  4. BLAST Server Administration
    1. Who Does What
    2. BioTeam iNquiry
  5. Moving zfin.org to a Different Machine
    1. Moving from the Production Server to the Development Server
    2. Moving from the Development Server to the Production Server
  6. Moving loadUp directories