Няма описание

Lacey Sanderson 9fde5f8cf2 Linkout tests. преди 6 години
api 37c955a866 Fix amino acid regex. преди 6 години
docs 00fc20e0e6 Update custom_linkouts.rst преди 6 години
includes f1b7698c69 Trim the path of the database to remove spaces преди 6 години
tests 9fde5f8cf2 Linkout tests. преди 6 години
theme fd48ab2747 Ensure @file headers have documentation line. преди 6 години
.gitignore fd48ab2747 Ensure @file headers have documentation line. преди 6 години
.travis.yml ef9ab76e0e Update .travis.yml преди 6 години
LICENSE.txt f9982b2c1e Create LICENSE.txt преди 6 години
README.md 63023031c2 Update README.md преди 6 години
blast_ui.info b97e1f3ce7 Update blast_ui.info преди 6 години
blast_ui.install 734d301968 Removes all nodes of type 'Blast Database' when module is uninstalled преди 7 години
blast_ui.module 408cacb63f Switch cvitjs to use the libraries api. преди 6 години
composer.json 1b07673cc8 Set-up the testing environment using [TripalTestSuite v1.1](https://github.com/statonlab/TripalTestSuite). преди 6 години
composer.lock c87b877827 Added tests for validate_fasta_sequence. преди 6 години
phpunit.xml 5e512c19db Add tests for blast node api. преди 6 години

README.md

Build Status Maintainability Documentation Status

INTRODUCTION

This module provides a basic interface to allow your users to utilize your server's NCBI BLAST+.

Specifically it provides blast program-specific forms (blastn, blastp, tblastn, blastx are supported). In the future, there will be a single form where you will be able to select either a nucleotide or a protein database to BLAST against regardless of the type of query and it will decide which BLAST program to use based on the combination of query/database type (ie: if you selected a protein database on the nucleotide BLAST form then blastx would be used).

BLAST submissions result in the creation of Tripal jobs which then need to run from the command-line. This ensures that long running BLASTs will not cause page time-outs but does add some management overhead and might result in longer waits for users depending on how often you have cron set to run Tripal jobs. You can alternatively use the Tripal Jobs Daemon to automate running of Tripal Jobs reducing user wait time and your own workload.

The BLAST results page is an expandable summary table with each hit being listed as a row in the table with query/hit/e-value information. The row can then be expanded to include additional information including the alignment. Download formats are allow users to download these results in the familiar tabular, GFF3 or HTML NCBI formats.

Installation

  1. Install NCBI BLAST+ on your server (Tested with 2.2.26+). There is a package available for Ubuntu to ease installation.
  2. Install this module as you would any Drupal module (ie: download, unpack in sites/all/modules and enable through http://[your site]/admin/modules)
  3. Create "Blast Database" nodes for each dataset you want to make available for your users to BLAST against. BLAST databases should first be created using the command-line makeblastdb program with the -parse_seqids flag.

It's recommended that you also install the Tripal Job Daemon to manage BLAST jobs and ensure they are run soon after being submitted by the user. Without this additional module, administrators will have to execute the tripal jobs either manually or through use of cron jobs.

Documentation

We have and extensive user guide and a developer guide available via readthedocs.

Comparison with other Modules

Tripal BLAST UITripal BLAST Analysis
Provides an interface to execute BLASTsYesNo
Display BLAST Results to usersAfter BLAST submissionOn associated feature pages
Load BLAST Results into ChadoNoYes

NOTE: These modules will be combined into a single download available here in the not so distant future. You will still have the flexibility to enable either one or the other or both.

Future Development

  • The ability to blast against 2+ datasets at the same time
  • Ability to Email user when BLAST is done
  • Automatic cleaning up of BLAST job files after 1 week (make time frame configurable)