Warning

This document is for an old release of Galaxy. You can alternatively view this page in the latest release if it exists or view the top of the latest release's documentation.

Source code for galaxy.model.dataset_collections.types.paired

from typing import (
    Iterable,
    TYPE_CHECKING,
)

from galaxy.model import (
    DatasetCollectionElement,
    HistoryDatasetAssociation,
)
from . import BaseDatasetCollectionType

if TYPE_CHECKING:
    from . import DatasetInstanceMapping

FORWARD_IDENTIFIER = "forward"
REVERSE_IDENTIFIER = "reverse"


[docs] class PairedDatasetCollectionType(BaseDatasetCollectionType): """ Paired (left/right) datasets. """ collection_type = "paired"
[docs] def generate_elements( self, dataset_instances: "DatasetInstanceMapping", **kwds ) -> Iterable[DatasetCollectionElement]: if forward_dataset := dataset_instances.get(FORWARD_IDENTIFIER): left_association = DatasetCollectionElement( element=forward_dataset, element_identifier=FORWARD_IDENTIFIER, ) yield left_association if reverse_dataset := dataset_instances.get(REVERSE_IDENTIFIER): right_association = DatasetCollectionElement( element=reverse_dataset, element_identifier=REVERSE_IDENTIFIER, ) yield right_association
[docs] def prototype_elements(self, **kwds): left_association = DatasetCollectionElement( element=HistoryDatasetAssociation(), element_identifier=FORWARD_IDENTIFIER, ) right_association = DatasetCollectionElement( element=HistoryDatasetAssociation(), element_identifier=REVERSE_IDENTIFIER, ) yield left_association yield right_association