[
    {
        "id": "bowtie",
        "name": "Bowtie",
        "article": "10.1002\/0471250953.bi1107s32",
        "website": "http:\/\/bowtie-bio.sourceforge.net",
        "git": "https:\/\/github.com\/BenLangmead\/bowtie",
        "description": "Bowtie is an ultrafast, memory-efficient short read aligner.",
        "version": "1.3.1",
        "documentation": "http:\/\/bowtie-bio.sourceforge.net\/manual.shtml",
        "multiqc": "bowtie1",
        "commands": [
            {
                "name": "bowtie_PE",
                "cname": "Bowtie PE",
                "command": "bowtie",
                "category": "mapping",
                "output_dir": "bowtie\/PE",
                "inputs": [
                    {
                        "name": "read",
                        "type": "reads"
                    },
                    {
                        "name": "read2",
                        "type": "reads"
                    },
                    {
                        "name": "index",
                        "type": "bowtie_index",
                        "file": "index",
                        "description": "Index files for bowtie alignment"
                    }
                ],
                "outputs": [
                    {
                        "name": "bam",
                        "type": "bams",
                        "file": "{sample}.bam",
                        "description": "Alignment files"
                    }
                ],
                "options": [
                    {
                        "name": "bowtie_threads",
                        "prefix": "--threads",
                        "type": "numeric",
                        "value": 4,
                        "min": 1,
                        "max": "NA",
                        "step": 1,
                        "label": "Number of threads to use to align reads"
                    },
                    {
                        "name": "bowtie_minins_PE",
                        "prefix": "-I",
                        "type": "numeric",
                        "value": 0,
                        "min": 0,
                        "max": "NA",
                        "step": 1,
                        "label": "The minimum insert size for valid paired-end alignments"
                    },
                    {
                        "name": "bowtie_maxins_PE",
                        "prefix": "-X",
                        "type": "numeric",
                        "value": 250,
                        "min": 0,
                        "max": "NA",
                        "step": 1,
                        "label": "The maximum insert size for valid paired-end alignments"
                    },
                    {
                        "name": "bowtie_orientation_PE",
                        "type": "radio",
                        "choices": [
                            {
                                "Not stranded": ""
                            },
                            {
                                "Forward Reverse": "--fr"
                            },
                            {
                                "Reverse Forward": "--rf"
                            },
                            {
                                "Forward Forward": "--ff"
                            }
                        ],
                        "value": "",
                        "label": "The upstream\/downstream mate orientations for a valid paired-end alignment against the forward reference strand."
                    },
                    {
                        "name": "bowtie_mult_align_limit",
                        "prefix": "-m",
                        "type": "numeric",
                        "value": 1,
                        "min": 1,
                        "max": 10,
                        "step": 1,
                        "label": "Suppress all alignments for a particular read or pair if more than 'x' reportable alignments exist for it"
                    },
                    {
                        "name": "bowtie_best",
                        "prefix": null,
                        "type": "checkbox",
                        "value": true,
                        "label": "--best : Make Bowtie guarantee that reported singleton alignments are 'best' in terms of stratum (i.e. number of mismatches, or mismatches in the seed in the case of -n mode) and in terms of the quality values at the mismatched position(s)."
                    },
                    {
                        "name": "bowtie_strata",
                        "prefix": null,
                        "type": "checkbox",
                        "value": true,
                        "label": "--strata : If many valid alignments exist and are reportable (e.g. are not disallowed via the -k option) and they fall into more than one alignment 'stratum', report only those alignments that fall into the best stratum. When --strata is specified, --best must also be specified."
                    }
                ]
            },
            {
                "name": "bowtie_SE",
                "cname": "Bowtie SE",
                "command": "bowtie",
                "category": "mapping",
                "output_dir": "bowtie\/SE",
                "inputs": [
                    {
                        "name": "read",
                        "type": "reads"
                    },
                    {
                        "name": "index",
                        "type": "bowtie_index",
                        "file": "index",
                        "description": "Index files for bowtie alignment"
                    }
                ],
                "outputs": [
                    {
                        "name": "bam",
                        "type": "bams",
                        "file": "{sample}.bam",
                        "description": "Alignment files"
                    }
                ],
                "options": [
                    {
                        "name": "bowtie_threads",
                        "prefix": "--threads",
                        "type": "numeric",
                        "value": 4,
                        "min": 1,
                        "max": "NA",
                        "step": 1,
                        "label": "Number of threads to use to align reads"
                    },
                    {
                        "name": "bowtie_mult_align_limit",
                        "prefix": "-m",
                        "type": "numeric",
                        "value": 1,
                        "min": 1,
                        "max": 10,
                        "step": 1,
                        "label": "Suppress all alignments for a particular read or pair if more than 'x' reportable alignments exist for it"
                    },
                    {
                        "name": "bowtie_best",
                        "prefix": null,
                        "type": "checkbox",
                        "value": true,
                        "label": "--best : Make Bowtie guarantee that reported singleton alignments are 'best' in terms of stratum (i.e. number of mismatches, or mismatches in the seed in the case of -n mode) and in terms of the quality values at the mismatched position(s)."
                    },
                    {
                        "name": "bowtie_strata",
                        "prefix": null,
                        "type": "checkbox",
                        "value": true,
                        "label": "--strata : If many valid alignments exist and are reportable (e.g. are not disallowed via the -k option) and they fall into more than one alignment 'stratum', report only those alignments that fall into the best stratum. When --strata is specified, --best must also be specified."
                    }
                ]
            }
        ],
        "install": [],
        "citations": {
            "bowtie": [
                "Langmead, B., Trapnell, C., Pop, M. et al. Ultrafast and memory-efficient alignment of short DNA sequences to the human genome. Genome Biol 10, R25 (2009). https:\/\/doi.org\/10.1186\/gb-2009-10-3-r25"
            ],
            "samtools": [
                "Heng Li, Bob Handsaker, Alec Wysoker, Tim Fennell, Jue Ruan, Nils Homer, Gabor Marth, Goncalo Abecasis, Richard Durbin, 1000 Genome Project Data Processing Subgroup, The Sequence Alignment\/Map format and SAMtools, Bioinformatics, Volume 25, Issue 16, 15 August 2009, Pages 2078-2079, https:\/\/doi.org\/10.1093\/bioinformatics\/btp352"
            ]
        },
        "yaml": "{\n  id: bowtie,\n  name: Bowtie,\n  article: 10.1002\/0471250953.bi1107s32,\n  website: \"http:\/\/bowtie-bio.sourceforge.net\",\n  git: \"https:\/\/github.com\/BenLangmead\/bowtie\",\n  description: \"Bowtie is an ultrafast, memory-efficient short read aligner.\",\n  version: \"1.3.1\",\n  documentation: \"http:\/\/bowtie-bio.sourceforge.net\/manual.shtml\",\n  multiqc: \"bowtie1\",\n  commands:\n    [\n      {\n        name: bowtie_PE,\n        cname: \"Bowtie PE\",\n        command: bowtie,\n        category: \"mapping\",\n        output_dir: bowtie\/PE,\n        inputs: [{ name: read, type: reads }, { name: read2, type: reads }, { name: index, type: \"bowtie_index\", file: index, description: \"Index files for bowtie alignment\" }],\n        outputs: [{ name: bam, type: bams, file: \"{sample}.bam\", description: \"Alignment files\" }],\n        options:\n          [\n            {\n              name: bowtie_threads,\n              prefix: --threads,\n              type: numeric,\n              value: 4,\n              min: 1,\n              max: NA,\n              step: 1,\n              label: \"Number of threads to use to align reads\",\n            },\n            {\n              name: bowtie_minins_PE,\n              prefix: -I,\n              type: numeric,\n              value: 0,\n              min: 0,\n              max: NA,\n              step: 1,\n              label: \"The minimum insert size for valid paired-end alignments\",\n            },\n            {\n              name: bowtie_maxins_PE,\n              prefix: -X,\n              type: numeric,\n              value: 250,\n              min: 0,\n              max: NA,\n              step: 1,\n              label: \"The maximum insert size for valid paired-end alignments\",\n            },\n            {\n              name: bowtie_orientation_PE,\n              type: radio,\n              choices:\n                [\n                  Not stranded: \"\",\n                  Forward Reverse: --fr,\n                  Reverse Forward: --rf,\n                  Forward Forward: --ff\n                ],\n              value: \"\",\n              label: \"The upstream\/downstream mate orientations for a valid paired-end alignment against the forward reference strand.\",\n            },\n            {\n              name: bowtie_mult_align_limit,\n              prefix: -m,\n              type: numeric,\n              value: 1,\n              min: 1,\n              max: 10,\n              step: 1,\n              label: \"Suppress all alignments for a particular read or pair if more than 'x' reportable alignments exist for it\",\n            },\n            {\n              name: bowtie_best,\n              prefix: ,\n              type: checkbox,\n              value: TRUE,\n              label: \"--best : Make Bowtie guarantee that reported singleton alignments are 'best' in terms of stratum (i.e. number of mismatches, or mismatches in the seed in the case of -n mode) and in terms of the quality values at the mismatched position(s).\",\n            },\n            {\n              name: bowtie_strata,\n              prefix: ,\n              type: checkbox,\n              value: TRUE,\n              label: \"--strata : If many valid alignments exist and are reportable (e.g. are not disallowed via the -k option) and they fall into more than one alignment 'stratum', report only those alignments that fall into the best stratum. When --strata is specified, --best must also be specified.\",\n            }\n          ]\n      },\n      {\n        name: bowtie_SE,\n        cname: \"Bowtie SE\",\n        command: bowtie,\n        category: \"mapping\",\n        output_dir: bowtie\/SE,\n        inputs: [{ name: read, type: \"reads\" }, { name: index, type: \"bowtie_index\", file: index, description: \"Index files for bowtie alignment\" }],\n        outputs: [{ name: bam, type: \"bams\", file: \"{sample}.bam\", description: \"Alignment files\" }],\n        options:\n          [\n            {\n              name: bowtie_threads,\n              prefix: --threads,\n              type: numeric,\n              value: 4,\n              min: 1,\n              max: NA,\n              step: 1,\n              label: \"Number of threads to use to align reads\",\n            },\n            {\n              name: bowtie_mult_align_limit,\n              prefix: -m,\n              type: numeric,\n              value: 1,\n              min: 1,\n              max: 10,\n              step: 1,\n              label: \"Suppress all alignments for a particular read or pair if more than 'x' reportable alignments exist for it\",\n            },\n            {\n              name: bowtie_best,\n              prefix: ,\n              type: checkbox,\n              value: TRUE,\n              label: \"--best : Make Bowtie guarantee that reported singleton alignments are 'best' in terms of stratum (i.e. number of mismatches, or mismatches in the seed in the case of -n mode) and in terms of the quality values at the mismatched position(s).\",\n            },\n            {\n              name: bowtie_strata,\n              prefix: ,\n              type: checkbox,\n              value: TRUE,\n              label: \"--strata : If many valid alignments exist and are reportable (e.g. are not disallowed via the -k option) and they fall into more than one alignment 'stratum', report only those alignments that fall into the best stratum. When --strata is specified, --best must also be specified.\",\n            }\n          ]\n      }\n    ],\n  install:  {\n    # bowtie: [\n    #   \"wget -O bowtie-1.3.0-linux-x86_64.zip https:\/\/sourceforge.net\/projects\/bowtie-bio\/files\/bowtie\/1.3.0\/bowtie-1.3.0-linux-x86_64.zip\/download\",\n    #   \"unzip bowtie-1.3.0-linux-x86_64.zip\",\n    #   \"cp bowtie-1.3.0-linux-x86_64\/bowtie* \/usr\/bin\",\n    #   \"rm -rf bowtie-1.3.0*\"\n    # ],\n    # samtools: [\n    #   \"cd \/opt\/biotools\",\n    #   \"wget https:\/\/github.com\/samtools\/samtools\/releases\/download\/1.9\/samtools-1.9.tar.bz2\",\n    #   \"tar -xvjf samtools-1.9.tar.bz2\",\n    #   \"cd samtools-1.9\",\n    #   \".\/configure && make\",\n    #   \"cd ..\",\n    #   \"mv samtools-1.9\/samtools bin\/samtools\",\n    #   \"rm -r samtools-1.9 samtools-1.9.tar.bz2\"\n    # ]\n  },\n  citations:  {\n    bowtie: [\n      \"Langmead, B., Trapnell, C., Pop, M. et al. Ultrafast and memory-efficient alignment of short DNA sequences to the human genome. Genome Biol 10, R25 (2009). https:\/\/doi.org\/10.1186\/gb-2009-10-3-r25\"\n    ],\n    samtools: [\n      \"Heng Li, Bob Handsaker, Alec Wysoker, Tim Fennell, Jue Ruan, Nils Homer, Gabor Marth, Goncalo Abecasis, Richard Durbin, 1000 Genome Project Data Processing Subgroup, The Sequence Alignment\/Map format and SAMtools, Bioinformatics, Volume 25, Issue 16, 15 August 2009, Pages 2078-2079, https:\/\/doi.org\/10.1093\/bioinformatics\/btp352\"\n    ]\n  }\n}"
    }
]