Example #1
0
 def _parse_and_add_from_stream(self,
         stream,
         schema,
         exclude_trees=False,
         exclude_chars=False,
         **kwargs):
     # exclude_trees = kwargs.pop("exclude_trees", False)
     # exclude_chars = kwargs.pop("exclude_chars", False)
     taxon_namespace = taxonmodel.process_kwargs_dict_for_taxon_namespace(kwargs, None)
     if (self.attached_taxon_namespace is not None
             and taxon_namespace is not None
             and self.attached_taxon_namespace is not taxon_namespace):
         raise ValueError("DataSet has attached TaxonNamespace that is not the same as ``taxon_namespace``")
     if self.attached_taxon_namespace is not None and taxon_namespace is None:
         taxon_namespace = self.attached_taxon_namespace
     label = kwargs.pop("label", None)
     reader = dataio.get_reader(schema, **kwargs)
     n_tns = len(self.taxon_namespaces)
     n_tree_lists = len(self.tree_lists)
     n_char_matrices = len(self.char_matrices)
     reader.read_dataset(
             stream=stream,
             dataset=self,
             taxon_namespace=taxon_namespace,
             exclude_trees=exclude_trees,
             exclude_chars=exclude_chars,
             state_alphabet_factory=charstatemodel.StateAlphabet,
             )
     n_tns2 = len(self.taxon_namespaces)
     n_tree_lists2 = len(self.tree_lists)
     n_char_matrices2 = len(self.char_matrices)
     return (n_tns2-n_tns,
             n_tree_lists2-n_tree_lists,
             n_char_matrices2-n_char_matrices)
Example #2
0
 def _parse_and_create_from_stream(cls,
         stream,
         schema,
         **kwargs):
     """
     Constructs a new |DataSet| object and populates it with data
     from file-like object ``stream``.
     """
     exclude_trees = kwargs.pop("exclude_trees", False)
     exclude_chars = kwargs.pop("exclude_chars", False)
     taxon_namespace = taxonmodel.process_kwargs_dict_for_taxon_namespace(kwargs, None)
     label = kwargs.pop("label", None)
     dataset = DataSet(label=label)
     if taxon_namespace is not None:
         dataset.attached_taxon_namespace = taxon_namespace
     reader = dataio.get_reader(schema, **kwargs)
     reader.read_dataset(
             stream=stream,
             dataset=dataset,
             taxon_namespace=taxon_namespace,
             exclude_trees=exclude_trees,
             exclude_chars=exclude_chars,
             state_alphabet_factory=charstatemodel.StateAlphabet,
             )
     return dataset