blast_help.tpl.php 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. <?php
  2. /**
  3. * This template displays the help page for the BLAST UI
  4. */
  5. ?>
  6. <style>
  7. .sub_table {
  8. border: 0px;
  9. padding:1px 1px;
  10. background-color: inherit;
  11. }
  12. </style>
  13. <h3>Tripal BLAST Module Description</h3>
  14. <p>This module provides a basic interface to allow your users to utilize your server's NCBI BLAST+.</p>
  15. <p>
  16. <a href="#setup">Setup</a> | <a href="#function">Functionality</a>
  17. | <a href="#protection">Large jobs | <a href="#genomeview">Genome visualization</a>
  18. </p>
  19. <a name="setup"></a>
  20. &mdash;
  21. <h3><b>Setup Instructions</b></h3>
  22. <ol>
  23. <li>
  24. Install NCBI BLAST+ on your server (Tested with 2.2.26+). There is a
  25. <a href="https://launchpad.net/ubuntu/+source/ncbi-blast+">package available
  26. for Ubuntu</a> to ease installation. Optionally you can set the path to your
  27. BLAST executable <a href="<?php print url('admin/tripal/extension/tripal_blast/blast_ui');?>">
  28. in the settings</a>.
  29. </li>
  30. <li>
  31. Optionally, create Tripal External Database References to allow you to link
  32. the records in your BLAST database to further information. To do this simply
  33. go to <a href="<?php print url('admin/tripal/chado/tripal_db/add'); ?>" target="_blank">Tripal>
  34. Chado Modules > Databases > Add DB</a> and make sure to fill in the Database
  35. prefix which will be concatenated with the record IDs in your BLAST database
  36. to determine the link-out to additional information. Note that a regular
  37. expression can be used when creating the BLAST database to indicate what the
  38. ID is.
  39. </li>
  40. <li>
  41. <a href="<?php print url('node/add/blastdb');?>">Create "BLAST Database"
  42. nodes</a> for each dataset you want to make available for your users to BLAST
  43. against. BLAST databases should first be created using the command-line
  44. <code>makeblastdb</code> program with the <code>-parse_seqids</code> flag.
  45. </li>
  46. <li>
  47. It's recommended that you also install the <a href="http://drupal.org/project/tripal_daemon">Tripal Job Daemon</a>
  48. to manage BLAST jobs and ensure they are run soon after being submitted by the
  49. user. Without this additional module, administrators will have to execute the
  50. tripal jobs either manually or through use of cron jobs.
  51. </li>
  52. </ol>
  53. <a name="function"></a>
  54. &mdash;
  55. <h3><b>Highlighted Functionality</b></h3>
  56. <ul>
  57. <li>Supports <a href="<?php print url('blast/nucleotide/nucleotide');?>">blastn</a>,
  58. <a href="<?php print url('blast/nucleotide/protein');?>">blastx</a>,
  59. <a href="<?php print url('blast/protein/protein');?>">blastp</a> and
  60. <a href="<?php print url('blast/protein/nucleotide');?>">tblastx</a> with separate forms depending upon the database/query type.
  61. </li>
  62. <li>
  63. Simple interface allowing users to paste or upload a query sequence and then
  64. select from available databases. Additionally, a FASTA file can be uploaded
  65. for use as a database to BLAST against (this functionality can be disabled).
  66. </li>
  67. <li>
  68. Tabular Results listing with alignment information and multiple download
  69. formats (HTML, TSV, XML) available.
  70. </li>
  71. <li>
  72. Completely integrated with <a href="<?php print url('admin/tripal/tripal_jobs');?>">Tripal Jobs</a>
  73. providing administrators with a way to track BLAST jobs and ensuring long
  74. running BLASTs will not cause page time-outs
  75. </li>
  76. <li>
  77. BLAST databases are made available to the module by
  78. <a href="<?php print url('node/add/blastdb');?>">creating Drupal Pages</a>
  79. describing them. This allows administrators to
  80. <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>.
  81. </li>
  82. <li>
  83. BLAST database records can be linked to an external source with more
  84. information (ie: NCBI) per BLAST database.
  85. </li>
  86. </ul>
  87. <a name="protection"</a></a>
  88. &mdash;
  89. <h3><b>Protection Against Large Jobs</b></h3>
  90. Depending on the size and nature of your target databases, you may wish to constrain use
  91. of this module.
  92. <ol>
  93. <li>Limit the number of results displayed via admin page. The recommended number is 500.</li>
  94. <li>
  95. Limit the maximum upload file size in php settings. This is less useful because some
  96. very large queries may be manageable, and others not.
  97. </li>
  98. <li>
  99. Repeat-mask your targets, or provide repeat-masked versions. Note that some
  100. researchers may be looking for repeats, so this may limit the usefulness of the BLAST
  101. service.
  102. </li>
  103. </ol>
  104. <a name="genomeview"></a>
  105. &mdash;
  106. <h3><b>Whole Genome Visualization</b></h3>
  107. This module can be configured to use
  108. <a href="https://github.com/LegumeFederation/cvitjs">CViTjs</a> to display BLAST hits on
  109. a genome image.
  110. <h4>CViTjs Setup</h4>
  111. <ol>
  112. <li>
  113. <a href="https://github.com/LegumeFederation/cvitjs">Download CViTjs</a> and copy
  114. the code to your webserver. It needs to be placed in <code>[your drupal root]/sites/all/libraries</code>. To download, execute
  115. the git command inside the <code>libraries/</code> directory:<br>
  116. <code>git clone https://github.com/LegumeFederation/cvitjs.git</code>
  117. </li>
  118. <li>
  119. CViTjs will have a config file in its root directory named cvit.conf. This file
  120. provides information for whole genome visualization for each genome BLAST target.
  121. <b>Make sure the config file can be edited by your web server.</b>
  122. </li>
  123. <li>
  124. Enable CViTjs from the BLAST module administration page.
  125. </li>
  126. <li>
  127. Edit the configuration file to define each genome target. These will look like:
  128. <pre>
  129. [data.Cajanus cajan - genome]
  130. conf = data/cajca/cajca.conf
  131. defaultData = data/cajca/cajca.gff</pre>
  132. Where:<br>
  133. <ul>
  134. <li>the section name, "data.Cajanus cajan - genome", consists of "data." followed
  135. by the name of the BLAST target node,</li>
  136. <li>the file "cajca.conf" is a cvit configuration file which describes how to draw the
  137. chromosomes and BLAST hits on the <i>Cajanus cajan</i> genome,</li>
  138. <li>and the file "cajca.gff" is a GFF3 file that describes the <i>Cajanus cajan</i>
  139. chromosomes.</li>
  140. </ul>
  141. At the top of the configuration file there must be a [general] section that defines
  142. the default data set. For example:
  143. <pre>
  144. [general]
  145. data_default = data.Cajanus cajan - genome</pre>
  146. </li>
  147. <li>
  148. Edit the nodes for each genome target (nodes of type "BLAST Database") and enable whole
  149. genome visualization. Remember that the names listed in the CViTjs config file must
  150. match the BLAST node name. In the example above, the BLAST database node for the
  151. <i>Cajanus cajan</i> genome assembly is named "Cajanus cajan - genome"
  152. </li>
  153. </ol>
  154. <h4>Notes</h4>
  155. <ul>
  156. <li>The .conf file for each genome can be modified to suit your needs and tastes. See the
  157. sample configuration file, <code>data/test1/test1.conf</code>, and the CViTjs
  158. <a href="https://github.com/LegumeFederation/cvitjs#using-cvitjs">documentation</a>.</li>
  159. <li>Each blast target CViTjs configuration file must define how to visualize blast hits or you will not see them.
  160. <pre>[blast]
  161. feature = BLASTRESULT:match_part
  162. glyph = position
  163. shape = rect
  164. color = #FF00FF
  165. width = 5</pre></li>
  166. <li>You will have to put the target-specific conf and gff files (e.g. cajca.conf and
  167. cjca.gff) on your web server, in the directory, <code>sites/all/libraries/cvitjs/data</code>. You may
  168. choose to group files for each genome into subdirectories, for example,
  169. <code>sites/all/libraries/cvitjs/data/cajca</code>.</li>
  170. <li>It is important to make sure that cvit.conf points to the correct data directory and the
  171. correct .gff and .conf files for the genome in question. For more information about how to
  172. create the .gff file, see the
  173. <a href="https://github.com/LegumeFederation/cvitjs#how-to">documentation</a>.</li>
  174. </ul>