This is the command HPCdaligner that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
HPCdaligner - generate a script to run daligner(1)
HPCdaligner [-vbAI] [-kint(14)] [-wint(6)][-hint(35)] [-tint] [-Mint] [-edouble(.70)]
[-lint(1000)] [-sint(100)] [-Hint] [-mtrack]+ [-dalint(4)] [-degint(25)] path:db|dam
HPCdaligner writes a UNIX shell script to the standard output that consists of a sequence
of commands that effectively run daligner(1) on all pairs of blocks of a split database
and then externally sorts and merges them using LAsort(1) and LAmerge(1) into a collection
of alignment files with names path.#.las where # ranges from 1 to the number of blocks the
database is split into. These sorted files if concatenated by say LAcat(1) would contain
all the alignments in sorted order (of a-read, then b-read, and so on). Moreover, all
overlaps for a given a-read are guaranteed to not be split across files, so one can run
artifact analyzers or error correction on each sorted file in parallel.
The database must have been previously split by DBsplit(1) and all the parameters, except
-v, -dal, and -deg, are passed through to the calls to daligner(1). The defaults for
these parameters are as for daligner(1). The -v flag, for verbose-mode, is also passed to
all calls to LAsort(1) and LAmerge(1). -dal and -deg options are described later.
For a database divided into N sub-blocks, the calls to daligner(1) will produce in total
2TN^2 .las files assuming daligner runs with T threads. These will then be sorted and
merged into N^2 sorted .las files, one for each block pair. These are then merged in
ceil(log_deg N) phases where the number of files decreases geometrically in -deg until
there is 1 file per row of the N x N block matrix. So at the end one has N sorted .las
files that when concatenated would give a single large sorted overlap file.
The -dal option (default 4) gives the desired number of block comparisons per call to
daligner(1). Some must contain dal-1 comparisons, and the first dal-2 block comparisons
even less, but the HPCdaligner "planner" does the best it can to give an average load of
dal block comparisons per command. The -deg option (default 25) gives the maximum number
of files that will be merged in a single LAmerge(1) command. The planner makes the most
even k-ary tree of merges, where the number of levels is ceil(log_deg N).
If the integers first and last are missing, then the script produced is for every block in
the database. If first is present, then HPCdaligner produces an incremental script that
compares blocks first through last (last = first if not present) against each other and
all previous blocks 1 through first-1, and then incrementally updates the .las files for
blocks 1 through first-1, and creates the .las files for blocks first through last.
Each UNIX command line output by the HPCdaligner can be a batch job (we use the &&
operator to combine several commands into one line to make this so). Dependencies between
jobs can be maintained simply by first running all the daligner(1) jobs, then all the
initial sort jobs, and then all the jobs in each phase of the external merge sort. Each
of these phases is separated by an informative comment line for your scripting
Use HPCdaligner online using onworks.net services