BADGER(1) OGMP UTILITIES BADGER(1) NAME badger - A utility to manage pending seram(1) jobs. SYNOPSIS badger DESCRIPTION badger is a simple interactive tool used to view and modify pending or running seram(1) jobs. When invoked, it presents a short list of all jobs owned by the user, along with some information about when they were submitted, and by what program. The user can at that point 1) Restart a job (for a job that is shown as DEAD in its status field), 2) View the seram information file related to a job, or 3) Quit badger. These three actions are mapped to the R, V and Q keys. Alternatively, the user can choose to examine more closely the status of the sequence specifications of a job by entering that job's number. In that case the display changes to a list of those specifications and a new set of actions becomes available. The user can 1) Edit the script associated with that job, 2) Activate or Inactivate some sequence specifications, 3) View the seram information file related to that job (exactly like at the previous level), 4) Kill that job, or 5) Go back to the list of all jobs. Editing the script is recommended only to knowledgeble people about the inner workings of seram, since that script really is just a template that is going to be instanciated into a real script by seram when the running conditions (sequence status) are met. Inactivation of sequences is used to tell the seram job to ignore some sequence specification; it works only for sequences that are still expected (status=EXPE) or sequences that have arrived but have not been processed by seram's script yet (status=Arrv). For an explantion of the different possible sequence statuses, see the section SEQUENCES STATUS. Activation of a sequence is used to undo an inactivation action. Killing a job means removing it from seram's queue. If the job was RUNning, the owner will receive a mail warning; if the job was DEAD, then the seram files are simply removed and no further notice will be sent to the owner's. SEQUENCES STATUS When browsing the list of sequence specifications related to a job, each sequence is preceded by a status keyword. Here are the different keywords: EXPE: This sequence is still expected by seram. Arrv: This sequence is ready to be processed. Done: This sequence has been successfully processed. INAC: This EXPE or Arrv sequence has been manually inactivated through badger. ERRO: This sequence specification caused an error, and is ignored. ABOR: This should almost never be seen by badger; sequences have this status only for a very short transitory time when the seram job is being killed. The "Done" status is given to sequences that have been processed through the seram scripting facility; it will mostly be seen when that seram job is running in the "EACH" mode, since seram doesn't have to wait until all the sequences have been fetched before executing the script. This is unlike seram's "ALL" mode, and in that case the "Done" status will only be given to the sequences when they have all arrived or been marked as inactivated or in error. SUPERUSER MODE If seram is executed by the super-user, then all jobs are visible and can be modified, killed, or have sequences activated or inactivated. However, note that restarting a DEAD job will result in a new seram job owned by the superuser, and the actions taken by the seram script will also being carried as superuser. FILES Badger needs the ferret configuration file "ferret.conf", usually located in the ogmp/ subdirectory of the standard perl library. This file defines some absolute paths, including the main ferret sequence directory, "$FERRETBANK". seram jobs are spooled in $FERRETBANK/Jobs, where $FERRETBANK is defined in the system configuration file ferret.conf, usually found in /usr/local/lib/perl/ogmp. In this spool directory, for each job, the four following files can be found: seram.info.$USER.$PID # Main info related to job seram.data.$USER.$PID # List of sequences specifications seram.script.$USER.$PID # Script to be run for each/all sequences seram.restart.$USER.$PID # Small script used to restart this job. See also seram(1) for more information. ENVIRONMENT EDITOR # The editor summoned when using "edit script". BUGS Seram jobs create filenames by using the username and the pid of the running seram program; if the spool directory is shared by many different hosts, conflicts can occur if the same user on two or more hosts submit seram jobs with the exact same pid; fortunately, this is very unlikely. Most of the time, badger will only read the information related to a seram job; the only case when it writes something is when a sequence is activated or inactivated. There is a small though non null probability that both badger and the seram job will write to the same file simultaneously, with consequences that some modifications (like sequence inactivations or arrived sequences) will be lost. Unpredictable effects can therefore occur; a locking mecanism is needed. Note that after seram's first pass through the list of sequence specs, seram updates the list of sequence specifications only once every 15 minutes, so at that point conflicts are very unlikely. Seram jobs that are started on a host of a type different than the one on which badger runs will be incorrectly marked as "dead" in the main menu; this is caused by the fact that badger runs the "ps" command on the remote host, and will use the command-line options for this command that applies to the local host. For example, it will run "ps -axww" on a SysV remote host if badger is running locally on a BSD system, instead of the more proper "ps -ef". Badger recognizes your screen size (number of lines) only for terminals of type "sun-cmd", and thus will adjust it's display length only if your run it in a shelltool or cmdtool on a Sun. For other terminals, it assumes it has access to 24 lines of display (this value is hardcoded). SEE ALSO seram(1), ferret(1) AUTHORS Pierre Rioux, Tim Littlejohn (Project Management), Organelle Genome Megasequencing Project, Jan 1995.