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

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