|
6 | 6 |
|
7 | 7 | import biocframe |
8 | 8 | import biocutils as ut |
| 9 | +from summarizedexperiment import SummarizedExperiment |
9 | 10 | from summarizedexperiment._combineutils import ( |
10 | 11 | check_assays_are_equal, |
11 | 12 | merge_assays, |
@@ -1277,6 +1278,86 @@ def combine_columns(self, *other) -> SingleCellExperiment: |
1277 | 1278 | """Wrapper around :py:func:`~combine_columns`.""" |
1278 | 1279 | return combine_columns(self, *other) |
1279 | 1280 |
|
| 1281 | + ####################### |
| 1282 | + ######>> to rse <<##### |
| 1283 | + ####################### |
| 1284 | + |
| 1285 | + def to_rangedsummarizedexperiment(self) -> RangedSummarizedExperiment: |
| 1286 | + """Coerce to :py:class:`~summarizedexperiment.RangedSummarizedExperiment.RangedSummarizedExperiment`. |
| 1287 | +
|
| 1288 | + Returns: |
| 1289 | + A ``RangedSummarizedExperiment`` object. |
| 1290 | + """ |
| 1291 | + return RangedSummarizedExperiment( |
| 1292 | + assays=self._assays, |
| 1293 | + row_ranges=self._row_ranges, |
| 1294 | + row_data=self._rows, |
| 1295 | + column_data=self._cols, |
| 1296 | + row_names=self._row_names, |
| 1297 | + column_names=self._column_names, |
| 1298 | + metadata=self._metadata, |
| 1299 | + _validate=False, |
| 1300 | + ) |
| 1301 | + |
| 1302 | + def to_rse(self) -> RangedSummarizedExperiment: |
| 1303 | + """Alias for :py:meth:`~to_rangedsummarizedexperiment`.""" |
| 1304 | + return self.to_rangedsummarizedexperiment() |
| 1305 | + |
| 1306 | + @classmethod |
| 1307 | + def from_rangedsummarizedexperiment(cls, rse: RangedSummarizedExperiment) -> SingleCellExperiment: |
| 1308 | + """Coerce from :py:class:`~summarizedexperiment.RangedSummarizedExperiment.RangedSummarizedExperiment`. |
| 1309 | +
|
| 1310 | + Args: |
| 1311 | + rse: |
| 1312 | + A ``RangedSummarizedExperiment`` object. |
| 1313 | +
|
| 1314 | + Returns: |
| 1315 | + A ``SingleCellExperiment`` object. |
| 1316 | + """ |
| 1317 | + return cls( |
| 1318 | + assays=rse.assays, |
| 1319 | + row_ranges=rse.row_ranges, |
| 1320 | + row_data=rse.row_data, |
| 1321 | + column_data=rse.col_data, |
| 1322 | + row_names=rse.row_names, |
| 1323 | + column_names=rse.column_names, |
| 1324 | + metadata=rse.metadata, |
| 1325 | + ) |
| 1326 | + |
| 1327 | + @classmethod |
| 1328 | + def from_rse(cls, rse: RangedSummarizedExperiment) -> SingleCellExperiment: |
| 1329 | + """Alias for :py:meth:`~from_rangedsummarizedexperiment`.""" |
| 1330 | + return cls.from_rangedsummarizedexperiment(rse) |
| 1331 | + |
| 1332 | + ######################## |
| 1333 | + ######>> from se <<##### |
| 1334 | + ######################## |
| 1335 | + |
| 1336 | + @classmethod |
| 1337 | + def from_summarizedexperiment(cls, se: SummarizedExperiment) -> SingleCellExperiment: |
| 1338 | + """Coerce from :py:class:`~summarizedexperiment.SummarizedExperiment.SummarizedExperiment`. |
| 1339 | +
|
| 1340 | + Args: |
| 1341 | + se: |
| 1342 | + A ``SummarizedExperiment`` object. |
| 1343 | +
|
| 1344 | + Returns: |
| 1345 | + A ``SingleCellExperiment`` object. |
| 1346 | + """ |
| 1347 | + return cls( |
| 1348 | + assays=se.assays, |
| 1349 | + row_data=se.row_data, |
| 1350 | + column_data=se.col_data, |
| 1351 | + row_names=se.row_names, |
| 1352 | + column_names=se.column_names, |
| 1353 | + metadata=se.metadata, |
| 1354 | + ) |
| 1355 | + |
| 1356 | + @classmethod |
| 1357 | + def from_se(cls, se: SummarizedExperiment) -> SingleCellExperiment: |
| 1358 | + """Alias for :py:meth:`~from_summarizedexperiment`.""" |
| 1359 | + return cls.from_summarizedexperiment(se) |
| 1360 | + |
1280 | 1361 |
|
1281 | 1362 | ############################ |
1282 | 1363 | ######>> combine ops <<##### |
|
0 commit comments