nvBWT.dox 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /*
  2. * nvbio
  3. * Copyright (c) 2011-2014, NVIDIA CORPORATION. All rights reserved.
  4. *
  5. * Redistribution and use in source and binary forms, with or without
  6. * modification, are permitted provided that the following conditions are met:
  7. * * Redistributions of source code must retain the above copyright
  8. * notice, this list of conditions and the following disclaimer.
  9. * * Redistributions in binary form must reproduce the above copyright
  10. * notice, this list of conditions and the following disclaimer in the
  11. * documentation and/or other materials provided with the distribution.
  12. * * Neither the name of the NVIDIA CORPORATION nor the
  13. * names of its contributors may be used to endorse or promote products
  14. * derived from this software without specific prior written permission.
  15. *
  16. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
  17. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  18. * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  19. * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY
  20. * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  21. * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  22. * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  23. * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  24. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  25. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  26. */
  27. ///\page nvbwt_page nvBWT
  28. ///\htmlonly
  29. /// <img src="nvidia_cubes.png" style="position:relative; bottom:-10px; border:0px;"/>
  30. ///\endhtmlonly
  31. ///\par
  32. ///\n
  33. /// <b>nvBWT</b> is an application built on top of \ref nvbio_page to perform BWT-based
  34. /// reference indexing for nvBowtie and potentially other FM-index based applications.
  35. ///\par
  36. /// Given one or multiple fasta files, it will create both the forward and reverse
  37. /// BWT as well as 2-bit packed representation of the files and a few other auxiliary indices:
  38. ///
  39. ///\verbatim
  40. /// ./nvBWT my-reference.fasta my-index
  41. ///\endverbatim
  42. ///\par
  43. /// will generate the following files:
  44. ///
  45. ///\verbatim
  46. /// my-index.pac
  47. /// my-index.rpac
  48. /// my-index.bwt
  49. /// my-index.rbwt
  50. /// my-index.sa
  51. /// my-index.rsa
  52. /// my-index.ann
  53. /// my-index.amb
  54. ///\endverbatim
  55. ///
  56. /// \section PerformanceSection Performance
  57. ///\par
  58. /// nvBWT runs the BWT construction on the GPU, using newly developed parallel algorithms.
  59. /// Here's a graph showing its superior performance compared to two other popular CPU based
  60. /// BWT builders:
  61. ///
  62. /// <img src="benchmark-bwt.png" style="position:relative; bottom:-10px; border:0px;" width="80%" height="80%"/>
  63. ///
  64. ///\section OptionsSection Options
  65. ///\par
  66. /// nvBWT supports the following command options:
  67. ///
  68. ///\verbatim
  69. /// nvBWT [options] input_file output-prefix
  70. /// options:
  71. /// -v | --verbosity int (0-6) [5] // select the verbosity level
  72. /// -m | --max-length int [inf] // clamp input length
  73. /// -b | --byte-packing // output a byte-encoded .pac file
  74. /// -w | --word-packing // output a word-encoded .wpac file (more efficient)
  75. /// -c | --crc // compute CRCs
  76. /// -d | --device // select a cuda device
  77. ///\endverbatim
  78. ///