def __init__(self, *args, **kwargs): """__init__ calls TaxonSetLinked.__init__ for handling of `oid`, `label` and `taxon_set` keyword arguments. Can be initialized with: - source keyword arguments (see Readable.process_source_kwargs), or - a single unnamed CharacterMatrix instance (which will be deep-copied). """ TaxonSetLinked.__init__( self, taxon_set=kwargs.get("taxon_set", None), label=kwargs.get("label", None), oid=kwargs.get("oid", None) ) self.taxon_seq_map = CharacterDataMap() self.character_types = [] self.character_subsets = containers.OrderedCaselessDict() self.markup_as_sequences = True if len(args) > 1: raise error.TooManyArgumentsError(func_name=self.__class__.__name__, max_args=1, args=args) if len(args) == 1: if ("stream" in kwargs and kwargs["stream"] is not None) or ( "schema" in kwargs and kwargs["schema"] is not None ): raise error.MultipleInitializationSourceError(class_name=self.__class__.__name__, arg=args[0]) if isinstance(args[0], self.__class__): self.clone_from(args[0]) else: raise error.InvalidArgumentValueError(func_name=self.__class__.__name__, arg=args[0]) else: self.process_source_kwargs(**kwargs) if "oid" in kwargs: self.oid = kwargs["oid"] if "label" in kwargs: self.label = kwargs["label"]