diff --git a/tools/snap_index/snap_index.rule.snakefile b/tools/snap_index/snap_index.rule.snakefile new file mode 100755 index 0000000000000000000000000000000000000000..fe8c9d8a7423c041d5e7ca2a3154cbe379cdd0f7 --- /dev/null +++ b/tools/snap_index/snap_index.rule.snakefile @@ -0,0 +1,25 @@ +rule <step_name>__snap_index: + input: + **<step_name>__snap_index_inputs() + output: + index = ( + config["<step_name>__snap_index_output_dir"]+"/Genome", + config["<step_name>__snap_index_output_dir"]+"/GenomeIndex", + config["<step_name>__snap_index_output_dir"]+"/GenomeIndexHash", + config["<step_name>__snap_index_output_dir"]+"/OverflowTable", + ), + threads: + config["<step_name>__snap_index_threads"] + log: + config["results_dir"]+"/logs/" + config["<step_name>__snap_index_output_dir"] + "/index.log" + params: + command = config["<step_name>__snap_index_command"], + snap_index_seed_size = config["<step_name>__snap_index_seed_size"], + out_dir = config["<step_name>__snap_index_output_dir"] + shell: + "{params.command} " + "{input.genome_fasta} " + "{params.out_dir} " + "-s {params.snap_index_seed_size} " + "-t{threads} |& tee {log};" #no space after -t + diff --git a/tools/snap_index/snap_index.yaml b/tools/snap_index/snap_index.yaml new file mode 100755 index 0000000000000000000000000000000000000000..7c71ca81f35aba20795d87425c4590c2b6e113ec --- /dev/null +++ b/tools/snap_index/snap_index.yaml @@ -0,0 +1,66 @@ +{ + id: snap_index, + name: Scalable Nucleotide Alignment Program, + article: arXiv:1111.5572v1, + website: "https://www.microsoft.com/en-us/research/project/snap/", + git: "https://github.com/amplab/snap", + description: "fast and accurate aligner for short DNA reads. It is optimized for modern read lengths of 100 bases or higher, and align them quickly through a hash-based indexing scheme.", + version: "2.0", + documentation: "https://github.com/amplab/snap/tree/master/docs", + multiqc: "custom", + commands: + [ + { + name: snap_index, + cname: "snap index", + command: snap-align index, + category: "indexing", + output_dir: snap/index, + inputs: [{ name: genome_fasta, type: "contigs", description: "Fasta reference", from: "parameter" }], + outputs: [{ name: index, type: "snap_index", file: index, description: "Index files for snap alignment" }], + options: + [ + { + name: snap_index_threads, + prefix: -t, + type: numeric, + value: 4, + min: 1, + max: NA, + step: 1, + label: "Number of threads to use", + }, + { + name: snap_index_genome_fasta, + type: input_file, + value: "", + label: "Path to reference genome fasta file", + }, + { + name: snap_index_seed_size, + prefix: -s, + type: numeric, + value: 24, + min: 12, + max: 64, + step: 1, + label: "seed size", + } + ] + }, + ], + install: { + snap: [ + "cd /opt/biotools", + "git clone https://github.com/amplab/snap.git", + "cd snap", + "make -j 8", + "ENV PATH /opt/biotools/snap:$PATH", + ] + }, + citations: { + snap: [ + "Faster and More Accurate Sequence Alignment with SNAP. Matei Zaharia, William J. Bolosky, Kristal Curtis, Armando Fox, David Patterson, Scott Shenker, Ion Stoica, Richard M. Karp, and Taylor Sittler. arXiv:1111.5572v1, November 2011." + ] + } +} \ No newline at end of file