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.dataset_collections.types.paired

from galaxy.model import DatasetCollectionElement, HistoryDatasetAssociation

from ..types import BaseDatasetCollectionType

FORWARD_IDENTIFIER = "forward"
REVERSE_IDENTIFIER = "reverse"

INVALID_IDENTIFIERS_MESSAGE = "Paired instance must define '%s' and '%s' datasets ." % (FORWARD_IDENTIFIER, REVERSE_IDENTIFIER)


[docs]class PairedDatasetCollectionType(BaseDatasetCollectionType): """ Paired (left/right) datasets. """ collection_type = "paired"
[docs] def __init__(self): pass
[docs] def generate_elements(self, elements): forward_dataset = elements.get(FORWARD_IDENTIFIER, None) reverse_dataset = elements.get(REVERSE_IDENTIFIER, None) if not forward_dataset or not reverse_dataset: self._validation_failed(INVALID_IDENTIFIERS_MESSAGE) left_association = DatasetCollectionElement( element=forward_dataset, element_identifier=FORWARD_IDENTIFIER, ) right_association = DatasetCollectionElement( element=reverse_dataset, element_identifier=REVERSE_IDENTIFIER, ) yield left_association yield right_association
[docs] def prototype_elements(self): left_association = DatasetCollectionElement( element=HistoryDatasetAssociation(), element_identifier=FORWARD_IDENTIFIER, ) right_association = DatasetCollectionElement( element=HistoryDatasetAssociation(), element_identifier=REVERSE_IDENTIFIER, ) yield left_association yield right_association