diff --git a/.dockstore.yml b/.dockstore.yml new file mode 100644 index 0000000..0ed3167 --- /dev/null +++ b/.dockstore.yml @@ -0,0 +1,7 @@ +version: 1.2 +workflows: +- name: 'COVID-19-CONSENSUS-CONSTRUCTION' + primaryDescriptorPath: /consensus-from-variation.ga + subclass: Galaxy + testParameterFiles: + - /consensus-from-variation-test.yml diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..cd28650 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,3 @@ +0.1 +--------- +- Initial version of COVID-19: consensus construction diff --git a/README.md b/README.md new file mode 100644 index 0000000..4bd032f --- /dev/null +++ b/README.md @@ -0,0 +1,28 @@ +COVID-19: consensus construction +-------------------------------- + +This workflow aims at generating reliable consensus sequences from variant +calls according to transparent criteria that capture at least some of the +complexity of variant calling. + +It takes a collection of VCFs and a collection of the corresponding +aligned reads (for the purpose of calculating genome-wide coverage) such as +produced by any of the four variant calling workflows in +https://github.com/galaxyproject/iwc/tree/main/workflows/sars-cov-2-variant-calling +and generates a collection of viral consensus sequences and a multisample FASTA +of all these sequences. + +Each consensus sequence is guaranteed to capture all called, filter-passing +variants as defined in the VCF of its sample that reach a user-defined +consensus allele frequency threshold. + +Filter-failing variants and variants below a second user-defined minimal +allele frequency threshold will be ignored. + +Genomic positions of filter-passing variants with an allele frequency in +between the two thresholds will be hard-masked (with N) in the consensus +sequence of their sample. + +Genomic positions with a coverage (calculated from the read alignments input) +below another user-defined threshold will be hard-masked, too, unless they are +consensus variant sites. diff --git a/consensus-from-variation-test.yml b/consensus-from-variation-test.yml new file mode 100644 index 0000000..5628282 --- /dev/null +++ b/consensus-from-variation-test.yml @@ -0,0 +1,23 @@ +- doc: Test consensus building from called variants + job: + Reference genome: + class: File + location: 'https://zenodo.org/record/4555735/files/NC_045512.2_reference.fasta?download=1' + aligned reads data for depth calculation: + class: Collection + collection_type: 'list' + elements: + - identifier: SRR11578257 + class: File + path: test-data/aligned_reads_for_coverage.bam + Variant calls: + class: Collection + collection_type: 'list' + elements: + - identifier: SRR11578257 + class: File + path: test-data/final_snpeff_annotated_variants.vcf + outputs: + multisample_consensus_fasta: + file: test-data/masked_consensus.fa + diff --git a/consensus-from-variation.ga b/consensus-from-variation.ga new file mode 100644 index 0000000..e3ef4b4 --- /dev/null +++ b/consensus-from-variation.ga @@ -0,0 +1,1735 @@ +{ + "a_galaxy_workflow": "true", + "annotation": "Build a consensus sequence from a list of variants. Hard-mask regions with low coverage and sites with called, but filtered variants.\nNote: Sites with called and retained variants are never masked.", + "creator": [ + { + "class": "Person", + "identifier": "https://orcid.org/0000-0002-9464-6640", + "name": "Wolfgang Maier" + } + ], + "format-version": "0.1", + "license": "MIT", + "name": "COVID-19: consensus construction", + "release": "0.1", + "steps": { + "0": { + "annotation": "Collection of VCFs produced by upstream workflows for variation analysis", + "content_id": null, + "errors": null, + "id": 0, + "input_connections": {}, + "inputs": [ + { + "description": "Collection of VCFs produced by upstream workflows for variation analysis", + "name": "Variant calls" + } + ], + "label": "Variant calls", + "name": "Input dataset collection", + "outputs": [], + "position": { + "bottom": 259.140625, + "height": 61, + "left": 35.5, + "right": 235.5, + "top": 198.140625, + "width": 200, + "x": 35.5, + "y": 198.140625 + }, + "tool_id": null, + "tool_state": "{\"optional\": false, \"collection_type\": \"list\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "3ff9ccb1-afe3-4e10-a467-d8be7b4d3cc3", + "workflow_outputs": [] + }, + "1": { + "annotation": "Only variant calls with an allele-frequency greater this value will be considered consensus variants.", + "content_id": null, + "errors": null, + "id": 1, + "input_connections": {}, + "inputs": [ + { + "description": "Only variant calls with an allele-frequency greater this value will be considered consensus variants.", + "name": "min-AF for consensus variant" + } + ], + "label": "min-AF for consensus variant", + "name": "Input parameter", + "outputs": [], + "position": { + "bottom": 576, + "height": 101, + "left": 38.953125, + "right": 238.953125, + "top": 475, + "width": 200, + "x": 38.953125, + "y": 475 + }, + "tool_id": null, + "tool_state": "{\"default\": 0.8, \"parameter_type\": \"float\", \"optional\": true}", + "tool_version": null, + "type": "parameter_input", + "uuid": "976dbe0d-3aeb-4a64-ba60-d437510b447e", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "21f7761c-d461-4cdd-ae36-b623aa493fcc" + } + ] + }, + "2": { + "annotation": "Variant calls with an allele frequency higher than this value, but lower than the AF threshold for consensus variants will be considered questionable and the respective sites be masked (with Ns) in the consensus sequence.", + "content_id": null, + "errors": null, + "id": 2, + "input_connections": {}, + "inputs": [ + { + "description": "Variant calls with an allele frequency higher than this value, but lower than the AF threshold for consensus variants will be considered questionable and the respective sites be masked (with Ns) in the consensus sequence.", + "name": "min-AF for failed variants" + } + ], + "label": "min-AF for failed variants", + "name": "Input parameter", + "outputs": [], + "position": { + "bottom": 806.65625, + "height": 101, + "left": 42.953125, + "right": 242.953125, + "top": 705.65625, + "width": 200, + "x": 42.953125, + "y": 705.65625 + }, + "tool_id": null, + "tool_state": "{\"default\": 0.2, \"parameter_type\": \"float\", \"optional\": true}", + "tool_version": null, + "type": "parameter_input", + "uuid": "4b2b0e11-28f9-4f73-aea8-bea1c87b8125", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "8d3dfbd4-e177-4be3-9a6f-bb5ff1a0d647" + } + ] + }, + "3": { + "annotation": "Fully processed BAMs as generated by upstream workflows for variation analysis. Note: for ARTIC data, these BAMs should NOT have undergone processing with ivar removereads.", + "content_id": null, + "errors": null, + "id": 3, + "input_connections": {}, + "inputs": [ + { + "description": "Fully processed BAMs as generated by upstream workflows for variation analysis. Note: for ARTIC data, these BAMs should NOT have undergone processing with ivar removereads.", + "name": "aligned reads data for depth calculation" + } + ], + "label": "aligned reads data for depth calculation", + "name": "Input dataset collection", + "outputs": [], + "position": { + "bottom": 450.171875, + "height": 101, + "left": 686.8125, + "right": 886.8125, + "top": 349.171875, + "width": 200, + "x": 686.8125, + "y": 349.171875 + }, + "tool_id": null, + "tool_state": "{\"optional\": false, \"format\": [\"bam\"], \"collection_type\": \"list\"}", + "tool_version": null, + "type": "data_collection_input", + "uuid": "0a618e2e-6f48-4bd5-87ca-c81ba600aa4a", + "workflow_outputs": [] + }, + "4": { + "annotation": "Sites in the viral genome covered by less than this number of reads are considered questionable and will be masked (with Ns) in the consensus sequence independent of whether a variant has been called at them or not.", + "content_id": null, + "errors": null, + "id": 4, + "input_connections": {}, + "inputs": [ + { + "description": "Sites in the viral genome covered by less than this number of reads are considered questionable and will be masked (with Ns) in the consensus sequence independent of whether a variant has been called at them or not.", + "name": "Depth-threshold for masking" + } + ], + "label": "Depth-threshold for masking", + "name": "Input parameter", + "outputs": [], + "position": { + "bottom": 662.84375, + "height": 101, + "left": 692.75, + "right": 892.75, + "top": 561.84375, + "width": 200, + "x": 692.75, + "y": 561.84375 + }, + "tool_id": null, + "tool_state": "{\"default\": 5, \"parameter_type\": \"integer\", \"optional\": true}", + "tool_version": null, + "type": "parameter_input", + "uuid": "32dd196f-bddc-4922-8c9d-b3f471469bbd", + "workflow_outputs": [ + { + "label": null, + "output_name": "output", + "uuid": "d15c4078-6348-496a-aa7b-f4dbf05d6c8d" + } + ] + }, + "5": { + "annotation": "The SARS-CoV-2 reference genome", + "content_id": null, + "errors": null, + "id": 5, + "input_connections": {}, + "inputs": [ + { + "description": "The SARS-CoV-2 reference genome", + "name": "Reference genome" + } + ], + "label": "Reference genome", + "name": "Input dataset", + "outputs": [], + "position": { + "bottom": 142.15625, + "height": 81, + "left": 1780.3125, + "right": 1980.3125, + "top": 61.15625, + "width": 200, + "x": 1780.3125, + "y": 61.15625 + }, + "tool_id": null, + "tool_state": "{\"optional\": false}", + "tool_version": null, + "type": "data_input", + "uuid": "094717fa-d694-4ce9-8753-e12d5802d55a", + "workflow_outputs": [] + }, + "6": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1", + "errors": null, + "id": 6, + "input_connections": { + "components_1|param_type|component_value": { + "id": 1, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "Compose text parameter value", + "outputs": [ + { + "name": "out1", + "type": "expression.json" + } + ], + "position": { + "bottom": 360.34375, + "height": 152, + "left": 324.296875, + "right": 524.296875, + "top": 208.34375, + "width": 200, + "x": 324.296875, + "y": 208.34375 + }, + "post_job_actions": { + "HideDatasetActionout1": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "out1" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1", + "tool_shed_repository": { + "changeset_revision": "e188c9826e0f", + "name": "compose_text_param", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"components\": [{\"__index__\": 0, \"param_type\": {\"select_param_type\": \"text\", \"__current_case__\": 0, \"component_value\": \"((FILTER = 'PASS') | ( na FILTER )) & (AF >= \"}}, {\"__index__\": 1, \"param_type\": {\"select_param_type\": \"float\", \"__current_case__\": 2, \"component_value\": {\"__class__\": \"ConnectedValue\"}}}, {\"__index__\": 2, \"param_type\": {\"select_param_type\": \"text\", \"__current_case__\": 0, \"component_value\": \")\"}}], \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "0.1.1", + "type": "tool", + "uuid": "1599af82-3e8e-49d8-bafd-1f2ca756ddf8", + "workflow_outputs": [] + }, + "7": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1", + "errors": null, + "id": 7, + "input_connections": { + "components_1|param_type|component_value": { + "id": 2, + "output_name": "output" + }, + "components_3|param_type|component_value": { + "id": 1, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "Compose text parameter value", + "outputs": [ + { + "name": "out1", + "type": "expression.json" + } + ], + "position": { + "bottom": 1002.015625, + "height": 222, + "left": 309.5, + "right": 509.5, + "top": 780.015625, + "width": 200, + "x": 309.5, + "y": 780.015625 + }, + "post_job_actions": { + "HideDatasetActionout1": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "out1" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1", + "tool_shed_repository": { + "changeset_revision": "e188c9826e0f", + "name": "compose_text_param", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"components\": [{\"__index__\": 0, \"param_type\": {\"select_param_type\": \"text\", \"__current_case__\": 0, \"component_value\": \"(AF > \"}}, {\"__index__\": 1, \"param_type\": {\"select_param_type\": \"float\", \"__current_case__\": 2, \"component_value\": {\"__class__\": \"ConnectedValue\"}}}, {\"__index__\": 2, \"param_type\": {\"select_param_type\": \"text\", \"__current_case__\": 0, \"component_value\": \") & (AF < \"}}, {\"__index__\": 3, \"param_type\": {\"select_param_type\": \"float\", \"__current_case__\": 2, \"component_value\": {\"__class__\": \"ConnectedValue\"}}}, {\"__index__\": 4, \"param_type\": {\"select_param_type\": \"text\", \"__current_case__\": 0, \"component_value\": \")\"}}], \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "0.1.1", + "type": "tool", + "uuid": "3c55ae8d-2bdb-4ca7-956f-04b21d26876c", + "workflow_outputs": [] + }, + "8": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_genomecoveragebed/2.29.2", + "errors": null, + "id": 8, + "input_connections": { + "input_type|input": { + "id": 3, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "bedtools Genome Coverage", + "outputs": [ + { + "name": "output", + "type": "bedgraph" + } + ], + "position": { + "bottom": 489.34375, + "height": 132, + "left": 986.296875, + "right": 1186.296875, + "top": 357.34375, + "width": 200, + "x": 986.296875, + "y": 357.34375 + }, + "post_job_actions": { + "RenameDatasetActionoutput": { + "action_arguments": { + "newname": "Depth of coverage" + }, + "action_type": "RenameDatasetAction", + "output_name": "output" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_genomecoveragebed/2.29.2", + "tool_shed_repository": { + "changeset_revision": "0a5c785ac6db", + "name": "bedtools", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"d\": \"false\", \"dz\": \"false\", \"five\": \"false\", \"input_type\": {\"input_type_select\": \"bam\", \"__current_case__\": 1, \"input\": {\"__class__\": \"ConnectedValue\"}}, \"report\": {\"report_select\": \"bg\", \"__current_case__\": 0, \"zero_regions\": \"true\", \"scale\": \"1.0\"}, \"split\": \"true\", \"strand\": \"\", \"three\": \"false\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "2.29.2", + "type": "tool", + "uuid": "25d5d908-0d7f-415b-a8f3-560f8963433f", + "workflow_outputs": [ + { + "label": "coverage_depth", + "output_name": "output", + "uuid": "3e4ef540-6026-4d54-8c2a-992c4dcfaa10" + } + ] + }, + "9": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1", + "errors": null, + "id": 9, + "input_connections": { + "components_1|param_type|component_value": { + "id": 4, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "Compose text parameter value", + "outputs": [ + { + "name": "out1", + "type": "expression.json" + } + ], + "position": { + "bottom": 665.84375, + "height": 152, + "left": 984.8125, + "right": 1184.8125, + "top": 513.84375, + "width": 200, + "x": 984.8125, + "y": 513.84375 + }, + "post_job_actions": { + "HideDatasetActionout1": { + "action_arguments": {}, + "action_type": "HideDatasetAction", + "output_name": "out1" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/compose_text_param/compose_text_param/0.1.1", + "tool_shed_repository": { + "changeset_revision": "e188c9826e0f", + "name": "compose_text_param", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"components\": [{\"__index__\": 0, \"param_type\": {\"select_param_type\": \"text\", \"__current_case__\": 0, \"component_value\": \"c4 < \"}}, {\"__index__\": 1, \"param_type\": {\"select_param_type\": \"integer\", \"__current_case__\": 1, \"component_value\": {\"__class__\": \"ConnectedValue\"}}}], \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "0.1.1", + "type": "tool", + "uuid": "df5a8d7a-11c9-43b4-9b62-c8144f56515f", + "workflow_outputs": [] + }, + "10": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1", + "errors": null, + "id": 10, + "input_connections": { + "filter_expression|expr": { + "id": 6, + "output_name": "out1" + }, + "input": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "SnpSift Filter", + "outputs": [ + { + "name": "output", + "type": "vcf" + } + ], + "position": { + "bottom": 80, + "height": 142, + "left": 480.78125, + "right": 680.78125, + "top": -62, + "width": 200, + "x": 480.78125, + "y": -62 + }, + "post_job_actions": { + "RenameDatasetActionoutput": { + "action_arguments": { + "newname": "Consensus variants" + }, + "action_type": "RenameDatasetAction", + "output_name": "output" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1", + "tool_shed_repository": { + "changeset_revision": "2e497a770bca", + "name": "snpsift", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"filter_expression\": {\"type\": \"simple\", \"__current_case__\": 0, \"expr\": {\"__class__\": \"ConnectedValue\"}}, \"filtering\": {\"mode\": \"entries\", \"__current_case__\": 0}, \"input\": {\"__class__\": \"ConnectedValue\"}, \"inverse\": \"false\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "4.3+t.galaxy1", + "type": "tool", + "uuid": "4dce3f5b-907a-469c-b6b5-c6c3518a9819", + "workflow_outputs": [ + { + "label": "consensus_variants", + "output_name": "output", + "uuid": "b56ca4ad-e825-4dda-9af8-101a4e29d4f4" + } + ] + }, + "11": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1", + "errors": null, + "id": 11, + "input_connections": { + "filter_expression|expr": { + "id": 6, + "output_name": "out1" + }, + "input": { + "id": 0, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "SnpSift Filter", + "outputs": [ + { + "name": "output", + "type": "vcf" + } + ], + "position": { + "bottom": 753.640625, + "height": 162, + "left": 335.78125, + "right": 535.78125, + "top": 591.640625, + "width": 200, + "x": 335.78125, + "y": 591.640625 + }, + "post_job_actions": { + "RenameDatasetActionoutput": { + "action_arguments": { + "newname": "Non-consensus variants" + }, + "action_type": "RenameDatasetAction", + "output_name": "output" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1", + "tool_shed_repository": { + "changeset_revision": "2e497a770bca", + "name": "snpsift", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"filter_expression\": {\"type\": \"simple\", \"__current_case__\": 0, \"expr\": {\"__class__\": \"ConnectedValue\"}}, \"filtering\": {\"mode\": \"entries\", \"__current_case__\": 0}, \"input\": {\"__class__\": \"ConnectedValue\"}, \"inverse\": \"true\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "4.3+t.galaxy1", + "type": "tool", + "uuid": "e2c00e39-c3d4-468a-8cac-4251ba238dcc", + "workflow_outputs": [ + { + "label": "non_consensus_variants", + "output_name": "output", + "uuid": "eac0b6d9-0fb4-4e1f-b9fd-c71f908453a1" + } + ] + }, + "12": { + "annotation": "", + "content_id": "Filter1", + "errors": null, + "id": 12, + "input_connections": { + "cond": { + "id": 9, + "output_name": "out1" + }, + "input": { + "id": 8, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "Filter", + "outputs": [ + { + "name": "out_file1", + "type": "input" + } + ], + "position": { + "bottom": 503.34375, + "height": 122, + "left": 1319.328125, + "right": 1519.328125, + "top": 381.34375, + "width": 200, + "x": 1319.328125, + "y": 381.34375 + }, + "post_job_actions": { + "RenameDatasetActionout_file1": { + "action_arguments": { + "newname": "Low-coverage regions" + }, + "action_type": "RenameDatasetAction", + "output_name": "out_file1" + } + }, + "tool_id": "Filter1", + "tool_state": "{\"cond\": {\"__class__\": \"ConnectedValue\"}, \"header_lines\": \"0\", \"input\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "1.1.1", + "type": "tool", + "uuid": "3ddeb6ce-82f2-4fd8-adaa-2f19691d8d8c", + "workflow_outputs": [ + { + "label": "low_cov_regions", + "output_name": "out_file1", + "uuid": "3052a0b9-6c01-4e65-9b26-ec872b326770" + } + ] + }, + "13": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/devteam/vcf2tsv/vcf2tsv/1.0.0_rc3+galaxy0", + "errors": null, + "id": 13, + "input_connections": { + "input": { + "id": 10, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "VCFtoTab-delimited:", + "outputs": [ + { + "name": "out_file1", + "type": "tabular" + } + ], + "position": { + "bottom": 251.171875, + "height": 152, + "left": 657.9375, + "right": 857.9375, + "top": 99.171875, + "width": 200, + "x": 657.9375, + "y": 99.171875 + }, + "post_job_actions": { + "RenameDatasetActionout_file1": { + "action_arguments": { + "newname": "Called variants table" + }, + "action_type": "RenameDatasetAction", + "output_name": "out_file1" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/vcf2tsv/vcf2tsv/1.0.0_rc3+galaxy0", + "tool_shed_repository": { + "changeset_revision": "285060661b45", + "name": "vcf2tsv", + "owner": "devteam", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"g_option\": \"false\", \"input\": {\"__class__\": \"ConnectedValue\"}, \"null_filler\": \"\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "1.0.0_rc3+galaxy0", + "type": "tool", + "uuid": "0e000238-e20a-426d-a361-a8477a18d119", + "workflow_outputs": [ + { + "label": "called_variants_table", + "output_name": "out_file1", + "uuid": "7de6722b-c7a3-4f1e-b013-48967acd5787" + } + ] + }, + "14": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1", + "errors": null, + "id": 14, + "input_connections": { + "filter_expression|expr": { + "id": 7, + "output_name": "out1" + }, + "input": { + "id": 11, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "SnpSift Filter", + "outputs": [ + { + "name": "output", + "type": "vcf" + } + ], + "position": { + "bottom": 909.34375, + "height": 142, + "left": 544.171875, + "right": 744.171875, + "top": 767.34375, + "width": 200, + "x": 544.171875, + "y": 767.34375 + }, + "post_job_actions": { + "RenameDatasetActionoutput": { + "action_arguments": { + "newname": "Filter-failed variants" + }, + "action_type": "RenameDatasetAction", + "output_name": "output" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/snpsift/snpSift_filter/4.3+t.galaxy1", + "tool_shed_repository": { + "changeset_revision": "2e497a770bca", + "name": "snpsift", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"filter_expression\": {\"type\": \"simple\", \"__current_case__\": 0, \"expr\": {\"__class__\": \"ConnectedValue\"}}, \"filtering\": {\"mode\": \"entries\", \"__current_case__\": 0}, \"input\": {\"__class__\": \"ConnectedValue\"}, \"inverse\": \"false\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "4.3+t.galaxy1", + "type": "tool", + "uuid": "4bf59a98-2f31-4fdb-bb3f-3bed6519a03f", + "workflow_outputs": [ + { + "label": "filter_failed_variants", + "output_name": "output", + "uuid": "1acfb1b4-6f5d-4110-bba5-b56b5924a278" + } + ] + }, + "15": { + "annotation": "", + "content_id": "Cut1", + "errors": null, + "id": 15, + "input_connections": { + "input": { + "id": 13, + "output_name": "out_file1" + } + }, + "inputs": [], + "label": null, + "name": "Cut", + "outputs": [ + { + "name": "out_file1", + "type": "tabular" + } + ], + "position": { + "bottom": 269.15625, + "height": 112, + "left": 959.265625, + "right": 1159.265625, + "top": 157.15625, + "width": 200, + "x": 959.265625, + "y": 157.15625 + }, + "post_job_actions": { + "RenameDatasetActionout_file1": { + "action_arguments": { + "newname": "Called variants - CHROM_POS_REF" + }, + "action_type": "RenameDatasetAction", + "output_name": "out_file1" + } + }, + "tool_id": "Cut1", + "tool_state": "{\"columnList\": \"c1,c2,c4\", \"delimiter\": \"T\", \"input\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "1.0.2", + "type": "tool", + "uuid": "3c140350-0827-494e-a212-083f89775b93", + "workflow_outputs": [ + { + "label": "chrom_pos_ref_called_variants", + "output_name": "out_file1", + "uuid": "71a52f83-ec77-4661-946c-37440838fe18" + } + ] + }, + "16": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/devteam/vcf2tsv/vcf2tsv/1.0.0_rc3+galaxy0", + "errors": null, + "id": 16, + "input_connections": { + "input": { + "id": 14, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "VCFtoTab-delimited:", + "outputs": [ + { + "name": "out_file1", + "type": "tabular" + } + ], + "position": { + "bottom": 983.984375, + "height": 152, + "left": 768.640625, + "right": 968.640625, + "top": 831.984375, + "width": 200, + "x": 768.640625, + "y": 831.984375 + }, + "post_job_actions": { + "RenameDatasetActionout_file1": { + "action_arguments": { + "newname": "Filter-failed variants table" + }, + "action_type": "RenameDatasetAction", + "output_name": "out_file1" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/vcf2tsv/vcf2tsv/1.0.0_rc3+galaxy0", + "tool_shed_repository": { + "changeset_revision": "285060661b45", + "name": "vcf2tsv", + "owner": "devteam", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"g_option\": \"false\", \"input\": {\"__class__\": \"ConnectedValue\"}, \"null_filler\": \"\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "1.0.0_rc3+galaxy0", + "type": "tool", + "uuid": "b019117b-b282-4e75-ad01-df2081f9ac5a", + "workflow_outputs": [ + { + "label": "failed_variants_table", + "output_name": "out_file1", + "uuid": "77942c66-93fd-4c80-a1eb-d1b993407ef2" + } + ] + }, + "17": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/1.6", + "errors": null, + "id": 17, + "input_connections": { + "input": { + "id": 15, + "output_name": "out_file1" + } + }, + "inputs": [], + "label": null, + "name": "Compute", + "outputs": [ + { + "name": "out_file1", + "type": "input" + } + ], + "position": { + "bottom": 335.65625, + "height": 132, + "left": 1253.640625, + "right": 1453.640625, + "top": 203.65625, + "width": 200, + "x": 1253.640625, + "y": 203.65625 + }, + "post_job_actions": { + "RenameDatasetActionout_file1": { + "action_arguments": { + "newname": "Called variants - CHROM_POS_REF with 0-based start added" + }, + "action_type": "RenameDatasetAction", + "output_name": "out_file1" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/1.6", + "tool_shed_repository": { + "changeset_revision": "02026300aa45", + "name": "column_maker", + "owner": "devteam", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"avoid_scientific_notation\": \"false\", \"cond\": \"c2 - 1\", \"header_lines_conditional\": {\"header_lines_select\": \"no\", \"__current_case__\": 0}, \"input\": {\"__class__\": \"ConnectedValue\"}, \"round\": \"false\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "1.6", + "type": "tool", + "uuid": "23fe4d0f-01cd-4c5a-ac03-9e4952ccd927", + "workflow_outputs": [ + { + "label": "chrom_pos_ref_called_variants_with_0_based_start", + "output_name": "out_file1", + "uuid": "7c195566-4748-417e-8d9d-d39e25495354" + } + ] + }, + "18": { + "annotation": "", + "content_id": "Cut1", + "errors": null, + "id": 18, + "input_connections": { + "input": { + "id": 16, + "output_name": "out_file1" + } + }, + "inputs": [], + "label": null, + "name": "Cut", + "outputs": [ + { + "name": "out_file1", + "type": "tabular" + } + ], + "position": { + "bottom": 1136.3125, + "height": 112, + "left": 970.765625, + "right": 1170.765625, + "top": 1024.3125, + "width": 200, + "x": 970.765625, + "y": 1024.3125 + }, + "post_job_actions": { + "RenameDatasetActionout_file1": { + "action_arguments": { + "newname": "Filter-failed variants - CHROM_POS_REF" + }, + "action_type": "RenameDatasetAction", + "output_name": "out_file1" + } + }, + "tool_id": "Cut1", + "tool_state": "{\"columnList\": \"c1,c2,c4\", \"delimiter\": \"T\", \"input\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "1.0.2", + "type": "tool", + "uuid": "7113ad70-eaf0-4426-b978-a10781e169ab", + "workflow_outputs": [ + { + "label": "chrom_pos_ref_failed_variants", + "output_name": "out_file1", + "uuid": "5a0f1e3c-739f-4898-9f2b-4e1305e8d04e" + } + ] + }, + "19": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/1.6", + "errors": null, + "id": 19, + "input_connections": { + "input": { + "id": 17, + "output_name": "out_file1" + } + }, + "inputs": [], + "label": null, + "name": "Compute", + "outputs": [ + { + "name": "out_file1", + "type": "input" + } + ], + "position": { + "bottom": 360.65625, + "height": 132, + "left": 1529.640625, + "right": 1729.640625, + "top": 228.65625, + "width": 200, + "x": 1529.640625, + "y": 228.65625 + }, + "post_job_actions": { + "RenameDatasetActionout_file1": { + "action_arguments": { + "newname": "Called variants - CHROM_POS_REF with 0-based start and end added" + }, + "action_type": "RenameDatasetAction", + "output_name": "out_file1" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/1.6", + "tool_shed_repository": { + "changeset_revision": "02026300aa45", + "name": "column_maker", + "owner": "devteam", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"avoid_scientific_notation\": \"false\", \"cond\": \"c4 + len(c3)\", \"header_lines_conditional\": {\"header_lines_select\": \"no\", \"__current_case__\": 0}, \"input\": {\"__class__\": \"ConnectedValue\"}, \"round\": \"false\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "1.6", + "type": "tool", + "uuid": "15d27987-7e04-4033-b1cd-541aa34dc85a", + "workflow_outputs": [ + { + "label": "chrom_pos_ref_called_variants_with_0_based_start_end", + "output_name": "out_file1", + "uuid": "f4a86943-6dce-4889-8634-a462bdecd61f" + } + ] + }, + "20": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/1.6", + "errors": null, + "id": 20, + "input_connections": { + "input": { + "id": 18, + "output_name": "out_file1" + } + }, + "inputs": [], + "label": null, + "name": "Compute", + "outputs": [ + { + "name": "out_file1", + "type": "input" + } + ], + "position": { + "bottom": 977.15625, + "height": 132, + "left": 1066.109375, + "right": 1266.109375, + "top": 845.15625, + "width": 200, + "x": 1066.109375, + "y": 845.15625 + }, + "post_job_actions": { + "RenameDatasetActionout_file1": { + "action_arguments": { + "newname": "Filter-failed variants - CHROM_POS_REF with 0-based start added" + }, + "action_type": "RenameDatasetAction", + "output_name": "out_file1" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/1.6", + "tool_shed_repository": { + "changeset_revision": "02026300aa45", + "name": "column_maker", + "owner": "devteam", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"avoid_scientific_notation\": \"false\", \"cond\": \"c2 - 1\", \"header_lines_conditional\": {\"header_lines_select\": \"no\", \"__current_case__\": 0}, \"input\": {\"__class__\": \"ConnectedValue\"}, \"round\": \"false\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "1.6", + "type": "tool", + "uuid": "376e3a00-2721-4852-a4a7-705645dcbcae", + "workflow_outputs": [ + { + "label": "chrom_pos_ref_failed_variants_with_0_based_start", + "output_name": "out_file1", + "uuid": "31bd6aec-889d-4e0e-8ec0-e5467debcde1" + } + ] + }, + "21": { + "annotation": "", + "content_id": "Cut1", + "errors": null, + "id": 21, + "input_connections": { + "input": { + "id": 19, + "output_name": "out_file1" + } + }, + "inputs": [], + "label": null, + "name": "Cut", + "outputs": [ + { + "name": "out_file1", + "type": "tabular" + } + ], + "position": { + "bottom": 361.328125, + "height": 112, + "left": 1797.640625, + "right": 1997.640625, + "top": 249.328125, + "width": 200, + "x": 1797.640625, + "y": 249.328125 + }, + "post_job_actions": { + "ChangeDatatypeActionout_file1": { + "action_arguments": { + "newtype": "interval" + }, + "action_type": "ChangeDatatypeAction", + "output_name": "out_file1" + }, + "RenameDatasetActionout_file1": { + "action_arguments": { + "newname": "Called variant sites" + }, + "action_type": "RenameDatasetAction", + "output_name": "out_file1" + } + }, + "tool_id": "Cut1", + "tool_state": "{\"columnList\": \"c1,c4,c5\", \"delimiter\": \"T\", \"input\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "1.0.2", + "type": "tool", + "uuid": "ddd4f6d0-ce29-45b4-a6ca-6c0496972c4f", + "workflow_outputs": [ + { + "label": "called_variant_sites", + "output_name": "out_file1", + "uuid": "2e267866-47e0-410b-88b2-aad3d0a31061" + } + ] + }, + "22": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/1.6", + "errors": null, + "id": 22, + "input_connections": { + "input": { + "id": 20, + "output_name": "out_file1" + } + }, + "inputs": [], + "label": null, + "name": "Compute", + "outputs": [ + { + "name": "out_file1", + "type": "input" + } + ], + "position": { + "bottom": 830.171875, + "height": 132, + "left": 1222.125, + "right": 1422.125, + "top": 698.171875, + "width": 200, + "x": 1222.125, + "y": 698.171875 + }, + "post_job_actions": { + "RenameDatasetActionout_file1": { + "action_arguments": { + "newname": "Filter-failed variants - CHROM_POS_REF with 0-based start and end added" + }, + "action_type": "RenameDatasetAction", + "output_name": "out_file1" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/1.6", + "tool_shed_repository": { + "changeset_revision": "02026300aa45", + "name": "column_maker", + "owner": "devteam", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"avoid_scientific_notation\": \"false\", \"cond\": \"c4 + len(c3)\", \"header_lines_conditional\": {\"header_lines_select\": \"no\", \"__current_case__\": 0}, \"input\": {\"__class__\": \"ConnectedValue\"}, \"round\": \"false\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "1.6", + "type": "tool", + "uuid": "2248715e-6952-4655-b6bc-b53025bb18f2", + "workflow_outputs": [ + { + "label": "chrom_pos_ref_failed_variants_with_0_based_start_end", + "output_name": "out_file1", + "uuid": "5a398876-3956-4dc3-8f97-ab5509ebc796" + } + ] + }, + "23": { + "annotation": "", + "content_id": "Cut1", + "errors": null, + "id": 23, + "input_connections": { + "input": { + "id": 22, + "output_name": "out_file1" + } + }, + "inputs": [], + "label": null, + "name": "Cut", + "outputs": [ + { + "name": "out_file1", + "type": "tabular" + } + ], + "position": { + "bottom": 688.828125, + "height": 112, + "left": 1338.15625, + "right": 1538.15625, + "top": 576.828125, + "width": 200, + "x": 1338.15625, + "y": 576.828125 + }, + "post_job_actions": { + "ChangeDatatypeActionout_file1": { + "action_arguments": { + "newtype": "interval" + }, + "action_type": "ChangeDatatypeAction", + "output_name": "out_file1" + }, + "RenameDatasetActionout_file1": { + "action_arguments": { + "newname": "Filter-failed variant sites" + }, + "action_type": "RenameDatasetAction", + "output_name": "out_file1" + } + }, + "tool_id": "Cut1", + "tool_state": "{\"columnList\": \"c1,c4,c5\", \"delimiter\": \"T\", \"input\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "1.0.2", + "type": "tool", + "uuid": "7931868d-86c3-4bbd-adb3-a44e4d5f7e37", + "workflow_outputs": [ + { + "label": "failed_variant_sites", + "output_name": "out_file1", + "uuid": "a5d2853d-75d0-4008-8fe7-95a6e5cb9da8" + } + ] + }, + "24": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/devteam/concat/gops_concat_1/1.0.1", + "errors": null, + "id": 24, + "input_connections": { + "input1": { + "id": 12, + "output_name": "out_file1" + }, + "input2": { + "id": 23, + "output_name": "out_file1" + } + }, + "inputs": [], + "label": null, + "name": "Concatenate", + "outputs": [ + { + "name": "output", + "type": "input" + } + ], + "position": { + "bottom": 633.421875, + "height": 142, + "left": 1574.375, + "right": 1774.375, + "top": 491.421875, + "width": 200, + "x": 1574.375, + "y": 491.421875 + }, + "post_job_actions": { + "RenameDatasetActionoutput": { + "action_arguments": { + "newname": "Cocatenated low-coverage regions and filter-failed sites" + }, + "action_type": "RenameDatasetAction", + "output_name": "output" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/concat/gops_concat_1/1.0.1", + "tool_shed_repository": { + "changeset_revision": "35a89f8cc96e", + "name": "concat", + "owner": "devteam", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"input1\": {\"__class__\": \"ConnectedValue\"}, \"input2\": {\"__class__\": \"ConnectedValue\"}, \"sameformat\": \"true\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "1.0.1", + "type": "tool", + "uuid": "100d6e71-ed07-40d4-a122-586438e37073", + "workflow_outputs": [ + { + "label": "low_cov_regions_plus_filter_failed", + "output_name": "output", + "uuid": "49e00bcf-93e9-4628-9b47-c98c09b55457" + } + ] + }, + "25": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/devteam/merge/gops_merge_1/1.0.0", + "errors": null, + "id": 25, + "input_connections": { + "input1": { + "id": 24, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "Merge", + "outputs": [ + { + "name": "output", + "type": "input" + } + ], + "position": { + "bottom": 619.671875, + "height": 132, + "left": 1808.8125, + "right": 2008.8125, + "top": 487.671875, + "width": 200, + "x": 1808.8125, + "y": 487.671875 + }, + "post_job_actions": { + "RenameDatasetActionoutput": { + "action_arguments": { + "newname": "Combined low-coverage regions and filter-failed sites" + }, + "action_type": "RenameDatasetAction", + "output_name": "output" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/merge/gops_merge_1/1.0.0", + "tool_shed_repository": { + "changeset_revision": "381cd27bf67a", + "name": "merge", + "owner": "devteam", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"input1\": {\"__class__\": \"ConnectedValue\"}, \"returntype\": \"true\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "1.0.0", + "type": "tool", + "uuid": "a5ef3b05-4de0-42db-b7c9-ff24eaa602c8", + "workflow_outputs": [ + { + "label": "low_cov_regions_plus_filter_failed_combined", + "output_name": "output", + "uuid": "f8ba47d7-b2ab-4245-9d00-a76a71c6ca67" + } + ] + }, + "26": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/devteam/subtract/gops_subtract_1/1.0.0", + "errors": null, + "id": 26, + "input_connections": { + "input1": { + "id": 25, + "output_name": "output" + }, + "input2": { + "id": 21, + "output_name": "out_file1" + } + }, + "inputs": [], + "label": null, + "name": "Subtract", + "outputs": [ + { + "name": "output", + "type": "input" + } + ], + "position": { + "bottom": 484, + "height": 122, + "left": 2064.96875, + "right": 2264.96875, + "top": 362, + "width": 200, + "x": 2064.96875, + "y": 362 + }, + "post_job_actions": { + "RenameDatasetActionoutput": { + "action_arguments": { + "newname": "Masking regions" + }, + "action_type": "RenameDatasetAction", + "output_name": "output" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/subtract/gops_subtract_1/1.0.0", + "tool_shed_repository": { + "changeset_revision": "0145969324c4", + "name": "subtract", + "owner": "devteam", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"input1\": {\"__class__\": \"ConnectedValue\"}, \"input2\": {\"__class__\": \"ConnectedValue\"}, \"min\": \"1\", \"returntype\": \"-p\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "1.0.0", + "type": "tool", + "uuid": "2514d7bc-5f2e-4b9e-9d27-2aa6b5a03ccc", + "workflow_outputs": [ + { + "label": "masking_regions", + "output_name": "output", + "uuid": "1363f18c-16fb-46aa-9629-cd61e4fdd73f" + } + ] + }, + "27": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/1.6", + "errors": null, + "id": 27, + "input_connections": { + "input": { + "id": 26, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "Compute", + "outputs": [ + { + "name": "out_file1", + "type": "input" + } + ], + "position": { + "bottom": 651.671875, + "height": 112, + "left": 2250.328125, + "right": 2450.328125, + "top": 539.671875, + "width": 200, + "x": 2250.328125, + "y": 539.671875 + }, + "post_job_actions": { + "RenameDatasetActionout_file1": { + "action_arguments": { + "newname": "Masking regions with 1-based start added" + }, + "action_type": "RenameDatasetAction", + "output_name": "out_file1" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/devteam/column_maker/Add_a_column1/1.6", + "tool_shed_repository": { + "changeset_revision": "02026300aa45", + "name": "column_maker", + "owner": "devteam", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"avoid_scientific_notation\": \"false\", \"cond\": \"c2+1\", \"header_lines_conditional\": {\"header_lines_select\": \"no\", \"__current_case__\": 0}, \"input\": {\"__class__\": \"ConnectedValue\"}, \"round\": \"false\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "1.6", + "type": "tool", + "uuid": "984db484-eba3-4c7d-877f-1ef68eafca7b", + "workflow_outputs": [ + { + "label": "masking_regions_with_1_based_start", + "output_name": "out_file1", + "uuid": "a25d8a7b-94b5-400c-8042-5d7cc671cc43" + } + ] + }, + "28": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_maskfastabed/2.29.2", + "errors": null, + "id": 28, + "input_connections": { + "fasta": { + "id": 5, + "output_name": "output" + }, + "input": { + "id": 26, + "output_name": "output" + } + }, + "inputs": [], + "label": null, + "name": "bedtools MaskFastaBed", + "outputs": [ + { + "name": "output", + "type": "fasta" + } + ], + "position": { + "bottom": 395.671875, + "height": 182, + "left": 2408.984375, + "right": 2608.984375, + "top": 213.671875, + "width": 200, + "x": 2408.984375, + "y": 213.671875 + }, + "post_job_actions": { + "RenameDatasetActionoutput": { + "action_arguments": { + "newname": "Preconsensus masked genome sequence" + }, + "action_type": "RenameDatasetAction", + "output_name": "output" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/bedtools/bedtools_maskfastabed/2.29.2", + "tool_shed_repository": { + "changeset_revision": "0a5c785ac6db", + "name": "bedtools", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"fasta\": {\"__class__\": \"ConnectedValue\"}, \"fullheader\": \"false\", \"input\": {\"__class__\": \"ConnectedValue\"}, \"mc\": \"N\", \"soft\": \"false\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "2.29.2", + "type": "tool", + "uuid": "16fbc377-e392-4ffd-8304-eba55772c218", + "workflow_outputs": [ + { + "label": "masked_preconsensus", + "output_name": "output", + "uuid": "c025ebc2-5f37-4625-8e7b-45e19d12f300" + } + ] + }, + "29": { + "annotation": "", + "content_id": "Cut1", + "errors": null, + "id": 29, + "input_connections": { + "input": { + "id": 27, + "output_name": "out_file1" + } + }, + "inputs": [], + "label": null, + "name": "Cut", + "outputs": [ + { + "name": "out_file1", + "type": "tabular" + } + ], + "position": { + "bottom": 656.671875, + "height": 112, + "left": 2491.65625, + "right": 2691.65625, + "top": 544.671875, + "width": 200, + "x": 2491.65625, + "y": 544.671875 + }, + "post_job_actions": { + "RenameDatasetActionout_file1": { + "action_arguments": { + "newname": "1-based masking regions" + }, + "action_type": "RenameDatasetAction", + "output_name": "out_file1" + } + }, + "tool_id": "Cut1", + "tool_state": "{\"columnList\": \"c1,c4,c3\", \"delimiter\": \"T\", \"input\": {\"__class__\": \"ConnectedValue\"}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "1.0.2", + "type": "tool", + "uuid": "dbb51bfe-b5ff-4f38-bee8-3686e2965ab4", + "workflow_outputs": [ + { + "label": "1_based_masking_regions", + "output_name": "out_file1", + "uuid": "3cc2af05-6299-46a2-b066-3185e5842382" + } + ] + }, + "30": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/iuc/bcftools_consensus/bcftools_consensus/1.10", + "errors": null, + "id": 30, + "input_connections": { + "input_file": { + "id": 10, + "output_name": "output" + }, + "reference_source|fasta_ref": { + "id": 28, + "output_name": "output" + }, + "sec_default|mask": { + "id": 29, + "output_name": "out_file1" + } + }, + "inputs": [], + "label": null, + "name": "bcftools consensus", + "outputs": [ + { + "name": "output_file", + "type": "fasta" + } + ], + "position": { + "bottom": 369.671875, + "height": 172, + "left": 2709.328125, + "right": 2909.328125, + "top": 197.671875, + "width": 200, + "x": 2709.328125, + "y": 197.671875 + }, + "post_job_actions": { + "RenameDatasetActionoutput_file": { + "action_arguments": { + "newname": "Consensus sequence with masking" + }, + "action_type": "RenameDatasetAction", + "output_name": "output_file" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/iuc/bcftools_consensus/bcftools_consensus/1.10", + "tool_shed_repository": { + "changeset_revision": "e522022137f6", + "name": "bcftools_consensus", + "owner": "iuc", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"chain\": \"false\", \"input_file\": {\"__class__\": \"ConnectedValue\"}, \"reference_source\": {\"reference_source_selector\": \"history\", \"__current_case__\": 1, \"fasta_ref\": {\"__class__\": \"ConnectedValue\"}}, \"rename\": \"true\", \"sec_default\": {\"mask\": {\"__class__\": \"ConnectedValue\"}, \"iupac_codes\": \"false\", \"sample\": \"\", \"select_haplotype\": null}, \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "1.10", + "type": "tool", + "uuid": "d06e60a2-6ed5-4725-b3ca-599c61da3f91", + "workflow_outputs": [ + { + "label": "consensus", + "output_name": "output_file", + "uuid": "e5c18bd0-24cc-44e5-9360-6d89bf2b6bad" + } + ] + }, + "31": { + "annotation": "", + "content_id": "toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/4.2", + "errors": null, + "id": 31, + "input_connections": { + "input_list": { + "id": 30, + "output_name": "output_file" + } + }, + "inputs": [], + "label": null, + "name": "Collapse Collection", + "outputs": [ + { + "name": "output", + "type": "input" + } + ], + "position": { + "bottom": 373.5, + "height": 152, + "left": 2969, + "right": 3169, + "top": 221.5, + "width": 200, + "x": 2969, + "y": 221.5 + }, + "post_job_actions": { + "RenameDatasetActionoutput": { + "action_arguments": { + "newname": "Multisample consensus FASTA" + }, + "action_type": "RenameDatasetAction", + "output_name": "output" + } + }, + "tool_id": "toolshed.g2.bx.psu.edu/repos/nml/collapse_collections/collapse_dataset/4.2", + "tool_shed_repository": { + "changeset_revision": "830961c48e42", + "name": "collapse_collections", + "owner": "nml", + "tool_shed": "toolshed.g2.bx.psu.edu" + }, + "tool_state": "{\"filename\": {\"add_name\": \"false\", \"__current_case__\": 1}, \"input_list\": {\"__class__\": \"ConnectedValue\"}, \"one_header\": \"false\", \"__page__\": null, \"__rerun_remap_job_id__\": null}", + "tool_version": "4.2", + "type": "tool", + "uuid": "f7ee72ff-b2f3-4c33-9e25-1ed9540cbacb", + "workflow_outputs": [ + { + "label": "multisample_consensus_fasta", + "output_name": "output", + "uuid": "d28c8016-1a6c-4451-a34c-182e7480064d" + } + ] + } + }, + "tags": [ + "COVID-19", + "covid19.galaxyproject.org" + ], + "uuid": "ac9ad7d0-11ab-43de-9761-9612a46ddd8b", + "version": 0 +} diff --git a/test-data/aligned_reads_for_coverage.bam b/test-data/aligned_reads_for_coverage.bam new file mode 100644 index 0000000..ef0f72a Binary files /dev/null and b/test-data/aligned_reads_for_coverage.bam differ diff --git a/test-data/final_snpeff_annotated_variants.vcf b/test-data/final_snpeff_annotated_variants.vcf new file mode 100644 index 0000000..d0e860b --- /dev/null +++ b/test-data/final_snpeff_annotated_variants.vcf @@ -0,0 +1,77 @@ +##fileformat=VCFv4.0 +##fileDate=20210221 +##source=lofreq call --verbose --ref reference.fa --call-indels --min-cov 5 --max-depth 1000000 --min-bq 30 --min-alt-bq 30 --min-mq 20 --max-mq 255 --min-jq 0 --min-alt-jq 0 --def-alt-jq 0 --sig 0.0005 --bonf dynamic --no-default-filter --no-default-filter -r NC_045512.2:1-14951 -o /tmp/lofreq2_call_parallelxh3mih1k/0.vcf.gz reads.bam +##reference=reference.fa +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##FILTER= +##FILTER= +##FILTER= +##FILTER= +##FILTER= 0.001000"> +##SnpEffVersion="4.5covid19 (build 2020-04-15 22:26), by Pablo Cingolani" +##SnpEffCmd="SnpEff -i vcf -o vcf -formatEff -classic -no-downstream -no-intergenic -no-upstream -no-utr -stats /Users/mvandenb/src/galaxy/database/files/8/c/5/dataset_8c59d777-b160-4e19-a2bd-7da3b8b7d54c.dat NC_045512.2 /Users/mvandenb/src/galaxy/database/files/4/f/7/dataset_4f741f76-a82b-464c-85a3-7d29422a36ab.dat " +##INFO= +##INFO= +##INFO= +#CHROM POS ID REF ALT QUAL FILTER INFO +NC_045512.2 174 . G C 17525.0 PASS DP=585;AF=0.878632;SB=0;DP4=29,8,428,120 +NC_045512.2 235 . A G 74.0 PASS DP=622;AF=0.009646;SB=14;DP4=276,335,0,6 +NC_045512.2 241 . C T 604.0 PASS DP=664;AF=0.049699;SB=4;DP4=247,373,20,21 +NC_045512.2 490 . T A 219.0 PASS DP=106;AF=0.094340;SB=0;DP4=61,35,6,4;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|gaT/gaA|D75E|7096|ORF1ab|protein_coding|CODING|GU280_gp01|1|A),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|gaT/gaA|D75E|179|ORF1ab|protein_coding|CODING|YP_009725297.1|1|A|WARNING_TRANSCRIPT_NO_STOP_CODON),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|gaT/gaA|D75E|179|ORF1ab|protein_coding|CODING|YP_009742608.1|1|A|WARNING_TRANSCRIPT_NO_STOP_CODON),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|gaT/gaA|D75E|4405|ORF1ab|protein_coding|CODING|GU280_gp01.2|1|A) +NC_045512.2 829 . C A 112.0 PASS DP=7454;AF=0.004427;SB=33;DP4=3920,3491,31,7;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|aaC/aaA|N188K|7096|ORF1ab|protein_coding|CODING|GU280_gp01|1|A),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|aaC/aaA|N188K|4405|ORF1ab|protein_coding|CODING|GU280_gp01.2|1|A),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|aaC/aaA|N8K|637|ORF1ab|protein_coding|CODING|YP_009725298.1|1|A|WARNING_TRANSCRIPT_NO_START_CODON),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|aaC/aaA|N8K|637|ORF1ab|protein_coding|CODING|YP_009742609.1|1|A|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 1080 . A T 76.0 sb_fdr DP=7787;AF=0.002568;SB=121;DP4=5505,2251,2,27;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|aAt/aTt|N272I|7096|ORF1ab|protein_coding|CODING|GU280_gp01|1|T),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|aAt/aTt|N272I|4405|ORF1ab|protein_coding|CODING|GU280_gp01.2|1|T),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|aAt/aTt|N92I|637|ORF1ab|protein_coding|CODING|YP_009725298.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|aAt/aTt|N92I|637|ORF1ab|protein_coding|CODING|YP_009742609.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 1090 . T C 297.0 sb_fdr DP=8170;AF=0.006365;SB=265;DP4=5484,2615,3,63;EFF=SYNONYMOUS_CODING(LOW|SILENT|ttT/ttC|F275|7096|ORF1ab|protein_coding|CODING|GU280_gp01|1|C),SYNONYMOUS_CODING(LOW|SILENT|ttT/ttC|F275|4405|ORF1ab|protein_coding|CODING|GU280_gp01.2|1|C),SYNONYMOUS_CODING(LOW|SILENT|ttT/ttC|F95|637|ORF1ab|protein_coding|CODING|YP_009725298.1|1|C|WARNING_TRANSCRIPT_NO_START_CODON),SYNONYMOUS_CODING(LOW|SILENT|ttT/ttC|F95|637|ORF1ab|protein_coding|CODING|YP_009742609.1|1|C|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 1135 . G A 179.0 sb_fdr DP=8072;AF=0.006442;SB=145;DP4=3986,3997,68,5;EFF=SYNONYMOUS_CODING(LOW|SILENT|aaG/aaA|K290|7096|ORF1ab|protein_coding|CODING|GU280_gp01|1|A),SYNONYMOUS_CODING(LOW|SILENT|aaG/aaA|K290|4405|ORF1ab|protein_coding|CODING|GU280_gp01.2|1|A),SYNONYMOUS_CODING(LOW|SILENT|aaG/aaA|K110|637|ORF1ab|protein_coding|CODING|YP_009725298.1|1|A|WARNING_TRANSCRIPT_NO_START_CODON),SYNONYMOUS_CODING(LOW|SILENT|aaG/aaA|K110|637|ORF1ab|protein_coding|CODING|YP_009742609.1|1|A|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 1150 . C G 115.0 sb_fdr DP=7683;AF=0.003384;SB=104;DP4=3261,4364,32,1;EFF=SYNONYMOUS_CODING(LOW|SILENT|ggC/ggG|G295|7096|ORF1ab|protein_coding|CODING|GU280_gp01|1|G),SYNONYMOUS_CODING(LOW|SILENT|ggC/ggG|G295|4405|ORF1ab|protein_coding|CODING|GU280_gp01.2|1|G),SYNONYMOUS_CODING(LOW|SILENT|ggC/ggG|G115|637|ORF1ab|protein_coding|CODING|YP_009725298.1|1|G|WARNING_TRANSCRIPT_NO_START_CODON),SYNONYMOUS_CODING(LOW|SILENT|ggC/ggG|G115|637|ORF1ab|protein_coding|CODING|YP_009742609.1|1|G|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 1181 . G T 210.0 sb_fdr DP=7962;AF=0.005401;SB=78;DP4=2405,5502,0,52;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Gtt/Ttt|V306F|7096|ORF1ab|protein_coding|CODING|GU280_gp01|1|T),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Gtt/Ttt|V306F|4405|ORF1ab|protein_coding|CODING|GU280_gp01.2|1|T),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Gtt/Ttt|V126F|637|ORF1ab|protein_coding|CODING|YP_009725298.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Gtt/Ttt|V126F|637|ORF1ab|protein_coding|CODING|YP_009742609.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 1594 . C T 450.0 PASS DP=15;AF=0.866667;SB=0;DP4=0,0,4,11;EFF=SYNONYMOUS_CODING(LOW|SILENT|tcC/tcT|S443|7096|ORF1ab|protein_coding|CODING|GU280_gp01|1|T),SYNONYMOUS_CODING(LOW|SILENT|tcC/tcT|S443|4405|ORF1ab|protein_coding|CODING|GU280_gp01.2|1|T),SYNONYMOUS_CODING(LOW|SILENT|tcC/tcT|S263|637|ORF1ab|protein_coding|CODING|YP_009725298.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON),SYNONYMOUS_CODING(LOW|SILENT|tcC/tcT|S263|637|ORF1ab|protein_coding|CODING|YP_009742609.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 3037 . C T 3073.0 PASS DP=108;AF=0.842593;SB=13;DP4=7,4,30,67;EFF=SYNONYMOUS_CODING(LOW|SILENT|ttC/ttT|F924|7096|ORF1ab|protein_coding|CODING|GU280_gp01|1|T),SYNONYMOUS_CODING(LOW|SILENT|ttC/ttT|F924|4405|ORF1ab|protein_coding|CODING|GU280_gp01.2|1|T),SYNONYMOUS_CODING(LOW|SILENT|ttC/ttT|F106|1944|ORF1ab|protein_coding|CODING|YP_009725299.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON),SYNONYMOUS_CODING(LOW|SILENT|ttC/ttT|F106|1944|ORF1ab|protein_coding|CODING|YP_009742610.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 3177 . C T 133.0 PASS DP=64;AF=0.093750;SB=1;DP4=20,38,1,5;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|cCt/cTt|P971L|7096|ORF1ab|protein_coding|CODING|GU280_gp01|1|T),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|cCt/cTt|P971L|4405|ORF1ab|protein_coding|CODING|GU280_gp01.2|1|T),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|cCt/cTt|P153L|1944|ORF1ab|protein_coding|CODING|YP_009725299.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|cCt/cTt|P153L|1944|ORF1ab|protein_coding|CODING|YP_009742610.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 3874 . C T 275.0 PASS DP=18;AF=0.500000;SB=0;DP4=9,0,9,0;EFF=SYNONYMOUS_CODING(LOW|SILENT|atC/atT|I1203|7096|ORF1ab|protein_coding|CODING|GU280_gp01|1|T),SYNONYMOUS_CODING(LOW|SILENT|atC/atT|I1203|4405|ORF1ab|protein_coding|CODING|GU280_gp01.2|1|T),SYNONYMOUS_CODING(LOW|SILENT|atC/atT|I385|1944|ORF1ab|protein_coding|CODING|YP_009725299.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON),SYNONYMOUS_CODING(LOW|SILENT|atC/atT|I385|1944|ORF1ab|protein_coding|CODING|YP_009742610.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 6285 . C T 256.0 PASS DP=13;AF=0.615385;SB=0;DP4=4,1,6,2;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|aCc/aTc|T2007I|7096|ORF1ab|protein_coding|CODING|GU280_gp01|1|T),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|aCc/aTc|T2007I|4405|ORF1ab|protein_coding|CODING|GU280_gp01.2|1|T),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|aCc/aTc|T1189I|1944|ORF1ab|protein_coding|CODING|YP_009725299.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|aCc/aTc|T1189I|1944|ORF1ab|protein_coding|CODING|YP_009742610.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 6696 . C CT 98.0 PASS DP=142;AF=0.028169;SB=0;DP4=43,98,1,3;INDEL;HRUN=4;EFF=FRAME_SHIFT(HIGH||ctt/Tctt|L2146S?|7096|ORF1ab|protein_coding|CODING|GU280_gp01|1|CT|INFO_REALIGN_3_PRIME),FRAME_SHIFT(HIGH||ctt/Tctt|L2146S?|4405|ORF1ab|protein_coding|CODING|GU280_gp01.2|1|CT|INFO_REALIGN_3_PRIME),FRAME_SHIFT(HIGH||ctt/Tctt|L1328S?|1944|ORF1ab|protein_coding|CODING|YP_009725299.1|1|CT|WARNING_TRANSCRIPT_NO_START_CODON&INFO_REALIGN_3_PRIME),FRAME_SHIFT(HIGH||ctt/Tctt|L1328S?|1944|ORF1ab|protein_coding|CODING|YP_009742610.1|1|CT|WARNING_TRANSCRIPT_NO_START_CODON&INFO_REALIGN_3_PRIME);LOF=(ORF1ab|GU280_gp01|28|0.14) +NC_045512.2 8290 . C T 3071.0 PASS DP=109;AF=0.844037;SB=10;DP4=9,6,31,63;EFF=SYNONYMOUS_CODING(LOW|SILENT|ctC/ctT|L2675|7096|ORF1ab|protein_coding|CODING|GU280_gp01|1|T),SYNONYMOUS_CODING(LOW|SILENT|ctC/ctT|L2675|4405|ORF1ab|protein_coding|CODING|GU280_gp01.2|1|T),SYNONYMOUS_CODING(LOW|SILENT|ctC/ctT|L1857|1944|ORF1ab|protein_coding|CODING|YP_009725299.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON),SYNONYMOUS_CODING(LOW|SILENT|ctC/ctT|L1857|1944|ORF1ab|protein_coding|CODING|YP_009742610.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 8782 . C T 132.0 PASS DP=18;AF=0.277778;SB=0;DP4=7,5,3,3;EFF=SYNONYMOUS_CODING(LOW|SILENT|agC/agT|S2839|7096|ORF1ab|protein_coding|CODING|GU280_gp01|1|T),SYNONYMOUS_CODING(LOW|SILENT|agC/agT|S2839|4405|ORF1ab|protein_coding|CODING|GU280_gp01.2|1|T),SYNONYMOUS_CODING(LOW|SILENT|agC/agT|S76|499|ORF1ab|protein_coding|CODING|YP_009725300.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON),SYNONYMOUS_CODING(LOW|SILENT|agC/agT|S76|499|ORF1ab|protein_coding|CODING|YP_009742611.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 11109 . C T 3397.0 PASS DP=106;AF=0.924528;SB=0;DP4=6,0,93,7;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|gCt/gTt|A3615V|7096|ORF1ab|protein_coding|CODING|GU280_gp01|1|T),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|gCt/gTt|A3615V|4405|ORF1ab|protein_coding|CODING|GU280_gp01.2|1|T),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|gCt/gTt|A46V|289|ORF1ab|protein_coding|CODING|YP_009725302.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|gCt/gTt|A46V|289|ORF1ab|protein_coding|CODING|YP_009742613.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 11653 . CT C 139.0 PASS DP=211;AF=0.028436;SB=2;DP4=162,43,4,2;INDEL;HRUN=4;EFF=FRAME_SHIFT(HIGH||tgt/|C3798|7096|ORF1ab|protein_coding|CODING|GU280_gp01|1|C|INFO_REALIGN_3_PRIME),FRAME_SHIFT(HIGH||tgt/|C3798|4405|ORF1ab|protein_coding|CODING|GU280_gp01.2|1|C|INFO_REALIGN_3_PRIME),FRAME_SHIFT(HIGH||tgt/|C229|289|ORF1ab|protein_coding|CODING|YP_009725302.1|1|C|WARNING_TRANSCRIPT_NO_START_CODON&INFO_REALIGN_3_PRIME),FRAME_SHIFT(HIGH||tgt/|C229|289|ORF1ab|protein_coding|CODING|YP_009742613.1|1|C|WARNING_TRANSCRIPT_NO_START_CODON&INFO_REALIGN_3_PRIME);LOF=(ORF1ab|GU280_gp01|28|0.14) +NC_045512.2 12662 . G A 243.0 PASS DP=2923;AF=0.008895;SB=1;DP4=749,2142,8,19;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Gcc/Acc|A4133T|7096|ORF1ab|protein_coding|CODING|GU280_gp01|1|A),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Gcc/Acc|A4133T|4405|ORF1ab|protein_coding|CODING|GU280_gp01.2|1|A),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Gcc/Acc|A191T|197|ORF1ab|protein_coding|CODING|YP_009725304.1|1|A|WARNING_TRANSCRIPT_NO_START_CODON),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Gcc/Acc|A191T|197|ORF1ab|protein_coding|CODING|YP_009742615.1|1|A|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 14398 . G T 124.0 PASS DP=101;AF=0.059406;SB=1;DP4=51,44,4,2;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Gtg/Ttg|V4712L|7096|ORF1ab|protein_coding|CODING|GU280_gp01|2|T),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Gtg/Ttg|V320L|931|ORF1ab|protein_coding|CODING|YP_009725307.1|2|T|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 14408 . C T 3058.0 PASS DP=103;AF=0.873786;SB=1;DP4=3,5,48,47;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|cCt/cTt|P4715L|7096|ORF1ab|protein_coding|CODING|GU280_gp01|2|T),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|cCt/cTt|P323L|931|ORF1ab|protein_coding|CODING|YP_009725307.1|2|T|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 15960 . C T 341.0 PASS DP=127;AF=0.118110;SB=1;DP4=93,18,13,3;EFF=SYNONYMOUS_CODING(LOW|SILENT|gcC/gcT|A5232|7096|ORF1ab|protein_coding|CODING|GU280_gp01|2|T),SYNONYMOUS_CODING(LOW|SILENT|gcC/gcT|A840|931|ORF1ab|protein_coding|CODING|YP_009725307.1|2|T|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 17747 . C T 225.0 PASS DP=38;AF=0.236842;SB=12;DP4=11,18,7,2;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|cCt/cTt|P5828L|7096|ORF1ab|protein_coding|CODING|GU280_gp01|2|T),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|cCt/cTt|P504L|600|ORF1ab|protein_coding|CODING|YP_009725308.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 17858 . A G 296.0 PASS DP=28;AF=0.392857;SB=0;DP4=6,9,5,8;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|tAt/tGt|Y5865C|7096|ORF1ab|protein_coding|CODING|GU280_gp01|2|G),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|tAt/tGt|Y541C|600|ORF1ab|protein_coding|CODING|YP_009725308.1|1|G|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 17874 . C T 292.0 PASS DP=23;AF=0.434783;SB=0;DP4=4,8,4,7;EFF=SYNONYMOUS_CODING(LOW|SILENT|ttC/ttT|F5870|7096|ORF1ab|protein_coding|CODING|GU280_gp01|2|T),SYNONYMOUS_CODING(LOW|SILENT|ttC/ttT|F546|600|ORF1ab|protein_coding|CODING|YP_009725308.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 18788 . C T 4057.0 PASS DP=138;AF=0.876812;SB=0;DP4=6,6,58,67;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|aCa/aTa|T6175I|7096|ORF1ab|protein_coding|CODING|GU280_gp01|2|T),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|aCa/aTa|T250I|526|ORF1ab|protein_coding|CODING|YP_009725309.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 19684 . G T 501.0 PASS DP=146;AF=0.143836;SB=0;DP4=105,19,19,3;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Gta/Tta|V6474L|7096|ORF1ab|protein_coding|CODING|GU280_gp01|2|T),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Gta/Tta|V22L|345|ORF1ab|protein_coding|CODING|YP_009725310.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 20209 . AGTAGAAATT A 14928.0 PASS DP=472;AF=0.959746;SB=21;DP4=12,7,398,55;INDEL;HRUN=1;EFF=CODON_CHANGE_PLUS_CODON_DELETION(MODERATE||agtagaaattta/ata|SRNL6649I|7096|ORF1ab|protein_coding|CODING|GU280_gp01|2|A),CODON_CHANGE_PLUS_CODON_DELETION(MODERATE||agtagaaattta/ata|SRNL197I|345|ORF1ab|protein_coding|CODING|YP_009725310.1|1|A|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 20287 . G A 84.0 sb_fdr DP=1788;AF=0.006711;SB=83;DP4=1420,356,0,12;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Gaa/Aaa|E6675K|7096|ORF1ab|protein_coding|CODING|GU280_gp01|2|A),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Gaa/Aaa|E223K|345|ORF1ab|protein_coding|CODING|YP_009725310.1|1|A|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 20298 . A T 88.0 sb_fdr DP=2107;AF=0.006645;SB=98;DP4=1589,501,0,16;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|aaA/aaT|K6678N|7096|ORF1ab|protein_coding|CODING|GU280_gp01|2|T),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|aaA/aaT|K226N|345|ORF1ab|protein_coding|CODING|YP_009725310.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 20798 . AT A 76.0 PASS DP=778;AF=0.006427;SB=0;DP4=597,176,4,1;INDEL;HRUN=1;EFF=FRAME_SHIFT(HIGH||tat/|Y6845|7096|ORF1ab|protein_coding|CODING|GU280_gp01|2|A),FRAME_SHIFT(HIGH||tat/|Y47|297|ORF1ab|protein_coding|CODING|YP_009725311.1|1|A|WARNING_TRANSCRIPT_NO_START_CODON);LOF=(ORF1ab|GU280_gp01|28|0.04) +NC_045512.2 20868 . T G 125.0 sb_fdr DP=5641;AF=0.004432;SB=196;DP4=4376,1233,0,30;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|ttT/ttG|F6868L|7096|ORF1ab|protein_coding|CODING|GU280_gp01|2|G),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|ttT/ttG|F70L|297|ORF1ab|protein_coding|CODING|YP_009725311.1|1|G|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 20908 . G T 80.0 sb_fdr DP=8126;AF=0.003569;SB=167;DP4=5445,2630,2,40;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Gtt/Ttt|V6882F|7096|ORF1ab|protein_coding|CODING|GU280_gp01|2|T),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Gtt/Ttt|V84F|297|ORF1ab|protein_coding|CODING|YP_009725311.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 21134 . A G 163.0 PASS DP=1677;AF=0.008945;SB=3;DP4=218,1441,3,12;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|cAa/cGa|Q6957R|7096|ORF1ab|protein_coding|CODING|GU280_gp01|2|G),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|cAa/cGa|Q159R|297|ORF1ab|protein_coding|CODING|YP_009725311.1|1|G|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 21526 . A T 111.0 PASS DP=1208;AF=0.011589;SB=23;DP4=783,404,7,14;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Att/Ttt|I7088F|7096|ORF1ab|protein_coding|CODING|GU280_gp01|2|T),NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Att/Ttt|I290F|297|ORF1ab|protein_coding|CODING|YP_009725311.1|1|T|WARNING_TRANSCRIPT_NO_START_CODON) +NC_045512.2 21578 . G T 76.0 PASS DP=1345;AF=0.008178;SB=13;DP4=476,850,2,15;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Gtt/Ttt|V6F|1273|S|protein_coding|CODING|GU280_gp02|1|T) +NC_045512.2 22712 . C T 125.0 sb_fdr DP=8681;AF=0.003456;SB=99;DP4=4028,4617,30,0;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Cct/Tct|P384S|1273|S|protein_coding|CODING|GU280_gp02|1|T) +NC_045512.2 22721 . T A 98.0 sb_fdr DP=8884;AF=0.003489;SB=139;DP4=3798,5040,42,1;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Tta/Ata|L387I|1273|S|protein_coding|CODING|GU280_gp02|1|A) +NC_045512.2 22810 . A G 72.0 sb_fdr DP=6269;AF=0.003828;SB=142;DP4=1565,4675,26,1;EFF=SYNONYMOUS_CODING(LOW|SILENT|ggA/ggG|G416|1273|S|protein_coding|CODING|GU280_gp02|1|G) +NC_045512.2 23262 . G A 131.0 sb_fdr DP=7418;AF=0.003101;SB=126;DP4=5307,2085,0,23;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|aGa/aAa|R567K|1273|S|protein_coding|CODING|GU280_gp02|1|A) +NC_045512.2 23269 . T C 2250.0 PASS DP=7958;AF=0.020985;SB=3;DP4=5454,2326,126,46;EFF=SYNONYMOUS_CODING(LOW|SILENT|atT/atC|I569|1273|S|protein_coding|CODING|GU280_gp02|1|C) +NC_045512.2 23280 . C A 108.0 sb_fdr DP=8464;AF=0.003781;SB=63;DP4=5576,2848,37,0;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|aCt/aAt|T573N|1273|S|protein_coding|CODING|GU280_gp02|1|A) +NC_045512.2 23315 . C T 120.0 PASS DP=8454;AF=0.005086;SB=45;DP4=4491,3907,40,8;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Ctt/Ttt|L585F|1273|S|protein_coding|CODING|GU280_gp02|1|T) +NC_045512.2 23338 . T G 205.0 sb_fdr DP=8806;AF=0.006246;SB=164;DP4=3994,4739,1,68;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|ttT/ttG|F592L|1273|S|protein_coding|CODING|GU280_gp02|1|G) +NC_045512.2 23364 . G A 76.0 sb_fdr DP=8261;AF=0.003753;SB=59;DP4=2822,5390,1,40;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|gGa/gAa|G601E|1273|S|protein_coding|CODING|GU280_gp02|1|A) +NC_045512.2 23511 . TA T 127.0 PASS DP=891;AF=0.007856;SB=0;DP4=172,796,1,6;INDEL;HRUN=2;EFF=FRAME_SHIFT(HIGH||ata/|I651|1273|S|protein_coding|CODING|GU280_gp02|1|T|INFO_REALIGN_3_PRIME);LOF=(S|GU280_gp02|1|1.00) +NC_045512.2 23513 . AT A 160.0 PASS DP=671;AF=0.016393;SB=1;DP4=149,597,1,10;INDEL;HRUN=1;EFF=FRAME_SHIFT(HIGH||ata/|I651|1273|S|protein_coding|CODING|GU280_gp02|1|A);LOF=(S|GU280_gp02|1|1.00) +NC_045512.2 23517 . G C 83.0 PASS DP=74;AF=0.108108;SB=18;DP4=37,28,1,8;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|gGg/gCg|G652A|1273|S|protein_coding|CODING|GU280_gp02|1|C) +NC_045512.2 25563 . G T 1722.0 PASS DP=59;AF=0.847458;SB=0;DP4=0,5,4,50;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|caG/caT|Q57H|275|ORF3a|protein_coding|CODING|GU280_gp03|1|T) +NC_045512.2 28077 . G C 166.0 PASS DP=93;AF=0.086022;SB=1;DP4=20,63,1,8;EFF=NON_SYNONYMOUS_CODING(MODERATE|MISSENSE|Gtg/Ctg|V62L|121|ORF8|protein_coding|CODING|GU280_gp09|1|C) +NC_045512.2 28214 . C CT 72.0 PASS DP=105;AF=0.028571;SB=0;DP4=85,17,3,0;INDEL;HRUN=5;EFF=FRAME_SHIFT(HIGH||tta/ttTa|L109F?|121|ORF8|protein_coding|CODING|GU280_gp09|1|CT|INFO_REALIGN_3_PRIME);LOF=(ORF8|GU280_gp09|1|1.00) +NC_045512.2 28253 . C T 145.0 PASS DP=103;AF=0.077670;SB=0;DP4=67,26,7,3;EFF=SYNONYMOUS_CODING(LOW|SILENT|ttC/ttT|F120|121|ORF8|protein_coding|CODING|GU280_gp09|1|T) +NC_045512.2 29700 . A G 335.0 PASS DP=139;AF=0.107914;SB=0;DP4=45,78,5,10 diff --git a/test-data/masked_consensus.fa b/test-data/masked_consensus.fa new file mode 100644 index 0000000..0326125 --- /dev/null +++ b/test-data/masked_consensus.fa @@ -0,0 +1,500 @@ +>SRR11578257 +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNTAAACGAACTTTAAAATCTGTGTGGCTGTCACTCGGCTGCATGCTTAGTGCACT +CACGCAGTATAATTAATAACTAATTACTGTCGTTGACAGGACACGAGTAACTCCTCTATC +TTCTGCAGGCTGCTTACGGTTTCGTCCGTGTTGCAGCCGATCATCAGCACATCTAGGTTT +CGTCCGGGTGTGACCGAAAGGTAAGATGGAGAGCCTTGTCCCTGGTTTCAACGAGAAAAC +ACACGTCCAACTCAGTTTGCCTGTTTTACAGGTTCGCGACGTGCTCGTACGTGGCTTTGG +AGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNCATAGTTACGGCGCCGATCTAAAGTCATTTGACTTAGGCGACGAGCTTGGCACTGA +TCCTTATGAAGATTTTCAAGAAAACTGGAACACTAAACATAGCAGTGGTGTTACCCGTGA +ACTCATGCGTGAGCTTAACGGAGGGGCATACACTCGCTATGTCGATAACAACTTCTGTGG +CCCTGATGGCTACCCTCTTGAGTGCATTAAAGACCTTCTAGCACGTGCTGGTAAAGCTTC +ATGCACTTTGTCCGAACAACTGGACTTTATTGACACTAAGAGGGGTGTATACTGCTGCCG +TGAACATGAGCATGAAATTGCTTGGTACACGGAACGTTCTGAAAAGAGCTATGAATTGCA +GACACCTTTTGAAATTAAATTGGCAAAGAAATTTGACACCTTCAATGGGGAATGTCCAAA +TTTTGTATTTCCCTTAAATTCCATAATCAAGACTATTCAACCAAGGGTTGAAAAGAAAAA +GCTTGATGGCTTTATGGGTAGAATTCGATCTGTCTATCCAGTTGCGTCACCAAATGAATG +CAACCAAATGTGCCTTTCAACTCTCATGAAGTGTGATCATTGTGGTGAAACTTCATGGCA +GACGGGCGATTTTGTTAAAGCCACTTGCGAATTTTGTGGCACTGAGAATTTGACTAAAGA +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNACCAAACCAACCATATCCAAACGNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNGTTGGTGATAGTGCGGAAGTTGCAGTTAAAATGTTTGA +TGCTTACGTTAATACGTTTTCATCAACTTTTAACGTACCAATGGAAAAACTCAAAACACT +AGTTGCAACNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNGGGTATTATTGCTATGTCTGCTTTTGCAATGATGTTTGTCAAACATAA +GCATGCANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNGTATAATGCTAGTTTATTGTTTCTTAGGCTATTTTTGTACTTG +TTACTTTGGCCTCTTTTGTTTACTCAACCGCTACTTTAGACTGACTCTTGGTGTTTATGA +TTACTTAGTTTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNAAATTGTTGGGTGTTGGTGGCAAACCTTG +TATCAAAGTAGCCACTGTACAGTCTAAAATGTCAGATGTAAAGTGCACATCAGTAGTCTT +ACTCNNNNNTTTGCAACAACTCAGAGTAGAATNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNTTGAACATAATACCTCTTACAACAGCAGCCAAACTAATGGT +TGTCATACCAGACTATAACACATATAAAAATACGTGTGATGGTACAACATTTACTTATGC +ATCAGCATTGTGGGAAATCCAACAGGTTGTAGATGCAGATAGTAAAATTGTTCAACTTAG +TGAAATTAGTATGGACAATTCACCTAATTTAGCATGGCCTCTTATTGTAACAGCTTTAAG +GGCCAATTCTGCTGTCAAATTACAGAATAATGAGCTTAGTCCTGTTGCACTACGACAGAT +GTCTTGTGCTGCCGGTACTACACAAACTGCTTGCACTGATGACAATGCGTTAGCTTACTA +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGATGGTGTTCCATTT +GTAGTTTCAACTGGATACCACTTCAGAGAGCTAGGTGTTGTACATAATNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNTGACTTTAATGCA +ATTGCAACATGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGTAAG +AGTCATTTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGTATACAGCT +TGCTCTCATGCCGCTGTTGATGCACTATGTGAGAAGGCATTAAAATATTTGCCTATAGAT +AAATGTAGTAGAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNATTCAAAGTG +AATTCAACATTAGAACAGTATGTCTTTTGTACTGTAAATGCATTGCCTGAGACGACAGCN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNTCTATAANNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNTTTATAGGTNNNNNNNNNNNNNNNNATGATCTGTATTGTCAAGTCCATGGTAATGCA +CATGNNNNNNNNNNNNNNNNNNNNNNNNNNNGGTGTCTAGCTGTCCACGAGTGCTTTGTT +ANNNNNNNNNNNNNNNNNATTGAATATCCTATAATTGGTGATGAACTGAAGATTAATGCG +GCTTGTAGAAAGGTTCAACACATGGTTGTTAAAGCTGCATTATTAGCAGACAAATTCCCA +GTTCTTCACGACATTGGTAACCCTAAAGCTATTAAGTGTGTACCTCAAGCTGATGTNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNTTACTCAGANNNNNNNNNTA +CAAGAATTTAAACCCAGGAGTCAAATGGAAATTGATTTCTTAGAATTAGCTATGGATGAA +TTCATTGAACGGTATAAATTAGAAGGCTATGCCTTCGAACATATCGTTTATGGAGATTTT +AGTCATAGTCAGTTAGGTGGTTTACATCTACTGATTGGACTAGCTAAACGTTTTAAGGAA +TCACCTTTTGAATTAGAAGATTTTATTCCTATGGACAGTACAGTTAAAAACTATTTCATA +ACAGATGCGCAAACAGGTTCATCTAAGTGTGTGTGTTCTGTTATTGATTTATTACTTGAT +GATTTTGTTGAAATAATAAAATNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNAAATATACTCAACTGTGTCAATATTTA +AACACATTAACATTAGCTGTACCCTATAATATGAGAGTTATACATTTTGGTGCTGGTTCT +GATAAAGGAGTTGCACCAGGTACAGCTGTTTTAAGACAGTGGTTGCCTACGGGTACGCTG +CTTGTCGATTCAGATCTTAATGACTTTGTCTCTGATGCAGATTCAACTTTGATTGGTGAT +TGTGCAACTGTACATACAGCTAATAAATGGGATCTCATTATTAGTGATATGTACGACCCT +AAGACTAAAAATGTTACAAAAGAAAATGACTCTAAAGAGGGTTTTTTCACTTACATTTGT +GGGTTTATACAACAAAAGCTAGCTCTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNTTTATTTGACATGAGTAAATTTCCCCTTAAATTA +AGGGGTACTGCTGTTATGTCTTTAAAAGAAGGTCAAATCAATGATATGATTTTATCTCTT +CTTAGTAAAGGTAGACTTATAATTAGAGAAAACAACAGAGTTGTTATTTCTAGTGATGTT +CTTGTTAACAACTAAACGAACAATGTTTGTTTTTCTTGTTTTATTGCCACTAGTCTCTAG +TCAGTGTGTTAATCTTACAACCAGAACTCAATTACCCCCTGCATACACTAATTCTTTCAC +ACGTGGTGTTTATTACCCTGACAAAGTTTTCAGATCCTCAGTTTTACATTCAACTCNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNATGTCTCTCA +GCCTTTTCTTATGGACCTTGAAGGAAAACAGGGTAATTTCAAAAATCTTAGGGAATTTGT +GTTTAAGAATATTGATGGTTATNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNCAACAGAATCTATTGTTAGATTTCCTAATATTAC +AAACTTGTGCCCTTTTGGTGAAGTTTTTAACGCCACCAGATTTGCATCTGTTTATGCTTG +GAACAGGAAGAGAATCAGCAACTGTGTTGCTGATTATTCTGTCCTATATAATTCCGCATC +ATTTTCCACTTTTAAGTGTTATGGAGTGTCTCCTACTAAATTAAATGATCTCTGCTTTAC +TAATGTCTATGCAGATTCATTTGTAATTAGAGGTGATGAAGTCAGACAAATCGCTCCAGG +GCAAACTGGAAAGATTGCTGATTATAATTATAAATTACCAGATGATTTTACAGGCTGCGT +TATAGCTTGGAATTCTAACNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCTAAAAAGTCTACTAATTT +GGTTAAAAACAAATGTGTCAATTTCAACTTCAATGGTTTAACAGGCACAGGTGTTCTTAC +TGAGTCTAACAAAAAGTTTCTGCCTTTCCAACAATTTGGCAGAGACATTGCTGACACTAC +TGATGCTGTCCGTGATCCACAGACACTTGAGATTCTTGACATTACACCATGTTCTTTTGG +TGGTGTCAGTGTTATAACACCAGGAACAAATACTTCTAACCAGGTTGCTGTTCTTTATCA +GGATGTTAACTGCACAGAAGTCCCTGTTGCTATTCATGCAGATCAACTTACTCCTACTTG +GCGTGTTTATTCTACAGGTTCTAATGTTTTTCAAACACGTNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNAATCTTTT +GTTGCAATATGGCAGTTTTTGTACACAATTAAACCGTGCTTTAACTGGAATAGCTGTTGA +ACAAGACAAAAACACCCAAGAAGTTTTTGCACAAGTCAAACAAATTTACAAAACACCACC +AATTAAAGATTTTGGTGGTTTTAATTTTTCACAAATATTACCAGATCCATCAAAACCAAG +CAAGAGGTCATTTATTGAAGATCTACTTTTCAACAAAGTGACACTTGCAGATGCTGGCTT +CATCAAACAATATGGTGATTGCCTTGGTGATATNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNACACTGGTGTTGAACATGTTACNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCACNNNNNNNGGTTCATCCGGAGTTGTT +AATCCAGTAATGGAACCAATTTATGATGAACCGACGACGACTACTAGCGNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN +NNNNNNNNNNNNNNNNNNNNNNN