jump-portrait


Namejump-portrait JSON
Version 0.0.24 PyPI version JSON
download
home_pageNone
SummaryTools to fetch and visualize JUMP images
upload_time2024-10-08 20:58:11
maintainerNone
docs_urlNone
authorAlan Munoz
requires_python<3.12,>=3.10
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Table of Contents

Fetch, visualize and.or download images from the JUMP dataset.

## Workflow

### Workflow 1: Download all images for a given item and their controls

```python
item_name = "MYT1"  # Item or Compound of interest - (GC)OI
# channels = ["bf"]  # Standard channels are ER, AGP, Mito DNA and RNA
channels = ["DNA"]  # Standard channels are ER, AGP, Mito DNA and RNA
corrections = ["Orig"]  # Can also be "Illum"
controls = True  # Fetch controls in plates alongside (GC)OI?

download_item_images(item_name, channels, corrections=corrections, controls=controls)
```

### Workflow 2: get images from explicit metadata

Fetch one image for a given item and a control
```python
from jump_portrait.fetch import get_jump_image, get_sample
from jump_portrait.save import download_item_images

sample = get_sample()

source, batch, plate, well, site, *rest = sample.row(0)
channel = "DNA"
correction = None # or "Illum"

img = get_jump_image(source, batch, plate, well, channel, site, correction)
```


Workflow 3: Fetch bright field channel
Note that this is hacky and may not work for all sources.
```python
from jump_portrait.fetch import get_jump_image, get_sample
from jump_portrait.save import download_item_images

sample = get_sample()

channel = "bf"
correction = None

source, batch, plate, well, site, *rest = sample.row(0)
img = get_jump_image(source, batch, plate, well, channel, site, correction)
```

### Developer
First, we Locate the images produced to a given perturbation.

```python 
from jump_portrait.fetch import get_item_location_info

gene = "MYT1"

location_df = get_item_location_info(gene)
Returns a polars dataframe whose columns contain the metadata 
alongside path and file locations

#┌───────────┬───────────┬───────────┬───────────┬───┬───────────┬───────────┬───────────┬──────────┐
#│ Metadata_ ┆ Metadata_ ┆ Metadata_ ┆ Metadata_ ┆ … ┆ PathName_ ┆ Metadata_ ┆ Metadata_ ┆ standard │
#│ Source    ┆ Batch     ┆ Plate     ┆ Well      ┆   ┆ OrigRNA   ┆ PlateType ┆ JCP2022   ┆ _key     │
#│ ---       ┆ ---       ┆ ---       ┆ ---       ┆   ┆ ---       ┆ ---       ┆ ---       ┆ ---      │
#│ str       ┆ str       ┆ str       ┆ str       ┆   ┆ str       ┆ str       ┆ str       ┆ str      │
#╞═══════════╪═══════════╪═══════════╪═══════════╪═══╪═══════════╪═══════════╪═══════════╪══════════╡
#│ source_13 ┆ 20220914_ ┆ CP-CC9-R1 ┆ B05       ┆ … ┆ s3://cell ┆ CRISPR    ┆ JCP2022_8 ┆ MYT1     │
#│           ┆ Run1      ┆ -20       ┆           ┆   ┆ painting- ┆           ┆ 04400     ┆          │
#│           ┆           ┆           ┆           ┆   ┆ gallery/c ┆           ┆           ┆          │
#│           ┆           ┆           ┆           ┆   ┆ pg001…    ┆           ┆           ┆          │
#│ source_13 ┆ 20220914_ ┆ CP-CC9-R1 ┆ B05       ┆ … ┆ s3://cell ┆ CRISPR    ┆ JCP2022_8 ┆ MYT1     │
#│           ┆ Run1      ┆ -20       ┆           ┆   ┆ painting- ┆           ┆ 04400     ┆          │
#│           ┆           ┆           ┆           ┆   ┆ gallery/c ┆           ┆           ┆          │
#│           ┆           ┆           ┆           ┆   ┆ pg001…    ┆           ┆           ┆          │
#│ source_13 ┆ 20220914_ ┆ CP-CC9-R1 ┆ B05       ┆ … ┆ s3://cell ┆ CRISPR    ┆ JCP2022_8 ┆ MYT1     │
#│           ┆ Run1      ┆ -20       ┆           ┆   ┆ painting- ┆           ┆ 04400     ┆          │
#│           ┆           ┆           ┆           ┆   ┆ gallery/c ┆           ┆           ┆          │
#│           ┆           ┆           ┆           ┆   ┆ pg001…    ┆           ┆           ┆          │
#│ source_13 ┆ 20220914_ ┆ CP-CC9-R1 ┆ B05       ┆ … ┆ s3://cell ┆ CRISPR    ┆ JCP2022_8 ┆ MYT1     │
#│           ┆ Run1      ┆ -20       ┆           ┆   ┆ painting- ┆           ┆ 04400     ┆          │
#│           ┆           ┆           ┆           ┆   ┆ gallery/c ┆           ┆           ┆          │
#│           ┆           ┆           ┆           ┆   ┆ pg001…    ┆           ┆           ┆          │
#│ source_13 ┆ 20220914_ ┆ CP-CC9-R1 ┆ B05       ┆ … ┆ s3://cell ┆ CRISPR    ┆ JCP2022_8 ┆ MYT1     │
#│           ┆ Run1      ┆ -20       ┆           ┆   ┆ painting- ┆           ┆ 04400     ┆          │
#│           ┆           ┆           ┆           ┆   ┆ gallery/c ┆           ┆           ┆          │
#│           ┆           ┆           ┆           ┆   ┆ pg001…    ┆           ┆           ┆          │
#└───────────┴───────────┴───────────┴───────────┴───┴───────────┴───────────┴───────────┴──────────┘
```

