Package: make-prg
make_prgA tool to create and update PRGs for input toPandoraandGramtoolsfrom a set of
Multiple Sequence Alignments.SupportWe fully supportmake_prgonlinuxwithpythonversions3.8-3.11. For other operating systems,make_prgcan be run through containers.Table of ContentsInstallNo installation needed - precompiled portable binarypipcondaContainerRunning on a sample exampleUsageInstallNo installation needed - precompiled portable binaryYou can usemake_prgwith no installation at all by simply downloading the precompiled binary, and running it.
In this binary, all libraries are linked statically. Compilation is done usingPyInstaller.RequirementsGLIBC >= 2.29(present onUbuntu >= 19.04,Debian >= 11,CentOS >= 9, etc);Downloadwget https://github.com/iqbal-lab-org/make_prg/releases/download/0.5.0/make_prg_0.5.0Runchmod +x make_prg_0.5.0
./make_prg_0.5.0 -hpipRequirements:python>=3.8,<=3.11pipinstallmake_prgcondacondainstall-cbiocondamake_prgContainerDocker images are hosted atquay.io.singularityPrerequisite:singularityURI="docker://quay.io/iqballab/make_prg"singularityexec"$URI"make_prg--helpThe above will use the latest version. If you want to specify a version then use atag(or commit) like so.VERSION="0.5.0"URI="docker://quay.io/iqballab/make_prg:${VERSION}"dockerPrerequisite:dockerdockerpullquay.io/iqballab/make_prg
dockerrunquay.io/iqballab/make_prg--helpYou can find all the available tags on thequay.io repository.Running on a sample exampleTo see how to input files to bothmake_prg from_msaandmake_prg update, and the outputs
they create on a sample example, seesample example.Usage$ make_prg --help
usage: make_prg <subcommand> <options>

Subcommand entrypoint

options:
  -h, --help     show this help message and exit
  -V, --version  show program's version number and exit

Available subcommands:
  
    from_msa     Make PRG from multiple sequence alignment
    update       Update PRGs given new sequences.from_msa$ make_prg from_msa --help
usage: make_prg from_msa

options:
  -h, --help            show this help message and exit
  -i INPUT, --input INPUT
                        Multiple sequence alignment file or a directory containing such files
  -s SUFFIX, --suffix SUFFIX
                        If the input parameter (-i, --input) is a directory, then filter for files with this suffix. If this parameter is not given, all files in the input directory is considered.
  -o OUTPUT_PREFIX, --output-prefix OUTPUT_PREFIX
                        Prefix for the output files
  -f ALIGNMENT_FORMAT, --alignment-format ALIGNMENT_FORMAT
                        Alignment format of MSA, must be a biopython AlignIO input alignment_format. See http://biopython.org/wiki/AlignIO. Default: fasta
  -N MAX_NESTING, --max-nesting MAX_NESTING
                        Maximum number of levels to use for nesting. Default: 5
  -L MIN_MATCH_LENGTH, --min-match-length MIN_MATCH_LENGTH
                        Minimum number of consecutive characters which must be identical for a match. Default: 7
  -O OUTPUT_TYPE, --output-type OUTPUT_TYPE
                        p: PRG, b: Binary, g: GFA, a: All. Combinations are allowed i.e., gb: GFA and Binary. Default: a
  -F, --force           Force overwrite previous output
  -t THREADS, --threads THREADS
                        Number of threads. 0 will use all available. Default: 1
  -v, --verbose         Increase output verbosity (-v for debug, -vv for trace - trace is for developers only)
  --log LOG             Path to write log to. Default is stderrupdate$ make_prg update --help
usage: make_prg update

options:
  -h, --help            show this help message and exit
  -u UPDATE_DS, --update-DS UPDATE_DS
                        Filepath to the update data structures (a *.update_DS.zip file created from make_prg from_msa or update)
  -o OUTPUT_PREFIX, --output-prefix OUTPUT_PREFIX
                        Prefix for the output files
  -d DENOVO_PATHS, --denovo-paths DENOVO_PATHS
                        Filepath containing denovo sequences. Should point to a denovo_paths.txt file
  -D LONG_DELETION_THRESHOLD, --deletion-threshold LONG_DELETION_THRESHOLD
                        Ignores long deletions of the given size or longer. If long deletions should not be ignored, put a large value. Default: 10
  -O OUTPUT_TYPE, --output-type OUTPUT_TYPE
                        p: PRG, b: Binary, g: GFA, a: All. Combinations are allowed i.e., gb: GFA and Binary. Default: a
  -F, --force           Force overwrite previous output
  -t THREADS, --threads THREADS
                        Number of threads. 0 will use all available. Default: 1
  -v, --verbose         Increase output verbosity (-v for debug, -vv for trace - trace is for developers only)
  --log LOG             Path to write log to. Default is stderr