diff --git a/client/src/components/Workflow/Editor/Node.vue b/client/src/components/Workflow/Editor/Node.vue index b2a876eb695..27674b9e88d 100644 --- a/client/src/components/Workflow/Editor/Node.vue +++ b/client/src/components/Workflow/Editor/Node.vue @@ -414,8 +414,6 @@ export default { } const outputName = output.name; const outputTerminal = this.outputTerminals[outputName]; - outputTerminal.force_datatype = datatype; - output.force_datatype = datatype; if (datatype) { this.postJobActions["ChangeDatatypeAction" + outputName] = { action_arguments: { newtype: datatype }, diff --git a/client/src/components/Workflow/Editor/NodeOutput.vue b/client/src/components/Workflow/Editor/NodeOutput.vue index 060b033f2b5..59c6f3a26c5 100644 --- a/client/src/components/Workflow/Editor/NodeOutput.vue +++ b/client/src/components/Workflow/Editor/NodeOutput.vue @@ -74,7 +74,6 @@ export default { collection_type: collection_type, collection_type_source: collection_type_source, datatypes: output.extensions, - force_datatype: output.force_datatype, optional: output.optional, }); } else if (output.parameter) { @@ -91,7 +90,6 @@ export default { name: output.name, element: this.$refs.terminal, datatypes: output.extensions, - force_datatype: output.force_datatype, optional: output.optional, }); } diff --git a/client/src/components/Workflow/Editor/modules/terminals.js b/client/src/components/Workflow/Editor/modules/terminals.js index df022d214e0..9e2fab488d3 100644 --- a/client/src/components/Workflow/Editor/modules/terminals.js +++ b/client/src/components/Workflow/Editor/modules/terminals.js @@ -589,18 +589,14 @@ class BaseOutputTerminal extends Terminal { super(attr); this.datatypes = attr.datatypes; this.optional = attr.optional; - this.force_datatype = attr.force_datatype; + } + get force_datatype() { + const changeOutputDatatype = this.node.postJobActions["ChangeDatatypeAction" + this.name]; + return changeOutputDatatype ? changeOutputDatatype.action_arguments["newtype"] : null; } update(output) { this.datatypes = output.datatypes || output.extensions; this.optional = output.optional; - this.force_datatype = output.force_datatype; - const changeOutputDatatype = this.node.postJobActions["ChangeOutputDatatype" + output.name]; - if (changeOutputDatatype) { - this.node.outputTerminals[output.name].force_datatype = changeOutputDatatype.action_arguments["newtype"]; - } else { - this.node.outputTerminals[output.name].force_datatype = null; - } } } diff --git a/client/tests/qunit/tests/workflow_editor_tests.js b/client/tests/qunit/tests/workflow_editor_tests.js index 040e2982de2..0e50080f2c3 100644 --- a/client/tests/qunit/tests/workflow_editor_tests.js +++ b/client/tests/qunit/tests/workflow_editor_tests.js @@ -35,6 +35,7 @@ const nodeData = { class Node { constructor(attr = {}) { this.element = attr.element; + this.postJobActions = {}; this.inputTerminals = {}; this.outputTerminals = {}; } @@ -326,7 +327,7 @@ QUnit.test("Collection output can connect to same collection input type", functi datatypes: "txt", collection_type: "list", }); - outputTerminal.node = {}; + outputTerminal.node = {postJobActions: {}}; assert.ok( inputTerminal.canAccept(outputTerminal).canAccept, "Input terminal " + inputTerminal + " can not accept " + outputTerminal diff --git a/lib/galaxy/datatypes/binary.py b/lib/galaxy/datatypes/binary.py index 1156ec502cf..fee159a7a59 100644 --- a/lib/galaxy/datatypes/binary.py +++ b/lib/galaxy/datatypes/binary.py @@ -32,6 +32,9 @@ from galaxy.util.checkers import is_bz2, is_gzip from . import data, dataproviders log = logging.getLogger(__name__) +# pysam 0.16.0.1 emits logs containing the word 'Error', this can confuse the stdout/stderr checkers. +# Can be be removed once https://github.com/pysam-developers/pysam/issues/939 is resolved. +pysam.set_verbosity(0) # Currently these supported binary data types must be manually set on upload @@ -486,9 +489,9 @@ class Bam(BamNative): # we start another process and discard stderr. if index_flag == '-b': # IOError: No such file or directory: '-b' if index_flag is set to -b (pysam 0.15.4) - cmd = ['python', '-c', "import pysam; pysam.index('{}', '{}')".format(file_name, index_name)] + cmd = ['python', '-c', "import pysam; pysam.set_verbosity(0); pysam.index('{}', '{}')".format(file_name, index_name)] else: - cmd = ['python', '-c', "import pysam; pysam.index('{}', '{}', '{}')".format(index_flag, file_name, index_name)] + cmd = ['python', '-c', "import pysam; pysam.set_verbosity(0); pysam.index('{}', '{}', '{}')".format(index_flag, file_name, index_name)] with open(os.devnull, 'w') as devnull: subprocess.check_call(cmd, stderr=devnull, shell=False) needs_sorting = False diff --git a/lib/galaxy/visualization/data_providers/genome.py b/lib/galaxy/visualization/data_providers/genome.py index d7b773a95ad..093391c8184 100644 --- a/lib/galaxy/visualization/data_providers/genome.py +++ b/lib/galaxy/visualization/data_providers/genome.py @@ -27,6 +27,9 @@ from galaxy.visualization.data_providers.cigar import get_ref_based_read_seq_and # Utility functions. # +# pysam 0.16.0.1 emits logs containing the word 'Error', this can confuse the stdout/stderr checkers. +# Can be be removed once https://github.com/pysam-developers/pysam/issues/939 is resolved. +pysam.set_verbosity(0) PYSAM_INDEX_SYMLINK_NECESSARY = packaging.version.parse(pysam.__version__) <= packaging.version.parse('0.13.0')