Documentation – Usage

Command line interface usage

Command line commands

Command line commands do not run the actual script but provide common functionality.

--help

Print help and exit.

--resolveDependencies

Download and unpack all required external tools and exit. Calling a script with
this flag is not required because all external tools will be downloaded and
unpacked automatically whenever they are required and not yet available.

--proposePrefix [input filenames]

Propose a prefix based on the input filenames specified and exit.

---yamlInfo

Print YAML-formatted script information. This switch is used by the Proteomatic
GUI to create the graphical user interface.

---yamlInfo --short

Print the script title, group and description in YAML format.

Command line options

Scripts are called using the following pattern:

./script.rb [options/parameters] [input files]

Of course, the interpreter may also be explicitly specified.

ruby script.rb [options/parameters] [input files]

Command line options must be specified before the input filenames but can be mixed with script parameters.

--applyProfile [filename]

Apply the specified parameter profile. Profiles are YAML-formatted files (ending on .pp) which contain user-defined settings of values. They can be created using the Proteomatic GUI.

--extToolsPath [path]

Use the specified path for external tools. If not specified, external tools are managed in the ext/ folder.

--useFileTracker [host:port]

Send a filetracker report to the filetracker specified upon successful completion of a script.

Filetracker

The filetracker is a TCP server which collects reports about successfully finished scripts. To start the filetracker daemon, type:

$ cd filetracker
$ ruby filetrackerd.rb localhost 7777

By default, the filetracker listens on localhost:5555, but a different host and port can be specified as shown in the example above. Use sudo and/or nohup to permanently run the filetracker on a dedicated server.

If a script is called with the --useFileTracker switch:

$ ruby md5sum.rb --useFileTracker localhost:7777 ~/Desktop/ukca.pdf
Digesting 1 file...
The determined MD5 is 3bd0b56aa948a7eb3153e03eac00f45d
Execution took 0.0 seconds.
Submitting run to file tracker at localhost:7777... done.

…it can be seen that at the end, the report is sent to the filetracker. The filetracker daemon collects reports in monthly archives (archive/filetracker-reports-yyyy-mm.yaml).

In this example, the following report has been archived:

--- 
run: 
  stdout: |
    Digesting 1 file...
    The determined MD5 is 3bd0b56aa948a7eb3153e03eac00f45d

  end_time: 2011-01-16 20:32:50.718015 +01:00
  parameters: 
  - Expected MD5: ""
  - Output directory: ""
  - Output file prefix: ""
  script_uri: md5sum.rb
  version: develop
  script_title: Check MD5 sums
  host: vaka
  user: michael
  start_time: 2011-01-16 20:32:50.701510 +01:00
files: 
- size: 78066
  basename: ukca.pdf
  directory: /home/michael/Desktop
  mtime: 2010-12-26 21:54:59 +01:00
  ctime: 2010-12-26 21:54:59 +01:00
  input_file: true
  md5: 3bd0b56aa948a7eb3153e03eac00f45d

It can be seen that extensive information about input and output files is collected, including file MD5 checksums. Although a user interface for querying the filetracker with result files is not yet implemented, this setup will allow for reconstruction of entire processing pipelines at a later stage.