changeset 0:442a7c88b886 draft

Uploaded
author mcharles
date Wed, 10 Sep 2014 09:18:15 -0400
parents
children 7f36bd129321
files rapsodyn/Galaxy-Workflow-rapsosnp_v1.15_-1x.ga rapsodyn/Galaxy-Workflow-rapsosnp_v1.15_-_2x.ga rapsodyn/Galaxy-Workflow-rapsosnp_v1.15_-_4x.ga rapsodyn/ParseBlastForUniqueMatch.pl rapsodyn/ParseBlastForUniqueMatch.xml rapsodyn/PileupVariant.pl rapsodyn/PileupVariant.xml rapsodyn/PrepareFastqLight.pl rapsodyn/PrepareFastqLight.xml rapsodyn/SplitFile2x.pl rapsodyn/SplitFile2x.xml rapsodyn/SplitFile4x.pl rapsodyn/SplitFile4x.xml rapsodyn/extractseq.pl rapsodyn/extractseq.xml rapsodyn/fastaGroomerForMakeBlastdb.pl rapsodyn/fastaGroomerForMakeBlastdb.xml rapsodyn/filtersam_mapped_and_unique.pl rapsodyn/filtersam_mapped_and_unique.xml rapsodyn/listfiltering.pl rapsodyn/listfiltering.xml rapsodyn/mpileupfilterandstat.pl rapsodyn/mpileupfilterandstat.xml rapsodyn/repository_dependencies.xml
diffstat 24 files changed, 4943 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/Galaxy-Workflow-rapsosnp_v1.15_-1x.ga	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,590 @@
+{
+    "a_galaxy_workflow": "true", 
+    "annotation": "", 
+    "format-version": "0.1", 
+    "name": "rapsosnp v1.15 -1x", 
+    "steps": {
+        "0": {
+            "annotation": "", 
+            "id": 0, 
+            "input_connections": {}, 
+            "inputs": [
+                {
+                    "description": "", 
+                    "name": "ASSEMBLY"
+                }
+            ], 
+            "name": "Input dataset", 
+            "outputs": [], 
+            "position": {
+                "left": 258, 
+                "top": 733.9833374023438
+            }, 
+            "tool_errors": null, 
+            "tool_id": null, 
+            "tool_state": "{\"name\": \"ASSEMBLY\"}", 
+            "tool_version": null, 
+            "type": "data_input", 
+            "user_outputs": []
+        }, 
+        "1": {
+            "annotation": "", 
+            "id": 1, 
+            "input_connections": {}, 
+            "inputs": [
+                {
+                    "description": "", 
+                    "name": "READ1"
+                }
+            ], 
+            "name": "Input dataset", 
+            "outputs": [], 
+            "position": {
+                "left": 258, 
+                "top": 818.9833374023438
+            }, 
+            "tool_errors": null, 
+            "tool_id": null, 
+            "tool_state": "{\"name\": \"READ1\"}", 
+            "tool_version": null, 
+            "type": "data_input", 
+            "user_outputs": []
+        }, 
+        "2": {
+            "annotation": "", 
+            "id": 2, 
+            "input_connections": {}, 
+            "inputs": [
+                {
+                    "description": "", 
+                    "name": "READ2"
+                }
+            ], 
+            "name": "Input dataset", 
+            "outputs": [], 
+            "position": {
+                "left": 258, 
+                "top": 903.9833374023438
+            }, 
+            "tool_errors": null, 
+            "tool_id": null, 
+            "tool_state": "{\"name\": \"READ2\"}", 
+            "tool_version": null, 
+            "type": "data_input", 
+            "user_outputs": []
+        }, 
+        "3": {
+            "annotation": "", 
+            "id": 3, 
+            "input_connections": {}, 
+            "inputs": [
+                {
+                    "description": "", 
+                    "name": "DUBIOUS"
+                }
+            ], 
+            "name": "Input dataset", 
+            "outputs": [], 
+            "position": {
+                "left": 258, 
+                "top": 988.9833374023438
+            }, 
+            "tool_errors": null, 
+            "tool_id": null, 
+            "tool_state": "{\"name\": \"DUBIOUS\"}", 
+            "tool_version": null, 
+            "type": "data_input", 
+            "user_outputs": []
+        }, 
+        "4": {
+            "annotation": "", 
+            "id": 4, 
+            "input_connections": {
+                "input_fasta": {
+                    "id": 0, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "fastaGroomerForMakeBlastdb", 
+            "outputs": [
+                {
+                    "name": "output_fasta", 
+                    "type": "fasta"
+                }
+            ], 
+            "position": {
+                "left": 486, 
+                "top": 733.9833374023438
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/mcharles/genephys/fastaGroomerForMakeBlastdb/0.01", 
+            "tool_state": "{\"input_fasta\": \"null\", \"__rerun_remap_job_id__\": null, \"__page__\": 0}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "5": {
+            "annotation": "", 
+            "id": 5, 
+            "input_connections": {
+                "input_read1_file": {
+                    "id": 1, 
+                    "output_name": "output"
+                }, 
+                "input_read2_file": {
+                    "id": 2, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "PrepareFastqLight", 
+            "outputs": [
+                {
+                    "name": "output_read1_file", 
+                    "type": "fastqsanger"
+                }, 
+                {
+                    "name": "output_read2_file", 
+                    "type": "fastqsanger"
+                }
+            ], 
+            "position": {
+                "left": 486, 
+                "top": 864.9833374023438
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "PrepareFastqLight", 
+            "tool_state": "{\"__page__\": 0, \"quality_type\": \"\\\"illumina\\\"\", \"min_length\": \"\\\"30\\\"\", \"__rerun_remap_job_id__\": null, \"min_quality\": \"\\\"30\\\"\", \"input_read1_file\": \"null\", \"input_read2_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "6": {
+            "annotation": "", 
+            "id": 6, 
+            "input_connections": {
+                "input_file": {
+                    "id": 4, 
+                    "output_name": "output_fasta"
+                }
+            }, 
+            "inputs": [], 
+            "name": "NCBI BLAST+ makeblastdb", 
+            "outputs": [
+                {
+                    "name": "outfile", 
+                    "type": "data"
+                }
+            ], 
+            "position": {
+                "left": 814, 
+                "top": 733.9833374023438
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_makeblastdb/0.1.00", 
+            "tool_state": "{\"__page__\": 0, \"mask_data_file\": \"null\", \"input_file\": \"null\", \"dbtype\": \"\\\"nucl\\\"\", \"__rerun_remap_job_id__\": null, \"hash_index\": \"\\\"True\\\"\", \"tax\": \"{\\\"taxselect\\\": \\\"\\\", \\\"__current_case__\\\": 0}\", \"title\": \"\\\"\\\"\", \"parse_seqids\": \"\\\"False\\\"\"}", 
+            "tool_version": "0.1.00", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "7": {
+            "annotation": "", 
+            "id": 7, 
+            "input_connections": {
+                "genomeSource|ownFile": {
+                    "id": 0, 
+                    "output_name": "output"
+                }, 
+                "paired|input1": {
+                    "id": 5, 
+                    "output_name": "output_read1_file"
+                }, 
+                "paired|input2": {
+                    "id": 5, 
+                    "output_name": "output_read2_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "Map with BWA for Illumina", 
+            "outputs": [
+                {
+                    "name": "output", 
+                    "type": "sam"
+                }
+            ], 
+            "position": {
+                "left": 814, 
+                "top": 891.9833374023438
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/bwa_wrappers/bwa_wrapper/1.2.3", 
+            "tool_state": "{\"genomeSource\": \"{\\\"refGenomeSource\\\": \\\"history\\\", \\\"ownFile\\\": null, \\\"__current_case__\\\": 1}\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"paired\": \"{\\\"input2\\\": null, \\\"sPaired\\\": \\\"paired\\\", \\\"input1\\\": null, \\\"__current_case__\\\": 1}\", \"params\": \"{\\\"__current_case__\\\": 0, \\\"source_select\\\": \\\"pre_set\\\"}\", \"suppressHeader\": \"\\\"False\\\"\", \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\"}", 
+            "tool_version": "1.2.3", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "8": {
+            "annotation": "", 
+            "id": 8, 
+            "input_connections": {
+                "input_sam_file": {
+                    "id": 7, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "filtersam_mapped_and_unique", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "sam"
+                }
+            ], 
+            "position": {
+                "left": 1142, 
+                "top": 733.9833374023438
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/mcharles/rapsodyn/filtersam_mapped_and_unique/0.01", 
+            "tool_state": "{\"__page__\": 0, \"__rerun_remap_job_id__\": null, \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\", \"input_sam_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "9": {
+            "annotation": "", 
+            "id": 9, 
+            "input_connections": {
+                "source|input1": {
+                    "id": 8, 
+                    "output_name": "output_file"
+                }, 
+                "source|ref_file": {
+                    "id": 0, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "SAM-to-BAM", 
+            "outputs": [
+                {
+                    "name": "output1", 
+                    "type": "bam"
+                }
+            ], 
+            "position": {
+                "left": 1470, 
+                "top": 733.9833374023438
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/sam_to_bam/sam_to_bam/1.1.4", 
+            "tool_state": "{\"source\": \"{\\\"index_source\\\": \\\"history\\\", \\\"ref_file\\\": null, \\\"input1\\\": null, \\\"__current_case__\\\": 1}\", \"__rerun_remap_job_id__\": null, \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\", \"__page__\": 0}", 
+            "tool_version": "1.1.4", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "10": {
+            "annotation": "", 
+            "id": 10, 
+            "input_connections": {
+                "reference_source|input_bams_0|input_bam": {
+                    "id": 9, 
+                    "output_name": "output1"
+                }, 
+                "reference_source|ref_file": {
+                    "id": 0, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "MPileup", 
+            "outputs": [
+                {
+                    "name": "output_mpileup", 
+                    "type": "pileup"
+                }, 
+                {
+                    "name": "output_log", 
+                    "type": "txt"
+                }
+            ], 
+            "position": {
+                "left": 1698, 
+                "top": 733.9833374023438
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/samtools_mpileup/samtools_mpileup/0.0.3", 
+            "tool_state": "{\"__page__\": 0, \"genotype_likelihood_computation_type\": \"{\\\"genotype_likelihood_computation_type_selector\\\": \\\"do_not_perform_genotype_likelihood_computation\\\", \\\"__current_case__\\\": 1}\", \"__rerun_remap_job_id__\": null, \"advanced_options\": \"{\\\"max_reads_per_bam\\\": \\\"250\\\", \\\"advanced_options_selector\\\": \\\"advanced\\\", \\\"extended_BAQ_computation\\\": \\\"False\\\", \\\"region_string\\\": \\\"\\\", \\\"output_per_sample_strand_bias_p_value\\\": \\\"False\\\", \\\"minimum_base_quality\\\": \\\"30\\\", \\\"disable_probabilistic_realignment\\\": \\\"False\\\", \\\"skip_anomalous_read_pairs\\\": \\\"False\\\", \\\"minimum_mapping_quality\\\": \\\"0\\\", \\\"output_per_sample_read_depth\\\": \\\"False\\\", \\\"__current_case__\\\": 0, \\\"position_list\\\": null, \\\"coefficient_for_downgrading\\\": \\\"0\\\"}\", \"reference_source\": \"{\\\"ref_file\\\": null, \\\"reference_source_selector\\\": \\\"history\\\", \\\"input_bams\\\": [{\\\"__index__\\\": 0, \\\"input_bam\\\": null}], \\\"__current_case__\\\": 1}\", \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\"}", 
+            "tool_version": "0.0.3", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "11": {
+            "annotation": "", 
+            "id": 11, 
+            "input_connections": {
+                "input_file": {
+                    "id": 10, 
+                    "output_name": "output_mpileup"
+                }
+            }, 
+            "inputs": [], 
+            "name": "PileupVariant", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "pileup"
+                }
+            ], 
+            "position": {
+                "left": 2024, 
+                "top": 733.9833374023438
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "PileupVariant", 
+            "tool_state": "{\"__page__\": 0, \"__rerun_remap_job_id__\": null, \"input_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "12": {
+            "annotation": "", 
+            "id": 12, 
+            "input_connections": {
+                "input_listA": {
+                    "id": 11, 
+                    "output_name": "output_file"
+                }, 
+                "input_listB": {
+                    "id": 3, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "listfiltering", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "pileup"
+                }
+            ], 
+            "position": {
+                "left": 2352, 
+                "top": 733.9833374023438
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/mcharles/rapsodyn/listfiltering/0.01", 
+            "tool_state": "{\"__page__\": 0, \"__rerun_remap_job_id__\": null, \"input_listB\": \"null\", \"nb_col\": \"\\\"2\\\"\", \"input_listA\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "13": {
+            "annotation": "", 
+            "id": 13, 
+            "input_connections": {
+                "input_assembly_file": {
+                    "id": 0, 
+                    "output_name": "output"
+                }, 
+                "input_variant_file": {
+                    "id": 12, 
+                    "output_name": "output_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "extractseq", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "fasta"
+                }
+            ], 
+            "position": {
+                "left": 2680, 
+                "top": 733.9833374023438
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/mcharles/rapsodyn/extractseq/0.03", 
+            "tool_state": "{\"__page__\": 0, \"input_variant_file\": \"null\", \"__rerun_remap_job_id__\": null, \"window_length\": \"\\\"50\\\"\", \"input_assembly_file\": \"null\"}", 
+            "tool_version": "0.03", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "14": {
+            "annotation": "", 
+            "id": 14, 
+            "input_connections": {
+                "db_opts|histdb": {
+                    "id": 6, 
+                    "output_name": "outfile"
+                }, 
+                "query": {
+                    "id": 13, 
+                    "output_name": "output_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "NCBI BLAST+ blastn", 
+            "outputs": [
+                {
+                    "name": "output1", 
+                    "type": "tabular"
+                }
+            ], 
+            "position": {
+                "left": 3008, 
+                "top": 733.9833374023438
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_blastn_wrapper/0.1.00", 
+            "tool_state": "{\"evalue_cutoff\": \"\\\"0.001\\\"\", \"__page__\": 0, \"adv_opts\": \"{\\\"identity_cutoff\\\": \\\"0.0\\\", \\\"adv_opts_selector\\\": \\\"advanced\\\", \\\"ungapped\\\": \\\"False\\\", \\\"filter_query\\\": \\\"False\\\", \\\"word_size\\\": \\\"0\\\", \\\"__current_case__\\\": 1, \\\"parse_deflines\\\": \\\"False\\\", \\\"strand\\\": \\\"-strand both\\\", \\\"max_hits\\\": \\\"8\\\"}\", \"__rerun_remap_job_id__\": null, \"blast_type\": \"\\\"megablast\\\"\", \"db_opts\": \"{\\\"db_opts_selector\\\": \\\"histdb\\\", \\\"subject\\\": \\\"\\\", \\\"histdb\\\": null, \\\"__current_case__\\\": 1, \\\"database\\\": \\\"\\\"}\", \"output\": \"{\\\"out_format\\\": \\\"cols\\\", \\\"std_cols\\\": [\\\"qseqid\\\", \\\"qstart\\\", \\\"qend\\\"], \\\"ids_cols\\\": null, \\\"tax_cols\\\": null, \\\"__current_case__\\\": 2, \\\"misc_cols\\\": null, \\\"ext_cols\\\": [\\\"qseq\\\", \\\"sseq\\\"]}\", \"query\": \"null\"}", 
+            "tool_version": "0.1.00", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "15": {
+            "annotation": "", 
+            "id": 15, 
+            "input_connections": {
+                "input_blast_file": {
+                    "id": 14, 
+                    "output_name": "output1"
+                }, 
+                "input_variant_file": {
+                    "id": 12, 
+                    "output_name": "output_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "ParseBlastForUniqueMatch", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "pileup"
+                }
+            ], 
+            "position": {
+                "left": 3310, 
+                "top": 733.9833374023438
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "ParseBlastForUniqueMatch", 
+            "tool_state": "{\"input_variant_file\": \"null\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"input_blast_file\": \"null\", \"window_length\": \"\\\"50\\\"\", \"nb_mismatch_max\": \"\\\"3\\\"\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "16": {
+            "annotation": "", 
+            "id": 16, 
+            "input_connections": {
+                "input_file": {
+                    "id": 15, 
+                    "output_name": "output_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "mpileupfilterandstat", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "pileup"
+                }, 
+                {
+                    "name": "log_file", 
+                    "type": "txt"
+                }
+            ], 
+            "position": {
+                "left": 3638, 
+                "top": 733.9833374023438
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "mpileupfilterandstat", 
+            "tool_state": "{\"__page__\": 0, \"stat\": \"{\\\"stat_dist_step\\\": \\\"50\\\", \\\"stat_min_depth_step\\\": \\\"2\\\", \\\"stat_max_depth_max\\\": \\\"200\\\", \\\"stat_min_depth_max\\\": \\\"10\\\", \\\"stat_freq_max\\\": \\\"1.0\\\", \\\"stat_min_depth_min\\\": \\\"2\\\", \\\"stat_max_depth_min\\\": \\\"100\\\", \\\"do_stat\\\": \\\"YES\\\", \\\"stat_dist_min\\\": \\\"0\\\", \\\"__current_case__\\\": 0, \\\"stat_max_depth_step\\\": \\\"100\\\", \\\"stat_dist_max\\\": \\\"50\\\", \\\"stat_freq_step\\\": \\\"0.1\\\", \\\"stat_freq_min\\\": \\\"0.8\\\"}\", \"input_file\": \"null\", \"min_frequency\": \"\\\"0.8\\\"\", \"do_stat\": \"\\\"YES\\\"\", \"min_depth\": \"\\\"2\\\"\", \"__rerun_remap_job_id__\": null, \"min_forward_and_reverse\": \"\\\"0\\\"\", \"max_depth\": \"\\\"100\\\"\", \"min_distance\": \"\\\"0\\\"\"}", 
+            "tool_version": "0.08", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "17": {
+            "annotation": "", 
+            "id": 17, 
+            "input_connections": {
+                "input_blast_filtered_file": {
+                    "id": 15, 
+                    "output_name": "output_file"
+                }, 
+                "input_list_filtered_file": {
+                    "id": 12, 
+                    "output_name": "output_file"
+                }, 
+                "input_mpileup_variant_file": {
+                    "id": 11, 
+                    "output_name": "output_file"
+                }, 
+                "input_read1_row_file": {
+                    "id": 1, 
+                    "output_name": "output"
+                }, 
+                "input_read1_trimmed_file": {
+                    "id": 5, 
+                    "output_name": "output_read1_file"
+                }, 
+                "input_read2_row_file": {
+                    "id": 2, 
+                    "output_name": "output"
+                }, 
+                "input_read2_trimmed_file": {
+                    "id": 5, 
+                    "output_name": "output_read2_file"
+                }, 
+                "input_sam_filtered_file": {
+                    "id": 8, 
+                    "output_name": "output_file"
+                }, 
+                "input_sam_row_file": {
+                    "id": 7, 
+                    "output_name": "output"
+                }, 
+                "input_snp_selected_file": {
+                    "id": 16, 
+                    "output_name": "output_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "rapsosnp_stats", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "txt"
+                }
+            ], 
+            "position": {
+                "left": 3584, 
+                "top": 191
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "rapsosnp_stats", 
+            "tool_state": "{\"input_read1_trimmed_file\": \"null\", \"__page__\": 0, \"input_read2_trimmed_file\": \"null\", \"input_sam_row_file\": \"null\", \"__rerun_remap_job_id__\": null, \"input_read2_row_file\": \"null\", \"input_mpileup_variant_file\": \"null\", \"input_sam_filtered_file\": \"null\", \"input_read1_row_file\": \"null\", \"input_snp_selected_file\": \"null\", \"input_list_filtered_file\": \"null\", \"input_blast_filtered_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }
+    }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/Galaxy-Workflow-rapsosnp_v1.15_-_2x.ga	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,1014 @@
+{
+    "a_galaxy_workflow": "true", 
+    "annotation": "", 
+    "format-version": "0.1", 
+    "name": "rapsosnp v1.15 - 2x", 
+    "steps": {
+        "0": {
+            "annotation": "", 
+            "id": 0, 
+            "input_connections": {}, 
+            "inputs": [
+                {
+                    "description": "", 
+                    "name": "ASSEMBLY"
+                }
+            ], 
+            "name": "Input dataset", 
+            "outputs": [], 
+            "position": {
+                "left": 200.000244140625, 
+                "top": 211
+            }, 
+            "tool_errors": null, 
+            "tool_id": null, 
+            "tool_state": "{\"name\": \"ASSEMBLY\"}", 
+            "tool_version": null, 
+            "type": "data_input", 
+            "user_outputs": []
+        }, 
+        "1": {
+            "annotation": "", 
+            "id": 1, 
+            "input_connections": {}, 
+            "inputs": [
+                {
+                    "description": "", 
+                    "name": "READ1"
+                }
+            ], 
+            "name": "Input dataset", 
+            "outputs": [], 
+            "position": {
+                "left": 200.000244140625, 
+                "top": 296
+            }, 
+            "tool_errors": null, 
+            "tool_id": null, 
+            "tool_state": "{\"name\": \"READ1\"}", 
+            "tool_version": null, 
+            "type": "data_input", 
+            "user_outputs": []
+        }, 
+        "2": {
+            "annotation": "", 
+            "id": 2, 
+            "input_connections": {}, 
+            "inputs": [
+                {
+                    "description": "", 
+                    "name": "READ2"
+                }
+            ], 
+            "name": "Input dataset", 
+            "outputs": [], 
+            "position": {
+                "left": 200.000244140625, 
+                "top": 381
+            }, 
+            "tool_errors": null, 
+            "tool_id": null, 
+            "tool_state": "{\"name\": \"READ2\"}", 
+            "tool_version": null, 
+            "type": "data_input", 
+            "user_outputs": []
+        }, 
+        "3": {
+            "annotation": "", 
+            "id": 3, 
+            "input_connections": {}, 
+            "inputs": [
+                {
+                    "description": "", 
+                    "name": "DUBIOUS"
+                }
+            ], 
+            "name": "Input dataset", 
+            "outputs": [], 
+            "position": {
+                "left": 200.000244140625, 
+                "top": 466
+            }, 
+            "tool_errors": null, 
+            "tool_id": null, 
+            "tool_state": "{\"name\": \"DUBIOUS\"}", 
+            "tool_version": null, 
+            "type": "data_input", 
+            "user_outputs": []
+        }, 
+        "4": {
+            "annotation": "", 
+            "id": 4, 
+            "input_connections": {
+                "input_fasta": {
+                    "id": 0, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "fastaGroomerForMakeBlastdb", 
+            "outputs": [
+                {
+                    "name": "output_fasta", 
+                    "type": "fasta"
+                }
+            ], 
+            "position": {
+                "left": 428.000244140625, 
+                "top": 211
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/mcharles/genephys/fastaGroomerForMakeBlastdb/0.01", 
+            "tool_state": "{\"input_fasta\": \"null\", \"__rerun_remap_job_id__\": null, \"__page__\": 0}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "5": {
+            "annotation": "", 
+            "id": 5, 
+            "input_connections": {
+                "input_file": {
+                    "id": 1, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "SplitFile2x", 
+            "outputs": [
+                {
+                    "name": "output_file1", 
+                    "type": "txt"
+                }, 
+                {
+                    "name": "output_file2", 
+                    "type": "txt"
+                }
+            ], 
+            "position": {
+                "left": 428.000244140625, 
+                "top": 342
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "SplitFile2x", 
+            "tool_state": "{\"out_format\": \"\\\"fastq\\\"\", \"line_number\": \"\\\"4\\\"\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"input_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "6": {
+            "annotation": "", 
+            "id": 6, 
+            "input_connections": {
+                "input_file": {
+                    "id": 2, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "SplitFile2x", 
+            "outputs": [
+                {
+                    "name": "output_file1", 
+                    "type": "txt"
+                }, 
+                {
+                    "name": "output_file2", 
+                    "type": "txt"
+                }
+            ], 
+            "position": {
+                "left": 428.000244140625, 
+                "top": 534
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "SplitFile2x", 
+            "tool_state": "{\"out_format\": \"\\\"fastq\\\"\", \"line_number\": \"\\\"4\\\"\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"input_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "7": {
+            "annotation": "", 
+            "id": 7, 
+            "input_connections": {
+                "input_file": {
+                    "id": 4, 
+                    "output_name": "output_fasta"
+                }
+            }, 
+            "inputs": [], 
+            "name": "NCBI BLAST+ makeblastdb", 
+            "outputs": [
+                {
+                    "name": "outfile", 
+                    "type": "data"
+                }
+            ], 
+            "position": {
+                "left": 756.000244140625, 
+                "top": 615.0000305175781
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_makeblastdb/0.1.00", 
+            "tool_state": "{\"__page__\": 0, \"mask_data_file\": \"null\", \"input_file\": \"null\", \"dbtype\": \"\\\"nucl\\\"\", \"__rerun_remap_job_id__\": null, \"hash_index\": \"\\\"True\\\"\", \"tax\": \"{\\\"taxselect\\\": \\\"\\\", \\\"__current_case__\\\": 0}\", \"title\": \"\\\"\\\"\", \"parse_seqids\": \"\\\"False\\\"\"}", 
+            "tool_version": "0.1.00", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "8": {
+            "annotation": "", 
+            "id": 8, 
+            "input_connections": {
+                "input_read1_file": {
+                    "id": 5, 
+                    "output_name": "output_file1"
+                }, 
+                "input_read2_file": {
+                    "id": 6, 
+                    "output_name": "output_file1"
+                }
+            }, 
+            "inputs": [], 
+            "name": "PrepareFastqLight", 
+            "outputs": [
+                {
+                    "name": "output_read1_file", 
+                    "type": "fastqsanger"
+                }, 
+                {
+                    "name": "output_read2_file", 
+                    "type": "fastqsanger"
+                }
+            ], 
+            "position": {
+                "left": 756.000244140625, 
+                "top": 211
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "PrepareFastqLight", 
+            "tool_state": "{\"__page__\": 0, \"quality_type\": \"\\\"illumina\\\"\", \"min_length\": \"\\\"30\\\"\", \"__rerun_remap_job_id__\": null, \"min_quality\": \"\\\"30\\\"\", \"input_read1_file\": \"null\", \"input_read2_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "9": {
+            "annotation": "", 
+            "id": 9, 
+            "input_connections": {
+                "input_read1_file": {
+                    "id": 5, 
+                    "output_name": "output_file2"
+                }, 
+                "input_read2_file": {
+                    "id": 6, 
+                    "output_name": "output_file2"
+                }
+            }, 
+            "inputs": [], 
+            "name": "PrepareFastqLight", 
+            "outputs": [
+                {
+                    "name": "output_read1_file", 
+                    "type": "fastqsanger"
+                }, 
+                {
+                    "name": "output_read2_file", 
+                    "type": "fastqsanger"
+                }
+            ], 
+            "position": {
+                "left": 756.000244140625, 
+                "top": 413
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "PrepareFastqLight", 
+            "tool_state": "{\"__page__\": 0, \"quality_type\": \"\\\"illumina\\\"\", \"min_length\": \"\\\"30\\\"\", \"__rerun_remap_job_id__\": null, \"min_quality\": \"\\\"30\\\"\", \"input_read1_file\": \"null\", \"input_read2_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "10": {
+            "annotation": "", 
+            "id": 10, 
+            "input_connections": {
+                "genomeSource|ownFile": {
+                    "id": 0, 
+                    "output_name": "output"
+                }, 
+                "paired|input1": {
+                    "id": 8, 
+                    "output_name": "output_read1_file"
+                }, 
+                "paired|input2": {
+                    "id": 8, 
+                    "output_name": "output_read2_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "Map with BWA for Illumina", 
+            "outputs": [
+                {
+                    "name": "output", 
+                    "type": "sam"
+                }
+            ], 
+            "position": {
+                "left": 1084.000244140625, 
+                "top": 211
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/bwa_wrappers/bwa_wrapper/1.2.3", 
+            "tool_state": "{\"genomeSource\": \"{\\\"refGenomeSource\\\": \\\"history\\\", \\\"ownFile\\\": null, \\\"__current_case__\\\": 1}\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"paired\": \"{\\\"input2\\\": null, \\\"sPaired\\\": \\\"paired\\\", \\\"input1\\\": null, \\\"__current_case__\\\": 1}\", \"params\": \"{\\\"__current_case__\\\": 0, \\\"source_select\\\": \\\"pre_set\\\"}\", \"suppressHeader\": \"\\\"False\\\"\", \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\"}", 
+            "tool_version": "1.2.3", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "11": {
+            "annotation": "", 
+            "id": 11, 
+            "input_connections": {
+                "genomeSource|ownFile": {
+                    "id": 0, 
+                    "output_name": "output"
+                }, 
+                "paired|input1": {
+                    "id": 9, 
+                    "output_name": "output_read1_file"
+                }, 
+                "paired|input2": {
+                    "id": 9, 
+                    "output_name": "output_read2_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "Map with BWA for Illumina", 
+            "outputs": [
+                {
+                    "name": "output", 
+                    "type": "sam"
+                }
+            ], 
+            "position": {
+                "left": 1084.000244140625, 
+                "top": 396
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/bwa_wrappers/bwa_wrapper/1.2.3", 
+            "tool_state": "{\"genomeSource\": \"{\\\"refGenomeSource\\\": \\\"history\\\", \\\"ownFile\\\": null, \\\"__current_case__\\\": 1}\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"paired\": \"{\\\"input2\\\": null, \\\"sPaired\\\": \\\"paired\\\", \\\"input1\\\": null, \\\"__current_case__\\\": 1}\", \"params\": \"{\\\"__current_case__\\\": 0, \\\"source_select\\\": \\\"pre_set\\\"}\", \"suppressHeader\": \"\\\"False\\\"\", \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\"}", 
+            "tool_version": "1.2.3", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "12": {
+            "annotation": "", 
+            "id": 12, 
+            "input_connections": {
+                "input_sam_file": {
+                    "id": 10, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "filtersam_mapped_and_unique", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "sam"
+                }
+            ], 
+            "position": {
+                "left": 1348.000244140625, 
+                "top": 211
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/mcharles/rapsodyn/filtersam_mapped_and_unique/0.01", 
+            "tool_state": "{\"__page__\": 0, \"__rerun_remap_job_id__\": null, \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\", \"input_sam_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "13": {
+            "annotation": "", 
+            "id": 13, 
+            "input_connections": {
+                "input_sam_file": {
+                    "id": 11, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "filtersam_mapped_and_unique", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "sam"
+                }
+            ], 
+            "position": {
+                "left": 1348.000244140625, 
+                "top": 342
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/mcharles/rapsodyn/filtersam_mapped_and_unique/0.01", 
+            "tool_state": "{\"__page__\": 0, \"__rerun_remap_job_id__\": null, \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\", \"input_sam_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "14": {
+            "annotation": "", 
+            "id": 14, 
+            "input_connections": {
+                "source|input1": {
+                    "id": 12, 
+                    "output_name": "output_file"
+                }, 
+                "source|ref_file": {
+                    "id": 0, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "SAM-to-BAM", 
+            "outputs": [
+                {
+                    "name": "output1", 
+                    "type": "bam"
+                }
+            ], 
+            "position": {
+                "left": 1676.000244140625, 
+                "top": 211
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/sam_to_bam/sam_to_bam/1.1.4", 
+            "tool_state": "{\"source\": \"{\\\"index_source\\\": \\\"history\\\", \\\"ref_file\\\": null, \\\"input1\\\": null, \\\"__current_case__\\\": 1}\", \"__rerun_remap_job_id__\": null, \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\", \"__page__\": 0}", 
+            "tool_version": "1.1.4", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "15": {
+            "annotation": "", 
+            "id": 15, 
+            "input_connections": {
+                "source|input1": {
+                    "id": 13, 
+                    "output_name": "output_file"
+                }, 
+                "source|ref_file": {
+                    "id": 0, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "SAM-to-BAM", 
+            "outputs": [
+                {
+                    "name": "output1", 
+                    "type": "bam"
+                }
+            ], 
+            "position": {
+                "left": 1676.000244140625, 
+                "top": 352
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/sam_to_bam/sam_to_bam/1.1.4", 
+            "tool_state": "{\"source\": \"{\\\"index_source\\\": \\\"history\\\", \\\"ref_file\\\": null, \\\"input1\\\": null, \\\"__current_case__\\\": 1}\", \"__rerun_remap_job_id__\": null, \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\", \"__page__\": 0}", 
+            "tool_version": "1.1.4", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "16": {
+            "annotation": "", 
+            "id": 16, 
+            "input_connections": {
+                "input1": {
+                    "id": 14, 
+                    "output_name": "output1"
+                }, 
+                "input2": {
+                    "id": 15, 
+                    "output_name": "output1"
+                }
+            }, 
+            "inputs": [], 
+            "name": "Merge BAM Files", 
+            "outputs": [
+                {
+                    "name": "output1", 
+                    "type": "bam"
+                }, 
+                {
+                    "name": "outlog", 
+                    "type": "txt"
+                }
+            ], 
+            "position": {
+                "left": 1904.000244140625, 
+                "top": 211
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/sam_merge/sam_merge2/1.1.2", 
+            "tool_state": "{\"input2\": \"null\", \"inputs\": \"[]\", \"input1\": \"null\", \"title\": \"\\\"merge bam\\\"\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"mergeSD\": \"\\\"True\\\"\", \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\"}", 
+            "tool_version": "1.1.2", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "17": {
+            "annotation": "", 
+            "id": 17, 
+            "input_connections": {
+                "reference_source|input_bams_0|input_bam": {
+                    "id": 16, 
+                    "output_name": "output1"
+                }, 
+                "reference_source|ref_file": {
+                    "id": 0, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "MPileup", 
+            "outputs": [
+                {
+                    "name": "output_mpileup", 
+                    "type": "pileup"
+                }, 
+                {
+                    "name": "output_log", 
+                    "type": "txt"
+                }
+            ], 
+            "position": {
+                "left": 2132.000244140625, 
+                "top": 211
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/samtools_mpileup/samtools_mpileup/0.0.3", 
+            "tool_state": "{\"__page__\": 0, \"genotype_likelihood_computation_type\": \"{\\\"genotype_likelihood_computation_type_selector\\\": \\\"do_not_perform_genotype_likelihood_computation\\\", \\\"__current_case__\\\": 1}\", \"__rerun_remap_job_id__\": null, \"advanced_options\": \"{\\\"max_reads_per_bam\\\": \\\"250\\\", \\\"advanced_options_selector\\\": \\\"advanced\\\", \\\"extended_BAQ_computation\\\": \\\"False\\\", \\\"region_string\\\": \\\"\\\", \\\"output_per_sample_strand_bias_p_value\\\": \\\"False\\\", \\\"minimum_base_quality\\\": \\\"30\\\", \\\"disable_probabilistic_realignment\\\": \\\"False\\\", \\\"skip_anomalous_read_pairs\\\": \\\"False\\\", \\\"minimum_mapping_quality\\\": \\\"0\\\", \\\"output_per_sample_read_depth\\\": \\\"False\\\", \\\"__current_case__\\\": 0, \\\"position_list\\\": null, \\\"coefficient_for_downgrading\\\": \\\"0\\\"}\", \"reference_source\": \"{\\\"ref_file\\\": null, \\\"reference_source_selector\\\": \\\"history\\\", \\\"input_bams\\\": [{\\\"__index__\\\": 0, \\\"input_bam\\\": null}], \\\"__current_case__\\\": 1}\", \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\"}", 
+            "tool_version": "0.0.3", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "18": {
+            "annotation": "", 
+            "id": 18, 
+            "input_connections": {
+                "input_file": {
+                    "id": 17, 
+                    "output_name": "output_mpileup"
+                }
+            }, 
+            "inputs": [], 
+            "name": "PileupVariant", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "pileup"
+                }
+            ], 
+            "position": {
+                "left": 2458.000244140625, 
+                "top": 211
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "PileupVariant", 
+            "tool_state": "{\"__page__\": 0, \"__rerun_remap_job_id__\": null, \"input_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "19": {
+            "annotation": "", 
+            "id": 19, 
+            "input_connections": {
+                "input_listA": {
+                    "id": 18, 
+                    "output_name": "output_file"
+                }, 
+                "input_listB": {
+                    "id": 3, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "listfiltering", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "pileup"
+                }
+            ], 
+            "position": {
+                "left": 2786.000244140625, 
+                "top": 211
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/mcharles/rapsodyn/listfiltering/0.01", 
+            "tool_state": "{\"__page__\": 0, \"__rerun_remap_job_id__\": null, \"input_listB\": \"null\", \"nb_col\": \"\\\"2\\\"\", \"input_listA\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "20": {
+            "annotation": "", 
+            "id": 20, 
+            "input_connections": {
+                "input_file": {
+                    "id": 19, 
+                    "output_name": "output_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "SplitFile2x", 
+            "outputs": [
+                {
+                    "name": "output_file1", 
+                    "type": "txt"
+                }, 
+                {
+                    "name": "output_file2", 
+                    "type": "txt"
+                }
+            ], 
+            "position": {
+                "left": 3114.000244140625, 
+                "top": 211
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "SplitFile2x", 
+            "tool_state": "{\"out_format\": \"\\\"pileup\\\"\", \"line_number\": \"\\\"4\\\"\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"input_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "21": {
+            "annotation": "", 
+            "id": 21, 
+            "input_connections": {
+                "input_assembly_file": {
+                    "id": 0, 
+                    "output_name": "output"
+                }, 
+                "input_variant_file": {
+                    "id": 20, 
+                    "output_name": "output_file1"
+                }
+            }, 
+            "inputs": [], 
+            "name": "extractseq", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "fasta"
+                }
+            ], 
+            "position": {
+                "left": 3442.000244140625, 
+                "top": 211
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/mcharles/rapsodyn/extractseq/0.03", 
+            "tool_state": "{\"__page__\": 0, \"input_variant_file\": \"null\", \"__rerun_remap_job_id__\": null, \"window_length\": \"\\\"50\\\"\", \"input_assembly_file\": \"null\"}", 
+            "tool_version": "0.03", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "22": {
+            "annotation": "", 
+            "id": 22, 
+            "input_connections": {
+                "input_assembly_file": {
+                    "id": 0, 
+                    "output_name": "output"
+                }, 
+                "input_variant_file": {
+                    "id": 20, 
+                    "output_name": "output_file2"
+                }
+            }, 
+            "inputs": [], 
+            "name": "extractseq", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "fasta"
+                }
+            ], 
+            "position": {
+                "left": 3442.000244140625, 
+                "top": 386
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/mcharles/rapsodyn/extractseq/0.03", 
+            "tool_state": "{\"__page__\": 0, \"input_variant_file\": \"null\", \"__rerun_remap_job_id__\": null, \"window_length\": \"\\\"50\\\"\", \"input_assembly_file\": \"null\"}", 
+            "tool_version": "0.03", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "23": {
+            "annotation": "", 
+            "id": 23, 
+            "input_connections": {
+                "db_opts|histdb": {
+                    "id": 7, 
+                    "output_name": "outfile"
+                }, 
+                "query": {
+                    "id": 21, 
+                    "output_name": "output_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "NCBI BLAST+ blastn", 
+            "outputs": [
+                {
+                    "name": "output1", 
+                    "type": "tabular"
+                }
+            ], 
+            "position": {
+                "left": 3770.000244140625, 
+                "top": 211
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_blastn_wrapper/0.1.00", 
+            "tool_state": "{\"evalue_cutoff\": \"\\\"0.001\\\"\", \"__page__\": 0, \"adv_opts\": \"{\\\"identity_cutoff\\\": \\\"0.0\\\", \\\"adv_opts_selector\\\": \\\"advanced\\\", \\\"ungapped\\\": \\\"False\\\", \\\"filter_query\\\": \\\"False\\\", \\\"word_size\\\": \\\"0\\\", \\\"__current_case__\\\": 1, \\\"parse_deflines\\\": \\\"False\\\", \\\"strand\\\": \\\"-strand both\\\", \\\"max_hits\\\": \\\"8\\\"}\", \"__rerun_remap_job_id__\": null, \"blast_type\": \"\\\"megablast\\\"\", \"db_opts\": \"{\\\"db_opts_selector\\\": \\\"histdb\\\", \\\"subject\\\": \\\"\\\", \\\"histdb\\\": null, \\\"__current_case__\\\": 1, \\\"database\\\": \\\"\\\"}\", \"output\": \"{\\\"out_format\\\": \\\"cols\\\", \\\"std_cols\\\": [\\\"qseqid\\\", \\\"qstart\\\", \\\"qend\\\"], \\\"ids_cols\\\": null, \\\"tax_cols\\\": null, \\\"__current_case__\\\": 2, \\\"misc_cols\\\": null, \\\"ext_cols\\\": [\\\"qseq\\\", \\\"sseq\\\"]}\", \"query\": \"null\"}", 
+            "tool_version": "0.1.00", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "24": {
+            "annotation": "", 
+            "id": 24, 
+            "input_connections": {
+                "db_opts|histdb": {
+                    "id": 7, 
+                    "output_name": "outfile"
+                }, 
+                "query": {
+                    "id": 22, 
+                    "output_name": "output_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "NCBI BLAST+ blastn", 
+            "outputs": [
+                {
+                    "name": "output1", 
+                    "type": "tabular"
+                }
+            ], 
+            "position": {
+                "left": 3770.000244140625, 
+                "top": 352
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_blastn_wrapper/0.1.00", 
+            "tool_state": "{\"evalue_cutoff\": \"\\\"0.001\\\"\", \"__page__\": 0, \"adv_opts\": \"{\\\"identity_cutoff\\\": \\\"0.0\\\", \\\"adv_opts_selector\\\": \\\"advanced\\\", \\\"ungapped\\\": \\\"False\\\", \\\"filter_query\\\": \\\"False\\\", \\\"word_size\\\": \\\"0\\\", \\\"__current_case__\\\": 1, \\\"parse_deflines\\\": \\\"False\\\", \\\"strand\\\": \\\"-strand both\\\", \\\"max_hits\\\": \\\"0\\\"}\", \"__rerun_remap_job_id__\": null, \"blast_type\": \"\\\"megablast\\\"\", \"db_opts\": \"{\\\"db_opts_selector\\\": \\\"histdb\\\", \\\"subject\\\": \\\"\\\", \\\"histdb\\\": null, \\\"__current_case__\\\": 1, \\\"database\\\": \\\"\\\"}\", \"output\": \"{\\\"out_format\\\": \\\"cols\\\", \\\"std_cols\\\": [\\\"qseqid\\\", \\\"qstart\\\", \\\"qend\\\"], \\\"ids_cols\\\": null, \\\"tax_cols\\\": null, \\\"__current_case__\\\": 2, \\\"misc_cols\\\": null, \\\"ext_cols\\\": [\\\"qseq\\\", \\\"sseq\\\"]}\", \"query\": \"null\"}", 
+            "tool_version": "0.1.00", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "25": {
+            "annotation": "", 
+            "id": 25, 
+            "input_connections": {
+                "input_blast_file": {
+                    "id": 23, 
+                    "output_name": "output1"
+                }, 
+                "input_variant_file": {
+                    "id": 20, 
+                    "output_name": "output_file1"
+                }
+            }, 
+            "inputs": [], 
+            "name": "ParseBlastForUniqueMatch", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "pileup"
+                }
+            ], 
+            "position": {
+                "left": 4072.000228881836, 
+                "top": 211
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "ParseBlastForUniqueMatch", 
+            "tool_state": "{\"input_variant_file\": \"null\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"input_blast_file\": \"null\", \"window_length\": \"\\\"50\\\"\", \"nb_mismatch_max\": \"\\\"3\\\"\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "26": {
+            "annotation": "", 
+            "id": 26, 
+            "input_connections": {
+                "input_blast_file": {
+                    "id": 24, 
+                    "output_name": "output1"
+                }, 
+                "input_variant_file": {
+                    "id": 20, 
+                    "output_name": "output_file2"
+                }
+            }, 
+            "inputs": [], 
+            "name": "ParseBlastForUniqueMatch", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "pileup"
+                }
+            ], 
+            "position": {
+                "left": 4072.000228881836, 
+                "top": 420
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "ParseBlastForUniqueMatch", 
+            "tool_state": "{\"input_variant_file\": \"null\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"input_blast_file\": \"null\", \"window_length\": \"\\\"50\\\"\", \"nb_mismatch_max\": \"\\\"3\\\"\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "27": {
+            "annotation": "", 
+            "id": 27, 
+            "input_connections": {
+                "input_file1": {
+                    "id": 25, 
+                    "output_name": "output_file"
+                }, 
+                "input_file2": {
+                    "id": 26, 
+                    "output_name": "output_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "MergeFile2x", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "txt"
+                }
+            ], 
+            "position": {
+                "left": 4400.000228881836, 
+                "top": 211
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "MergeFile2x", 
+            "tool_state": "{\"out_format\": \"\\\"pileup\\\"\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"input_file1\": \"null\", \"input_file2\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "28": {
+            "annotation": "", 
+            "id": 28, 
+            "input_connections": {
+                "input_file": {
+                    "id": 27, 
+                    "output_name": "output_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "mpileupfilterandstat", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "pileup"
+                }, 
+                {
+                    "name": "log_file", 
+                    "type": "txt"
+                }
+            ], 
+            "position": {
+                "left": 4728.000244140625, 
+                "top": 211
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "mpileupfilterandstat", 
+            "tool_state": "{\"__page__\": 0, \"stat\": \"{\\\"stat_dist_step\\\": \\\"50\\\", \\\"stat_min_depth_step\\\": \\\"2\\\", \\\"stat_max_depth_max\\\": \\\"200\\\", \\\"stat_min_depth_max\\\": \\\"10\\\", \\\"stat_freq_max\\\": \\\"1.0\\\", \\\"stat_min_depth_min\\\": \\\"2\\\", \\\"stat_max_depth_min\\\": \\\"100\\\", \\\"do_stat\\\": \\\"YES\\\", \\\"stat_dist_min\\\": \\\"0\\\", \\\"__current_case__\\\": 0, \\\"stat_max_depth_step\\\": \\\"100\\\", \\\"stat_dist_max\\\": \\\"50\\\", \\\"stat_freq_step\\\": \\\"0.1\\\", \\\"stat_freq_min\\\": \\\"0.8\\\"}\", \"input_file\": \"null\", \"min_frequency\": \"\\\"0.8\\\"\", \"do_stat\": \"\\\"YES\\\"\", \"min_depth\": \"\\\"2\\\"\", \"__rerun_remap_job_id__\": null, \"min_forward_and_reverse\": \"\\\"0\\\"\", \"max_depth\": \"\\\"100\\\"\", \"min_distance\": \"\\\"0\\\"\"}", 
+            "tool_version": "0.08", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "29": {
+            "annotation": "", 
+            "id": 29, 
+            "input_connections": {
+                "input_blast_filtered_part1_file": {
+                    "id": 25, 
+                    "output_name": "output_file"
+                }, 
+                "input_blast_filtered_part2_file": {
+                    "id": 26, 
+                    "output_name": "output_file"
+                }, 
+                "input_list_filtered_file": {
+                    "id": 19, 
+                    "output_name": "output_file"
+                }, 
+                "input_mpileup_variant_file": {
+                    "id": 18, 
+                    "output_name": "output_file"
+                }, 
+                "input_read1_part1_trimmed_file": {
+                    "id": 8, 
+                    "output_name": "output_read1_file"
+                }, 
+                "input_read1_part2_trimmed_file": {
+                    "id": 9, 
+                    "output_name": "output_read1_file"
+                }, 
+                "input_read1_row_file": {
+                    "id": 1, 
+                    "output_name": "output"
+                }, 
+                "input_read2_part1_trimmed_file": {
+                    "id": 8, 
+                    "output_name": "output_read2_file"
+                }, 
+                "input_read2_part2_trimmed_file": {
+                    "id": 9, 
+                    "output_name": "output_read2_file"
+                }, 
+                "input_read2_row_file": {
+                    "id": 2, 
+                    "output_name": "output"
+                }, 
+                "input_sam_filtered_part1_file": {
+                    "id": 12, 
+                    "output_name": "output_file"
+                }, 
+                "input_sam_filtered_part2_file": {
+                    "id": 13, 
+                    "output_name": "output_file"
+                }, 
+                "input_sam_row_part1_file": {
+                    "id": 10, 
+                    "output_name": "output"
+                }, 
+                "input_sam_row_part2_file": {
+                    "id": 11, 
+                    "output_name": "output"
+                }, 
+                "input_snp_selected_file": {
+                    "id": 28, 
+                    "output_name": "output_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "rapsosnp_stats2x", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "txt"
+                }
+            ], 
+            "position": {
+                "left": 5056.000244140625, 
+                "top": 211
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "rapsosnp_stats2x", 
+            "tool_state": "{\"input_blast_filtered_part1_file\": \"null\", \"input_blast_filtered_part2_file\": \"null\", \"input_sam_row_part2_file\": \"null\", \"input_read1_part1_trimmed_file\": \"null\", \"__page__\": 0, \"input_list_filtered_file\": \"null\", \"__rerun_remap_job_id__\": null, \"input_read2_row_file\": \"null\", \"input_mpileup_variant_file\": \"null\", \"input_read2_part1_trimmed_file\": \"null\", \"input_read1_row_file\": \"null\", \"input_sam_row_part1_file\": \"null\", \"input_sam_filtered_part2_file\": \"null\", \"input_read2_part2_trimmed_file\": \"null\", \"input_snp_selected_file\": \"null\", \"input_read1_part2_trimmed_file\": \"null\", \"input_sam_filtered_part1_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }
+    }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/Galaxy-Workflow-rapsosnp_v1.15_-_4x.ga	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,1564 @@
+{
+    "a_galaxy_workflow": "true", 
+    "annotation": "", 
+    "format-version": "0.1", 
+    "name": "rapsosnp v1.15 - 4x", 
+    "steps": {
+        "0": {
+            "annotation": "", 
+            "id": 0, 
+            "input_connections": {}, 
+            "inputs": [
+                {
+                    "description": "", 
+                    "name": "READ1"
+                }
+            ], 
+            "name": "Input dataset", 
+            "outputs": [], 
+            "position": {
+                "left": 214.7666015625, 
+                "top": 723
+            }, 
+            "tool_errors": null, 
+            "tool_id": null, 
+            "tool_state": "{\"name\": \"READ1\"}", 
+            "tool_version": null, 
+            "type": "data_input", 
+            "user_outputs": []
+        }, 
+        "1": {
+            "annotation": "", 
+            "id": 1, 
+            "input_connections": {}, 
+            "inputs": [
+                {
+                    "description": "", 
+                    "name": "READ2"
+                }
+            ], 
+            "name": "Input dataset", 
+            "outputs": [], 
+            "position": {
+                "left": 219.7666015625, 
+                "top": 1105
+            }, 
+            "tool_errors": null, 
+            "tool_id": null, 
+            "tool_state": "{\"name\": \"READ2\"}", 
+            "tool_version": null, 
+            "type": "data_input", 
+            "user_outputs": []
+        }, 
+        "2": {
+            "annotation": "", 
+            "id": 2, 
+            "input_connections": {}, 
+            "inputs": [
+                {
+                    "description": "", 
+                    "name": "ASSEMBLY"
+                }
+            ], 
+            "name": "Input dataset", 
+            "outputs": [], 
+            "position": {
+                "left": 2639.7666015625, 
+                "top": 587
+            }, 
+            "tool_errors": null, 
+            "tool_id": null, 
+            "tool_state": "{\"name\": \"ASSEMBLY\"}", 
+            "tool_version": null, 
+            "type": "data_input", 
+            "user_outputs": []
+        }, 
+        "3": {
+            "annotation": "", 
+            "id": 3, 
+            "input_connections": {}, 
+            "inputs": [
+                {
+                    "description": "", 
+                    "name": "DUBIUS"
+                }
+            ], 
+            "name": "Input dataset", 
+            "outputs": [], 
+            "position": {
+                "left": 2449.7666015625, 
+                "top": 1405
+            }, 
+            "tool_errors": null, 
+            "tool_id": null, 
+            "tool_state": "{\"name\": \"DUBIUS\"}", 
+            "tool_version": null, 
+            "type": "data_input", 
+            "user_outputs": []
+        }, 
+        "4": {
+            "annotation": "", 
+            "id": 4, 
+            "input_connections": {
+                "input_file": {
+                    "id": 0, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "SplitFile4x", 
+            "outputs": [
+                {
+                    "name": "output_file1", 
+                    "type": "txt"
+                }, 
+                {
+                    "name": "output_file2", 
+                    "type": "txt"
+                }, 
+                {
+                    "name": "output_file3", 
+                    "type": "txt"
+                }, 
+                {
+                    "name": "output_file4", 
+                    "type": "txt"
+                }
+            ], 
+            "position": {
+                "left": 516.7666015625, 
+                "top": 602.5
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "SplitFile4x", 
+            "tool_state": "{\"out_format\": \"\\\"fastq\\\"\", \"line_number\": \"\\\"4\\\"\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"input_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "5": {
+            "annotation": "", 
+            "id": 5, 
+            "input_connections": {
+                "input_file": {
+                    "id": 1, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "SplitFile4x", 
+            "outputs": [
+                {
+                    "name": "output_file1", 
+                    "type": "txt"
+                }, 
+                {
+                    "name": "output_file2", 
+                    "type": "txt"
+                }, 
+                {
+                    "name": "output_file3", 
+                    "type": "txt"
+                }, 
+                {
+                    "name": "output_file4", 
+                    "type": "txt"
+                }
+            ], 
+            "position": {
+                "left": 519.7666015625, 
+                "top": 920.5
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "SplitFile4x", 
+            "tool_state": "{\"out_format\": \"\\\"fastq\\\"\", \"line_number\": \"\\\"4\\\"\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"input_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "6": {
+            "annotation": "", 
+            "id": 6, 
+            "input_connections": {
+                "input_fasta": {
+                    "id": 2, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "fastaGroomerForMakeBlastdb", 
+            "outputs": [
+                {
+                    "name": "output_fasta", 
+                    "type": "fasta"
+                }
+            ], 
+            "position": {
+                "left": 2796.7666015625, 
+                "top": 404.5
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/mcharles/genephys/fastaGroomerForMakeBlastdb/0.01", 
+            "tool_state": "{\"input_fasta\": \"null\", \"__rerun_remap_job_id__\": null, \"__page__\": 0}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "7": {
+            "annotation": "", 
+            "id": 7, 
+            "input_connections": {
+                "input_read1_file": {
+                    "id": 4, 
+                    "output_name": "output_file1"
+                }, 
+                "input_read2_file": {
+                    "id": 5, 
+                    "output_name": "output_file1"
+                }
+            }, 
+            "inputs": [], 
+            "name": "PrepareFastqLight", 
+            "outputs": [
+                {
+                    "name": "output_read1_file", 
+                    "type": "fastqsanger"
+                }, 
+                {
+                    "name": "output_read2_file", 
+                    "type": "fastqsanger"
+                }
+            ], 
+            "position": {
+                "left": 891.7666015625, 
+                "top": 481.5
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "PrepareFastqLight", 
+            "tool_state": "{\"__page__\": 0, \"quality_type\": \"\\\"illumina\\\"\", \"min_length\": \"\\\"30\\\"\", \"__rerun_remap_job_id__\": null, \"min_quality\": \"\\\"30\\\"\", \"input_read1_file\": \"null\", \"input_read2_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "8": {
+            "annotation": "", 
+            "id": 8, 
+            "input_connections": {
+                "input_read1_file": {
+                    "id": 4, 
+                    "output_name": "output_file2"
+                }, 
+                "input_read2_file": {
+                    "id": 5, 
+                    "output_name": "output_file2"
+                }
+            }, 
+            "inputs": [], 
+            "name": "PrepareFastqLight", 
+            "outputs": [
+                {
+                    "name": "output_read1_file", 
+                    "type": "fastqsanger"
+                }, 
+                {
+                    "name": "output_read2_file", 
+                    "type": "fastqsanger"
+                }
+            ], 
+            "position": {
+                "left": 900.7666015625, 
+                "top": 722.5
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "PrepareFastqLight", 
+            "tool_state": "{\"__page__\": 0, \"quality_type\": \"\\\"illumina\\\"\", \"min_length\": \"\\\"30\\\"\", \"__rerun_remap_job_id__\": null, \"min_quality\": \"\\\"30\\\"\", \"input_read1_file\": \"null\", \"input_read2_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "9": {
+            "annotation": "", 
+            "id": 9, 
+            "input_connections": {
+                "input_read1_file": {
+                    "id": 4, 
+                    "output_name": "output_file3"
+                }, 
+                "input_read2_file": {
+                    "id": 5, 
+                    "output_name": "output_file3"
+                }
+            }, 
+            "inputs": [], 
+            "name": "PrepareFastqLight", 
+            "outputs": [
+                {
+                    "name": "output_read1_file", 
+                    "type": "fastqsanger"
+                }, 
+                {
+                    "name": "output_read2_file", 
+                    "type": "fastqsanger"
+                }
+            ], 
+            "position": {
+                "left": 890.7666015625, 
+                "top": 947.5
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "PrepareFastqLight", 
+            "tool_state": "{\"__page__\": 0, \"quality_type\": \"\\\"illumina\\\"\", \"min_length\": \"\\\"30\\\"\", \"__rerun_remap_job_id__\": null, \"min_quality\": \"\\\"30\\\"\", \"input_read1_file\": \"null\", \"input_read2_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "10": {
+            "annotation": "", 
+            "id": 10, 
+            "input_connections": {
+                "input_read1_file": {
+                    "id": 4, 
+                    "output_name": "output_file4"
+                }, 
+                "input_read2_file": {
+                    "id": 5, 
+                    "output_name": "output_file4"
+                }
+            }, 
+            "inputs": [], 
+            "name": "PrepareFastqLight", 
+            "outputs": [
+                {
+                    "name": "output_read1_file", 
+                    "type": "fastqsanger"
+                }, 
+                {
+                    "name": "output_read2_file", 
+                    "type": "fastqsanger"
+                }
+            ], 
+            "position": {
+                "left": 894.7666015625, 
+                "top": 1175.5
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "PrepareFastqLight", 
+            "tool_state": "{\"__page__\": 0, \"quality_type\": \"\\\"illumina\\\"\", \"min_length\": \"\\\"30\\\"\", \"__rerun_remap_job_id__\": null, \"min_quality\": \"\\\"30\\\"\", \"input_read1_file\": \"null\", \"input_read2_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "11": {
+            "annotation": "", 
+            "id": 11, 
+            "input_connections": {
+                "input_file": {
+                    "id": 6, 
+                    "output_name": "output_fasta"
+                }
+            }, 
+            "inputs": [], 
+            "name": "NCBI BLAST+ makeblastdb", 
+            "outputs": [
+                {
+                    "name": "outfile", 
+                    "type": "data"
+                }
+            ], 
+            "position": {
+                "left": 3514.2666625976562, 
+                "top": 427.5
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_makeblastdb/0.1.00", 
+            "tool_state": "{\"__page__\": 0, \"mask_data_file\": \"null\", \"input_file\": \"null\", \"dbtype\": \"\\\"nucl\\\"\", \"__rerun_remap_job_id__\": null, \"hash_index\": \"\\\"True\\\"\", \"tax\": \"{\\\"taxselect\\\": \\\"\\\", \\\"__current_case__\\\": 0}\", \"title\": \"\\\"\\\"\", \"parse_seqids\": \"\\\"False\\\"\"}", 
+            "tool_version": "0.1.00", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "12": {
+            "annotation": "", 
+            "id": 12, 
+            "input_connections": {
+                "genomeSource|ownFile": {
+                    "id": 2, 
+                    "output_name": "output"
+                }, 
+                "paired|input1": {
+                    "id": 7, 
+                    "output_name": "output_read1_file"
+                }, 
+                "paired|input2": {
+                    "id": 7, 
+                    "output_name": "output_read2_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "Map with BWA for Illumina", 
+            "outputs": [
+                {
+                    "name": "output", 
+                    "type": "sam"
+                }
+            ], 
+            "position": {
+                "left": 1355.7666015625, 
+                "top": 563
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/bwa_wrappers/bwa_wrapper/1.2.3", 
+            "tool_state": "{\"genomeSource\": \"{\\\"refGenomeSource\\\": \\\"history\\\", \\\"ownFile\\\": null, \\\"__current_case__\\\": 1}\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"paired\": \"{\\\"input2\\\": null, \\\"sPaired\\\": \\\"paired\\\", \\\"input1\\\": null, \\\"__current_case__\\\": 1}\", \"params\": \"{\\\"__current_case__\\\": 0, \\\"source_select\\\": \\\"pre_set\\\"}\", \"suppressHeader\": \"\\\"False\\\"\", \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\"}", 
+            "tool_version": "1.2.3", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "13": {
+            "annotation": "", 
+            "id": 13, 
+            "input_connections": {
+                "genomeSource|ownFile": {
+                    "id": 2, 
+                    "output_name": "output"
+                }, 
+                "paired|input1": {
+                    "id": 8, 
+                    "output_name": "output_read1_file"
+                }, 
+                "paired|input2": {
+                    "id": 8, 
+                    "output_name": "output_read2_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "Map with BWA for Illumina", 
+            "outputs": [
+                {
+                    "name": "output", 
+                    "type": "sam"
+                }
+            ], 
+            "position": {
+                "left": 1349.7666015625, 
+                "top": 745
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/bwa_wrappers/bwa_wrapper/1.2.3", 
+            "tool_state": "{\"genomeSource\": \"{\\\"refGenomeSource\\\": \\\"history\\\", \\\"ownFile\\\": null, \\\"__current_case__\\\": 1}\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"paired\": \"{\\\"input2\\\": null, \\\"sPaired\\\": \\\"paired\\\", \\\"input1\\\": null, \\\"__current_case__\\\": 1}\", \"params\": \"{\\\"__current_case__\\\": 0, \\\"source_select\\\": \\\"pre_set\\\"}\", \"suppressHeader\": \"\\\"False\\\"\", \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\"}", 
+            "tool_version": "1.2.3", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "14": {
+            "annotation": "", 
+            "id": 14, 
+            "input_connections": {
+                "genomeSource|ownFile": {
+                    "id": 2, 
+                    "output_name": "output"
+                }, 
+                "paired|input1": {
+                    "id": 9, 
+                    "output_name": "output_read1_file"
+                }, 
+                "paired|input2": {
+                    "id": 9, 
+                    "output_name": "output_read2_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "Map with BWA for Illumina", 
+            "outputs": [
+                {
+                    "name": "output", 
+                    "type": "sam"
+                }
+            ], 
+            "position": {
+                "left": 1349.7666015625, 
+                "top": 914
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/bwa_wrappers/bwa_wrapper/1.2.3", 
+            "tool_state": "{\"genomeSource\": \"{\\\"refGenomeSource\\\": \\\"history\\\", \\\"ownFile\\\": null, \\\"__current_case__\\\": 1}\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"paired\": \"{\\\"input2\\\": null, \\\"sPaired\\\": \\\"paired\\\", \\\"input1\\\": null, \\\"__current_case__\\\": 1}\", \"params\": \"{\\\"__current_case__\\\": 0, \\\"source_select\\\": \\\"pre_set\\\"}\", \"suppressHeader\": \"\\\"False\\\"\", \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\"}", 
+            "tool_version": "1.2.3", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "15": {
+            "annotation": "", 
+            "id": 15, 
+            "input_connections": {
+                "genomeSource|ownFile": {
+                    "id": 2, 
+                    "output_name": "output"
+                }, 
+                "paired|input1": {
+                    "id": 10, 
+                    "output_name": "output_read1_file"
+                }, 
+                "paired|input2": {
+                    "id": 10, 
+                    "output_name": "output_read2_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "Map with BWA for Illumina", 
+            "outputs": [
+                {
+                    "name": "output", 
+                    "type": "sam"
+                }
+            ], 
+            "position": {
+                "left": 1349.7666015625, 
+                "top": 1094
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/bwa_wrappers/bwa_wrapper/1.2.3", 
+            "tool_state": "{\"genomeSource\": \"{\\\"refGenomeSource\\\": \\\"history\\\", \\\"ownFile\\\": null, \\\"__current_case__\\\": 1}\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"paired\": \"{\\\"input2\\\": null, \\\"sPaired\\\": \\\"paired\\\", \\\"input1\\\": null, \\\"__current_case__\\\": 1}\", \"params\": \"{\\\"__current_case__\\\": 0, \\\"source_select\\\": \\\"pre_set\\\"}\", \"suppressHeader\": \"\\\"False\\\"\", \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\"}", 
+            "tool_version": "1.2.3", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "16": {
+            "annotation": "", 
+            "id": 16, 
+            "input_connections": {
+                "input_sam_file": {
+                    "id": 12, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "filtersam_mapped_and_unique", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "sam"
+                }
+            ], 
+            "position": {
+                "left": 1628.7666015625, 
+                "top": 711
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/mcharles/rapsodyn/filtersam_mapped_and_unique/0.01", 
+            "tool_state": "{\"__page__\": 0, \"__rerun_remap_job_id__\": null, \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\", \"input_sam_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "17": {
+            "annotation": "", 
+            "id": 17, 
+            "input_connections": {
+                "input_sam_file": {
+                    "id": 13, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "filtersam_mapped_and_unique", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "sam"
+                }
+            ], 
+            "position": {
+                "left": 1628.7666015625, 
+                "top": 856
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/mcharles/rapsodyn/filtersam_mapped_and_unique/0.01", 
+            "tool_state": "{\"__page__\": 0, \"__rerun_remap_job_id__\": null, \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\", \"input_sam_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "18": {
+            "annotation": "", 
+            "id": 18, 
+            "input_connections": {
+                "input_sam_file": {
+                    "id": 14, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "filtersam_mapped_and_unique", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "sam"
+                }
+            ], 
+            "position": {
+                "left": 1633.7666015625, 
+                "top": 995
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/mcharles/rapsodyn/filtersam_mapped_and_unique/0.01", 
+            "tool_state": "{\"__page__\": 0, \"__rerun_remap_job_id__\": null, \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\", \"input_sam_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "19": {
+            "annotation": "", 
+            "id": 19, 
+            "input_connections": {
+                "input_sam_file": {
+                    "id": 15, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "filtersam_mapped_and_unique", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "sam"
+                }
+            ], 
+            "position": {
+                "left": 1632.7666015625, 
+                "top": 1149
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/mcharles/rapsodyn/filtersam_mapped_and_unique/0.01", 
+            "tool_state": "{\"__page__\": 0, \"__rerun_remap_job_id__\": null, \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\", \"input_sam_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "20": {
+            "annotation": "", 
+            "id": 20, 
+            "input_connections": {
+                "source|input1": {
+                    "id": 16, 
+                    "output_name": "output_file"
+                }, 
+                "source|ref_file": {
+                    "id": 2, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "SAM-to-BAM", 
+            "outputs": [
+                {
+                    "name": "output1", 
+                    "type": "bam"
+                }
+            ], 
+            "position": {
+                "left": 1952.7666015625, 
+                "top": 756
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/sam_to_bam/sam_to_bam/1.1.4", 
+            "tool_state": "{\"source\": \"{\\\"index_source\\\": \\\"history\\\", \\\"ref_file\\\": null, \\\"input1\\\": null, \\\"__current_case__\\\": 1}\", \"__rerun_remap_job_id__\": null, \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\", \"__page__\": 0}", 
+            "tool_version": "1.1.4", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "21": {
+            "annotation": "", 
+            "id": 21, 
+            "input_connections": {
+                "source|input1": {
+                    "id": 17, 
+                    "output_name": "output_file"
+                }, 
+                "source|ref_file": {
+                    "id": 2, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "SAM-to-BAM", 
+            "outputs": [
+                {
+                    "name": "output1", 
+                    "type": "bam"
+                }
+            ], 
+            "position": {
+                "left": 1948.7666015625, 
+                "top": 903
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/sam_to_bam/sam_to_bam/1.1.4", 
+            "tool_state": "{\"source\": \"{\\\"index_source\\\": \\\"history\\\", \\\"ref_file\\\": null, \\\"input1\\\": null, \\\"__current_case__\\\": 1}\", \"__rerun_remap_job_id__\": null, \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\", \"__page__\": 0}", 
+            "tool_version": "1.1.4", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "22": {
+            "annotation": "", 
+            "id": 22, 
+            "input_connections": {
+                "source|input1": {
+                    "id": 18, 
+                    "output_name": "output_file"
+                }, 
+                "source|ref_file": {
+                    "id": 2, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "SAM-to-BAM", 
+            "outputs": [
+                {
+                    "name": "output1", 
+                    "type": "bam"
+                }
+            ], 
+            "position": {
+                "left": 1948.7666015625, 
+                "top": 1041
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/sam_to_bam/sam_to_bam/1.1.4", 
+            "tool_state": "{\"source\": \"{\\\"index_source\\\": \\\"history\\\", \\\"ref_file\\\": null, \\\"input1\\\": null, \\\"__current_case__\\\": 1}\", \"__rerun_remap_job_id__\": null, \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\", \"__page__\": 0}", 
+            "tool_version": "1.1.4", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "23": {
+            "annotation": "", 
+            "id": 23, 
+            "input_connections": {
+                "source|input1": {
+                    "id": 19, 
+                    "output_name": "output_file"
+                }, 
+                "source|ref_file": {
+                    "id": 2, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "SAM-to-BAM", 
+            "outputs": [
+                {
+                    "name": "output1", 
+                    "type": "bam"
+                }
+            ], 
+            "position": {
+                "left": 1948.7666015625, 
+                "top": 1193
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/sam_to_bam/sam_to_bam/1.1.4", 
+            "tool_state": "{\"source\": \"{\\\"index_source\\\": \\\"history\\\", \\\"ref_file\\\": null, \\\"input1\\\": null, \\\"__current_case__\\\": 1}\", \"__rerun_remap_job_id__\": null, \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\", \"__page__\": 0}", 
+            "tool_version": "1.1.4", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "24": {
+            "annotation": "", 
+            "id": 24, 
+            "input_connections": {
+                "input1": {
+                    "id": 20, 
+                    "output_name": "output1"
+                }, 
+                "input2": {
+                    "id": 21, 
+                    "output_name": "output1"
+                }, 
+                "inputs_0|input": {
+                    "id": 22, 
+                    "output_name": "output1"
+                }, 
+                "inputs_1|input": {
+                    "id": 23, 
+                    "output_name": "output1"
+                }
+            }, 
+            "inputs": [], 
+            "name": "Merge BAM Files", 
+            "outputs": [
+                {
+                    "name": "output1", 
+                    "type": "bam"
+                }, 
+                {
+                    "name": "outlog", 
+                    "type": "txt"
+                }
+            ], 
+            "position": {
+                "left": 2265.7666015625, 
+                "top": 1038
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/sam_merge/sam_merge2/1.1.2", 
+            "tool_state": "{\"input2\": \"null\", \"inputs\": \"[{\\\"__index__\\\": 0, \\\"input\\\": null}, {\\\"__index__\\\": 1, \\\"input\\\": null}]\", \"input1\": \"null\", \"title\": \"\\\"merge bam\\\"\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"mergeSD\": \"\\\"True\\\"\", \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\"}", 
+            "tool_version": "1.1.2", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "25": {
+            "annotation": "", 
+            "id": 25, 
+            "input_connections": {
+                "reference_source|input_bams_0|input_bam": {
+                    "id": 24, 
+                    "output_name": "output1"
+                }, 
+                "reference_source|ref_file": {
+                    "id": 2, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "MPileup", 
+            "outputs": [
+                {
+                    "name": "output_mpileup", 
+                    "type": "pileup"
+                }, 
+                {
+                    "name": "output_log", 
+                    "type": "txt"
+                }
+            ], 
+            "position": {
+                "left": 2401.7666015625, 
+                "top": 764
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/samtools_mpileup/samtools_mpileup/0.0.3", 
+            "tool_state": "{\"__page__\": 0, \"genotype_likelihood_computation_type\": \"{\\\"genotype_likelihood_computation_type_selector\\\": \\\"do_not_perform_genotype_likelihood_computation\\\", \\\"__current_case__\\\": 1}\", \"__rerun_remap_job_id__\": null, \"advanced_options\": \"{\\\"max_reads_per_bam\\\": \\\"250\\\", \\\"advanced_options_selector\\\": \\\"advanced\\\", \\\"extended_BAQ_computation\\\": \\\"False\\\", \\\"region_string\\\": \\\"\\\", \\\"output_per_sample_strand_bias_p_value\\\": \\\"False\\\", \\\"minimum_base_quality\\\": \\\"30\\\", \\\"disable_probabilistic_realignment\\\": \\\"False\\\", \\\"skip_anomalous_read_pairs\\\": \\\"False\\\", \\\"minimum_mapping_quality\\\": \\\"0\\\", \\\"output_per_sample_read_depth\\\": \\\"False\\\", \\\"__current_case__\\\": 0, \\\"position_list\\\": null, \\\"coefficient_for_downgrading\\\": \\\"0\\\"}\", \"reference_source\": \"{\\\"ref_file\\\": null, \\\"reference_source_selector\\\": \\\"history\\\", \\\"input_bams\\\": [{\\\"__index__\\\": 0, \\\"input_bam\\\": null}], \\\"__current_case__\\\": 1}\", \"chromInfo\": \"\\\"/home/galaxy/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/?.len\\\"\"}", 
+            "tool_version": "0.0.3", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "26": {
+            "annotation": "", 
+            "id": 26, 
+            "input_connections": {
+                "input_file": {
+                    "id": 25, 
+                    "output_name": "output_mpileup"
+                }
+            }, 
+            "inputs": [], 
+            "name": "PileupVariant", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "pileup"
+                }
+            ], 
+            "position": {
+                "left": 2694.7666015625, 
+                "top": 1264.5
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "PileupVariant", 
+            "tool_state": "{\"__page__\": 0, \"__rerun_remap_job_id__\": null, \"input_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "27": {
+            "annotation": "", 
+            "id": 27, 
+            "input_connections": {
+                "input_listA": {
+                    "id": 26, 
+                    "output_name": "output_file"
+                }, 
+                "input_listB": {
+                    "id": 3, 
+                    "output_name": "output"
+                }
+            }, 
+            "inputs": [], 
+            "name": "listfiltering", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "pileup"
+                }
+            ], 
+            "position": {
+                "left": 2778.7666015625, 
+                "top": 956.5
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/mcharles/rapsodyn/listfiltering/0.01", 
+            "tool_state": "{\"__page__\": 0, \"__rerun_remap_job_id__\": null, \"input_listB\": \"null\", \"nb_col\": \"\\\"2\\\"\", \"input_listA\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "28": {
+            "annotation": "", 
+            "id": 28, 
+            "input_connections": {
+                "input_file": {
+                    "id": 27, 
+                    "output_name": "output_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "SplitFile4x", 
+            "outputs": [
+                {
+                    "name": "output_file1", 
+                    "type": "txt"
+                }, 
+                {
+                    "name": "output_file2", 
+                    "type": "txt"
+                }, 
+                {
+                    "name": "output_file3", 
+                    "type": "txt"
+                }, 
+                {
+                    "name": "output_file4", 
+                    "type": "txt"
+                }
+            ], 
+            "position": {
+                "left": 3154, 
+                "top": 906.88330078125
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "SplitFile4x", 
+            "tool_state": "{\"out_format\": \"\\\"pileup\\\"\", \"line_number\": \"\\\"4\\\"\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"input_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "29": {
+            "annotation": "", 
+            "id": 29, 
+            "input_connections": {
+                "input_assembly_file": {
+                    "id": 2, 
+                    "output_name": "output"
+                }, 
+                "input_variant_file": {
+                    "id": 28, 
+                    "output_name": "output_file1"
+                }
+            }, 
+            "inputs": [], 
+            "name": "extractseq", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "fasta"
+                }
+            ], 
+            "position": {
+                "left": 3512, 
+                "top": 711.8833312988281
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/mcharles/rapsodyn/extractseq/0.03", 
+            "tool_state": "{\"__page__\": 0, \"input_variant_file\": \"null\", \"__rerun_remap_job_id__\": null, \"window_length\": \"\\\"50\\\"\", \"input_assembly_file\": \"null\"}", 
+            "tool_version": "0.03", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "30": {
+            "annotation": "", 
+            "id": 30, 
+            "input_connections": {
+                "input_assembly_file": {
+                    "id": 2, 
+                    "output_name": "output"
+                }, 
+                "input_variant_file": {
+                    "id": 28, 
+                    "output_name": "output_file2"
+                }
+            }, 
+            "inputs": [], 
+            "name": "extractseq", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "fasta"
+                }
+            ], 
+            "position": {
+                "left": 3517, 
+                "top": 880.8833312988281
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/mcharles/rapsodyn/extractseq/0.03", 
+            "tool_state": "{\"__page__\": 0, \"input_variant_file\": \"null\", \"__rerun_remap_job_id__\": null, \"window_length\": \"\\\"50\\\"\", \"input_assembly_file\": \"null\"}", 
+            "tool_version": "0.03", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "31": {
+            "annotation": "", 
+            "id": 31, 
+            "input_connections": {
+                "input_assembly_file": {
+                    "id": 2, 
+                    "output_name": "output"
+                }, 
+                "input_variant_file": {
+                    "id": 28, 
+                    "output_name": "output_file3"
+                }
+            }, 
+            "inputs": [], 
+            "name": "extractseq", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "fasta"
+                }
+            ], 
+            "position": {
+                "left": 3518, 
+                "top": 1049.88330078125
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/mcharles/rapsodyn/extractseq/0.03", 
+            "tool_state": "{\"__page__\": 0, \"input_variant_file\": \"null\", \"__rerun_remap_job_id__\": null, \"window_length\": \"\\\"50\\\"\", \"input_assembly_file\": \"null\"}", 
+            "tool_version": "0.03", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "32": {
+            "annotation": "", 
+            "id": 32, 
+            "input_connections": {
+                "input_assembly_file": {
+                    "id": 2, 
+                    "output_name": "output"
+                }, 
+                "input_variant_file": {
+                    "id": 28, 
+                    "output_name": "output_file4"
+                }
+            }, 
+            "inputs": [], 
+            "name": "extractseq", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "fasta"
+                }
+            ], 
+            "position": {
+                "left": 3525, 
+                "top": 1216.88330078125
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/mcharles/rapsodyn/extractseq/0.03", 
+            "tool_state": "{\"__page__\": 0, \"input_variant_file\": \"null\", \"__rerun_remap_job_id__\": null, \"window_length\": \"\\\"50\\\"\", \"input_assembly_file\": \"null\"}", 
+            "tool_version": "0.03", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "33": {
+            "annotation": "", 
+            "id": 33, 
+            "input_connections": {
+                "db_opts|histdb": {
+                    "id": 11, 
+                    "output_name": "outfile"
+                }, 
+                "query": {
+                    "id": 29, 
+                    "output_name": "output_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "NCBI BLAST+ blastn", 
+            "outputs": [
+                {
+                    "name": "output1", 
+                    "type": "tabular"
+                }
+            ], 
+            "position": {
+                "left": 3959.7666625976562, 
+                "top": 695.5
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_blastn_wrapper/0.1.00", 
+            "tool_state": "{\"evalue_cutoff\": \"\\\"0.001\\\"\", \"__page__\": 0, \"adv_opts\": \"{\\\"identity_cutoff\\\": \\\"0.0\\\", \\\"adv_opts_selector\\\": \\\"advanced\\\", \\\"ungapped\\\": \\\"False\\\", \\\"filter_query\\\": \\\"False\\\", \\\"word_size\\\": \\\"0\\\", \\\"__current_case__\\\": 1, \\\"parse_deflines\\\": \\\"False\\\", \\\"strand\\\": \\\"-strand both\\\", \\\"max_hits\\\": \\\"8\\\"}\", \"__rerun_remap_job_id__\": null, \"blast_type\": \"\\\"megablast\\\"\", \"db_opts\": \"{\\\"db_opts_selector\\\": \\\"histdb\\\", \\\"subject\\\": \\\"\\\", \\\"histdb\\\": null, \\\"__current_case__\\\": 1, \\\"database\\\": \\\"\\\"}\", \"output\": \"{\\\"out_format\\\": \\\"cols\\\", \\\"std_cols\\\": [\\\"qseqid\\\", \\\"qstart\\\", \\\"qend\\\"], \\\"ids_cols\\\": null, \\\"tax_cols\\\": null, \\\"__current_case__\\\": 2, \\\"misc_cols\\\": null, \\\"ext_cols\\\": [\\\"qseq\\\", \\\"sseq\\\"]}\", \"query\": \"null\"}", 
+            "tool_version": "0.1.00", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "34": {
+            "annotation": "", 
+            "id": 34, 
+            "input_connections": {
+                "db_opts|histdb": {
+                    "id": 11, 
+                    "output_name": "outfile"
+                }, 
+                "query": {
+                    "id": 30, 
+                    "output_name": "output_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "NCBI BLAST+ blastn", 
+            "outputs": [
+                {
+                    "name": "output1", 
+                    "type": "tabular"
+                }
+            ], 
+            "position": {
+                "left": 3961.7666625976562, 
+                "top": 886.5
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_blastn_wrapper/0.1.00", 
+            "tool_state": "{\"evalue_cutoff\": \"\\\"0.001\\\"\", \"__page__\": 0, \"adv_opts\": \"{\\\"identity_cutoff\\\": \\\"0.0\\\", \\\"adv_opts_selector\\\": \\\"advanced\\\", \\\"ungapped\\\": \\\"False\\\", \\\"filter_query\\\": \\\"False\\\", \\\"word_size\\\": \\\"0\\\", \\\"__current_case__\\\": 1, \\\"parse_deflines\\\": \\\"False\\\", \\\"strand\\\": \\\"-strand both\\\", \\\"max_hits\\\": \\\"8\\\"}\", \"__rerun_remap_job_id__\": null, \"blast_type\": \"\\\"megablast\\\"\", \"db_opts\": \"{\\\"db_opts_selector\\\": \\\"histdb\\\", \\\"subject\\\": \\\"\\\", \\\"histdb\\\": null, \\\"__current_case__\\\": 1, \\\"database\\\": \\\"\\\"}\", \"output\": \"{\\\"out_format\\\": \\\"cols\\\", \\\"std_cols\\\": [\\\"qseqid\\\", \\\"qstart\\\", \\\"qend\\\"], \\\"ids_cols\\\": null, \\\"tax_cols\\\": null, \\\"__current_case__\\\": 2, \\\"misc_cols\\\": null, \\\"ext_cols\\\": [\\\"qseq\\\", \\\"sseq\\\"]}\", \"query\": \"null\"}", 
+            "tool_version": "0.1.00", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "35": {
+            "annotation": "", 
+            "id": 35, 
+            "input_connections": {
+                "db_opts|histdb": {
+                    "id": 11, 
+                    "output_name": "outfile"
+                }, 
+                "query": {
+                    "id": 31, 
+                    "output_name": "output_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "NCBI BLAST+ blastn", 
+            "outputs": [
+                {
+                    "name": "output1", 
+                    "type": "tabular"
+                }
+            ], 
+            "position": {
+                "left": 3965.7666625976562, 
+                "top": 1052.5
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_blastn_wrapper/0.1.00", 
+            "tool_state": "{\"evalue_cutoff\": \"\\\"0.001\\\"\", \"__page__\": 0, \"adv_opts\": \"{\\\"identity_cutoff\\\": \\\"0.0\\\", \\\"adv_opts_selector\\\": \\\"advanced\\\", \\\"ungapped\\\": \\\"False\\\", \\\"filter_query\\\": \\\"False\\\", \\\"word_size\\\": \\\"0\\\", \\\"__current_case__\\\": 1, \\\"parse_deflines\\\": \\\"False\\\", \\\"strand\\\": \\\"-strand both\\\", \\\"max_hits\\\": \\\"8\\\"}\", \"__rerun_remap_job_id__\": null, \"blast_type\": \"\\\"megablast\\\"\", \"db_opts\": \"{\\\"db_opts_selector\\\": \\\"histdb\\\", \\\"subject\\\": \\\"\\\", \\\"histdb\\\": null, \\\"__current_case__\\\": 1, \\\"database\\\": \\\"\\\"}\", \"output\": \"{\\\"out_format\\\": \\\"cols\\\", \\\"std_cols\\\": [\\\"qseqid\\\", \\\"qstart\\\", \\\"qend\\\"], \\\"ids_cols\\\": null, \\\"tax_cols\\\": null, \\\"__current_case__\\\": 2, \\\"misc_cols\\\": null, \\\"ext_cols\\\": [\\\"qseq\\\", \\\"sseq\\\"]}\", \"query\": \"null\"}", 
+            "tool_version": "0.1.00", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "36": {
+            "annotation": "", 
+            "id": 36, 
+            "input_connections": {
+                "db_opts|histdb": {
+                    "id": 11, 
+                    "output_name": "outfile"
+                }, 
+                "query": {
+                    "id": 32, 
+                    "output_name": "output_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "NCBI BLAST+ blastn", 
+            "outputs": [
+                {
+                    "name": "output1", 
+                    "type": "tabular"
+                }
+            ], 
+            "position": {
+                "left": 3971.7666625976562, 
+                "top": 1220.5
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_blastn_wrapper/0.1.00", 
+            "tool_state": "{\"evalue_cutoff\": \"\\\"0.001\\\"\", \"__page__\": 0, \"adv_opts\": \"{\\\"identity_cutoff\\\": \\\"0.0\\\", \\\"adv_opts_selector\\\": \\\"advanced\\\", \\\"ungapped\\\": \\\"False\\\", \\\"filter_query\\\": \\\"False\\\", \\\"word_size\\\": \\\"0\\\", \\\"__current_case__\\\": 1, \\\"parse_deflines\\\": \\\"False\\\", \\\"strand\\\": \\\"-strand both\\\", \\\"max_hits\\\": \\\"8\\\"}\", \"__rerun_remap_job_id__\": null, \"blast_type\": \"\\\"megablast\\\"\", \"db_opts\": \"{\\\"db_opts_selector\\\": \\\"histdb\\\", \\\"subject\\\": \\\"\\\", \\\"histdb\\\": null, \\\"__current_case__\\\": 1, \\\"database\\\": \\\"\\\"}\", \"output\": \"{\\\"out_format\\\": \\\"cols\\\", \\\"std_cols\\\": [\\\"qseqid\\\", \\\"qstart\\\", \\\"qend\\\"], \\\"ids_cols\\\": null, \\\"tax_cols\\\": null, \\\"__current_case__\\\": 2, \\\"misc_cols\\\": null, \\\"ext_cols\\\": [\\\"qseq\\\", \\\"sseq\\\"]}\", \"query\": \"null\"}", 
+            "tool_version": "0.1.00", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "37": {
+            "annotation": "", 
+            "id": 37, 
+            "input_connections": {
+                "input_blast_file": {
+                    "id": 33, 
+                    "output_name": "output1"
+                }, 
+                "input_variant_file": {
+                    "id": 28, 
+                    "output_name": "output_file1"
+                }
+            }, 
+            "inputs": [], 
+            "name": "ParseBlastForUniqueMatch", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "pileup"
+                }
+            ], 
+            "position": {
+                "left": 4286.5, 
+                "top": 705
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "ParseBlastForUniqueMatch", 
+            "tool_state": "{\"input_variant_file\": \"null\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"input_blast_file\": \"null\", \"window_length\": \"\\\"50\\\"\", \"nb_mismatch_max\": \"\\\"3\\\"\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "38": {
+            "annotation": "", 
+            "id": 38, 
+            "input_connections": {
+                "input_blast_file": {
+                    "id": 34, 
+                    "output_name": "output1"
+                }, 
+                "input_variant_file": {
+                    "id": 28, 
+                    "output_name": "output_file2"
+                }
+            }, 
+            "inputs": [], 
+            "name": "ParseBlastForUniqueMatch", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "pileup"
+                }
+            ], 
+            "position": {
+                "left": 4284.5, 
+                "top": 904
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "ParseBlastForUniqueMatch", 
+            "tool_state": "{\"input_variant_file\": \"null\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"input_blast_file\": \"null\", \"window_length\": \"\\\"50\\\"\", \"nb_mismatch_max\": \"\\\"3\\\"\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "39": {
+            "annotation": "", 
+            "id": 39, 
+            "input_connections": {
+                "input_blast_file": {
+                    "id": 35, 
+                    "output_name": "output1"
+                }, 
+                "input_variant_file": {
+                    "id": 28, 
+                    "output_name": "output_file3"
+                }
+            }, 
+            "inputs": [], 
+            "name": "ParseBlastForUniqueMatch", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "pileup"
+                }
+            ], 
+            "position": {
+                "left": 4287.5, 
+                "top": 1103
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "ParseBlastForUniqueMatch", 
+            "tool_state": "{\"input_variant_file\": \"null\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"input_blast_file\": \"null\", \"window_length\": \"\\\"50\\\"\", \"nb_mismatch_max\": \"\\\"3\\\"\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "40": {
+            "annotation": "", 
+            "id": 40, 
+            "input_connections": {
+                "input_blast_file": {
+                    "id": 36, 
+                    "output_name": "output1"
+                }, 
+                "input_variant_file": {
+                    "id": 28, 
+                    "output_name": "output_file4"
+                }
+            }, 
+            "inputs": [], 
+            "name": "ParseBlastForUniqueMatch", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "pileup"
+                }
+            ], 
+            "position": {
+                "left": 4281.5, 
+                "top": 1305
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "ParseBlastForUniqueMatch", 
+            "tool_state": "{\"input_variant_file\": \"null\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"input_blast_file\": \"null\", \"window_length\": \"\\\"50\\\"\", \"nb_mismatch_max\": \"\\\"3\\\"\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "41": {
+            "annotation": "", 
+            "id": 41, 
+            "input_connections": {
+                "input_file1": {
+                    "id": 37, 
+                    "output_name": "output_file"
+                }, 
+                "input_file2": {
+                    "id": 38, 
+                    "output_name": "output_file"
+                }, 
+                "input_file3": {
+                    "id": 39, 
+                    "output_name": "output_file"
+                }, 
+                "input_file4": {
+                    "id": 40, 
+                    "output_name": "output_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "MergeFile4x", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "txt"
+                }
+            ], 
+            "position": {
+                "left": 4700, 
+                "top": 841.8833312988281
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "MergeFile4x", 
+            "tool_state": "{\"out_format\": \"\\\"pileup\\\"\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"input_file4\": \"null\", \"input_file1\": \"null\", \"input_file2\": \"null\", \"input_file3\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "42": {
+            "annotation": "", 
+            "id": 42, 
+            "input_connections": {
+                "input_file": {
+                    "id": 41, 
+                    "output_name": "output_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "mpileupfilterandstat", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "pileup"
+                }, 
+                {
+                    "name": "log_file", 
+                    "type": "txt"
+                }
+            ], 
+            "position": {
+                "left": 5056, 
+                "top": 886.8833312988281
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "mpileupfilterandstat", 
+            "tool_state": "{\"__page__\": 0, \"stat\": \"{\\\"stat_dist_step\\\": \\\"50\\\", \\\"stat_min_depth_step\\\": \\\"2\\\", \\\"stat_max_depth_max\\\": \\\"200\\\", \\\"stat_min_depth_max\\\": \\\"10\\\", \\\"stat_freq_max\\\": \\\"1.0\\\", \\\"stat_min_depth_min\\\": \\\"2\\\", \\\"stat_max_depth_min\\\": \\\"100\\\", \\\"do_stat\\\": \\\"YES\\\", \\\"stat_dist_min\\\": \\\"0\\\", \\\"__current_case__\\\": 0, \\\"stat_max_depth_step\\\": \\\"100\\\", \\\"stat_dist_max\\\": \\\"50\\\", \\\"stat_freq_step\\\": \\\"0.1\\\", \\\"stat_freq_min\\\": \\\"0.8\\\"}\", \"input_file\": \"null\", \"min_frequency\": \"\\\"0.8\\\"\", \"do_stat\": \"\\\"YES\\\"\", \"min_depth\": \"\\\"2\\\"\", \"__rerun_remap_job_id__\": null, \"min_forward_and_reverse\": \"\\\"0\\\"\", \"max_depth\": \"\\\"100\\\"\", \"min_distance\": \"\\\"0\\\"\"}", 
+            "tool_version": "0.08", 
+            "type": "tool", 
+            "user_outputs": []
+        }, 
+        "43": {
+            "annotation": "", 
+            "id": 43, 
+            "input_connections": {
+                "input_blast_filtered_part1_file": {
+                    "id": 37, 
+                    "output_name": "output_file"
+                }, 
+                "input_blast_filtered_part2_file": {
+                    "id": 38, 
+                    "output_name": "output_file"
+                }, 
+                "input_blast_filtered_part3_file": {
+                    "id": 39, 
+                    "output_name": "output_file"
+                }, 
+                "input_blast_filtered_part4_file": {
+                    "id": 40, 
+                    "output_name": "output_file"
+                }, 
+                "input_list_filtered_file": {
+                    "id": 27, 
+                    "output_name": "output_file"
+                }, 
+                "input_mpileup_variant_file": {
+                    "id": 26, 
+                    "output_name": "output_file"
+                }, 
+                "input_read1_part1_trimmed_file": {
+                    "id": 7, 
+                    "output_name": "output_read1_file"
+                }, 
+                "input_read1_part2_trimmed_file": {
+                    "id": 8, 
+                    "output_name": "output_read1_file"
+                }, 
+                "input_read1_part3_trimmed_file": {
+                    "id": 9, 
+                    "output_name": "output_read1_file"
+                }, 
+                "input_read1_part4_trimmed_file": {
+                    "id": 10, 
+                    "output_name": "output_read1_file"
+                }, 
+                "input_read1_row_file": {
+                    "id": 0, 
+                    "output_name": "output"
+                }, 
+                "input_read2_part1_trimmed_file": {
+                    "id": 7, 
+                    "output_name": "output_read2_file"
+                }, 
+                "input_read2_part2_trimmed_file": {
+                    "id": 8, 
+                    "output_name": "output_read2_file"
+                }, 
+                "input_read2_part3_trimmed_file": {
+                    "id": 9, 
+                    "output_name": "output_read2_file"
+                }, 
+                "input_read2_part4_trimmed_file": {
+                    "id": 10, 
+                    "output_name": "output_read2_file"
+                }, 
+                "input_read2_row_file": {
+                    "id": 1, 
+                    "output_name": "output"
+                }, 
+                "input_sam_filtered_part1_file": {
+                    "id": 16, 
+                    "output_name": "output_file"
+                }, 
+                "input_sam_filtered_part2_file": {
+                    "id": 17, 
+                    "output_name": "output_file"
+                }, 
+                "input_sam_filtered_part3_file": {
+                    "id": 18, 
+                    "output_name": "output_file"
+                }, 
+                "input_sam_filtered_part4_file": {
+                    "id": 19, 
+                    "output_name": "output_file"
+                }, 
+                "input_sam_row_part1_file": {
+                    "id": 12, 
+                    "output_name": "output"
+                }, 
+                "input_sam_row_part2_file": {
+                    "id": 13, 
+                    "output_name": "output"
+                }, 
+                "input_sam_row_part3_file": {
+                    "id": 14, 
+                    "output_name": "output"
+                }, 
+                "input_sam_row_part4_file": {
+                    "id": 15, 
+                    "output_name": "output"
+                }, 
+                "input_snp_selected_file": {
+                    "id": 42, 
+                    "output_name": "output_file"
+                }
+            }, 
+            "inputs": [], 
+            "name": "rapsosnp_stats4x", 
+            "outputs": [
+                {
+                    "name": "output_file", 
+                    "type": "txt"
+                }
+            ], 
+            "position": {
+                "left": 5447.5, 
+                "top": 211
+            }, 
+            "post_job_actions": {}, 
+            "tool_errors": null, 
+            "tool_id": "rapsosnp_stats4x", 
+            "tool_state": "{\"input_blast_filtered_part2_file\": \"null\", \"input_blast_filtered_part3_file\": \"null\", \"input_read2_part1_trimmed_file\": \"null\", \"input_read1_row_file\": \"null\", \"input_read1_part2_trimmed_file\": \"null\", \"input_read1_part4_trimmed_file\": \"null\", \"input_read1_part3_trimmed_file\": \"null\", \"__page__\": 0, \"__rerun_remap_job_id__\": null, \"input_mpileup_variant_file\": \"null\", \"input_sam_row_part1_file\": \"null\", \"input_blast_filtered_part1_file\": \"null\", \"input_sam_row_part4_file\": \"null\", \"input_sam_filtered_part1_file\": \"null\", \"input_read2_part3_trimmed_file\": \"null\", \"input_read2_part4_trimmed_file\": \"null\", \"input_sam_filtered_part3_file\": \"null\", \"input_sam_filtered_part4_file\": \"null\", \"input_sam_row_part2_file\": \"null\", \"input_read1_part1_trimmed_file\": \"null\", \"input_read2_row_file\": \"null\", \"input_blast_filtered_part4_file\": \"null\", \"input_sam_row_part3_file\": \"null\", \"input_sam_filtered_part2_file\": \"null\", \"input_read2_part2_trimmed_file\": \"null\", \"input_snp_selected_file\": \"null\", \"input_list_filtered_file\": \"null\"}", 
+            "tool_version": "0.01", 
+            "type": "tool", 
+            "user_outputs": []
+        }
+    }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/ParseBlastForUniqueMatch.pl	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,176 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+
+
+my $input_variant_file = $ARGV[0];
+my $input_blast_file = $ARGV[1];
+my $window_length = $ARGV[2];
+my $nb_mismatch_max = $ARGV[3];
+
+my %hash_name;
+
+open(INB, $input_blast_file) or die ("Can't open $input_blast_file\n");
+while (my $line =<INB>){
+	my @fields = split (/\s+/,$line);
+	# print $#fields,"\n";
+	# print $line;
+	# exit(0);
+	my $query_name;
+	my $query_start;
+	my $query_stop;
+	my $query_aln;
+	my $subject_aln;
+	my $compt_mismatch_5p=0;
+	my $compt_mismatch_3p=0;
+	
+	if ($#fields == 24){
+		$query_name = $fields[0];
+		$query_start = $fields[6];
+		$query_stop = $fields[7];
+		$query_aln = $fields[20];
+		$subject_aln = $fields[21];
+	}
+	elsif ($#fields == 4){
+		$query_name = $fields[0];
+		$query_start = $fields[1];
+		$query_stop = $fields[2];
+		$query_aln = $fields[3];
+		$subject_aln = $fields[4];
+	}
+	else {
+		print STDERR "Unrecongnized tabular format for blast result\nScript works with 25 column or 5 custom column(qseqid,qstart,qend,ssseq,sseq)\n";
+		exit(0);
+	}
+	
+	
+	my @field_name = split (/\_/,$query_name);
+	my $name = $field_name[0]."_".$field_name[1];
+	if ($query_name =~ /random/){
+		$name .= "_".$field_name[2];
+		# print $name."\n";
+	
+	}
+	if (!$hash_name{$name}){
+		$hash_name{$name}=0;
+	}
+	elsif ($hash_name{$name}>1){
+		next;
+	}
+	# if ($query_name eq "chrUnn_random_8279117_1_M1_a"){
+		# print "READ : $query_name\n$name\n";
+		# print "HASH : ",$hash_name{$name},"\n";
+		# # exit(0);
+	# }
+	
+	
+	
+	chomp($query_aln);
+	chomp($subject_aln);
+	
+	my $nb_gap_query=0;
+	
+	if (length($query_aln) == length($subject_aln)){
+		if (length($query_aln)<$window_length-$nb_mismatch_max){
+		}
+		else {
+			my @q = split(//,$query_aln);
+			my @s = split(//,$subject_aln);
+			for (my $i=0;$i<=$#q;$i++){
+				my $global_idx = $query_start-1+$i-$nb_gap_query;
+				if ($q[$i] eq "-"){
+					if ($global_idx < $window_length){
+						$compt_mismatch_5p++;
+					}
+					elsif ($global_idx > $window_length){
+						$compt_mismatch_3p++;
+					}
+					$nb_gap_query++; #On compte les gap dans la query pour les soustraire de l'index global
+				}
+				else {
+					if ($q[$i] ne $s[$i]){
+						if ($global_idx < $window_length){
+							$compt_mismatch_5p++;
+						}
+						elsif ($global_idx > $window_length){
+							$compt_mismatch_3p++;
+						}
+					}
+				}
+			}
+			$compt_mismatch_5p += $query_start-1;
+			$compt_mismatch_3p += $window_length *2 + 1 - $query_stop;
+			
+			# for (my $i=0;$i<$window_length;$i++){
+				# if ($tbl_q_aln[$i] eq "#"){
+					# $compt_mismatch_5p++;
+				# }
+				# elsif ($tbl_q_aln[$i] ne $tbl_s_aln[$i]){
+					# $compt_mismatch_5p++;
+				# }
+				# else {
+				# }
+
+			# }
+			# for (my $i=$window_length+1;$i<=$window_length*2;$i++){
+				# if ($tbl_q_aln[$i] eq "#"){
+					# $compt_mismatch_3p++;
+				# }
+				# elsif ($tbl_q_aln[$i] ne $tbl_s_aln[$i]){
+					# $compt_mismatch_3p++;
+				# }
+				# else {
+				# }
+			# }
+			if (($compt_mismatch_5p <= $nb_mismatch_max)||($compt_mismatch_3p <= $nb_mismatch_max)){
+				$hash_name{$name}++;
+			}
+			
+		}
+	}
+	else {
+		print STDERR "incompatible subject and query alignement length\n $query_aln\n$subject_aln\n";
+	}
+	
+	# if ($line=~/chrCnn_random_49828229/){
+		# print $line;
+		# print $query_aln,"\n";
+		# print $subject_aln,"\n";
+		# print $compt_mismatch_5p,"\t",$compt_mismatch_3p,"\n";
+		# print $hash_name{"chrCnn_random_49828229"},"\n";
+		# print "\n";
+	# }
+	
+	
+	
+}
+# exit(0);
+	
+close (INB);
+
+open(INV, $input_variant_file) or die ("Can't open $input_variant_file\n");
+
+while (my $ligne = <INV>) {
+	
+	my @champs = split (/\s+/,$ligne);
+	my $header = $champs[0]."_".$champs[1];
+
+	if ($hash_name{$header}){
+		if ($hash_name{$header}==1){
+			print $ligne;
+		}
+	}
+	else {
+		#print STDERR "No blast result for ",$header,"\n";
+	}
+
+	
+}
+
+close(INV);
+
+
+# foreach my $key (sort keys %hash_name){
+	# print $key,"\t",$hash_name{$key},"\n";
+	
+# }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/ParseBlastForUniqueMatch.xml	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,21 @@
+<tool id="ParseBlastForUniqueMatch" name="ParseBlastForUniqueMatch" version="0.01">
+<description>Filter mpileup with blast results</description>
+<command interpreter="perl">
+    ParseBlastForUniqueMatch.pl $input_variant_file $input_blast_file $window_length $nb_mismatch_max > $output_file 
+</command>
+<inputs>
+<param name="input_variant_file"  type="data" format="pileup" label="Select a suitable input VARIANT file from your history"/>
+<param name="input_blast_file"  type="data" format="tabular" label="Select a suitable input BLAST file (25 or 5 custom column(qseqid,qstart,qend,ssseq,sseq) from your history"/>
+<param name="window_length" type="integer" value="50" label="Number of bases extracted before and after the variant position"/>
+<param name="nb_mismatch_max" type="integer" value="3" label="Threshold for mismatch filter"/>
+</inputs>
+<outputs>
+ <data name="output_file" format="pileup" label="${tool.name} on ${on_string}"/>
+</outputs>
+
+<help>
+
+
+
+</help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/PileupVariant.pl	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,19 @@
+#!/usr/bin/perl
+use strict;
+
+my $inputfile = $ARGV[0];
+open(IF, $inputfile)  or die("Can't open $inputfile\n");
+
+#Extraction des variants
+my $nb_line=0;
+while (my $line=<IF>){
+	my $test = $line;
+	$test =~ s/\$//g; #the read start at this position
+	$test =~ s/\^.//g; #the read end at this position followed by quality char
+	my @field = split(/\s+/,$test);
+	
+	if ($field[4]=~/[ATGCN]/i){
+		print $line;
+	}
+}
+close(IF);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/PileupVariant.xml	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,18 @@
+<tool id="PileupVariant" name="PileupVariant" version="0.01">
+<description>Keep only mpileup line with variant</description>
+<command interpreter="perl">
+    PileupVariant.pl $input_file > $output_file 
+</command>
+<inputs>
+<param name="input_file"  type="data" format="pileup" label="Select a suitable input file from your history"/>
+</inputs>
+<outputs>
+ <data name="output_file" format="pileup" label="${tool.name} on ${on_string}"/>
+</outputs>
+
+<help>
+
+
+
+</help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/PrepareFastqLight.pl	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,420 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+
+my $read1 = $ARGV[0];
+my $read2 = $ARGV[1];
+
+my $output1 = $ARGV[2];
+my $output2 = $ARGV[3];
+
+my $TYPE = $ARGV[4];
+my $MIN_LENGTH = $ARGV[5];
+my $MIN_QUALITY = $ARGV[6];
+
+my $VERBOSE = $ARGV[7];
+
+if (!$VERBOSE){
+	$VERBOSE ="OFF";
+}
+
+open(READ1, $read1) or die ("Can't open $read1\n");
+open(READ2, $read2) or die ("Can't open $read2\n");
+open(OUT1, ">$output1") or die ("Can't open $output1\n");
+open(OUT2, ">$output2") or die ("Can't open $output2\n");
+
+
+my $error1=0;
+my $error2=0;
+my $error3=0;
+my $error4=0;
+my $error5=0;
+my $error6=0;
+my $error7=0;
+my $error8=0;
+my $error9=0;
+my $error10=0;
+
+while (my $ligne1_r1 =<READ1>){
+	my $ligne2_r1 =<READ1>;
+	my $ligne3_r1 =<READ1>;
+	my $ligne4_r1 =<READ1>;
+	my $ligne1_r2 =<READ2>;
+	my $ligne2_r2 =<READ2>;
+	my $ligne3_r2 =<READ2>;
+	my $ligne4_r2 =<READ2>;
+	
+#@ 1 sec
+	if ((!$ligne1_r1)||(!$ligne2_r1)||(!$ligne3_r1)||(!$ligne4_r1)||(!$ligne1_r2)||(!$ligne2_r2)||(!$ligne3_r2)||(!$ligne4_r2)){
+		if ($VERBOSE eq "ON"){
+			print "Error in file format";
+			if ($ligne1_r1){print $ligne1_r1;}
+			if ($ligne2_r1){print $ligne2_r1;}
+			if ($ligne3_r1){print $ligne3_r1;}
+			if ($ligne4_r1){print $ligne4_r1;}
+			if ($ligne1_r2){print $ligne1_r2;}
+			if ($ligne2_r2){print $ligne2_r2;}
+			if ($ligne3_r2){print $ligne3_r2;}
+			if ($ligne4_r2){print $ligne4_r2;}
+			print "\n";
+		}
+		$error1++;
+	}
+	elsif(($ligne1_r1 !~/^\@/)||($ligne1_r2 !~/^\@/)||($ligne3_r1 !~/^\+/)||($ligne3_r2 !~/^\+/)){
+		if ($VERBOSE eq "ON"){
+			print "Error in header : format\n";
+			print $ligne1_r1;
+			print $ligne2_r1;
+			print $ligne3_r1;
+			print $ligne4_r1;
+			print $ligne1_r2;
+			print $ligne2_r2;
+			print $ligne3_r2;
+			print $ligne4_r2;
+			print "\n";
+		}
+		$error2++;
+	}
+#@ 1 - 2 sec
+	else {
+		
+		my $length_seq1 = length($ligne2_r1);
+		my $length_qual1 =length($ligne4_r1);
+		my $seq1;
+		my $qual1;
+	
+		my $length_seq2 = length($ligne2_r2);
+		my $length_qual2 =length($ligne4_r2);
+		my $seq2;
+		my $qual2;
+		my $header1="";
+		my $header2="";
+		my $repheader1="";
+		my $repheader2="";
+		
+		if ($ligne1_r1 =~/^\@(.*?)\#/){
+			$header1 = $1;
+		}
+		
+		if ($ligne3_r1 =~/^\+(.*?)\#/){
+                        $repheader1 = $1;
+               	}
+
+		if ($ligne1_r2 =~/^\@(.*?)\#/){
+                        $header2 = $1;
+               	}
+
+		if ($ligne3_r2 =~/^\+(.*?)\#/){
+                        $repheader2 = $1;
+               	}
+#@ 2 sec
+		
+		### Verification de la coherence sequence /qualité   @ 1 sec
+		if (($TYPE eq "illumina")&&((!$header1)||(!$header2)||(!$repheader1)||(!$repheader2))){
+			if ($VERBOSE eq "ON"){
+				print "Error in header : empty\n";
+				print $ligne1_r1;
+				print $ligne2_r1;
+				print $ligne3_r1;
+				print $ligne4_r1;
+				print $ligne1_r2;
+				print $ligne2_r2;
+				print $ligne3_r2;
+				print $ligne4_r2;
+				print "\n";
+			}
+			$error3++;
+		}
+		elsif (($TYPE eq "sanger")&&((!$header1)||(!$header2))){
+			if ($VERBOSE eq "ON"){
+				print "Error in header refgsd : empty\n";
+				print $ligne1_r1;
+				print $ligne2_r1;
+				print $ligne3_r1;
+				print $ligne4_r1;
+				print $ligne1_r2;
+				print $ligne2_r2;
+				print $ligne3_r2;
+				print $ligne4_r2;
+				print "\n";
+			}
+			$error3++;
+		}
+		elsif (($TYPE eq "illumina")&&(($header1 ne $repheader1)||($header2 ne $repheader2)||($header1 ne $header2))){
+			if ($VERBOSE eq "ON"){
+				print "Error in header : different\n";
+				print $ligne1_r1;
+				print $ligne2_r1;
+				print $ligne3_r1;
+				print $ligne4_r1;
+				print $ligne1_r2;
+				print $ligne2_r2;
+				print $ligne3_r2;
+				print $ligne4_r2;
+				print "\n";
+			}
+			$error4++;
+		}
+		elsif (($TYPE eq "sanger")&&($header1 ne $header2)){
+			if ($VERBOSE eq "ON"){
+				print "Error in header : different\n";
+				print $ligne1_r1;
+				print $ligne2_r1;
+				print $ligne3_r1;
+				print $ligne4_r1;
+				print $ligne1_r2;
+				print $ligne2_r2;
+				print $ligne3_r2;
+				print $ligne4_r2;
+				print "\n";
+			}
+			$error4++;
+		}
+		elsif (($length_seq1 != $length_qual1)||($length_seq2 != $length_qual2)){
+			if ($VERBOSE eq "ON"){
+				print "Error in seq/qual length\n";
+				print $ligne1_r1;
+				print $ligne2_r1;
+				print $ligne3_r1;
+				print $ligne4_r1;
+				print $ligne1_r2;
+				print $ligne2_r2;
+				print $ligne3_r2;
+				print $ligne4_r2;
+				print "\n";
+			}
+			$error5++;
+		}
+#@ 1 - 2 sec	
+		else {
+			### Parsing sequence & qualité
+			if ($ligne2_r1 =~ /^([ATGCNX]+)\s*$/i){
+				$seq1 = $1;
+			}
+			if ($ligne2_r2 =~ /^([ATGCNX]+)\s*$/i){
+				$seq2 = $1;
+			}
+			if ($ligne4_r1 =~ /^(.*)\s*$/i){
+				$qual1 = $1;
+			}
+			if ($ligne4_r2 =~ /^(.*)\s*$/i){
+				$qual2 = $1;
+			}
+#@ 2 sec			
+			### Verification du parsing et de la coherence sequence /qualité (n°2)
+			if ((!$seq1)||(!$seq2)||(!$qual1)||(!$qual2)){
+				if ($VERBOSE eq "ON"){
+					print "Error parsing seq / quality \n";
+					print $ligne1_r1;
+					print $ligne2_r1;
+					print $ligne3_r1;
+					print $ligne4_r1;
+					print $ligne1_r2;
+					print $ligne2_r2;
+					print $ligne3_r2;
+					print $ligne4_r2;
+					print "\n";
+				}
+				$error6++;
+			}
+			elsif ((length($seq1) != length($qual1))||(length($seq2) != length($qual2))){
+				if ($VERBOSE eq "ON"){
+					print "Error in seq/qual length after parsing\n";
+					print $ligne1_r1;
+					print $ligne2_r1;
+					print $ligne3_r1;
+					print $ligne4_r1;
+					print $ligne1_r2;
+					print $ligne2_r2;
+					print $ligne3_r2;
+					print $ligne4_r2;
+					print "\n";
+				}
+				$error7++;
+			}
+#@ <1 sec
+			else {
+				my $fastq_lines_r1="";
+				my $fastq_lines_r2="";
+				$fastq_lines_r1 = &grooming_and_trimming($ligne1_r1,$seq1,$qual1);
+				if ($fastq_lines_r1){
+					$fastq_lines_r2 = &grooming_and_trimming($ligne1_r2,$seq2,$qual2);
+				}
+				if ($fastq_lines_r2){
+					print OUT1 $fastq_lines_r1;
+					print OUT2 $fastq_lines_r2;
+				}
+			}
+		}
+	
+		# print OUT1 $ligne1_r1;
+		# print OUT1 $ligne2_r1;
+		# print OUT1 $ligne3_r1;
+		# print OUT1 $ligne4_r1;
+		# print OUT2 $ligne1_r2;
+		# print OUT2 $ligne2_r2;
+		# print OUT2 $ligne3_r2;
+		# print OUT2 $ligne4_r2;
+		
+#@ 7 sec
+	}
+}
+
+
+
+close (READ1);
+close (READ2);
+close (OUT1);
+close (OUT2);
+
+
+
+
+sub grooming_and_trimming{
+	my $header = shift;
+	my $seq = shift;
+	my $quality = shift;
+	my $quality_converted="";
+	
+	my $startnoN = 0;
+	my $stopnoN = length($quality)-1;
+	
+	#print "SEQ :\n$seq\n";
+	
+	my $chercheN = $seq;
+	my @bad_position;
+	my $current_index = index($chercheN,"N");
+	my $abs_index = $current_index;
+	while ($current_index >=0){
+		push (@bad_position,$abs_index);
+
+		if ($current_index<length($seq)){
+			$chercheN = substr($chercheN,$current_index+1);
+			$current_index = index($chercheN,"N");
+			$abs_index = $current_index + $bad_position[$#bad_position]+1;
+		}
+		else {
+			last;
+		}
+	}
+	
+	
+	if ($#bad_position>=0){
+		my %coord=%{&extract_longer_string_coordinates_from_bad_position($startnoN,$stopnoN,\@bad_position)};
+		$startnoN = $coord{"start"};
+		$stopnoN = $coord{"stop"};	
+	}
+	my $lengthnoN = $stopnoN - $startnoN + 1;
+	my $seqnoN = substr($seq,$startnoN,$lengthnoN);
+	#print "$seqnoN\n";
+	
+	if ($lengthnoN >= $MIN_LENGTH){
+		my $startTrim = $startnoN;
+		my $stopTrim = $stopnoN;
+		
+		my $quality_converted="";
+		my @bad_position;
+		
+		my @q = split(//,$quality);
+		#print "QUALITY\n";
+		#print "$quality\n";
+		for (my $i=0;$i<=$stopnoN;$i++){
+			my $chr = $q[$i];
+			my $num = ord($q[$i]);
+			if ($TYPE eq "illumina"){
+				$num = $num -64+33;
+				$quality_converted .= chr($num);
+			}
+			
+			if ($num <$MIN_QUALITY + 64 - 33 ){
+				push(@bad_position,$i+$startnoN);
+			}
+		}
+		if ($quality_converted){$quality = $quality_converted;}
+		#print "$quality\n";
+		
+		
+		
+		if ($#bad_position>=0){
+			# for (my $i=0;$i<=$#bad_position;$i++){
+				# print $bad_position[$i]."\t";
+			# }
+			# print "\n";
+			my %coord=%{&extract_longer_string_coordinates_from_bad_position($startnoN,$stopnoN,\@bad_position)};
+			$startTrim = $coord{"start"};
+			$stopTrim = $coord{"stop"};
+			#print "$startTrim .. $stopTrim\n";
+			
+		}
+		my $lengthTrim = $stopTrim - $startTrim +1;
+		
+		
+		my $fastq_lines="";
+		
+		if ($lengthTrim >= $MIN_LENGTH){
+			$fastq_lines .= $header;
+			$fastq_lines .= substr($seq,$startTrim,$lengthTrim)."\n";
+			$fastq_lines .= "+\n";
+			$fastq_lines .= substr($quality,$startTrim,$lengthTrim)."\n";
+			return $fastq_lines;
+		}
+		else {
+			return "";
+		}
+		
+		
+		
+	}
+	else {
+		return "";
+	}
+	
+	
+	# my @s = split(//,$seq);
+	# my $sanger_quality="";
+
+	
+	
+
+	# return $sanger_quality;
+}
+
+sub extract_longer_string_coordinates_from_bad_position{
+	my $start=shift;
+	my $stop =shift;
+	my $refbad = shift;
+	my @bad_position = @$refbad;
+	my %coord;
+	
+	my $current_start = $start;
+	my $current_stop = $bad_position[0]-1;
+	if ($current_stop < $start){$current_stop = $start;}
+	
+	
+	#debut -> premier N
+	my $current_length = $current_stop - $current_start +1;
+	my $test_length;
+	
+	#entre les N
+	for (my $i=1;$i<=$#bad_position;$i++){
+		$test_length = $bad_position[$i]+1-$bad_position[$i-1]-1;
+		if ( $test_length >  $current_length){
+			$current_start = $bad_position[$i-1]+1;
+			$current_stop = $bad_position[$i]-1;
+			$current_length = $current_stop - $current_start +1;
+		}
+	}
+	
+	#dernier N -> fin
+	$test_length = $stop-$bad_position[$#bad_position]+1;
+	if ( $test_length >  $current_length){
+		$current_start = $bad_position[$#bad_position]+1;
+		if ($current_start > $stop){$current_start=$stop;}
+		$current_stop = $stop;
+	}	
+	$coord{"start"}=$current_start;
+	$coord{"stop"}= $current_stop;
+	$coord{"lenght"}=$current_stop-$current_start+1;
+	
+	return \%coord;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/PrepareFastqLight.xml	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,26 @@
+<tool id="PrepareFastqLight" name="PrepareFastqLight" version="0.01">
+<description>Fastq preparation</description>
+<command interpreter="perl">
+    PrepareFastqLight.pl $input_read1_file $input_read2_file $output_read1_file $output_read2_file $quality_type $min_quality $min_length
+</command>
+<inputs>
+<param name="input_read1_file"  type="data" format="txt,fastq" label="Select a suitable FASTQ READ 1 file from your history"/>
+<param name="input_read2_file"  type="data" format="txt,fastq" label="Select a suitable FASTQ READ 2 file from your history"/>
+<param name="quality_type" type="select" label="Select input quality format">
+   <option value="sanger">Sanger</option>
+   <option value="illumina">Illumina 1.3-1.7</option>
+ </param>
+<param name="min_quality" type="integer" value="30" label="Minimum quality for 5' and 3' trimming "/>
+<param name="min_length" type="integer" value="30" label="Minimum sequence length after trimming"/>
+</inputs>
+<outputs>
+<data name="output_read1_file" format="fastqsanger" label="${tool.name} on ${on_string}"/>
+<data name="output_read2_file" format="fastqsanger" label="${tool.name} on ${on_string}"/>
+</outputs>
+
+<help>
+
+
+
+</help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/SplitFile2x.pl	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,54 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+
+my $in = $ARGV[0];
+my $NB_LINE_GROUP = $ARGV[1];
+my $NB_FILE = 2;
+my $out1 = $ARGV[2];
+my $out2 = $ARGV[3];
+
+if (!$NB_LINE_GROUP){
+	$NB_LINE_GROUP=4;
+}
+
+if (!$NB_FILE){
+	$NB_FILE=2;
+}
+
+my $file_nb = 1;
+
+my @in;
+my $current_aggregate;
+open(IN, $in) or die ("Can't open $in\n");
+while (my $line =<IN>){
+	$current_aggregate = $line;
+	my $nb_line=1;
+	if ($NB_LINE_GROUP>1){
+		while (my $add_line = <IN>){
+			$current_aggregate .= $add_line;
+			$nb_line++;
+			if ($nb_line == $NB_LINE_GROUP){
+				last;
+			}
+		}
+	}	
+	push (@in,$current_aggregate);
+}
+close (IN);
+
+open (OUT1,">$out1") or die ("Can't open $out1");
+open (OUT2,">$out2") or die ("Can't open $out2");
+
+for (my $i=0;$i<=$#in;$i++){
+	if ($i <= $#in/2){
+		print OUT1 $in[$i];
+	}
+	else {
+		print OUT2 $in[$i];
+	}
+
+
+}  
+close (OUT1);
+close (OUT2);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/SplitFile2x.xml	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,44 @@
+<tool id="SplitFile2x" name="SplitFile2x" version="0.01">
+<description>Split file in 2</description>
+<command interpreter="perl">
+    SplitFile2x.pl $input_file $line_number $output_file1 $output_file2
+</command>
+<inputs>
+<param name="out_format" type="select" label="Format">
+	<option value="pileup">pileup</option>
+	<option value="fastq">fastq</option>
+	<option value="fastqsanger">fastqsanger</option>
+	<option value="sam">sam</option>
+	<option value="fasta">fasta</option>
+</param>
+<param name="input_file"  type="data" format="fastq,fastqsanger,fastqillumina,pileup,sam,fasta" label="Select a suitable input file from your history"/>
+<param name="line_number" type="integer" value="4" label="Number of line read at a time before splitting"/>
+</inputs>
+<outputs>
+<data name="output_file1" format="txt" label="PART1 on ${on_string}">
+	<change_format>
+		<when input="out_format" value="pileup" format="pileup" />
+		<when input="out_format" value="fastq" format="fastq" />
+		<when input="out_format" value="sam" format="sam" />
+		<when input="out_format" value="fasta" format="fasta" />
+		<when input="out_format" value="fastqsanger" format="fastqsanger" />
+	</change_format>
+</data>
+<data name="output_file2" format="txt" label="PART2 on ${on_string}">
+	<change_format>
+		<when input="out_format" value="pileup" format="pileup" />
+		<when input="out_format" value="fastq" format="fastq" />
+		<when input="out_format" value="sam" format="sam" />
+		<when input="out_format" value="fasta" format="fasta" />
+		<when input="out_format" value="fastqsanger" format="fastqsanger" />
+	</change_format>
+</data>
+
+</outputs>
+
+<help>
+
+
+
+</help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/SplitFile4x.pl	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,70 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+
+my $in = $ARGV[0];
+my $NB_LINE_GROUP = $ARGV[1];
+my $NB_FILE = 4;
+my $out1 = $ARGV[2];
+my $out2 = $ARGV[3];
+my $out3 = $ARGV[4];
+my $out4 = $ARGV[5];
+
+if (!$NB_LINE_GROUP){
+	$NB_LINE_GROUP=4;
+}
+
+if (!$NB_FILE){
+	$NB_FILE=4;
+}
+
+my $file_nb = 1;
+
+my @in;
+my $current_aggregate;
+open(IN, $in) or die ("Can't open $in\n");
+while (my $line =<IN>){
+	$current_aggregate = $line;
+	my $nb_line=1;
+	if ($NB_LINE_GROUP>1){
+		while (my $add_line = <IN>){
+			$current_aggregate .= $add_line;
+			$nb_line++;
+			if ($nb_line == $NB_LINE_GROUP){
+				last;
+			}
+		}
+	}	
+	push (@in,$current_aggregate);
+}
+close (IN);
+
+open (OUT1,">$out1") or die ("Can't open $out1");
+open (OUT2,">$out2") or die ("Can't open $out2");
+open (OUT3,">$out3") or die ("Can't open $out3");
+open (OUT4,">$out4") or die ("Can't open $out4");
+
+
+for (my $i=0;$i<=$#in;$i++){
+	if ($i <= $#in/4){
+		print OUT1 $in[$i];
+	}
+	elsif ($i <= $#in/2){
+		print OUT2 $in[$i];
+	}
+	elsif ($i <= $#in*3/4){
+		print OUT3 $in[$i];
+	}
+	elsif ($i <= $#in){
+		print OUT4 $in[$i];
+	}
+	else {
+
+	}
+
+
+}  
+close (OUT1);
+close (OUT2);
+close (OUT3);
+close (OUT4);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/SplitFile4x.xml	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,62 @@
+<tool id="SplitFile4x" name="SplitFile4x" version="0.01">
+<description>Split file in 4</description>
+<command interpreter="perl">
+    SplitFile4x.pl $input_file $line_number $output_file1 $output_file2 $output_file3 $output_file4 
+</command>
+<inputs>
+<param name="out_format" type="select" label="Format">
+	<option value="pileup">pileup</option>
+	<option value="fastq">fastq</option>
+	<option value="fastqsanger">fastqsanger</option>
+	<option value="sam">sam</option>
+	<option value="fasta">fasta</option>
+</param>
+<param name="input_file"  type="data" format="fastq,fastqsanger,fastqillumina,pileup,sam,fasta" label="Select a suitable input file from your history"/>
+<param name="line_number" type="integer" value="4" label="Number of line read at a time before splitting"/>
+</inputs>
+<outputs>
+<data name="output_file1" format="txt" label="PART1 on ${on_string}">
+	<change_format>
+		<when input="out_format" value="pileup" format="pileup" />
+		<when input="out_format" value="fastq" format="fastq" />
+		<when input="out_format" value="sam" format="sam" />
+		<when input="out_format" value="fasta" format="fasta" />
+		<when input="out_format" value="fastqsanger" format="fastqsanger" />
+	</change_format>
+</data>
+<data name="output_file2" format="txt" label="PART2 on ${on_string}">
+	<change_format>
+		<when input="out_format" value="pileup" format="pileup" />
+		<when input="out_format" value="fastq" format="fastq" />
+		<when input="out_format" value="sam" format="sam" />
+		<when input="out_format" value="fasta" format="fasta" />
+		<when input="out_format" value="fastqsanger" format="fastqsanger" />
+	</change_format>
+</data>
+<data name="output_file3" format="txt" label="PART3 on ${on_string}">
+	<change_format>
+		<when input="out_format" value="pileup" format="pileup" />
+		<when input="out_format" value="fastq" format="fastq" />
+		<when input="out_format" value="sam" format="sam" />
+		<when input="out_format" value="fasta" format="fasta" />
+		<when input="out_format" value="fastqsanger" format="fastqsanger" />
+	</change_format>
+</data>
+<data name="output_file4" format="txt" label="PART4 on ${on_string}">
+	<change_format>
+		<when input="out_format" value="pileup" format="pileup" />
+		<when input="out_format" value="fastq" format="fastq" />
+		<when input="out_format" value="sam" format="sam" />
+		<when input="out_format" value="fasta" format="fasta" />
+		<when input="out_format" value="fastqsanger" format="fastqsanger" />
+	</change_format>
+</data>
+
+</outputs>
+
+<help>
+
+
+
+</help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/extractseq.pl	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,132 @@
+#!/usr/bin/perl
+#V1.10
+
+use strict;
+use warnings;
+use Getopt::Long;
+
+my $input_variant_file;
+my $input_assembly_file;
+my $WINDOWS_LENGTH = 50;
+
+GetOptions (
+"input_variant_file=s" => \$input_variant_file,
+"input_assembly_file=s" => \$input_assembly_file,
+"window_length=i" => \$WINDOWS_LENGTH
+) or die("Error in command line arguments\n");
+
+open(INV, $input_variant_file) or die ("Can't open $input_variant_file\n");
+open(INA, $input_assembly_file) or die ("Can't open $input_assembly_file\n");
+
+my @variant_list;
+
+
+### Retrieving the assembly
+my %genome;
+
+my $current_header="";
+my $current_seq="";
+while (my $ligne = <INA>){
+	if ($ligne =~ /^\>(.*?)\s*$/){
+		if ($current_header){
+			$genome{$current_header} = $current_seq;
+		}
+		$current_header=$1;
+		$current_seq = "";
+	}
+	else {
+		if ($ligne=~/^([ATGCNXatgcnx]+)\s*$/){
+			$current_seq .= $1;
+		}
+		else {
+			print STDERR "Erreur Parsing n°2\n$ligne\n";
+		}
+	}
+}
+#TRAITEMENT DU DERNIER
+if ($current_header){
+	$genome{$current_header} = $current_seq;
+	undef($current_seq);
+}
+close (INA);
+
+
+### Retrieving the variant
+while (my $ligne=<INV>){
+	if ($ligne !~ /^\s*$/){
+		my %variant;
+		my @fields = split (/\s+/,$ligne);
+		$variant{"ref"}=$fields[0];
+		$variant{"position"}=$fields[1];
+		$variant{"baseref"}=$fields[2];
+		$variant{"depth"}=$fields[3];
+		$variant{"pileup"}=$fields[4];
+		
+		
+		my $start = &max($variant{"position"} - $WINDOWS_LENGTH,1);
+		my $stop = &min ($variant{"position"} + $WINDOWS_LENGTH,length($genome{$variant{"ref"}}));
+		my $length = $stop-$start+1;
+		
+		#print $variant{"position"}," / ",length($genome{$variant{"ref"}})," / ","$start / $stop / $length \n";
+
+		$variant{"SEQ"} = substr $genome{$variant{"ref"}},$start-1,$length;
+		
+		my $pileup = $variant{"pileup"};
+		$pileup =~ s/\$//g; #the read start at this position
+		$pileup =~ s/\^.//g; #the read end at this position
+		my $descriptor = $variant{"position"}."_".$variant{"depth"}."_";
+		if ($pileup=~/\+([0-9]+)([ACGTNacgtn]+)/){
+			$descriptor .="I".$1."_".$2;
+		}
+		elsif ($pileup=~/\-([0-9]+)([ACGTNacgtn]+)/){
+			$descriptor .="D".$1."_".$2;
+		}
+		elsif ($pileup=~/([ACGTNacgtn])/){
+			$descriptor.="M1"."_".$1;
+		}
+		else {
+			$descriptor.="?_?";
+		}
+		$variant{"desc"}=$descriptor;
+		
+		print ">",$variant{"ref"},"_",$descriptor,"\n",$variant{"SEQ"},"\n";
+
+		
+		
+		#print ">",$variant{"ref"},"_",$variant{"position"},"_",$variant{"depth"},"\n",$variant{"SEQ"},"\n";
+		
+		push(@variant_list,\%variant);
+	}
+}
+close (INV);
+
+
+
+
+
+
+
+
+
+#***********
+sub min{
+	my $first = shift;
+	my $second = shift;
+	if ($first <= $second){
+		return $first;
+	}
+	else {
+		return $second;
+	}
+}
+
+sub max {
+	my $first = shift;
+	my $second = shift;
+	if ($first >= $second){
+		return $first;
+	}
+	else {
+		return $second;
+	}
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/extractseq.xml	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,20 @@
+<tool id="extractseq" name="extractseq" version="0.03">
+<description>Extract Sequence around variant position</description>
+<command interpreter="perl">
+    extractseq.pl -input_variant_file $input_variant_file -input_assembly_file $input_assembly_file -window_length $window_length > $output_file 
+</command>
+<inputs>
+<param name="input_variant_file"  type="data" format="pileup" label="Select a suitable input VARIANT file from your history"/>
+<param name="input_assembly_file"  type="data" format="fasta" label="Select a suitable input ASSEMBLY file from your history"/>
+<param name="window_length" type="integer" value="50" label="Number of bases extracted before and after the variant position"/>
+</inputs>
+<outputs>
+ <data name="output_file" format="fasta" label="${tool.name} on ${on_string}"/>
+</outputs>
+
+<help>
+
+
+
+</help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/fastaGroomerForMakeBlastdb.pl	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,22 @@
+#!/usr/bin/perl
+my $inputfasta = $ARGV[0];
+
+open(IB, $inputfasta) or die ("Can't open $inputfasta \n");
+
+while (my $ligne = <IB>){
+	if ($ligne=~/\[.*?\=.*?\]/){
+		$ligne =~ s/[\[\]]//g;
+		print $ligne;
+	}
+	elsif ($ligne =~/^\>/){
+		print $ligne;
+		$ligne = <IB>;
+		$ligne =~ s/N/a/g;
+		print $ligne;
+	}
+	else {
+		print $ligne;
+	}
+}
+
+close (IB);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/fastaGroomerForMakeBlastdb.xml	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,20 @@
+<tool id="fastaGroomerForMakeBlastdb" name="fastaGroomerForMakeBlastdb" version="0.01">
+<description>fasta Groomer For MakeBlastdb</description>
+<command interpreter="perl">
+    fastaGroomerForMakeBlastdb.pl $input_fasta > $output_fasta
+</command>
+<inputs>
+	<param name="input_fasta"  type="data" format="fasta" label="Select a suitable input FASTA file from your history"/>
+</inputs>
+<outputs>
+	<data name="output_fasta" format="fasta" label="${tool.name} on ${on_string}"/>
+</outputs>
+
+<help>
+MakeBlastDb has several warning handled has error which is problematic on galaxyn This groomer ensure that the fasta file will not generate this warnings / error :
+
+- First line of the sequence is more than 40% of N => replace all the 'N' of the first line by 'a' (not elegant but low impact and efficient) 
+
+- Header line should not have [xxx=xxx] kind of text because MakeBlastdb try to interpret it => remove the [] when this feature is detected 
+</help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/filtersam_mapped_and_unique.pl	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,23 @@
+#!/usr/bin/perl
+use strict;
+use warnings;
+
+open(IN, $ARGV[0]) or die ("Can't open $ARGV[0]\n");
+while (my $line=<IN>){
+	if ($line =~ /^\@/){
+		#Header conservation
+		print $line;
+	}
+	else {
+		#Optionnal flag verification
+		if (($line =~ /XT\:A\:U/)&&($line =~ /X0\:i\:1/)&&($line =~ /X1\:i\:0\s/)){
+			my @fields = split (/\s+/,$line);
+			if (($fields[1]==83)||($fields[1]==163)||($fields[1]==147)||($fields[1]==99)){
+				print $line;
+			}
+		}
+	}
+}
+
+
+close (IN);
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/filtersam_mapped_and_unique.xml	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,18 @@
+<tool id="filtersam_mapped_and_unique" name="filtersam_mapped_and_unique" version="0.01">
+<description>Filter SAM file for uniq and well mapped pair-end reads</description>
+<command interpreter="perl">
+    filtersam_mapped_and_unique.pl $input_sam_file > $output_file 
+</command>
+<inputs>
+<param name="input_sam_file"  type="data" format="sam" label="Select a suitable input SAM file from your history"/>
+</inputs>
+<outputs>
+ <data name="output_file" format="sam" label="${tool.name} on ${on_string}"/>
+</outputs>
+
+<help>
+
+
+
+</help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/listfiltering.pl	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,61 @@
+#!/usr/bin/perl
+use strict;
+use Getopt::Long;
+
+my $inputfile;
+my $headerfile;
+my $nb_col=1;
+my %header;
+
+if ($#ARGV<0){
+	print "\n";
+	print "perl 021_ListFiltering.pl -input_file <file> -header_file <file> -nb_col <integer>[1]\n";
+	exit(0);
+}
+
+GetOptions (
+"input_file=s" => \$inputfile,
+"header_file=s" => \$headerfile,
+"nb_col=i" => \$nb_col
+) or die("Error in command line arguments\n");
+
+open(HF, $headerfile)  or die("Can't open $headerfile\n");
+while (my $line=<HF>){
+	chomp($line);
+	my @fields = split(/\s+/,$line);
+	my $ref="";
+	my $compt=0;
+	while ($compt<$nb_col){
+		if ($ref){$ref.="\t";}
+		$ref.=$fields[$compt];
+		$compt++;
+	}
+	# my $ref = "$fields[0]\t$fields[1]";
+	$header{$ref}=$line;
+}
+close (HF);
+
+
+open(IF, $inputfile)  or die("Can't open $inputfile\n");
+while (my $line=<IF>){
+	my @fields = split(/\s+/,$line);
+	my $ref="";
+	my $compt=0;
+	while ($compt<$nb_col){
+		if ($ref){$ref.="\t";}
+		$ref.=$fields[$compt];
+		$compt++;
+	}
+	# my $ref = "$fields[0]\t$fields[1]";
+
+	if ($header{$ref}){
+		# print $line;
+		# print $header{$ref},"\n";
+	}
+	else {
+		print $line;
+	}
+	
+}
+close(IF);
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/listfiltering.xml	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,20 @@
+<tool id="listfiltering" name="listfiltering" version="0.01">
+<description>Compare listA and listB first X column and remove from listA the elements present in listB</description>
+<command interpreter="perl">
+    listfiltering.pl -input_file $input_listA -header_file $input_listB -nb_col $nb_col > $output_file 
+</command>
+<inputs>
+<param name="input_listA"  type="data" format="pileup" label="Select a suitable input file from your history"/>
+<param name="input_listB"  type="data" format="txt" label="Select a suitable input file from your history"/>
+<param name="nb_col" type="integer" value="2" label="Number of column to compare"/>
+</inputs>
+<outputs>
+ <data name="output_file" format="pileup" label="${tool.name} on ${on_string}"/>
+</outputs>
+
+<help>
+
+
+
+</help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/mpileupfilterandstat.pl	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,482 @@
+#!/usr/bin/perl
+use strict;
+use Getopt::Long;
+
+#
+# Filter a pileup file on forward/reverse presence and %read having the variant
+# The error code 
+#  1 : multiple variant type detected insertion/deletion/mutation
+#  1i : inconsistency in insertion
+#  1d : inconsistency in deletion
+#  1m : inconsistency in mutation
+#  2 : insufficient depth	
+#  3 : insufficient variant frequency 
+#  4 : variant position not covered by forward and reverse reads
+#  5 : variant with other variant in neighbourhood
+#  6 : too much depth
+#  8 : parsing error (couldn't parse the mpileup line correctly)
+#  9 : parsing error (couldn't parse the readbase string correctly)
+
+
+my $inputfile;
+my $logfile;
+my $MIN_DISTANCE=0;
+my $MIN_VARIANTFREQUENCY=0;
+my $MIN_FORWARDREVERSE=0;
+my $MIN_DEPTH=0;
+my $MAX_DEPTH=500;
+my $VERBOSE=0;
+my $ONLY_UNFILTERED_VARIANT="OFF";
+my $DO_STAT="NO";
+
+
+my $STAT_MIN_DEPTH_MIN = 2;
+my $STAT_MIN_DEPTH_MAX = 10;
+my $STAT_MIN_DEPTH_STEP = 2;
+my $STAT_MAX_DEPTH_MIN = 100;
+my $STAT_MAX_DEPTH_MAX = 200;
+my $STAT_MAX_DEPTH_STEP = 100;
+my $STAT_FREQ_MIN = 0.8;
+my $STAT_FREQ_MAX = 1;
+my $STAT_FREQ_STEP = 0.1;
+my $STAT_DIST_MIN = 0;
+my $STAT_DIST_MAX = 50;
+my $STAT_DIST_STEP = 50;
+
+GetOptions (
+"input_file=s" => \$inputfile,
+"log_file=s" => \$logfile,
+"min_depth=i" => \$MIN_DEPTH,
+"max_depth=i" => \$MAX_DEPTH,
+"min_frequency=f" => \$MIN_VARIANTFREQUENCY,
+"min_distance=i" => \$MIN_DISTANCE,
+"min_forward_and_reverse=i" => \$MIN_FORWARDREVERSE,
+"variant_only=s" => \$ONLY_UNFILTERED_VARIANT,
+"v=i" => \$VERBOSE,
+"do_stat=s" => \$DO_STAT,
+"stat_min_depth_min=i" => \$STAT_MIN_DEPTH_MIN,
+"stat_min_depth_max=i" => \$STAT_MIN_DEPTH_MAX,
+"stat_min_depth_step=i" => \$STAT_MIN_DEPTH_STEP,
+"stat_max_depth_min=i" => \$STAT_MAX_DEPTH_MIN,
+"stat_max_depth_max=i" => \$STAT_MAX_DEPTH_MAX,
+"stat_max_depth_step=i" => \$STAT_MAX_DEPTH_STEP,
+"stat_freq_min=f" => \$STAT_FREQ_MIN,
+"stat_freq_max=f" => \$STAT_FREQ_MAX,
+"stat_freq_step=f" => \$STAT_FREQ_STEP,
+"stat_dist_min=i" => \$STAT_DIST_MIN,
+"stat_dist_max=i" => \$STAT_DIST_MAX,
+"stat_dist_step=i" => \$STAT_DIST_STEP
+) or die("Error in command line arguments\n");
+
+open(IF, $inputfile)  or die("Can't open $inputfile\n");
+
+my @tbl_line;
+my %USR_PARAM;
+$USR_PARAM{"min_depth"} = $MIN_DEPTH;
+$USR_PARAM{"max_depth"} = $MAX_DEPTH;
+$USR_PARAM{"min_freq"} = $MIN_VARIANTFREQUENCY;
+$USR_PARAM{"min_dist"} = $MIN_DISTANCE;
+$USR_PARAM{"min_fr"} = $MIN_FORWARDREVERSE;
+
+
+
+#Extraction des variants
+my $nb_line=0;
+while (my $line=<IF>){
+	$nb_line++;
+	if (($nb_line % 1000000 == 0)&&($VERBOSE==1)){
+		print "$nb_line\n";
+	}
+	my $error_code=0;
+	if ($line=~/(.*?)\s+(\d+)\s+([ATGCN])\s+(\d+)\s+(.*?)\s+(.*?)$/){
+		my $current_chromosome = $1;
+		my $current_position = $2;
+		my $current_refbase = $3;
+		my $current_coverage = $4;
+		my $current_readbase_string = $5;
+		my $current_quality_string = $6;
+		
+		#Suppression of mPileUp special character
+		$current_readbase_string =~ s/\$//g; #the read start at this position
+		$current_readbase_string =~ s/\^.//g; #the read end at this position followed by quality char
+		
+		if ($current_readbase_string =~ /[ATGCNatgcn\d]/){
+			my %variant;
+			$variant{"line"} = $line;
+			$variant{"chr"} = $current_chromosome;
+			$variant{"pos"} = $current_position;
+			$variant{"refbase"} = $current_refbase;
+			$variant{"coverage"} = $current_coverage;
+			$variant{"readbase"} = $current_readbase_string;
+			$variant{"quality"} = $current_quality_string;
+			push(@tbl_line,\%variant);
+
+			if ($ONLY_UNFILTERED_VARIANT eq "ON"){
+				print $line;
+			}
+			
+		}
+		else {
+			#Position with no variant
+		}
+		
+	}
+	else {
+		#Error Parsing
+		print STDERR "$line #8";
+	}
+}
+close(IF);
+
+if ($ONLY_UNFILTERED_VARIANT eq "ON"){
+	exit(0);
+}
+
+####Checking the distance between variant and other filter
+
+
+my @error;
+for (my $i=0;$i<=$#tbl_line;$i++){
+	# print "ligne : $tbl_line[$i]\n";
+	my $before="";
+	my $after="";
+	my %line = %{$tbl_line[$i]};
+
+	if ($tbl_line[$i-1]){
+		$before = $tbl_line[$i-1];
+	}
+	if ($tbl_line[$i+1]){
+		$after = $tbl_line[$i+1];
+	}		
+	my $error_code = check_error($tbl_line[$i],$before,$after,\%USR_PARAM);
+	if ($error_code == 0){
+		print $line{"line"};
+	}
+	else {
+		push(@error,$error_code,"\t",$line{"line"});
+	}
+}
+
+### LOG
+open(LF,">$logfile") or die ("Can't open $logfile\n");
+
+if ($DO_STAT eq "YES"){
+	for (my $idx_min_depth=$STAT_MIN_DEPTH_MIN;$idx_min_depth<=$STAT_MIN_DEPTH_MAX;$idx_min_depth = $idx_min_depth + $STAT_MIN_DEPTH_STEP ){
+		for (my $idx_max_depth=$STAT_MAX_DEPTH_MIN;$idx_max_depth<=$STAT_MAX_DEPTH_MAX;$idx_max_depth = $idx_max_depth + $STAT_MAX_DEPTH_STEP ){
+			for (my $idx_freq = $STAT_FREQ_MIN;$idx_freq<=$STAT_FREQ_MAX;$idx_freq= $idx_freq+$STAT_FREQ_STEP){ 
+				for (my $idx_dist=$STAT_DIST_MIN;$idx_dist<=$STAT_DIST_MAX;$idx_dist = $idx_dist + $STAT_DIST_STEP){
+					for (my $idx_fr=0;$idx_fr<=1;$idx_fr++){
+						my %stat_param;
+						$stat_param{"min_depth"}=$idx_min_depth;
+						$stat_param{"max_depth"}=$idx_max_depth;
+						$stat_param{"min_freq"}=$idx_freq;
+						$stat_param{"min_fr"}=$idx_fr;
+						$stat_param{"min_dist"}=$idx_dist;
+
+						print LF "#SNP = ",&test_check(\@tbl_line,\%stat_param),"\tdepth (min/max) = ",$stat_param{"min_depth"}," / ",$stat_param{"max_depth"},"\tmin_dist=",$stat_param{"min_dist"},"\tmin_freq=",$stat_param{"min_freq"},"\tmin_forwardreverse = ",$stat_param{"min_fr"},"\n";
+					}
+				}	
+			}
+			print "\n";
+		}
+	}
+}
+
+
+for (my $i=0;$i<=$#error;$i++){
+	print LF $error[$i];
+}
+close (LF);
+
+
+
+
+sub test_check{
+	my $ref_tbl_line = shift;
+	my $ref_param = shift;
+	my @tbl_line = @$ref_tbl_line;
+	my %param = %$ref_param;
+	my $nb=0;
+
+	for (my $i=0;$i<=$#tbl_line;$i++){
+		my $before="";
+		my $after="";
+		my %line = %{$tbl_line[$i]};
+
+		if ($tbl_line[$i-1]){
+			$before = $tbl_line[$i-1];
+		}
+		if ($tbl_line[$i+1]){
+			$after = $tbl_line[$i+1];
+		}		
+		my $error_code = check_error($tbl_line[$i],$before,$after,\%param);
+		if ($error_code == 0){
+			$nb++;
+		}
+	}
+
+	return $nb;
+}
+
+sub check_error{
+	my $refline = shift;
+	my %line = %$refline;
+	my $refbefore = shift;
+	my $refafter = shift;
+	my $refparam = shift;
+	my %param = %$refparam;
+	
+	
+	my $current_chromosome = $line{"chr"};
+	my $current_position = $line{"pos"};
+	my $current_refbase = $line{"refbase"};
+	my $current_coverage = $line{"coverage"};
+	my $current_readbase_string = $line{"readbase"};
+	
+
+	my $min_depth = $param{"min_depth"};
+	my $max_depth = $param{"max_depth"};
+	my $min_variant_frequency = $param{"min_freq"};
+	my $min_forward_reverse = $param{"min_fr"};
+	my $min_dist = $param{"min_dist"};
+	
+	#Verification of neightbourhood
+	if ($refbefore){
+		my %compareline = %$refbefore;
+		my $compare_chromosome = $compareline{"chr"};
+		my $compare_position = $compareline{"pos"};
+		my $compare_refbase = $compareline{"refbase"};
+		my $compare_coverage = $compareline{"coverage"};
+		my $compare_readbase_string = $compareline{"readbase"};
+		
+		if (($current_chromosome eq $compare_chromosome )&&($compare_position + $min_dist >= $current_position)){
+			return 5;
+		}
+	}
+	
+	if ($refafter){
+		my %compareline = %$refafter;
+		my $compare_chromosome = $compareline{"chr"};
+		my $compare_position = $compareline{"pos"};
+		my $compare_refbase = $compareline{"refbase"};
+		my $compare_coverage = $compareline{"coverage"};
+		my $compare_readbase_string = $compareline{"readbase"};
+		
+		if (($current_chromosome eq $compare_chromosome )&&($current_position + $min_dist >= $compare_position)){
+			return 5;
+		}
+	}
+	
+	
+
+	
+	#Extraction of insertions
+	
+	##################################################################
+	# my @IN = $current_readbase_string =~ m/\+[0-9]+[ACGTNacgtn]+/g;
+	# my @DEL = $current_readbase_string =~ m/\-[0-9]+[ACGTNacgtn]+/g;
+	# print "IN : @IN\n";
+	# print "DEL :@DEL\n";
+	#$current_readbase_string=~s/[\+\-][0-9]+[ACGTNacgtn]+//g; 
+	##################################################################
+	#!!! marche pas : exemple .+1Ct. correspond a . / +1C / t /. mais le match de l'expression vire +1Ct
+	##################################################################
+	
+	# => parcours de boucle
+	my @readbase = split(//,$current_readbase_string);
+	my $cleaned_readbase_string="";
+	my @IN;
+	my @DEL;
+	my $current_IN="";
+	my $current_DEL="";
+	my $current_size=0;
+	
+	for (my $i=0;$i<=$#readbase;$i++){
+		if ($readbase[$i] eq "+"){
+			#Ouverture de IN
+			$current_IN="+";
+			
+			#Recuperation de la taille
+			my $sub = substr $current_readbase_string,$i;
+			if ($sub=~/^\+(\d+)/){
+				$current_size = $1;
+			}
+			my $remaining_size = $current_size;
+			while (($remaining_size>0)&&($i<=$#readbase)){
+				$i++;
+				$current_IN.=$readbase[$i];
+				if ($readbase[$i]=~ /[ATGCNatgcn]/){
+					$remaining_size--;
+				}
+			}
+			push(@IN,$current_IN);
+		}
+		elsif ($readbase[$i] eq "-"){
+			#Ouverture de DEL
+			$current_DEL="-";
+			
+			#Recuperation de la taille
+			my $sub = substr $current_readbase_string,$i;
+			if ($sub=~/^\-(\d+)/){
+				$current_size = $1;
+			}
+			my $remaining_size = $current_size;
+			while (($remaining_size>0)&&($i<=$#readbase)){
+				$i++;
+				$current_DEL.=$readbase[$i];
+				if ($readbase[$i]=~ /[ATGCNatgcn]/){
+					$remaining_size--;
+				}
+			}
+			push(@DEL,$current_DEL);
+			
+		}
+		else {
+			#Ajout a la string
+			$cleaned_readbase_string .= $readbase[$i];
+		}
+	}
+
+	
+	# print "IN : @IN\n";
+	# print "DEL :@DEL\n";
+	# print "$cleaned_readbase_string\n";	
+	
+	my @current_readbase_array = split(//,$cleaned_readbase_string);
+
+	#Filtering : error detection
+
+	if ($#current_readbase_array+1 != $current_coverage){
+		return 9;
+		#parsing error (couldn't parse the readbase string correctly)
+	}
+	elsif ($current_coverage<$min_depth){
+		return 2;
+		#  2 : insufficient depth
+	}
+	elsif ($current_coverage>$max_depth){
+		return 6;
+		#  6 : too much depth
+	}
+	else {
+		if ($#IN>=0){
+			if (($cleaned_readbase_string=~/[ACGTNacgtn]/)){
+				return 1;
+				#  1 : variant type overload (multiple variant type detected insertion/deletion/mutation)
+			}
+			else {
+				########## TEST de coherence des insertions ################
+				# for (my $i=0;$i<=$#IN;$i++){
+					# if (uc($IN[0]) ne uc($IN[$i])){
+						# print uc($IN[0]),"\n";
+						# print uc($IN[$i]),"\n";
+						# return "1i";
+					# }
+				# }		
+				###########################################################
+
+				if($#IN+1 < $current_coverage*$min_variant_frequency ){
+					return 3;
+					#  3 : insufficient variant frequency 
+				}
+			}
+		}
+		elsif ($#DEL>=0){
+			if (($cleaned_readbase_string=~/[ACGTNacgtn]/)){
+				return 1;
+				#  1 : variant type overload (multiple variant type detected insertion/deletion/mutation)
+			}
+			else {
+				########## TEST de coherence des deletions ################
+				# for (my $i=0;$i<=$#DEL;$i++){
+					# if (uc($DEL[0]) ne uc($DEL[$i])){
+						# print uc($DEL[0]),"\n";
+						# print uc($DEL[$i]),"\n";
+						# return "1d";
+					# }
+				# }
+				###########################################################
+
+				if($#DEL+1 < $current_coverage*$min_variant_frequency){
+					return 3;
+					#  3 : insufficient variant frequency 
+				}
+			}
+		}
+		else {
+			my $nbA=0;
+			$nbA++ while ($current_readbase_string =~ m/A/g);
+			my $nbC=0;
+			$nbC++ while ($current_readbase_string =~ m/C/g);
+			my $nbT=0;
+			$nbT++ while ($current_readbase_string =~ m/T/g);
+			my $nbG=0;
+			$nbG++ while ($current_readbase_string =~ m/G/g);
+			my $nbN=0;
+			$nbN++ while ($current_readbase_string =~ m/N/g);
+			my $nba=0;
+			$nba++ while ($current_readbase_string =~ m/a/g);
+			my $nbc=0;
+			$nbc++ while ($current_readbase_string =~ m/c/g);
+			my $nbt=0;
+			$nbt++ while ($current_readbase_string =~ m/t/g);
+			my $nbg=0;
+			$nbg++ while ($current_readbase_string =~ m/g/g);
+			my $nbn=0;
+			$nbn++ while ($current_readbase_string =~ m/n/g);
+
+			if (($nbA+$nba>0)&&($nbT+$nbt+$nbG+$nbg+$nbC+$nbc+$nbN+$nbn>0)){
+				return "1m";
+			}
+			if (($nbT+$nbt>0)&&($nbA+$nba+$nbG+$nbg+$nbC+$nbc+$nbN+$nbn>0)){
+				return "1m";
+			}
+			if (($nbG+$nbg>0)&&($nbA+$nba+$nbT+$nbt+$nbC+$nbc+$nbN+$nbn>0)){
+				return "1m";
+			}
+			if (($nbC+$nbc>0)&&($nbA+$nba+$nbT+$nbt+$nbG+$nbg+$nbN+$nbn>0)){
+				return "1m";
+			}
+			if (($nbN+$nbn>0)&&($nbA+$nba+$nbT+$nbt+$nbG+$nbg+$nbC+$nbc>0)){
+				return "1m";
+			}
+
+			if ($nbA+$nba >= $current_coverage*$min_variant_frequency){
+				if (($nbA<$min_forward_reverse)||($nba<$min_forward_reverse)){
+					return 4;
+					#  4 : variant position not covered by forward and reverse reads
+				}
+			}
+			elsif ($nbT+$nbt >= $current_coverage*$min_variant_frequency){
+				if (($nbT<$min_forward_reverse)||($nbt<$min_forward_reverse)){
+					return 4;
+					#  4 : variant position not covered by forward and reverse reads
+				}
+			}	 
+			elsif ($nbG+$nbg >= $current_coverage*$min_variant_frequency){
+				if (($nbG<$min_forward_reverse)||($nbg<$min_forward_reverse)){
+					return 4;
+					#  4 : variant position not covered by forward and reverse reads
+				}
+			}
+			elsif ($nbC+$nbc >= $current_coverage*$min_variant_frequency){
+				if (($nbC<$min_forward_reverse)||($nbc<$min_forward_reverse)){
+					return 4;
+					#  4 : variant position not covered by forward and reverse reads
+				}
+			}
+			elsif ($nbN+$nbn >= $current_coverage*$min_variant_frequency){
+				if (($nbN<$min_forward_reverse)||($nbn<$min_forward_reverse)){
+					return 4;
+					#  4 : variant position not covered by forward and reverse reads
+				}
+			}
+			else {
+				return 3;
+				#  3 : insufficient variant frequency 
+			}	
+		}
+	}
+	
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/mpileupfilterandstat.xml	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,59 @@
+<tool id="mpileupfilterandstat" name="mpileupfilterandstat" version="0.08">
+<description>Filter mpileup file entry</description>
+<command interpreter="perl">
+  #if $stat.do_stat=="YES"
+        mpileupfilterandstat.pl -input_file $input_file -log_file $log_file -min_depth $min_depth -min_frequency $min_frequency -min_distance $min_distance -min_forward_and_reverse $min_forward_and_reverse -max_depth $max_depth -do_stat $stat.do_stat 
+-stat_min_depth_min $stat.stat_min_depth_min -stat_min_depth_max $stat.stat_min_depth_max -stat_min_depth_step $stat.stat_min_depth_step 
+-stat_max_depth_min $stat.stat_max_depth_min -stat_max_depth_max $stat.stat_max_depth_max -stat_max_depth_step $stat.stat_max_depth_step 
+-stat_freq_min $stat.stat_freq_min -stat_freq_max $stat.stat_freq_max -stat_freq_step $stat.stat_freq_step 
+-stat_dist_min $stat.stat_dist_min -stat_dist_max $stat.stat_dist_max -stat_dist_step $stat.stat_dist_step > $output_file 
+  #else
+        mpileupfilterandstat.pl -input_file $input_file -log_file $log_file -min_depth $min_depth -min_frequency $min_frequency -min_distance $min_distance -min_forward_and_reverse $min_forward_and_reverse -max_depth $max_depth -do_stat $stat.do_stat > $output_file 
+  #end if
+
+</command>
+<inputs>
+<param name="input_file"  type="data" format="pileup" label="Select a suitable input file from your history"/>
+<param name="min_depth" type="integer" value="2" label="Minimum depth at variant position "/>
+<param name="max_depth" type="integer" value="100" label="Maximum depth at variant position "/>
+<param name="min_frequency" type="float" value="1" label="Minimum variant frequency (between 0-1 : 0.5 for 50%) "/>
+<param name="min_forward_and_reverse" type="integer" value="0" label="Minimum variant coverage by forward and reverse reads"/>
+<param name="min_distance" type="integer" value="50" label="Minimum physical distance between variant"/>
+<conditional name="stat">
+  <param name="do_stat" type="select" label="Compute stats ">
+    <option value="NO">NO</option>
+    <option value="YES">YES</option>
+  </param>
+  <when value="YES">
+    <param name="stat_min_depth_min" type="integer" value = "2" label="min_depth - min" />
+    <param name="stat_min_depth_max" type="integer" value = "10" label="min_depth - max" />
+    <param name="stat_min_depth_step" type="integer" value = "2" label="min_depth - step" />
+    <param name="stat_max_depth_min" type="integer" value = "100" label="max_depth - min" />
+    <param name="stat_max_depth_max" type="integer" value = "200" label="max_depth - max" />
+    <param name="stat_max_depth_step" type="integer" value = "100" label="max_depth - step" />
+    <param name="stat_freq_min" type="float" value = "0.8" label="freq - min" />
+    <param name="stat_freq_max" type="float" value = "1" label="freq - max" />
+    <param name="stat_freq_step" type="float" value = "0.1" label="freq - step" />
+    <param name="stat_dist_min" type="integer" value = "0" label="dist - min" />
+    <param name="stat_dist_max" type="integer" value = "50" label="dist - max" />
+    <param name="stat_dist_step" type="integer" value = "50" label="dist - step" />
+  </when>
+  <when value="NO">
+    
+  </when>
+</conditional> 
+
+
+
+</inputs>
+<outputs>
+ <data name="output_file" format="pileup" label="${tool.name} MPILEUP on ${on_string}"/>
+ <data name="log_file" format="txt" label="${tool.name} LOG on ${on_string}"/>
+</outputs>
+
+<help>
+
+
+
+</help>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rapsodyn/repository_dependencies.xml	Wed Sep 10 09:18:15 2014 -0400
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<repositories description="Rapsodyn worflow needed repository">
+    <repository changeset_revision="623f727cdff1" name="ncbi_blast_plus" owner="devteam" toolshed="http://toolshed.g2.bx.psu.edu" />
+    <repository changeset_revision="b4427dbb6ced" name="bwa_wrappers" owner="devteam" toolshed="http://toolshed.g2.bx.psu.edu" />
+    <repository changeset_revision="973fea5b4bdf" name="samtools_mpileup" owner="devteam" toolshed="http://toolshed.g2.bx.psu.edu" />
+    <repository changeset_revision="8176b2575aa1" name="sam_to_bam" owner="devteam" toolshed="http://toolshed.g2.bx.psu.edu" />
+    <repository changeset_revision="a7a49d31c5cf" name="sam_merge" owner="devteam" toolshed="http://toolshed.g2.bx.psu.edu" /> 
+</repositories>