Benchmark 0

All shell command blocks begin at the folder root: benchmark_0

Description

benchmark_0 is the first benchmark presented at:

  • BiATA 2022

  • ROADEF 2022

  • ISCO 2022

  • JOBIM 2022

Data format

NODE line
---------

NODE   node_name   contig_name   multiplicity   X_coord   Y_coord

node_name       in the graph, a contig is represented by 2 nodes  : contig_name_L and contig_name_R
contig_name     name of the contig
multiplicity    number of occurrence of the contigs
                      x = don't know
                      * = zero or more
		      1 = one or more
		      s = one or more - start contig
		      1, 2, 3, ... exact number of occurrences
X_coord         X coordinate used for the graphic representation
Y_coord         Y coordinate used for the graphic representation


LINK line
---------

LINK  node_name_1  node_name_2  type   ident   color   sequence

node_name_*    the 2 nodes that are linked
type           intra : the 2 nodes belongs to the same contig
               inter : the 2 nodes come from different contigs

ident          identifier used to display graph (intra=contig_name,inter=link length)
color          color of the link (intra=reflect the coverage, inter=grey)
sequence       ATGC string of the link (* means link of size 0)


CONTIG line
-----------

CONTIG  name  coverage   sequence

name        name of the contig
coverage    average coverage of the contig
sequence    ATGC string of the contig

Install & configurations

1. Python environment

  • You need to install virtualenv

    pip install virtualenv
    
  • Create python virtual environment

    ./config/install_venv39.sh
    
  • Activate the environment

    source .venv_39/bin/activate
    

Always make sure the environment is activated!

(.venv_39) # command lines may be prefix by the environment name

2. QUAST

QUAST is used to evaluate the scaffolding (and the pre-assembly).

One fix is automatically done in .venv_39/lib/python3.9/site-packages/quast_libs/site_packages/jsontemplate/jsontemplate.py:

  • replacing import cgi by import html \((\times 1)\)

  • replacing all cgi.escape by html.escape \((\times 6)\)

see issue 157

sed -i 's/cgi/html/' .venv_39/lib/python3.9/site-packages/> quast_libs/site_packages/jsontemplate/jsontemplate.py

Usage

  • source the environment

    source .venv_39/bin/activate
    
  • run the benchmark

    python3.9 scripts/run_benchmark_0.py  # [-h] see help
    
  • run QUAST evaluation

    python3.9 scripts/evaluate_benchmark_0.py -d run/...  # [-h] see help
    
  • extract stats in a tex table (e.g. for ISCO2022 conference)

    python3.9 scripts/stats_to_tex_isco2022.py -d run/...  # [-h] see help
    
  • generate figures with R

    Rscript scripts/make_fig.R run/...