|
@@ -16,7 +16,7 @@
|
|
<p>This module provides a basic interface to allow your users to utilize your server's NCBI BLAST+.</p>
|
|
<p>This module provides a basic interface to allow your users to utilize your server's NCBI BLAST+.</p>
|
|
|
|
|
|
<p>
|
|
<p>
|
|
- <a href="#setup">Setup</a> | <a href="#function">Functionality</a>
|
|
|
|
|
|
+ <a href="#setup">Setup</a> | <a href="#function">Functionality</a>
|
|
| <a href="#protection">Large jobs | <a href="#genomeview">Genome visualization</a>
|
|
| <a href="#protection">Large jobs | <a href="#genomeview">Genome visualization</a>
|
|
</p>
|
|
</p>
|
|
|
|
|
|
@@ -25,32 +25,32 @@
|
|
<h3><b>Setup Instructions</b></h3>
|
|
<h3><b>Setup Instructions</b></h3>
|
|
<ol>
|
|
<ol>
|
|
<li>
|
|
<li>
|
|
- Install NCBI BLAST+ on your server (Tested with 2.2.26+). There is a
|
|
|
|
- <a href="https://launchpad.net/ubuntu/+source/ncbi-blast+">package available
|
|
|
|
- for Ubuntu</a> to ease installation. Optionally you can set the path to your
|
|
|
|
|
|
+ Install NCBI BLAST+ on your server (Tested with 2.2.26+). There is a
|
|
|
|
+ <a href="https://launchpad.net/ubuntu/+source/ncbi-blast+">package available
|
|
|
|
+ for Ubuntu</a> to ease installation. Optionally you can set the path to your
|
|
BLAST executable <a href="<?php print url('admin/tripal/extension/tripal_blast/blast_ui');?>">
|
|
BLAST executable <a href="<?php print url('admin/tripal/extension/tripal_blast/blast_ui');?>">
|
|
in the settings</a>.
|
|
in the settings</a>.
|
|
</li>
|
|
</li>
|
|
<li>
|
|
<li>
|
|
- Optionally, create Tripal External Database References to allow you to link
|
|
|
|
- the records in your BLAST database to further information. To do this simply
|
|
|
|
- go to <a href="<?php print url('admin/tripal/chado/tripal_db/add'); ?>" target="_blank">Tripal>
|
|
|
|
- Chado Modules > Databases > Add DB</a> and make sure to fill in the Database
|
|
|
|
- prefix which will be concatenated with the record IDs in your BLAST database
|
|
|
|
- to determine the link-out to additional information. Note that a regular
|
|
|
|
- expression can be used when creating the BLAST database to indicate what the
|
|
|
|
|
|
+ Optionally, create Tripal External Database References to allow you to link
|
|
|
|
+ the records in your BLAST database to further information. To do this simply
|
|
|
|
+ go to <a href="<?php print url('admin/tripal/chado/tripal_db/add'); ?>" target="_blank">Tripal>
|
|
|
|
+ Chado Modules > Databases > Add DB</a> and make sure to fill in the Database
|
|
|
|
+ prefix which will be concatenated with the record IDs in your BLAST database
|
|
|
|
+ to determine the link-out to additional information. Note that a regular
|
|
|
|
+ expression can be used when creating the BLAST database to indicate what the
|
|
ID is.
|
|
ID is.
|
|
</li>
|
|
</li>
|
|
<li>
|
|
<li>
|
|
- <a href="<?php print url('node/add/blastdb');?>">Create "BLAST Database"
|
|
|
|
- nodes</a> for each dataset you want to make available for your users to BLAST
|
|
|
|
- against. BLAST databases should first be created using the command-line
|
|
|
|
- <code>makeblastdb</code> program with the <code>-parse_seqids</code> flag.
|
|
|
|
|
|
+ <a href="<?php print url('node/add/blastdb');?>">Create "BLAST Database"
|
|
|
|
+ nodes</a> for each dataset you want to make available for your users to BLAST
|
|
|
|
+ against. BLAST databases should first be created using the command-line
|
|
|
|
+ <code>makeblastdb</code> program with the <code>-parse_seqids</code> flag.
|
|
</li>
|
|
</li>
|
|
<li>
|
|
<li>
|
|
- It's recommended that you also install the <a href="http://drupal.org/project/tripal_daemon">Tripal Job Daemon</a>
|
|
|
|
- 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
|
|
|
|
|
|
+ It's recommended that you also install the <a href="http://drupal.org/project/tripal_daemon">Tripal Job Daemon</a>
|
|
|
|
+ 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.
|
|
tripal jobs either manually or through use of cron jobs.
|
|
</li>
|
|
</li>
|
|
</ol>
|
|
</ol>
|
|
@@ -59,33 +59,33 @@
|
|
—
|
|
—
|
|
<h3><b>Highlighted Functionality</b></h3>
|
|
<h3><b>Highlighted Functionality</b></h3>
|
|
<ul>
|
|
<ul>
|
|
- <li>Supports <a href="<?php print url('blast/nucleotide/nucleotide');?>">blastn</a>,
|
|
|
|
- <a href="<?php print url('blast/nucleotide/protein');?>">blastx</a>,
|
|
|
|
- <a href="<?php print url('blast/protein/protein');?>">blastp</a> and
|
|
|
|
|
|
+ <li>Supports <a href="<?php print url('blast/nucleotide/nucleotide');?>">blastn</a>,
|
|
|
|
+ <a href="<?php print url('blast/nucleotide/protein');?>">blastx</a>,
|
|
|
|
+ <a href="<?php print url('blast/protein/protein');?>">blastp</a> and
|
|
<a href="<?php print url('blast/protein/nucleotide');?>">tblastx</a> with separate forms depending upon the database/query type.
|
|
<a href="<?php print url('blast/protein/nucleotide');?>">tblastx</a> with separate forms depending upon the database/query type.
|
|
</li>
|
|
</li>
|
|
<li>
|
|
<li>
|
|
- Simple interface allowing users to paste or upload a query sequence and then
|
|
|
|
- select from available databases. Additionally, a FASTA file can be uploaded
|
|
|
|
|
|
+ Simple interface allowing users to paste or upload a query sequence and then
|
|
|
|
+ select from available databases. Additionally, a FASTA file can be uploaded
|
|
for use as a database to BLAST against (this functionality can be disabled).
|
|
for use as a database to BLAST against (this functionality can be disabled).
|
|
</li>
|
|
</li>
|
|
<li>
|
|
<li>
|
|
- Tabular Results listing with alignment information and multiple download
|
|
|
|
|
|
+ Tabular Results listing with alignment information and multiple download
|
|
formats (HTML, TSV, XML) available.
|
|
formats (HTML, TSV, XML) available.
|
|
</li>
|
|
</li>
|
|
<li>
|
|
<li>
|
|
- Completely integrated with <a href="<?php print url('admin/tripal/tripal_jobs');?>">Tripal Jobs</a>
|
|
|
|
- providing administrators with a way to track BLAST jobs and ensuring long
|
|
|
|
|
|
+ Completely integrated with <a href="<?php print url('admin/tripal/tripal_jobs');?>">Tripal Jobs</a>
|
|
|
|
+ providing administrators with a way to track BLAST jobs and ensuring long
|
|
running BLASTs will not cause page time-outs
|
|
running BLASTs will not cause page time-outs
|
|
</li>
|
|
</li>
|
|
<li>
|
|
<li>
|
|
- BLAST databases are made available to the module by
|
|
|
|
- <a href="<?php print url('node/add/blastdb');?>">creating Drupal Pages</a>
|
|
|
|
- describing them. This allows administrators to
|
|
|
|
|
|
+ BLAST databases are made available to the module by
|
|
|
|
+ <a href="<?php print url('node/add/blastdb');?>">creating Drupal Pages</a>
|
|
|
|
+ describing them. This allows administrators to
|
|
<a href="<?php print url('admin/structure/types/manage/blastdb/fields');?>">use the Drupal Field API to add any information they want to these pages</a>.
|
|
<a href="<?php print url('admin/structure/types/manage/blastdb/fields');?>">use the Drupal Field API to add any information they want to these pages</a>.
|
|
</li>
|
|
</li>
|
|
<li>
|
|
<li>
|
|
- BLAST database records can be linked to an external source with more
|
|
|
|
|
|
+ BLAST database records can be linked to an external source with more
|
|
information (ie: NCBI) per BLAST database.
|
|
information (ie: NCBI) per BLAST database.
|
|
</li>
|
|
</li>
|
|
</ul>
|
|
</ul>
|
|
@@ -93,17 +93,17 @@
|
|
<a name="protection"</a></a>
|
|
<a name="protection"</a></a>
|
|
—
|
|
—
|
|
<h3><b>Protection Against Large Jobs</b></h3>
|
|
<h3><b>Protection Against Large Jobs</b></h3>
|
|
-Depending on the size and nature of your target databases, you may wish to constrain use
|
|
|
|
|
|
+Depending on the size and nature of your target databases, you may wish to constrain use
|
|
of this module.
|
|
of this module.
|
|
<ol>
|
|
<ol>
|
|
<li>Limit the number of results displayed via admin page. The recommended number is 500.</li>
|
|
<li>Limit the number of results displayed via admin page. The recommended number is 500.</li>
|
|
<li>
|
|
<li>
|
|
- Limit the maximum upload file size in php settings. This is less useful because some
|
|
|
|
|
|
+ Limit the maximum upload file size in php settings. This is less useful because some
|
|
very large queries may be manageable, and others not.
|
|
very large queries may be manageable, and others not.
|
|
</li>
|
|
</li>
|
|
<li>
|
|
<li>
|
|
- Repeat-mask your targets, or provide repeat-masked versions. Note that some
|
|
|
|
- researchers may be looking for repeats, so this may limit the usefulness of the BLAST
|
|
|
|
|
|
+ Repeat-mask your targets, or provide repeat-masked versions. Note that some
|
|
|
|
+ researchers may be looking for repeats, so this may limit the usefulness of the BLAST
|
|
service.
|
|
service.
|
|
</li>
|
|
</li>
|
|
</ol>
|
|
</ol>
|
|
@@ -111,19 +111,21 @@ of this module.
|
|
<a name="genomeview"></a>
|
|
<a name="genomeview"></a>
|
|
—
|
|
—
|
|
<h3><b>Whole Genome Visualization</b></h3>
|
|
<h3><b>Whole Genome Visualization</b></h3>
|
|
-This module can be configured to use
|
|
|
|
-<a href="https://github.com/LegumeFederation/cvitjs">CViTjs</a> to display BLAST hits on
|
|
|
|
-a genome image. The process is as follows:
|
|
|
|
|
|
+This module can be configured to use
|
|
|
|
+<a href="https://github.com/LegumeFederation/cvitjs">CViTjs</a> to display BLAST hits on
|
|
|
|
+a genome image.
|
|
|
|
+
|
|
|
|
+<h4>CViTjs Setup</h4>
|
|
<ol>
|
|
<ol>
|
|
<li>
|
|
<li>
|
|
<a href="https://github.com/LegumeFederation/cvitjs">Download CViTjs</a> and copy
|
|
<a href="https://github.com/LegumeFederation/cvitjs">Download CViTjs</a> and copy
|
|
the code to your webserver. It might make the most sense to put the code directly into
|
|
the code to your webserver. It might make the most sense to put the code directly into
|
|
- this module's directory, in a subdirectory named <code>js/</code>. To download, execute
|
|
|
|
|
|
+ this module's directory, in a subdirectory named <code>js/</code>. To download, execute
|
|
the git command inside the <code>js/</code> subdirectory:<br>
|
|
the git command inside the <code>js/</code> subdirectory:<br>
|
|
<code>git clone https://github.com/LegumeFederation/cvitjs.git</code>
|
|
<code>git clone https://github.com/LegumeFederation/cvitjs.git</code>
|
|
</li>
|
|
</li>
|
|
<li>
|
|
<li>
|
|
- CViTjs will have a config file in its root directory named cvit.conf. This file
|
|
|
|
|
|
+ CViTjs will have a config file in its root directory named cvit.conf. This file
|
|
provides information for whole genome visualization for each genome BLAST target.
|
|
provides information for whole genome visualization for each genome BLAST target.
|
|
<b>Make sure the config file can be edited by your web server.</b>
|
|
<b>Make sure the config file can be edited by your web server.</b>
|
|
</li>
|
|
</li>
|
|
@@ -135,7 +137,7 @@ a genome image. The process is as follows:
|
|
</li>
|
|
</li>
|
|
<li>
|
|
<li>
|
|
Enable CViTjs from the BLAST module administration page and provide the path to the
|
|
Enable CViTjs from the BLAST module administration page and provide the path to the
|
|
- root directory for the CViTjs code relative to this module. For example,
|
|
|
|
|
|
+ root directory for the CViTjs code relative to this module. For example,
|
|
<code>js/cvitjs</code>.
|
|
<code>js/cvitjs</code>.
|
|
</li>
|
|
</li>
|
|
<li>
|
|
<li>
|
|
@@ -148,20 +150,11 @@ defaultData = data/cajca/cajca.gff</pre>
|
|
<ul>
|
|
<ul>
|
|
<li>the section name, "data.Cajanus cajan - genome", consists of "data." followed
|
|
<li>the section name, "data.Cajanus cajan - genome", consists of "data." followed
|
|
by the name of the BLAST target node,</li>
|
|
by the name of the BLAST target node,</li>
|
|
- <li>the file "cajca.conf" is a cvit configuration file which describes how to draw the
|
|
|
|
|
|
+ <li>the file "cajca.conf" is a cvit configuration file which describes how to draw the
|
|
chromosomes and BLAST hits on the <i>Cajanus cajan</i> genome,</li>
|
|
chromosomes and BLAST hits on the <i>Cajanus cajan</i> genome,</li>
|
|
- <li>and the file "cajca.gff" is a GFF3 file that describes the <i>Cajanus cajan</i>
|
|
|
|
|
|
+ <li>and the file "cajca.gff" is a GFF3 file that describes the <i>Cajanus cajan</i>
|
|
chromosomes.</li>
|
|
chromosomes.</li>
|
|
</ul>
|
|
</ul>
|
|
- The .conf file for each genome can be modified to suit your needs and tastes. See the
|
|
|
|
- sample configuration file, <code>data/test1/test1.conf</code>, and the CViTjs
|
|
|
|
- <a href="https://github.com/LegumeFederation/cvitjs#using-cvitjs">documentation</a>
|
|
|
|
-
|
|
|
|
- You will have to put the target-specific conf and gff files (e.g. cajca.conf and
|
|
|
|
- cjca.gff) on your web server, in the directory, <code>js/cvitjs/data</code>. You may
|
|
|
|
- choose to group files for each genome into subdirectories, for example,
|
|
|
|
- <code>js/cvitjs/data/cajca</code>.
|
|
|
|
- <br><br>
|
|
|
|
At the top of the configuration file there must be a [general] section that defines
|
|
At the top of the configuration file there must be a [general] section that defines
|
|
the default data set. For example:
|
|
the default data set. For example:
|
|
<pre>
|
|
<pre>
|
|
@@ -169,15 +162,31 @@ defaultData = data/cajca/cajca.gff</pre>
|
|
data_default = data.Cajanus cajan - genome</pre>
|
|
data_default = data.Cajanus cajan - genome</pre>
|
|
</li>
|
|
</li>
|
|
<li>
|
|
<li>
|
|
- Edit the nodes for each genome target (nodes of type "BLAST Database") and enable whole
|
|
|
|
- genome visualization. Remember that the names listed in the CViTjs config file must
|
|
|
|
|
|
+ Edit the nodes for each genome target (nodes of type "BLAST Database") and enable whole
|
|
|
|
+ genome visualization. Remember that the names listed in the CViTjs config file must
|
|
match the BLAST node name. In the example above, the BLAST database node for the
|
|
match the BLAST node name. In the example above, the BLAST database node for the
|
|
<i>Cajanus cajan</i> genome assembly is named "Cajanus cajan - genome"
|
|
<i>Cajanus cajan</i> genome assembly is named "Cajanus cajan - genome"
|
|
</li>
|
|
</li>
|
|
</ol>
|
|
</ol>
|
|
|
|
|
|
-It is important to make sure that cvit.conf points to the correct data directory and the
|
|
|
|
-correct .gff and .conf files for the genome in question. For more information about how to
|
|
|
|
-create the .gff file, see the
|
|
|
|
-<a href="https://github.com/LegumeFederation/cvitjs#how-to">documentation</a>.
|
|
|
|
-
|
|
|
|
|
|
+<h4>Notes</h4>
|
|
|
|
+<ul>
|
|
|
|
+<li>The .conf file for each genome can be modified to suit your needs and tastes. See the
|
|
|
|
+ sample configuration file, <code>data/test1/test1.conf</code>, and the CViTjs
|
|
|
|
+ <a href="https://github.com/LegumeFederation/cvitjs#using-cvitjs">documentation</a>.</li>
|
|
|
|
+<li>Each blast target CViTjs configuration file must define how to visualize blast hits or you will not see them.
|
|
|
|
+ <pre>[blast]
|
|
|
|
+feature = BLASTRESULT:match_part
|
|
|
|
+glyph = position
|
|
|
|
+shape = rect
|
|
|
|
+color = #FF00FF
|
|
|
|
+width = 5</pre></li>
|
|
|
|
+<li>You will have to put the target-specific conf and gff files (e.g. cajca.conf and
|
|
|
|
+ cjca.gff) on your web server, in the directory, <code>js/cvitjs/data</code>. You may
|
|
|
|
+ choose to group files for each genome into subdirectories, for example,
|
|
|
|
+ <code>js/cvitjs/data/cajca</code>.</li>
|
|
|
|
+<li>It is important to make sure that cvit.conf points to the correct data directory and the
|
|
|
|
+ correct .gff and .conf files for the genome in question. For more information about how to
|
|
|
|
+ create the .gff file, see the
|
|
|
|
+ <a href="https://github.com/LegumeFederation/cvitjs#how-to">documentation</a>.</li>
|
|
|
|
+</ul>
|