예제 #1
0
    def __init__(self,
                 sequences,
                 metadata=None,
                 positional_metadata=None,
                 minter=None,
                 index=None):
        if isinstance(sequences, TabularMSA):
            if metadata is None and sequences.has_metadata():
                metadata = sequences.metadata
            if (positional_metadata is None
                    and sequences.has_positional_metadata()):
                positional_metadata = sequences.positional_metadata
            if minter is None and index is None:
                index = sequences.index

        self._seqs = pd.Series([])
        self.extend(sequences, minter=minter, index=index)

        MetadataMixin._init_(self, metadata=metadata)
        PositionalMetadataMixin._init_(self,
                                       positional_metadata=positional_metadata)
예제 #2
0
    def __init__(self, sequences, metadata=None, positional_metadata=None,
                 minter=None, index=None):
        # TODO: optimize this to not append Series for each sequence.
        self._seqs = pd.Series([])
        for sequence in sequences:
            self.append(sequence)

        if minter is not None and index is not None:
            raise ValueError(
                "Cannot use both `minter` and `index` at the same time.")
        if minter is not None:
            self.reassign_index(minter=minter)
        elif index is not None:
            # Cast to Index to identify tuples as a MultiIndex to match
            # pandas constructor. Just setting would make an index of tuples.
            if not isinstance(index, pd.Index):
                index = pd.Index(index)
            self.index = index

        MetadataMixin._init_(self, metadata=metadata)
        PositionalMetadataMixin._init_(
            self, positional_metadata=positional_metadata)
예제 #3
0
            def __init__(self, axis_len, positional_metadata=None):
                self._axis_len = axis_len

                PositionalMetadataMixin._init_(
                    self, positional_metadata=positional_metadata)
예제 #4
0
            def __init__(self, axis_len, positional_metadata=None):
                self._axis_len = axis_len

                PositionalMetadataMixin._init_(self, positional_metadata=positional_metadata)