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!
|