Chinook in Anger: FAQS, Cheats, Hits, and Tips


Some help maybe required: we will be using this page to list quick advice and FAQS as experienced by ourselves and other users of Chinook, not covered in our user guide.

Table of Contents

Submitting FASTA Sequence

The DNA_FILE identifier is used for submitting Fasta sequence to Chinook servers. It will also handle multifasta files; however, each fasta header has to be unique.
Example:

>MYSEQUENCE NCBI1
NNNNNNNNNNNNNNNNNNNNNNN
>MYSEQUENCE NCBI2
NNNNNNNNNNNNNNNNNNNNNNN

Will not work as the header id in each sequence is MYSEQUENCE.

Is my server running

As of version 1.2.1, the Chinook distribution includes code for a Fasta sequence aggregator. This allows users to request protein/dna sequences from one of the supported databases and then returns as a result the multifasta file. Essentially, it uses "TYPE" on Windows and "cat" on linux. You will need to make sure the <output_path> tag is set in the applications.xml file. Look for this service, if your client can see it, you know your server is running.

Where are the executable classes

All the executable classes reside under an exec package. For instance, to run the client, the class is ca.bcgsc.chinook.client.exec.ChinookClient

What the packages do

  • ca.bcgsc.chinook.batch: Handles all the PERL Engine code, how Perl modules interact with a Chinook Client
  • ca.bcgsc.chinook.client: All the Chinook Client business and user interface code
  • ca.bcgsc.chinook.common: All the shared data objects are defined here, ie DNA_LOCATION, DNA_FILE, etc.
  • ca.bcgsc.chinook.exec: Common executable code (for process shutdown on specific ports)
  • ca.bcgsc.chinook.junit: The Junit test framework
  • ca.bcgsc.chinook.logging: The Log4J logging framework
  • ca.bcgsc.chinook.p2p: All the Chinook P2P process / JXTA code
  • ca.bcgsc.chinook.parsing: All data parsing, output file manipulation classes
  • ca.bcgsc.chinook.server: All the Chinook Server business and user interface code
  • ca.bcgsc.chinook.util: Common layout / business utilities

Chinook online shows no processes on startup / Hangs on shutdown

When the online web application resource file for Chinook is deployed, it may take a minute to discover and aggregate services. When shutting down Tomcat, explicitly kill any hanging Java processes after shutdown (this is a bug that is hard to fix)

What is the P2P process doing

The P2P process facilitates decentralized communication through a network. It can be resident on any network-accessible machine from which a client or server can connect to. For instance, multiple users can use one dedicated P2P process on a specific machine if desired. On startup, it configures the Chinook PeerGroup and then tries to discover a rendezvous from a JXTA bootstrap list. If a rendezvous is discovered, service discovery begins. Alternately, your node can register itself as a rendezvous and begin negotiating advertisements directly over the JXTA network (or within your subnet, if behind a firewall).

Too much Perl code

The demo perl scripts which run Lagan (located in the chinook/perl/t folder) are ~100 lines, which isn't that convenient for hammering off quick analyses against a server. Because Chinook generalizes data and applications, a bit of negotiation is required to determine how an individual services can be run. The goal of the Chinook perl code may be to turn it into a suite of remote wrappers for applications which are known to exist on the network - thereby the application-specific customizations can be stored in a module. Eventually, it would then be as easy as issuing the perl command:

my $remote_lagan = new Bio:Tools:Run:Chinook:Remote:Lagan();
my $result = $remote_lagan->run(parameters);

How to I use the Chinook code in my application

Chinook can be started using the ChinookClient within any application. Your application will have to register for JobEvent with a JobEventListener added to the JobManager class. This will report back when specific jobs are received. If you need to restrict the list of services the user can choose from, use the DiscoveryConditionSetManager. Basically, the *Manager classes allow you to be notified when all sorts of different Chinook events occur.

The DNA_LOCATION object is not working, I can access EnsEMBL data

The EnsEMBL database may be down, in this case you will get a timeout error, or in the case of the online forms, you will see invalid data in the entry box. To test this try logging in to mysql -u anonymous -h ensembldb.ensembl.org If everything okay, it is a Chinook problem, please report it!



top Canada's Michael Smith Genome Sciences Centre | Genetics Graduate Program (UBC) | Want bioinformatics training??? | Vancouver Bioinformatics Users Group

(c) 2004 Stephen Montgomery, Canada's Michael Smith Genome Sciences Centre