Source code for snputils.snp.io.write.grg

import pygrgl as pyg


from typing import Optional, Union, List, Tuple



[docs] class GRGWriter: def __init__(self, grgobj: Union[pyg.GRG, pyg.MutableGRG], filename: str): self.grgobj = grgobj self.mutability = False if isinstance(self.grgobj, pyg.GRG) else True self.filename = filename
[docs] def write(self, allow_simplify : Optional[bool] = None, subset : Optional[bool] = None, direction : Optional[pyg.TraversalDirection] = None, seed_list : Optional[List[int]] = None, bp_range : Optional[Tuple[int, int]] = None): """ """ if subset: if direction is None: raise ValueError("If subset is True, 'direction' must be provided.") if seed_list is None: raise ValueError("If subset is True, 'seed_list' must be provided.") _bp_range = (0,0) if bp_range is None else bp_range pyg.save_subset(self.grgobj, self.filename, direction, seed_list, _bp_range) else: _allow_simplify = True if allow_simplify is None else allow_simplify pyg.save_grg(self.grgobj, self.filename, _allow_simplify)