PageRenderTime 59ms CodeModel.GetById 9ms RepoModel.GetById 0ms app.codeStats 0ms

/readme.md

https://bitbucket.org/samu661/fish
Markdown | 78 lines | 61 code | 17 blank | 0 comment | 0 complexity | 9f834d78cc093e74ffcb763a293cf855 MD5 | raw file
Possible License(s): MIT
  1. #FISH - Fast Indexing for Spaced-seed Hashing
  2. ##Abstract
  3. ###Background
  4. Spaced-seeds, i.e. patterns in which some fixed positions are allowed to be wild-cards, play a crucial role in several bioinformatics applications involving substrings counting and indexing, by often providing better sensitivity with respect to k-mers based approaches. K-mers based approaches are usually fast, being based on efficient hashing and indexing that exploits the large overlap between consecutive k-mers. Spaced-seeds hashing is not as straightforward and it is usually computed from scratch for each position in the input sequence.
  5. Recently, the FSH (Fast Spaced seed Hashing) approach was proposed to improve the time required for computation of the spaced seed hashing of DNA sequences with a speed-up of about 1.5 with respect to standard hashing computation.
  6. ###Results
  7. In this work we propose a novel algorithm, Fast Indexing for Spaced seed Hashing (FISH), based on the indexing of small blocks that can be combined to obtain the hashing of spaced-seeds of any length. The method exploits the fast computation of the hashing of runs of consecutive 1 in the spaced seeds, that basically correspond to k-mer of the length of the run.
  8. ###Conclusions
  9. We run several experiments on NGS data from metagenomic experiments, to assess the time required for the computation of the hashing for each position in each read with respect to several spaced seeds. In our experiments, FISH can compute the hashing values of spaced seeds with a speedup, with respect to the traditional approach, between 1.9x to 6.4x, depending on the structure of the spaced seed.
  10. #Download
  11. *NB:This software tests only the computation time and give the results in files*
  12. [FISH_download](https://bitbucket.org/samu661/fish/downloads/FISH.tar.gz)
  13. ##Compilation:
  14. Open terminal and go to FISH/Release/ and then:
  15. make all
  16. If you need to test in parallel mode you must add -fopenmp option on compilation in every makefiles in Release's subdirectories.
  17. ###Option compilation
  18. Y = Number of core
  19. -jY
  20. #Algorithm Option
  21. In the following paragraph is described the input file's structure and the parameters available in the FISH algorithm.
  22. ##File accepted and structure
  23. File accepted have the following structure:
  24. Structure file .fna example:
  25. > \>IDENTIFICATION
  26. > ATAATTGGCAAGTGTTTTAGTCTTAGAGAGATTCTCTAAGTCTAACTTGAACTCAATTTGGAATCATTTCCCAATTTTTA
  27. Structure .fastq example:
  28. > @IDENTIFICATION #0/1
  29. > CCCATGCCTTTAGCCAAATTCACGGTTTGATCACCCCTAAAACCAGCCAATATACCGAAGTGGAAGCCAGCATAAATGGCCTCAATATTACCGAAATGGAT
  30. > +
  31. > HBIIIIIIIHHDIHIGIIGGIHIIGIDIIIIBIHI@IIH@HIIHIIF5IIHEII>BDAHIBIEDBEIDG@HAEH*I@AEI=#CE?G17EEDHDEB@@?#8B
  32. In this VERSION, paired-end reads are passed to the algorithm in separeted file in which the reads are paired
  33. in the same order in which are writen. So we raccomend to control the paired-end read if they are paired in the
  34. correct manner.
  35. ##Parameter
  36. **-si** File path single-end reads
  37. **-pi** File paths paired-end reads
  38. **-dirO** Path directory output files. Default: output/
  39. **-q** Enter a spaced seeds path as -q <AbsPathFile>. Every file's line must contain a spaced seed. Ex. 1\*\*\*1\*111. 1 is the simbol considered, any others are not valid.
  40. Default spaced seeds are:
  41. 1111011101110010111001011011111 -> CLARK-S paper
  42. 1111101011100101101110011011111 -> CLARK-S paper
  43. 1111101001110101101100111011111 -> CLARK-S paper
  44. 1111010111010011001110111110111 -> rasbhari minimizing overlap complexity
  45. 1110111011101111010010110011111 -> rasbhari minimizing overlap complexity
  46. 1111101001011100111110101101111 -> rasbhari minimizing overlap complexity
  47. 1111011110011010111110101011011 -> rasbhari maximizing sensitivity
  48. 1110101011101100110100111111111 -> rasbhari maximizing sensitivity
  49. 1111110101101011100111011001111 -> rasbhari maximizing sensitivity
  50. #Run
  51. Calls algorithm where is compiled:
  52. ./FISH -si ../TestInputFile/long_example_1.fna -q 11101110110110111101
  53. ./FISH -pi ../TestInputFile/short_example_1.fna.1 ../TestInputFile/short_example_1.fna.2 -q 11101110110110111101
  54. ./FISH -pi ../TestInputFile/short_example_2.fna.1 ../TestInputFile/short_example_2.fna.2 -q 11101110110110111101 .dirO /home/user/desktop/
  55. #Publication
  56. S.Girotto, M.Comin, C.Pizzi
  57. *Efficient computation of spaced seed hashing with block indexing*
  58. BMC Bioinformatics 2018, 19 (Suppl 15) :441
  59. DOI: https://doi.org/10.1186/s12859-018-2415-8
  60. #License
  61. [MIT](https://bitbucket.org/samu661/fish/src/master/license.md)