[
    {
        "name": "Long_Read_Assembly",
        "docker_name": "longreadsassembly",
        "description": "",
        "version": "0.0.1",
        "author": "MBB",
        "input": "raw_long_reads",
        "steps": [
            {
                "title": "Find overlaps",
                "name": "find_overlaps",
                "tools": [
                    "minimap2_overlap_self"
                ],
                "default": "minimap2_overlap_self"
            },
            {
                "title": "Assembly",
                "name": "assembly",
                "tools": [
                    "miniasm"
                ],
                "default": "miniasm"
            },
            {
                "title": "Mapping",
                "name": "mapping",
                "tools": [
                    "minimap2_reference"
                ],
                "default": "minimap2_reference"
            },
            {
                "title": "Correction",
                "name": "correction",
                "tools": [
                    "racon"
                ],
                "default": "racon"
            },
            {
                "title": "Polishing",
                "name": "polishing",
                "tools": [
                    "medaka"
                ],
                "default": "medaka"
            },
            {
                "title": "Assembly Quality",
                "name": "assembly_quality",
                "tools": [
                    "quast"
                ],
                "default": "quast"
            }
        ],
        "options": [
            {
                "name": "results_dir",
                "type": "output_dir",
                "value": "\/Results",
                "label": "Results directory: ",
                "volumes": [
                    {
                        "Results": "\/Results"
                    }
                ]
            },
            {
                "name": "pacbio_oxfordNanopore",
                "type": "radio",
                "value": "ont",
                "choices": [
                    {
                        "Pacbio": "pb"
                    },
                    {
                        "Oxford Nanopore": "ont"
                    }
                ],
                "label": "Sequencing used to produce reads"
            }
        ],
        "steps_in": [
            {
                "step_name": "find_overlaps",
                "tool_name": "minimap2_overlap_self",
                "rule_name": "minimap2_overlap_self",
                "params": [
                    {
                        "input_name": "reads",
                        "origin_command": "raw_long_reads",
                        "origin_name": "read"
                    }
                ]
            },
            {
                "step_name": "assembly",
                "tool_name": "miniasm",
                "rule_name": "miniasm",
                "params": [
                    {
                        "input_name": "reads",
                        "origin_command": "raw_long_reads",
                        "origin_name": "read"
                    },
                    {
                        "input_name": "paf",
                        "origin_command": "minimap2_overlap_self",
                        "origin_name": "reads_overlaps"
                    }
                ]
            },
            {
                "step_name": "mapping",
                "tool_name": "minimap2_reference",
                "rule_name": "minimap2_reference",
                "params": [
                    {
                        "input_name": "reads",
                        "origin_command": "raw_long_reads",
                        "origin_name": "read"
                    },
                    {
                        "input_name": "fasta",
                        "origin_command": "miniasm",
                        "origin_name": "assembly_fasta"
                    }
                ]
            },
            {
                "step_name": "correction",
                "tool_name": "racon",
                "rule_name": "racon",
                "params": [
                    {
                        "input_name": "reads",
                        "origin_command": "raw_long_reads",
                        "origin_name": "read"
                    },
                    {
                        "input_name": "assembly",
                        "origin_command": "miniasm",
                        "origin_name": "assembly_fasta"
                    },
                    {
                        "input_name": "overlaps",
                        "origin_command": "minimap2_reference",
                        "origin_name": "reads_mapping"
                    }
                ]
            },
            {
                "step_name": "polishing",
                "tool_name": "medaka",
                "rule_name": "medaka",
                "params": [
                    {
                        "input_name": "reads",
                        "origin_command": "raw_long_reads",
                        "origin_name": "read"
                    },
                    {
                        "input_name": "assembly_fasta",
                        "origin_command": "racon",
                        "origin_name": "assembly_corrected"
                    }
                ]
            },
            {
                "step_name": "assembly_quality",
                "tool_name": "quast",
                "rule_name": "quast",
                "params": [
                    {
                        "input_name": "assembly",
                        "origin_command": "medaka",
                        "origin_name": "consensus_assembly"
                    }
                ]
            }
        ],
        "params_equals": [
            {
                "param_A": "pacbio_oxfordNanopore",
                "param_B": "mapping__minimap2_reference_pacbio_oxfordNanopore"
            },
            {
                "param_A": "pacbio_oxfordNanopore",
                "param_B": "find_overlaps__minimap2_overlap_self_pacbio_oxfordNanopore"
            },
            {
                "remove": "mapping__minimap2_reference_fasta"
            }
        ],
        "git": "https:\/\/gitlab.mbb.univ-montp2.fr\/khalid\/longreadsassembly",
        "json": {
            "class": "GraphLinksModel",
            "linkFromPortIdProperty": "fromPort",
            "linkToPortIdProperty": "toPort",
            "modelData": {
                "position": "-639.2446429842983 -795.8809523809506"
            },
            "nodeDataArray": [
                {
                    "name": "minimap2_overlap_self",
                    "text": "Minimap2 overlap self",
                    "size2": "220 60",
                    "category": "Tool",
                    "strokeWidth": 2,
                    "fill": "#3498db",
                    "inservices": [
                        {
                            "name": "i1",
                            "type": "reads",
                            "value": "read",
                            "description": "",
                            "ptype": "IN"
                        }
                    ],
                    "outservices": [
                        {
                            "name": "o1",
                            "type": "paf.gz",
                            "value": "reads_overlaps",
                            "description": "Reads overlaps",
                            "ptype": "OUT"
                        }
                    ],
                    "outservices2": [
                        {
                            "name": "o2",
                            "type": "link",
                            "value": "linkOut"
                        }
                    ],
                    "description": "A versatile pairwise aligner for genomic and spliced nucleotide sequences",
                    "version": "2.17",
                    "key": "9382153683",
                    "loc": "-370 -120"
                },
                {
                    "name": "read",
                    "text": "reads",
                    "category": "Data",
                    "figure": "FramedRectangle",
                    "fill": "#2ecc71",
                    "strokeWidth": 2,
                    "outservices": [
                        {
                            "name": "o1",
                            "type": "reads",
                            "value": "raw_reads"
                        }
                    ],
                    "key": -3,
                    "loc": "-560 -690"
                },
                {
                    "name": "miniasm",
                    "text": "Miniasm",
                    "size2": "125 85",
                    "category": "Tool",
                    "strokeWidth": 2,
                    "fill": "#3498db",
                    "inservices": [
                        {
                            "name": "i1",
                            "type": "reads",
                            "value": "read",
                            "description": "",
                            "ptype": "IN"
                        },
                        {
                            "name": "i2",
                            "type": "paf.gz",
                            "value": "paf",
                            "description": "",
                            "ptype": "IN"
                        }
                    ],
                    "outservices": [
                        {
                            "name": "o1",
                            "type": "gfa",
                            "value": "assembly_gfa",
                            "description": "Assembly graph file",
                            "ptype": "OUT"
                        },
                        {
                            "name": "o2",
                            "type": "fasta",
                            "value": "assembly_fasta",
                            "description": "Assembly fasta file",
                            "ptype": "OUT"
                        }
                    ],
                    "outservices2": [
                        {
                            "name": "o3",
                            "type": "link",
                            "value": "linkOut"
                        }
                    ],
                    "description": "Ultrafast de novo assembly for long noisy reads (though having no consensus step)",
                    "version": "0.3",
                    "key": "8479447335",
                    "loc": "-360 -320"
                },
                {
                    "name": "minimap2_reference",
                    "text": "Minimap2 reference",
                    "size2": "185 85",
                    "category": "Tool",
                    "strokeWidth": 2,
                    "fill": "#3498db",
                    "inservices": [
                        {
                            "name": "i1",
                            "type": "reads",
                            "value": "read",
                            "description": "",
                            "ptype": "IN"
                        },
                        {
                            "name": "i2",
                            "type": "fasta",
                            "value": "minimap2_reference_fasta",
                            "description": "",
                            "ptype": "IN"
                        }
                    ],
                    "outservices": [
                        {
                            "name": "o1",
                            "type": "paf.gz",
                            "value": "reads_mapping",
                            "description": "Reads mapping",
                            "ptype": "OUT"
                        }
                    ],
                    "outservices2": [
                        {
                            "name": "o2",
                            "type": "link",
                            "value": "linkOut"
                        }
                    ],
                    "description": "A versatile pairwise aligner for genomic and spliced nucleotide sequences",
                    "version": "2.17",
                    "key": "3583918106",
                    "loc": "-130 -470"
                },
                {
                    "name": "racon",
                    "text": "Racon",
                    "size2": "125 110",
                    "category": "Tool",
                    "strokeWidth": 2,
                    "fill": "#3498db",
                    "inservices": [
                        {
                            "name": "i1",
                            "type": "reads",
                            "value": "reads",
                            "description": "",
                            "ptype": "IN"
                        },
                        {
                            "name": "i2",
                            "type": "paf.gz",
                            "value": "overlaps",
                            "description": "",
                            "ptype": "IN"
                        },
                        {
                            "name": "i3",
                            "type": "fasta",
                            "value": "assembly",
                            "description": "",
                            "ptype": "IN"
                        }
                    ],
                    "outservices": [
                        {
                            "name": "o1",
                            "type": "fasta",
                            "value": "assembly_corrected",
                            "description": "Assembly corrected",
                            "ptype": "OUT"
                        }
                    ],
                    "outservices2": [
                        {
                            "name": "o2",
                            "type": "link",
                            "value": "linkOut"
                        }
                    ],
                    "description": "Ultrafast consensus module for raw de novo genome assembly of long uncorrected reads ",
                    "version": "1.4.10",
                    "key": "4202328909",
                    "loc": "140 -220"
                },
                {
                    "name": "medaka",
                    "text": "Medaka",
                    "size2": "125 85",
                    "category": "Tool",
                    "strokeWidth": 2,
                    "fill": "#3498db",
                    "inservices": [
                        {
                            "name": "i1",
                            "type": "reads",
                            "value": "read",
                            "description": "",
                            "ptype": "IN"
                        },
                        {
                            "name": "i2",
                            "type": "fasta",
                            "value": "assembly_fasta",
                            "description": "",
                            "ptype": "IN"
                        }
                    ],
                    "outservices": [
                        {
                            "name": "o1",
                            "type": "fasta",
                            "value": "consensus_assembly",
                            "description": "Consensus assembly file",
                            "ptype": "OUT"
                        }
                    ],
                    "outservices2": [
                        {
                            "name": "o2",
                            "type": "link",
                            "value": "linkOut"
                        }
                    ],
                    "description": "Medaka is a tool to create a consensus sequence of nanopore sequencing data.",
                    "version": "0.10.1",
                    "key": "6384064689",
                    "loc": "300 -570"
                },
                {
                    "name": "quast",
                    "text": "QUAST",
                    "size2": "125 60",
                    "category": "Tool",
                    "strokeWidth": 2,
                    "fill": "#3498db",
                    "inservices": [
                        {
                            "name": "i1",
                            "type": "fasta",
                            "value": "assembly",
                            "description": "",
                            "ptype": "IN"
                        }
                    ],
                    "outservices": [
                        {
                            "name": "o1",
                            "type": "tsv",
                            "value": "report",
                            "description": "Report (tabulated file)",
                            "ptype": "OUT"
                        }
                    ],
                    "outservices2": [
                        {
                            "name": "o2",
                            "type": "link",
                            "value": "linkOut"
                        }
                    ],
                    "description": "Quality Assessment Tool for Genome Assemblies",
                    "version": "5.0.2",
                    "key": "0461431209",
                    "loc": "390 -400"
                },
                {
                    "name": "multiqc",
                    "text": "Multiqc",
                    "size2": "125 60",
                    "category": "Repport",
                    "strokeWidth": 2,
                    "fill": "#e67e22",
                    "inservices": [
                        {
                            "name": "i1",
                            "type": "*",
                            "value": "data",
                            "description": "",
                            "ptype": "IN"
                        }
                    ],
                    "outservices": [
                        {
                            "name": "o2",
                            "type": "html",
                            "value": "rapport",
                            "description": "Rapport",
                            "ptype": "OUT"
                        }
                    ],
                    "outservices2": [
                        {
                            "name": "o2",
                            "type": "link",
                            "value": "linkOut"
                        }
                    ],
                    "description": "Multiqc",
                    "version": "1",
                    "key": "3329078477",
                    "loc": "520 -250"
                }
            ],
            "linkDataArray": [
                {
                    "from": -3,
                    "to": "9382153683",
                    "fromPort": "raw_reads",
                    "toPort": "read",
                    "points": [
                        -501.94583320617676,
                        -682.8394446372986,
                        -491.94583320617676,
                        -682.8394446372986,
                        -491.94583320617676,
                        -406.25,
                        -504.02500009536743,
                        -406.25,
                        -504.02500009536743,
                        -116.1,
                        -494.02500009536743,
                        -116.1
                    ]
                },
                {
                    "from": "9382153683",
                    "to": "8479447335",
                    "fromPort": "reads_overlaps",
                    "toPort": "paf",
                    "points": [
                        -245.97499990463257,
                        -116.1,
                        -235.97499990463257,
                        -116.1,
                        -235.97499990463257,
                        -213.75,
                        -446.52500009536743,
                        -213.75,
                        -446.52500009536743,
                        -305.55916695594783,
                        -436.52500009536743,
                        -305.55916695594783
                    ]
                },
                {
                    "from": -3,
                    "to": "8479447335",
                    "fromPort": "raw_reads",
                    "toPort": "read",
                    "points": [
                        -501.94583320617676,
                        -685.7697223186493,
                        -483.94583320617676,
                        -685.7697223186493,
                        -465.2354166507721,
                        -685.7697223186493,
                        -465.2354166507721,
                        -329.1408330440521,
                        -446.52500009536743,
                        -329.1408330440521,
                        -436.52500009536743,
                        -329.1408330440521
                    ]
                },
                {
                    "from": "8479447335",
                    "fromPort": "assembly_fasta",
                    "toPort": "minimap2_reference_fasta",
                    "points": [
                        -283.47499990463257,
                        -308.48944463729856,
                        -273.47499990463257,
                        -308.48944463729856,
                        -260,
                        -308.48944463729856,
                        -260,
                        -455.55916695594783,
                        -246.52500009536743,
                        -455.55916695594783,
                        -236.52500009536743,
                        -455.55916695594783
                    ],
                    "to": "3583918106"
                },
                {
                    "from": -3,
                    "to": "3583918106",
                    "fromPort": "raw_reads",
                    "toPort": "read",
                    "points": [
                        -501.94583320617676,
                        -688.7,
                        -475.94583320617676,
                        -688.7,
                        -361.2354166507721,
                        -688.7,
                        -361.2354166507721,
                        -479.1408330440521,
                        -246.52500009536743,
                        -479.1408330440521,
                        -236.52500009536743,
                        -479.1408330440521
                    ]
                },
                {
                    "from": "3583918106",
                    "to": "4202328909",
                    "fromPort": "reads_mapping",
                    "toPort": "overlaps",
                    "points": [
                        -23.47499990463257,
                        -467.34999999999997,
                        -13.474999904632568,
                        -467.34999999999997,
                        20,
                        -467.34999999999997,
                        20,
                        -218.60000000000002,
                        53.47499990463257,
                        -218.60000000000002,
                        63.47499990463257,
                        -218.60000000000002
                    ]
                },
                {
                    "from": "8479447335",
                    "to": "4202328909",
                    "fromPort": "assembly_fasta",
                    "toPort": "assembly",
                    "points": [
                        -283.47499990463257,
                        -302.6288892745971,
                        -273.47499990463257,
                        -302.6288892745971,
                        -110,
                        -302.6288892745971,
                        -110,
                        -195.01833391189575,
                        53.47499990463257,
                        -195.01833391189575,
                        63.47499990463257,
                        -195.01833391189575
                    ]
                },
                {
                    "from": -3,
                    "to": "6384064689",
                    "fromPort": "raw_reads",
                    "toPort": "read",
                    "points": [
                        -501.94583320617676,
                        -694.5605553627014,
                        -459.94583320617676,
                        -694.5605553627014,
                        -123.2354166507721,
                        -694.5605553627014,
                        -123.2354166507721,
                        -579.1408330440522,
                        213.47499990463257,
                        -579.1408330440522,
                        223.47499990463257,
                        -579.1408330440522
                    ]
                },
                {
                    "from": "4202328909",
                    "to": "6384064689",
                    "fromPort": "assembly_corrected",
                    "toPort": "assembly_fasta",
                    "points": [
                        216.52500009536743,
                        -218.60000000000002,
                        226.52500009536743,
                        -218.60000000000002,
                        226.52500009536743,
                        -401.25,
                        213.47499990463257,
                        -401.25,
                        213.47499990463257,
                        -555.5591669559478,
                        223.47499990463257,
                        -555.5591669559478
                    ]
                },
                {
                    "from": -3,
                    "to": "4202328909",
                    "fromPort": "raw_reads",
                    "toPort": "reads",
                    "points": [
                        -501.94583320617676,
                        -688.7,
                        -475.94583320617676,
                        -688.7,
                        47.619047619047706,
                        -688.7,
                        47.619047619047706,
                        -242.18166608810424,
                        53.47499990463257,
                        -242.18166608810424,
                        63.47499990463257,
                        -242.18166608810424
                    ]
                },
                {
                    "from": "6384064689",
                    "to": "0461431209",
                    "fromPort": "consensus_assembly",
                    "toPort": "assembly",
                    "points": [
                        376.52500009536743,
                        -567.3499999999999,
                        386.52500009536743,
                        -567.3499999999999,
                        386.52500009536743,
                        -478.75,
                        303.47499990463257,
                        -478.75,
                        303.47499990463257,
                        -396.09999999999997,
                        313.47499990463257,
                        -396.09999999999997
                    ]
                },
                {
                    "from": "0461431209",
                    "to": "3329078477",
                    "fromPort": "report",
                    "toPort": "data",
                    "points": [
                        466.52500009536743,
                        -396.09999999999997,
                        476.52500009536743,
                        -396.09999999999997,
                        476.52500009536743,
                        -325,
                        433.47499990463257,
                        -325,
                        433.47499990463257,
                        -246.09999999999997,
                        443.47499990463257,
                        -246.09999999999997
                    ]
                }
            ],
            "version": 2
        },
        "yaml": "{\n  name: Long_Read_Assembly,\n  docker_name: longreadsassembly,\n  description: \"\",\n  version: \"0.0.1\",\n  author: \"MBB\",\n  input: raw_long_reads,\n  steps:\n    [\n      { title: Find overlaps, name: find_overlaps, tools: [minimap2_overlap_self], default: minimap2_overlap_self },\n      { title: Assembly, name: assembly, tools: [miniasm], default: miniasm },\n      { title: Mapping, name: mapping, tools: [minimap2_reference], default: minimap2_reference },\n      { title: Correction, name: correction, tools: [racon], default: racon },\n      { title: Polishing, name: polishing, tools: [medaka], default: medaka },\n      { title: Assembly Quality, name: assembly_quality, tools: [quast], default: quast },\n    ],\n  options:\n    [\n      {\n        name: \"results_dir\",\n        type: \"output_dir\",\n        value: \"\/Results\",\n        label: \"Results directory: \",\n        volumes:  [Results: \"\/Results\"]\n      },\n      {\n        name: \"pacbio_oxfordNanopore\",\n        type: \"radio\",\n        value: \"ont\",\n        choices: [Pacbio: pb, Oxford Nanopore: ont],\n        label: \"Sequencing used to produce reads\",\n      },\n    ],\n    steps_in: [\n      { step_name: find_overlaps, tool_name: minimap2_overlap_self, rule_name: minimap2_overlap_self, \n        params: [ \n          {input_name: reads, origin_command: raw_long_reads, origin_name: read }\n        ]\n      },\n      \n      { step_name: assembly, tool_name: miniasm, rule_name: miniasm,\n        params: [\n          { input_name: reads, origin_command: raw_long_reads, origin_name: read },\n          { input_name: paf, origin_command: minimap2_overlap_self, origin_name: reads_overlaps }\n        ]\n      },\n            \n      { step_name: mapping, tool_name: minimap2_reference, rule_name: minimap2_reference, \n        params: [\n          { input_name: reads, origin_command: raw_long_reads, origin_name: read },\n          { input_name: fasta, origin_command: miniasm, origin_name: assembly_fasta }\n        ]\n      },\n\n      { step_name: correction, tool_name: racon, rule_name: racon, \n          params: [\n              { input_name: reads, origin_command: raw_long_reads, origin_name: read },\n              { input_name: assembly, origin_command: miniasm, origin_name: assembly_fasta },\n              { input_name: overlaps, origin_command: minimap2_reference, origin_name: reads_mapping }\n          ]\n      },\n      { step_name: polishing, tool_name: medaka, rule_name: medaka, \n          params: [\n              { input_name: reads, origin_command: raw_long_reads, origin_name: read },\n              { input_name: assembly_fasta, origin_command: racon, origin_name: assembly_corrected },\n          ]\n      },\n      { step_name: assembly_quality, tool_name: quast, rule_name: quast, \n          params: [\n              { input_name: assembly, origin_command: medaka, origin_name: consensus_assembly },\n          ]\n      }\n    ],\n    params_equals: [\n      { param_A: pacbio_oxfordNanopore, param_B: mapping__minimap2_reference_pacbio_oxfordNanopore },\n      { param_A: pacbio_oxfordNanopore, param_B: find_overlaps__minimap2_overlap_self_pacbio_oxfordNanopore },\n      { remove: mapping__minimap2_reference_fasta }\n    ]\n}"
    }
]