The element allows you to join two data flows into a single data flow, i.e. to join messages from two input ports into concatenated messages and send them to the output. The concatenation approach is determined by the Multiplexing rule parameter.
There are the following multiplexing rules:
- 1 to 1
- 1 to many
- Many to 1
Rule 1 to 1
This rule means that the multiplexer gets one message from the first input port and one message from the the second input port, joins them into a single message, and transfers it to the output. This procedure is repeated while there are available messages in both input slots.
See an example workflow below:
As you can see:
- There are elements A, B, C, and the Multiplexer.
- A and B are data readers.
- A gets three data objects as input. These objects are denoted as I, II, and III. A has two slots, so the input data objects may also have various data. For example, this may be "Sequence" and "Set of annotations" slots, and the data are read from three GenBank files.
- B gets two data objects as input. These objects are denoted as IV and V. B also has two slots in this example.
- C gets messages in the workflow from B. It has one output slot. For example, this may be a "Set of annotations" slot, i.e. additional annotations were calculated for input objects IV and V.
- Now in the Multiplexer element we have three messages from A, that correspond to the three input objects I, II, and III. And we have two messages from B and C elements, that correspond to the two input objects IV and V with additional information, calculated in C.
- The multiplexer rule is "1 to 1". This means that we only take into account messages that have a pair. Thus the "Message 3" is ignored in this case. "Message 1" is concatenated with "Message 6" and produces "Message 8". "Message 2" is concatenated with "Message 7" and produces "Message 9".
Also see the Find Substrings at Sequences, Search for TFBS examples with Multiplexer element.
Parameters in GUI
Parameter | Description | Default value |
---|---|---|
Multiplexing rule | How to multiplex the input data flows. Available values are:
| 1 to 1 |
If empty input | Specifies how to multiplex the data if one of input ports produces no data. It can be used for 1 to 1 multiplexing rule. Available values are:
| Fill by empty values |
Parameters in Workflow File
Type: multiplexer
Parameter | Parameter in the GUI | Type |
---|---|---|
multiplexing-rule | Multiplexing rule | string |
empty-input-action | If empty input | string |
Input/Output Ports
The Multiplexer has ports but has not slots, because its use the whole data flow.
The element has 2 input port:
Name in GUI: First input data flow
Name in Workflow File: input-data-1
Name in GUI:Second input data flow
Name in Workflow File: input-data-2
The element has 1 output port:
Name in GUI: Multiplexed output data flow
Name in Workflow File: output-data