def __getitem__(self, slice_: Tuple[Union[slice, np.ndarray, int], Union[slice, np.ndarray, int]]) -> loompy.LoomView:
if type(slice_) is not tuple or len(slice_) is not <NUM_LIT:2>:<EOL><INDENT>raise ValueError("<STR_LIT>")<EOL><DEDENT>rows = slice_[<NUM_LIT:0>]<EOL>cols = slice_[<NUM_LIT:1>]<EOL>ra = self.ds.ra[rows]<EOL>row_graphs = self.ds.row_graphs[rows]<EOL>ca = self.ds.ca[cols]<EOL>col_graphs = self.ds.col_graphs[cols]<EOL>layers = self.ds.layer[rows, cols]<EOL>return loompy.LoomView(layers, ra, ca, row_graphs, col_graphs, filename=self.ds.filename, file_attrs=self.ds.attrs)<EOL>
Create a new view by slicing through the loom file or view

Args:
        slice_ (2-tuple of slice, int or np.ndarray): 	How to slice the file or view

Returns:
        A LoomView object, an in-memory representation of the sliced file