Hello Joe,

Galaxy sample tracking is still in beta with some additional development coming shortly.  The current features can be used, but keep in mind that some changes may be coming.  Here are the details to get you started with what's currently available.

Some definitions of Galaxy components used in Galaxy sample tracking

External Service - this object models any web accessible service which is external to Galaxy.  Examples range from sequencers to other Galaxy instances.

Request - this object models the paper form a customer use to submit to a facility to request sequencing runs.  In our model, a Request includes the information a facility needs from a customer to completes the sequence run.  A request is also a "container" for a set of Samples.

Sample - this object models 1 tube containing a sample.  This may be the object we need to tweak because we have modeled it using a Solid sequencer, and I'm not sure it properly models other sequencers ( Illumina in your case ).

Request Type - this object associates an ExternalService defined by a facility ( sequencer in this case ) to a Request (form definition) and a Sample (form definition) defined by the facility.



Setting up sample tracking for a sequencer brand

You'll need to create the following components in order to use galaxy's sample tracking.  All of this work will be done within the Galaxy Admin view.

0. Install and configure Rabbit MQ.  For details, see:

http://main.g2.bx.psu.edu/u/rkchak/p/data-transfer.  

NOTE: instead of using Rabbit MQ, you can set the following in universe_wsgi.ini, but this will only allow you to transfer files ( you won't be able to use bar code scanners to scan your sample tubes ).

enable_beta_job_managers = True
enable_api = True

Also, setting the above 2 config settings and not using Rabbit MQ will result in significant database hits because the current deferred job manager checks the database every second to see if there are deferred jobs ( file transfer jobs ) waiting.  This current process will soon be enhanced to use messaging rather than database queries ( but probably not messaging using RabbitMq ).

1. A Sequencing Request Form

Click on "Manage form definitions" in the admin menu and click the "Create new form" button.  The "Type" selected should be "Sequencing Request Form".  You design the form based on the paper form your customers use to request a sequence run ( see definition above ).  Here is a simple example.


2. A Sequencing Sample Form

Click on "Manage form definitions" in the admin menu and click the "Create new form" button.  The "Type" selected should be "Sequencing Sample Form".  This form layout will be displayed as a line item for each sample that is associated with the request.  Here's a simple example.


3. A sequencer configuration

Sequencer brands ( Illumina, Applied Biosystems, etc ) are defined in XML files in the ~/external_service_types directory.  The distribution currently includes one fo AB Solid one for 454, one for Pacific Biosciences SMRT Portal version 1.1.0, and another for a generice "simple unknown" sequencer.  

As a Galaxy admin, you can create a new external service for a sequencer based on one of these external service types.  When you create a new external service using the AB solid XML definition, you'll end up with something like the following screen.  Note that everything about the sequencer, including the run's output datasets ( ids, names and file formats ) can be defined in the XML, enabling easy evolution when new sequencer versions are purchased.


When the facility manager defines the above 3 components, they can create a new request type using them by selecting the "Manage request types" admin menu option and then "Create a new request type".  

In this case, we've defined our external service to be the service defined for Pacific Biosciences SMRT Portal.  This external service transfers files using http, and transfer is automatic.  In your case, you'll need to transfer files manually using scp because automatic transfer is only currently only supported for SMRT Portal.  So in your case, your <data_transfer_settings> tag set in your external service config file ( see item 3 above ) will look something like the following.

    <data_transfer_settings>
        <data_transfer protocol='scp' automatic_transfer='False' host='host' user_name='user_name' password='password' data_location='data_location' />
    </data_transfer_settings>


After the facility manager does this, their customers can create new Requests for sequencing runs based on the RequestType:


When the sample run is complete, the facility manage can use Galaxy's file browser to brows the file system on the sequencer and transfer appropriate files.  For details, see:

http://main.g2.bx.psu.edu/u/rkchak/p/sts-admin-transfer-datasets




On Apr 20, 2011, at 12:22 PM, Joe Cruz wrote:

Hello,

I was hoping someone could explain the process of how a dataset is transfered from a configured Sequencer to a Galaxy library within sample tracking.  Particularly how RabbitMQ, API keys, transfer_manager_port and enable_sequencer_communication (in universe_wsgi.ini file) work in this process.

Your help is greatly appreciated!

Thanks

Joe A. Cruz
___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:

 http://lists.bx.psu.edu/

Greg Von Kuster
Galaxy Development Team
greg@bx.psu.edu