Child pages
  • Multiplexer Element

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

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 slotsports.

See an example workflow below:

HTML
<center>
  <img src="/wiki/download/attachments/16126399/multiplexer_element_1to1Multiplexer Element_1.png"/>
</center>

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 corresponds correspond to the three input objects I, II, and III. And we have two messages from B and C elements, that corresponds correspond to the two input objects IV and V with additional information, calculated in C.
  • The multiplexer multiplexing rule is "1 to 1". This means that we only take into account messages the that have a pair. Thus the , "Message 3" is ignored in this case. However, the multiplexer concatenates the other messages. "Message 1" is concatenated with "Message 6", and produces "Message 8" is produced. "Message 2" is concatenated with "Message 7", and produces "Message 9" is produced.

Rule: 1 to many

This rule means that the multiplexer gets one message from the first input port, joins it with each message from the second input port, and transfers the joined messages to the output. This procedure is repeated for each message from the first input port.

See an example workflow below:

HTML
<center>
  <img src="/wiki/download/attachments/16126399/Multiplexer Element_2.png"/>
</center>

As you can see the conditions are the same as in the first "1 to 1" case, described above:

Also see the Find Substrings at SequencesSearch for TFBS examples with Multiplexer element.

...

  • As on the first image there are elements A, 

...

  • BC, and the Multiplexer.
  • A and B are data readers.
  • A gets three data objects as input. These objects are denoted as III, and IIIA has two slots.
  • B gets two data objects as input. These objects are denoted as IV and VB has two slots.
  • C gets messages in the workflow from B. It has one output slot.
  • The Multiplexer element receives three messages from A and two messages from C.

However, the multiplexing is done so that each message from A is concatenated from each message from C. As a result the following messages are produced:

  • "Message 1" + "Message 6" = "Message 8"
  • "Message 1" + "Message 7" = "Message 9"
  • "Message 2" + "Message 6" = "Message 10"
  • "Message 2" + "Message 7" = "Message 11"
  • "Message 3" + "Message 6" = "Message 12"
  • "Message 3" + "Message 7" = "Message 13"

Parameters in GUI

ParameterDescriptionDefault value
Multiplexing ruleHow to multiplex the input data flows.

Available values are:

Fill by empty values
  • 1 to 1
  • 1 to Many
  • Many to 1
  • Streaming mode
1 to 1If 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 (if one of input ports produces no data, get data from another port only and put them to the output.)
  • Truncate (if one of input port produces no data, then do not output anything.)
  • many

See the detailed description of the values above.

1 to 1

Parameters in Workflow File

Type: multiplexer

ParameterParameter in the GUIType
multiplexing-ruleMultiplexing rulestring
empty-input-actionIf empty inputstring

Input/Output Ports

The Multiplexer has  element has ports, but it has not slots, because its use the whole data flow.

The element has 2 input port:

  1. The first input port:
    • Name in GUI: First input
data flow
    • port
    • Name
in Workflow File
    • in Workflow File: input-data-1
  1. The second input port:
    • Name in GUI: Second input
data flow
    • port
    • Name
in Workflow File
    • in Workflow File: input-data-2

The element has 1 output 1 output port:

  • Name in GUI: Multiplexed output
data flow
  • Name in Workflow File: output-data

Element in Samples

The element is used in the following workflow samples: