template-tripal-blast-help.html.twig 7.1 KB

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