|
34 | 34 | "cell_type": "code", |
35 | 35 | "execution_count": 1, |
36 | 36 | "metadata": {}, |
37 | | - "outputs": [], |
| 37 | + "outputs": [ |
| 38 | + { |
| 39 | + "name": "stdout", |
| 40 | + "output_type": "stream", |
| 41 | + "text": [ |
| 42 | + "\n" |
| 43 | + ] |
| 44 | + } |
| 45 | + ], |
38 | 46 | "source": [ |
39 | 47 | "%pip install mudata" |
40 | 48 | ] |
|
53 | 61 | "cell_type": "code", |
54 | 62 | "execution_count": 3, |
55 | 63 | "metadata": {}, |
| 64 | + "outputs": [ |
| 65 | + { |
| 66 | + "data": { |
| 67 | + "text/plain": [ |
| 68 | + "<mudata._core.config.set_options at 0x148b0fa90>" |
| 69 | + ] |
| 70 | + }, |
| 71 | + "execution_count": 3, |
| 72 | + "metadata": {}, |
| 73 | + "output_type": "execute_result" |
| 74 | + } |
| 75 | + ], |
| 76 | + "source": [ |
| 77 | + "mudata.set_options(pull_on_update=False)" |
| 78 | + ] |
| 79 | + }, |
| 80 | + { |
| 81 | + "cell_type": "code", |
| 82 | + "execution_count": 4, |
| 83 | + "metadata": {}, |
56 | 84 | "outputs": [], |
57 | 85 | "source": [ |
58 | 86 | "import numpy as np\n", |
|
68 | 96 | }, |
69 | 97 | { |
70 | 98 | "cell_type": "code", |
71 | | - "execution_count": 4, |
| 99 | + "execution_count": 5, |
72 | 100 | "metadata": {}, |
73 | 101 | "outputs": [], |
74 | 102 | "source": [ |
|
122 | 150 | }, |
123 | 151 | { |
124 | 152 | "cell_type": "code", |
125 | | - "execution_count": 5, |
| 153 | + "execution_count": 6, |
126 | 154 | "metadata": {}, |
127 | 155 | "outputs": [ |
128 | 156 | { |
|
145 | 173 | "name": "stderr", |
146 | 174 | "output_type": "stream", |
147 | 175 | "text": [ |
148 | | - "/usr/local/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/mudata/src/mudata/_core/mudata.py:869: UserWarning: Cannot join columns with the same name because var_names are intersecting.\n", |
149 | | - " warnings.warn(\n", |
150 | | - "/usr/local/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/mudata/src/mudata/_core/mudata.py:1478: UserWarning: Modality names will be prepended to var_names since there are identical var_names in different modalities.\n", |
| 176 | + "/usr/local/opt/python@3.11/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/mudata/_core/mudata.py:1558: UserWarning: Modality names will be prepended to var_names since there are identical var_names in different modalities.\n", |
151 | 177 | " warnings.warn(\n" |
152 | 178 | ] |
153 | 179 | } |
|
179 | 205 | }, |
180 | 206 | { |
181 | 207 | "cell_type": "code", |
182 | | - "execution_count": 6, |
| 208 | + "execution_count": 7, |
183 | 209 | "metadata": {}, |
184 | 210 | "outputs": [ |
185 | 211 | { |
|
190 | 216 | " dtype='object')" |
191 | 217 | ] |
192 | 218 | }, |
193 | | - "execution_count": 6, |
| 219 | + "execution_count": 7, |
194 | 220 | "metadata": {}, |
195 | 221 | "output_type": "execute_result" |
196 | 222 | } |
|
237 | 263 | "source": [ |
238 | 264 | "### Filtering data\n", |
239 | 265 | "\n", |
240 | | - "In rare cases some observations (or variables) can be dropped from all the contained modalities:" |
| 266 | + "In some cases some observations (or variables) can be dropped from all the contained modalities:" |
241 | 267 | ] |
242 | 268 | }, |
243 | 269 | { |
244 | 270 | "cell_type": "code", |
245 | | - "execution_count": 7, |
| 271 | + "execution_count": 8, |
246 | 272 | "metadata": {}, |
247 | 273 | "outputs": [], |
248 | 274 | "source": [ |
249 | | - "smaller_mdata = MuData({\n", |
250 | | - " \"mod1\": mod1[:900].copy(),\n", |
251 | | - " \"mod2\": mod2[:900].copy(),\n", |
252 | | - "})" |
| 275 | + "mdata.obs[\"dummy_index\"] = range(len(mdata))\n", |
| 276 | + "\n", |
| 277 | + "smaller_mdata = mdata.copy()\n", |
| 278 | + "\n", |
| 279 | + "smaller_mdata.mod['mod1'] = mod1[:900]\n", |
| 280 | + "smaller_mdata.mod['mod2'] = mod2[:900]" |
253 | 281 | ] |
254 | 282 | }, |
255 | 283 | { |
256 | 284 | "cell_type": "markdown", |
257 | 285 | "metadata": {}, |
258 | 286 | "source": [ |
259 | | - "While `smaller_mdata` includes `mod1` and `mod2` as its modalities, it currently does not know about this change:" |
| 287 | + "While `smaller_mdata` now includes modalities with fewer observations, it currently does not know about this change:" |
260 | 288 | ] |
261 | 289 | }, |
262 | 290 | { |
263 | 291 | "cell_type": "code", |
264 | | - "execution_count": 8, |
| 292 | + "execution_count": 9, |
265 | 293 | "metadata": {}, |
266 | 294 | "outputs": [ |
267 | 295 | { |
268 | 296 | "data": { |
269 | 297 | "text/html": [ |
270 | | - "<pre>MuData object with n_obs × n_vars = 900 × 300\n", |
| 298 | + "<pre>MuData object with n_obs × n_vars = 1000 × 300\n", |
| 299 | + " obs:\t'dummy_index'\n", |
271 | 300 | " 2 modalities\n", |
272 | 301 | " mod1:\t900 x 100\n", |
273 | 302 | " mod2:\t900 x 200</pre>" |
274 | 303 | ], |
275 | 304 | "text/plain": [ |
276 | | - "MuData object with n_obs × n_vars = 900 × 300\n", |
| 305 | + "MuData object with n_obs × n_vars = 1000 × 300\n", |
| 306 | + " obs:\t'dummy_index'\n", |
277 | 307 | " 2 modalities\n", |
278 | 308 | " mod1:\t900 x 100\n", |
279 | 309 | " mod2:\t900 x 200" |
280 | 310 | ] |
281 | 311 | }, |
282 | | - "execution_count": 8, |
| 312 | + "execution_count": 9, |
283 | 313 | "metadata": {}, |
284 | 314 | "output_type": "execute_result" |
285 | 315 | } |
|
288 | 318 | "smaller_mdata" |
289 | 319 | ] |
290 | 320 | }, |
| 321 | + { |
| 322 | + "cell_type": "code", |
| 323 | + "execution_count": 10, |
| 324 | + "metadata": {}, |
| 325 | + "outputs": [ |
| 326 | + { |
| 327 | + "name": "stdout", |
| 328 | + "output_type": "stream", |
| 329 | + "text": [ |
| 330 | + "999\n" |
| 331 | + ] |
| 332 | + } |
| 333 | + ], |
| 334 | + "source": [ |
| 335 | + "print(max(smaller_mdata.obs['dummy_index']))" |
| 336 | + ] |
| 337 | + }, |
291 | 338 | { |
292 | 339 | "cell_type": "markdown", |
293 | 340 | "metadata": {}, |
|
297 | 344 | }, |
298 | 345 | { |
299 | 346 | "cell_type": "code", |
300 | | - "execution_count": 9, |
| 347 | + "execution_count": 11, |
301 | 348 | "metadata": {}, |
302 | 349 | "outputs": [ |
303 | 350 | { |
304 | 351 | "data": { |
305 | 352 | "text/html": [ |
306 | 353 | "<pre>MuData object with n_obs × n_vars = 900 × 300\n", |
| 354 | + " obs:\t'dummy_index'\n", |
307 | 355 | " 2 modalities\n", |
308 | 356 | " mod1:\t900 x 100\n", |
309 | 357 | " mod2:\t900 x 200</pre>" |
310 | 358 | ], |
311 | 359 | "text/plain": [ |
312 | 360 | "MuData object with n_obs × n_vars = 900 × 300\n", |
| 361 | + " obs:\t'dummy_index'\n", |
313 | 362 | " 2 modalities\n", |
314 | 363 | " mod1:\t900 x 100\n", |
315 | 364 | " mod2:\t900 x 200" |
316 | 365 | ] |
317 | 366 | }, |
318 | | - "execution_count": 9, |
| 367 | + "execution_count": 11, |
319 | 368 | "metadata": {}, |
320 | 369 | "output_type": "execute_result" |
321 | 370 | } |
|
325 | 374 | "smaller_mdata" |
326 | 375 | ] |
327 | 376 | }, |
| 377 | + { |
| 378 | + "cell_type": "code", |
| 379 | + "execution_count": 12, |
| 380 | + "metadata": {}, |
| 381 | + "outputs": [ |
| 382 | + { |
| 383 | + "name": "stdout", |
| 384 | + "output_type": "stream", |
| 385 | + "text": [ |
| 386 | + "899\n" |
| 387 | + ] |
| 388 | + } |
| 389 | + ], |
| 390 | + "source": [ |
| 391 | + "print(max(smaller_mdata.obs['dummy_index']))" |
| 392 | + ] |
| 393 | + }, |
328 | 394 | { |
329 | 395 | "cell_type": "markdown", |
330 | 396 | "metadata": {}, |
|
350 | 416 | }, |
351 | 417 | { |
352 | 418 | "cell_type": "code", |
353 | | - "execution_count": 10, |
| 419 | + "execution_count": 13, |
354 | 420 | "metadata": {}, |
355 | 421 | "outputs": [], |
356 | 422 | "source": [ |
|
366 | 432 | }, |
367 | 433 | { |
368 | 434 | "cell_type": "code", |
369 | | - "execution_count": 11, |
| 435 | + "execution_count": 14, |
370 | 436 | "metadata": {}, |
371 | 437 | "outputs": [ |
372 | 438 | { |
373 | 439 | "data": { |
374 | 440 | "text/plain": [ |
375 | | - "Index([], dtype='object')" |
| 441 | + "Index(['dummy_index'], dtype='object')" |
376 | 442 | ] |
377 | 443 | }, |
378 | | - "execution_count": 11, |
| 444 | + "execution_count": 14, |
379 | 445 | "metadata": {}, |
380 | 446 | "output_type": "execute_result" |
381 | 447 | } |
|
393 | 459 | }, |
394 | 460 | { |
395 | 461 | "cell_type": "code", |
396 | | - "execution_count": 12, |
| 462 | + "execution_count": 15, |
397 | 463 | "metadata": {}, |
398 | 464 | "outputs": [ |
399 | 465 | { |
400 | 466 | "data": { |
401 | 467 | "text/plain": [ |
402 | | - "<mudata._core.config.set_options at 0x3597fec00>" |
| 468 | + "<mudata._core.config.set_options at 0x1491e95d0>" |
403 | 469 | ] |
404 | 470 | }, |
405 | | - "execution_count": 12, |
| 471 | + "execution_count": 15, |
406 | 472 | "metadata": {}, |
407 | 473 | "output_type": "execute_result" |
408 | 474 | } |
|
414 | 480 | }, |
415 | 481 | { |
416 | 482 | "cell_type": "code", |
417 | | - "execution_count": 13, |
| 483 | + "execution_count": 16, |
418 | 484 | "metadata": {}, |
419 | 485 | "outputs": [ |
420 | 486 | { |
421 | 487 | "name": "stdout", |
422 | 488 | "output_type": "stream", |
423 | 489 | "text": [ |
424 | | - "Index([], dtype='object')\n" |
| 490 | + "Index(['dummy_index'], dtype='object')\n" |
425 | 491 | ] |
426 | 492 | } |
427 | 493 | ], |
|
439 | 505 | }, |
440 | 506 | { |
441 | 507 | "cell_type": "code", |
442 | | - "execution_count": 14, |
| 508 | + "execution_count": 17, |
443 | 509 | "metadata": {}, |
444 | 510 | "outputs": [ |
445 | 511 | { |
446 | 512 | "name": "stdout", |
447 | 513 | "output_type": "stream", |
448 | 514 | "text": [ |
449 | | - "Index(['mod1:mod1_profiled'], dtype='object')\n" |
| 515 | + "Index(['dummy_index', 'mod1:mod1_profiled'], dtype='object')\n" |
450 | 516 | ] |
451 | 517 | } |
452 | 518 | ], |
|
457 | 523 | }, |
458 | 524 | { |
459 | 525 | "cell_type": "code", |
460 | | - "execution_count": 15, |
| 526 | + "execution_count": 18, |
461 | 527 | "metadata": {}, |
462 | 528 | "outputs": [], |
463 | 529 | "source": [ |
|
475 | 541 | }, |
476 | 542 | { |
477 | 543 | "cell_type": "code", |
478 | | - "execution_count": 16, |
| 544 | + "execution_count": 19, |
479 | 545 | "metadata": {}, |
480 | 546 | "outputs": [ |
481 | 547 | { |
482 | 548 | "name": "stdout", |
483 | 549 | "output_type": "stream", |
484 | 550 | "text": [ |
485 | | - "Index(['mod1_profiled'], dtype='object')\n" |
| 551 | + "Index(['dummy_index', 'mod1_profiled'], dtype='object')\n" |
486 | 552 | ] |
487 | 553 | } |
488 | 554 | ], |
|
514 | 580 | }, |
515 | 581 | { |
516 | 582 | "cell_type": "code", |
517 | | - "execution_count": 17, |
| 583 | + "execution_count": 20, |
518 | 584 | "metadata": {}, |
519 | 585 | "outputs": [], |
520 | 586 | "source": [ |
|
527 | 593 | }, |
528 | 594 | { |
529 | 595 | "cell_type": "code", |
530 | | - "execution_count": 18, |
| 596 | + "execution_count": 21, |
531 | 597 | "metadata": {}, |
532 | 598 | "outputs": [ |
533 | 599 | { |
|
588 | 654 | "mod2:88 B" |
589 | 655 | ] |
590 | 656 | }, |
591 | | - "execution_count": 18, |
| 657 | + "execution_count": 21, |
592 | 658 | "metadata": {}, |
593 | 659 | "output_type": "execute_result" |
594 | 660 | } |
|
629 | 695 | "name": "python", |
630 | 696 | "nbconvert_exporter": "python", |
631 | 697 | "pygments_lexer": "ipython3", |
632 | | - "version": "3.12.3" |
| 698 | + "version": "3.11.9" |
633 | 699 | }, |
634 | 700 | "toc": { |
635 | 701 | "base_numbering": 1, |
|
0 commit comments