1. Bioinformatics With Rust
  2. Introduction
  3. Why Rust?
  4. About AI
  5. Prerequisites
  6. 1. Getting Started
  7. 2. Rust Basics
    1. 2.1. Create a Project
    2. 2.2. Syntax
    3. 2.3. Keywords
    4. 2.4. Macros
    5. 2.5. Data Types
    6. 2.6. Strings
    7. 2.7. Array
    8. 2.8. Vec
    9. 2.9. Control Flow
    10. 2.10. References
    11. 2.11. Functions
    12. 2.12. Enums
    13. 2.13. Structs
    14. 2.14. Option and Result
    15. 2.15. Error Handling
    16. 2.16. Ownership and Borrowing
    17. 2.17. Lifetimes
    18. 2.18. Iterator Chaining
    19. 2.19. Concurrency
    20. 2.20. Trait Bounds and Generics
    21. 2.21. Smart Pointers
  8. 3. File Formats
    1. 3.1. FASTA
    2. 3.2. FASTQ
  9. 4. Nucleotides
    1. 4.1. Representations
    2. 4.2. Counting
      1. 4.2.1. GC content
      2. 4.2.2. Homopolymers
      3. 4.2.3. Entropy
    3. 4.3. Manipulating
      1. 4.3.1. Compression
      2. 4.3.2. Trimming
      3. 4.3.3. Reverse Complement
    4. 4.4. Encoding
  10. 5. The Basics Of Alignment
    1. 5.1. Hamming Distance
    2. 5.2. Edit Distance
      1. 5.2.1. Adding Traceback
    3. 5.3. Smith-Waterman algorithm
      1. 5.3.1. Creating a desktop app
    4. 5.4. Resources
  11. 6. Kmers
    1. 6.1. A first implementation
    2. 6.2. Using Phred Scores
    3. 6.3. Bit Shift Encoding
      1. 6.3.1. Forward Strand
      2. 6.3.2. Reverse Strand
      3. 6.3.3. Final Implementation
    4. 6.4. SIMD Vectorization
    5. 6.5. FracMinHash
    6. 6.6. Minimizers
    7. 6.7. Syncmers
  12. 7. Aminoacids
    1. 7.1. Translation
  13. 8. Amplicon
    1. 8.1. In Silico PCR
    2. 8.2. Clustering
    3. 8.3. Classification
  14. 9. Practicals
    1. 9.1. Fasta parser
    2. 9.2. Fastq filter
    3. 9.3. Fastx toolkit
    4. 9.4. Classifier
  15. 10. Blueprints
    1. 10.1. Argument Parsing
    2. 10.2. Commands
    3. 10.3. DataFrames
    4. 10.4. Needletail
    5. 10.5. Bio
  16. 11. Resources
    1. 11.1. Awesome Rust Crates
    2. 11.2. Awesome Bioinformatic Tools
  17. 12. Thank You
  18. 13. TODO

Bioinformatics with Rust

Resources

Reading References

  • The Rust Programming Language - Official Rust book.
  • Rust By Practice - Practice Rust.
  • The Rustonomicon - Even more Rust!
  • The Rust Performance Book - How to optimize Rust for performance.
  • Rustfinity - Learn Rust through interactive problems.

Viewing References

  • Jon Gjengset
  • Bogdan from Let's Get Rusty
  • Dave from You Suck at Programming
  • Max Taylor
  • Rust Curious

Listening References

  • Rust in Production