Quantcast
Channel: Dr Motifs - Blog » Dr Motifs project
Viewing all articles
Browse latest Browse all 5

Blast+ web interface: source code available

$
0
0

Hi there!Blast interface

It’s been a while, but today I come with some good news!

As you may remember, I have developed a web interface for Blast+. Some of you asked me if I could publish the source code. So today I’m releasing it to the world!

Now, you can download an almost ready-to-use web interface and install it on your web server to make it available to your users. I tried to make it as flexible as possible, so you can adapt it to your needs.

Requirements

To install this web interface, you’ll need a web server (Apache for example) with PHP >= 5.3.2 and a SQL database.

For better performances, you also need a cluster with SGE job scheduler. Computing nodes should run on linux.

The code is based on the new Symfony 2 framework, and it is available as “bundles” (which are a sort of Symfony plugins).

The installation requires some PHP skills, but it shouldn’t be too hard if you follow the instructions below.

Installation

Getting the code

The first step is to get the Symfony 2 code. Go to the official download page and get the latest “Symfony Standard (.tgz)”. Extract it somewhere on your server and open a terminal in the symfony directory.

Now you need to install some bundles. All our code is available on our github account.

First install the GenouestBioinfoBundle following the instructions in the installation section of the corresponding documentation.

You also need to install and configure GenouestSchedulerBundle (doc) and GenouestBlastBundle (doc). Follow the installation and configuration sections in the corresponding documentations.

Additionally, if you have a Biomaj server and you want to use it within the blast interface, install GenouestBiomajBundle (doc). If you have no idea what is a Biomaj server, just skip this optional step!

Preparing the database

Before testing your installation, you need to prepare the database that will store informations about each blast job that will be launched using the web interface.

First, create an empty database on your SQL server. Then configure the connection of your blast interface. Briefly, open the ‘app/config/parameters.ini’ file and fill the different connection parameters (database driver, hostname, user, password, database name).

Now we need to create the SQL tables in the database. To do so, just launch the following command from the symfony root directory:

php app/console doctrine:schema:update --force

And that’s it! The database is ready to be used.

Getting the web interface online

To test your application, just make sure that the ‘web’ directory is accessible from the internet. You can have a look at the Symfony documentation for more help. Personally, I prefer to install symfony in any directory, and then create a symbolic link in the apache www directory pointing to the Symfony “web/” dir.

Suppose your Symfony is installed in /opt/myblastapp/ and the apache root directory is /apache/www/. You can create a symbolic link like this:

ln -s /opt/myblastapp/ /apache/www/blast

And now access your application using http://example.org/blast/

Getting help & contributing

As you see, there are some manipulations to install the web interface on your server, but it shouldn’t too hard to do if you have some PHP skills. As it is based on the Symfony 2 framework, it is really customizable. In case of problem, the Symfony documentation can help you: it is well written and covers most of the things you can do with this framework.

The code is released under the French CeCILL license which is a GPL-like license. Don’t hesitate to submit bug or patches to our github repositories. Any comments are welcome!


Viewing all articles
Browse latest Browse all 5

Latest Images

Trending Articles





Latest Images