Skip to content

Contributing to QAI front end development

Art Poon edited this page Feb 4, 2016 · 4 revisions

Description

A graphical front-end for MiCall is built on an existing web application at the CFE laboratory. The front-end displays graphical summaries of each MiSeq run that has been processed by the MiCall backend. For a given run, a table lists the demultiplexed samples on each row, and the targets to which reads have been mapped on each column. Each cell of the table is coloured to indicate the number of mapped reads for the respective sample and target. If the user clicks on a cell, then a coverage map is displayed to the right of the table.

Implementation

The front-end is implemented with Ruby on Rails Sinatra and jQuery (version 2.1.0 is in the SVN repository).

Dependencies

  • Ruby 2.2.2
  • sinatra 1.4.6
  • dbi 0.4.5
  • ruby-oci8 2.1.8 (requires Oracle Instant Client)
  • thin 1.6.3
  • sinatra-contrib 1.4.6
  • activesupport 4.0.13
  • activerecord 4.0.13
  • activerecord-oracle_enhanced-adapter 1.5.6
  • sinatra-activerecord 2.0.6
  • mail 2.5.3
  • sqlite3 1.3.10
  • moneta 0.8.0
  • erubis 2.7.0
  • rack-test 0.6.3 (installed with sinatra-contrib)
  • rack 1.5.5 (installed with sinatra gem)

Version control

The QAI system is tracked with an internal Subversion repository.

Installation

  1. Install Subversion
  2. Import the SVN repository: svn import svn://192.168.68.61/QAI
  3. Create a copy of sinatra/config/development.placeholder.rb as development.rb.
  4. In this new copy, edit the settings as required for your developer environment, particularly the Oracle database access credentials (make sure to use a read-only test user account) and the absolute file paths to data folders.
  5. Start a local instance of the QAI development server on port 3000:
ruby qai.rb -e development -p 3000
  1. Access the server by directing your web browser to localhost:3000.
  2. Use your CFE lab credentials to log into your QAI system. Note that your development server should be communicating with the users table on the lab database.