Skip to content
This repository has been archived by the owner on May 10, 2024. It is now read-only.

github4touchdouble/bench-sequence-alignments

Repository files navigation

Measure & compare the performance of sequence alignment workflows

Jan P. Hummel

Technical University of Munich | Technische Universität München

Contact via: jan.hummel@tum.de

Getting started

Follow these steps to set up and configure the environment for your specific needs:

1. Prerequisites
  • Install Ruby 3.2.2
  • Install bundler gem install bundler
  • Install dependencies bundle install
  • At least one command line based sequence alignment algorithm
2. Add Configurations
  • Create directories mkdir var/config var/results
  • Either import benchmarking sequences and pairwise alignments or
  • Create benchmarking sequences and pairwise alignments touch var/config/run.yml
  • Configure alignment algorithms touch var/config/alignments.yml
  • At least one command line based sequence alignment implementation
   # EXAMPLE CONFIGURATION
   commands:
      - java: "PATH_TO_JAVA_EXECUTABLE" # if any implementation requires a specific Java version
      - iterations: NUMBER_OF_ITERATIONS # number of iterations to run the benchmark
      # Define alignment implementations to benchmark:
      - path: "PATH_TO_EXECUTABLE"
        args:
        --[arg_1]: "VALUE_FOR_ARG_1" # arguments to pass to the executable
        #...
3. Run
  • Generate samples: ruby .\generate.rb
  • Run benchmark test ruby .\main.rb [if jar is used: jar] [path to configuration yaml file]
  • Results are written to var/results

© Jan P. Hummel

Jan P. Hummel  ·  GitHub @github4touchdouble  ·  contact via jan.hummel@tum.de