The columns of these dataframes are:
```
Metadata_[Source/Batch/Plate/Well/Site]:
 - Source: Source in the range 0-14.
 - Plate: Plate containing a multitude of wells. It is a string.
 - Batch: Collection of plates imaged at around the same time. It is a string.
 - Well: Physical location wherein the experiment was performed and imaged. It is a string with format [SNN] where S={A-P} and NN={00-24}.
 - Site: Foci or frame taken in a the well, these are 0-9 for the ORF and CRISPR datasets and 1-6 for the compounds dataset.
[File/Path]name_[Illum/Orig][Channel] 
    
 - Illum: Illumination correction 
 - Orig: Original File
 Also, markers can be:
   - DNA: Dna channel, generally Hoecsht.
   - ER: Endoplasmatic Reticulum channel.
   - Mito: Mitochondrial channel.
   - RNA: RNA channel.
standard_key: Gene or compound queried

```

We can then feed this information to `jump_portrait.fetch.get_jump_image` to fetch the available images.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "jump-portrait",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.12,>=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": "Alan Munoz",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/32/f7/1e79cee64af155be98a808711d9178a854251662b0560fc8efaebe469318/jump_portrait-0.0.24.tar.gz",
    "platform": null,
    "description": "# Table of Contents\n\nFetch, visualize and.or download images from the JUMP dataset.\n\n## Workflow\n\n### Workflow 1: Download all images for a given item and their controls\n\n```python\nitem_name = \"MYT1\"  # Item or Compound of interest - (GC)OI\n# channels = [\"bf\"]  # Standard channels are ER, AGP, Mito DNA and RNA\nchannels = [\"DNA\"]  # Standard channels are ER, AGP, Mito DNA and RNA\ncorrections = [\"Orig\"]  # Can also be \"Illum\"\ncontrols = True  # Fetch controls in plates alongside (GC)OI?\n\ndownload_item_images(item_name, channels, corrections=corrections, controls=controls)\n```\n\n### Workflow 2: get images from explicit metadata\n\nFetch one image for a given item and a control\n```python\nfrom jump_portrait.fetch import get_jump_image, get_sample\nfrom jump_portrait.save import download_item_images\n\nsample = get_sample()\n\nsource, batch, plate, well, site, *rest = sample.row(0)\nchannel = \"DNA\"\ncorrection = None # or \"Illum\"\n\nimg = get_jump_image(source, batch, plate, well, channel, site, correction)\n```\n\n\nWorkflow 3: Fetch bright field channel\nNote that this is hacky and may not work for all sources.\n```python\nfrom jump_portrait.fetch import get_jump_image, get_sample\nfrom jump_portrait.save import download_item_images\n\nsample = get_sample()\n\nchannel = \"bf\"\ncorrection = None\n\nsource, batch, plate, well, site, *rest = sample.row(0)\nimg = get_jump_image(source, batch, plate, well, channel, site, correction)\n```\n\n### Developer\nFirst, we Locate the images produced to a given perturbation.\n\n```python \nfrom jump_portrait.fetch import get_item_location_info\n\ngene = \"MYT1\"\n\nlocation_df = get_item_location_info(gene)\nReturns a polars dataframe whose columns contain the metadata \nalongside path and file locations\n\n#\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n#\u2502 Metadata_ \u2506 Metadata_ \u2506 Metadata_ \u2506 Metadata_ \u2506 \u2026 \u2506 PathName_ \u2506 Metadata_ \u2506 Metadata_ \u2506 standard \u2502\n#\u2502 Source    \u2506 Batch     \u2506 Plate     \u2506 Well      \u2506   \u2506 OrigRNA   \u2506 PlateType \u2506 JCP2022   \u2506 _key     \u2502\n#\u2502 ---       \u2506 ---       \u2506 ---       \u2506 ---       \u2506   \u2506 ---       \u2506 ---       \u2506 ---       \u2506 ---      \u2502\n#\u2502 str       \u2506 str       \u2506 str       \u2506 str       \u2506   \u2506 str       \u2506 str       \u2506 str       \u2506 str      \u2502\n#\u255e\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u256a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u256a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u256a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u256a\u2550\u2550\u2550\u256a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u256a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u256a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u256a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\n#\u2502 source_13 \u2506 20220914_ \u2506 CP-CC9-R1 \u2506 B05       \u2506 \u2026 \u2506 s3://cell \u2506 CRISPR    \u2506 JCP2022_8 \u2506 MYT1     \u2502\n#\u2502           \u2506 Run1      \u2506 -20       \u2506           \u2506   \u2506 painting- \u2506           \u2506 04400     \u2506          \u2502\n#\u2502           \u2506           \u2506           \u2506           \u2506   \u2506 gallery/c \u2506           \u2506           \u2506          \u2502\n#\u2502           \u2506           \u2506           \u2506           \u2506   \u2506 pg001\u2026    \u2506           \u2506           \u2506          \u2502\n#\u2502 source_13 \u2506 20220914_ \u2506 CP-CC9-R1 \u2506 B05       \u2506 \u2026 \u2506 s3://cell \u2506 CRISPR    \u2506 JCP2022_8 \u2506 MYT1     \u2502\n#\u2502           \u2506 Run1      \u2506 -20       \u2506           \u2506   \u2506 painting- \u2506           \u2506 04400     \u2506          \u2502\n#\u2502           \u2506           \u2506           \u2506           \u2506   \u2506 gallery/c \u2506           \u2506           \u2506          \u2502\n#\u2502           \u2506           \u2506           \u2506           \u2506   \u2506 pg001\u2026    \u2506           \u2506           \u2506          \u2502\n#\u2502 source_13 \u2506 20220914_ \u2506 CP-CC9-R1 \u2506 B05       \u2506 \u2026 \u2506 s3://cell \u2506 CRISPR    \u2506 JCP2022_8 \u2506 MYT1     \u2502\n#\u2502           \u2506 Run1      \u2506 -20       \u2506           \u2506   \u2506 painting- \u2506           \u2506 04400     \u2506          \u2502\n#\u2502           \u2506           \u2506           \u2506           \u2506   \u2506 gallery/c \u2506           \u2506           \u2506          \u2502\n#\u2502           \u2506           \u2506           \u2506           \u2506   \u2506 pg001\u2026    \u2506           \u2506           \u2506          \u2502\n#\u2502 source_13 \u2506 20220914_ \u2506 CP-CC9-R1 \u2506 B05       \u2506 \u2026 \u2506 s3://cell \u2506 CRISPR    \u2506 JCP2022_8 \u2506 MYT1     \u2502\n#\u2502           \u2506 Run1      \u2506 -20       \u2506           \u2506   \u2506 painting- \u2506           \u2506 04400     \u2506          \u2502\n#\u2502           \u2506           \u2506           \u2506           \u2506   \u2506 gallery/c \u2506           \u2506           \u2506          \u2502\n#\u2502           \u2506           \u2506           \u2506           \u2506   \u2506 pg001\u2026    \u2506           \u2506           \u2506          \u2502\n#\u2502 source_13 \u2506 20220914_ \u2506 CP-CC9-R1 \u2506 B05       \u2506 \u2026 \u2506 s3://cell \u2506 CRISPR    \u2506 JCP2022_8 \u2506 MYT1     \u2502\n#\u2502           \u2506 Run1      \u2506 -20       \u2506           \u2506   \u2506 painting- \u2506           \u2506 04400     \u2506          \u2502\n#\u2502           \u2506           \u2506           \u2506           \u2506   \u2506 gallery/c \u2506           \u2506           \u2506          \u2502\n#\u2502           \u2506           \u2506           \u2506           \u2506   \u2506 pg001\u2026    \u2506           \u2506           \u2506          \u2502\n#\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n```\n\nThe columns of these dataframes are:\n```\nMetadata_[Source/Batch/Plate/Well/Site]:\n - Source: Source in the range 0-14.\n - Plate: Plate containing a multitude of wells. It is a string.\n - Batch: Collection of plates imaged at around the same time. It is a string.\n - Well: Physical location wherein the experiment was performed and imaged. It is a string with format [SNN] where S={A-P} and NN={00-24}.\n - Site: Foci or frame taken in a the well, these are 0-9 for the ORF and CRISPR datasets and 1-6 for the compounds dataset.\n[File/Path]name_[Illum/Orig][Channel] \n    \n - Illum: Illumination correction \n - Orig: Original File\n Also, markers can be:\n   - DNA: Dna channel, generally Hoecsht.\n   - ER: Endoplasmatic Reticulum channel.\n   - Mito: Mitochondrial channel.\n   - RNA: RNA channel.\nstandard_key: Gene or compound queried\n\n```\n\nWe can then feed this information to `jump_portrait.fetch.get_jump_image` to fetch the available images.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Tools to fetch and visualize JUMP images",
    "version": "0.0.24",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e0933cc9bec3225456a446d411406a085b7532b1b16ab5462d6821094616fecc",
                "md5": "cb76573c2b866c83babdc9ecc4f11926",
                "sha256": "7b2d34cba503a17a0e03d769f9a95b2884b232f678d55635bccf3d16717cf9be"
            },
            "downloads": -1,
            "filename": "jump_portrait-0.0.24-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "cb76573c2b866c83babdc9ecc4f11926",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.12,>=3.10",
            "size": 12730,
            "upload_time": "2024-10-08T20:58:10",
            "upload_time_iso_8601": "2024-10-08T20:58:10.417091Z",
            "url": "https://files.pythonhosted.org/packages/e0/93/3cc9bec3225456a446d411406a085b7532b1b16ab5462d6821094616fecc/jump_portrait-0.0.24-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "32f71e79cee64af155be98a808711d9178a854251662b0560fc8efaebe469318",
                "md5": "4c77a7c6983b59259d132820c12d0204",
                "sha256": "73e0de8b6390e0d44c5529fe57f3d4d99b786fd82e83e856e5a5fe34dccaeb3e"
            },
            "downloads": -1,
            "filename": "jump_portrait-0.0.24.tar.gz",
            "has_sig": false,
            "md5_digest": "4c77a7c6983b59259d132820c12d0204",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.12,>=3.10",
            "size": 11562,
            "upload_time": "2024-10-08T20:58:11",
            "upload_time_iso_8601": "2024-10-08T20:58:11.924453Z",
            "url": "https://files.pythonhosted.org/packages/32/f7/1e79cee64af155be98a808711d9178a854251662b0560fc8efaebe469318/jump_portrait-0.0.24.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-08 20:58:11",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "jump-portrait"
}
        
Elapsed time: 0.42092s