https://github.com/broadinstitute/pe2loaddata

Script to parse a Phenix metadata XML file and generate a .CSV for CellProfiler's loaddata module

https://github.com/broadinstitute/pe2loaddata

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.3%) to scientific vocabulary

Keywords

carpenter-lab
Last synced: 10 months ago · JSON representation

Repository

Script to parse a Phenix metadata XML file and generate a .CSV for CellProfiler's loaddata module

Basic Info
  • Host: GitHub
  • Owner: broadinstitute
  • License: bsd-2-clause
  • Language: Python
  • Default Branch: master
  • Size: 71.1 MB
Statistics
  • Stars: 2
  • Watchers: 12
  • Forks: 7
  • Open Issues: 15
  • Releases: 1
Topics
carpenter-lab
Created over 10 years ago · Last pushed about 1 year ago
Metadata Files
Readme License

README.md

pe2loaddata

Script to parse a Phenix metadata XML file and generate a .CSV for CellProfiler's loaddata module. Tested for XML files made by Harmony versions V1, V5, and V7, but as far as we know supports all.

To install:

git clone https://github.com/broadinstitute/pe2loaddata.git cd pe2loaddata/ pip install -e .

To run CSV creation based on the XML file:

pe2loaddata --index-directory <index-directory> config.yml output.csv

where <index-directory> is the directory containing the Index.idx.xml or Index.xml file and the images (any image set that is not complete will not be written to the CSV), config.yml is the LoadData configuration file and output.csv is the CSV that will be generated.

The config.yml file lets you name the channels you want to save and lets you pull metadata out of the image. An example:

channels:
    HOECHST 33342: OrigDNA
    Alexa 568: OrigAGP
    Alexa 647: OrigMito
    Alexa 488: OrigER
    488 long: OrigRNA
metadata:
    Row: Row
    Col: Col
    FieldID: FieldID
    PlaneID: PlaneID
    ChannelID: ChannelID
    ChannelName: ChannelName
    ImageResolutionX: ImageResolutionX
    ImageResolutionY: ImageResolutionY
    ImageSizeX: ImageSizeX
    ImageSizeY: ImageSizeY
    BinningX: BinningX
    BinningY: BinningY
    MaxIntensity: MaxIntensity
    PositionX: PositionX
    PositionY: PositionY
    PositionZ: PositionZ
    AbsPositionZ: AbsPositionZ
    AbsTime: AbsTime
    MainExcitationWavelength: MainExcitationWavelength
    MainEmissionWavelength: MainEmissionWavelength
    ObjectiveMagnification: ObjectiveMagnification
    ObjectiveNA: ObjectiveNA
    ExposureTime: ExposureTime

In the above example, "HOECHST 33342" is the label for the DNA channel and if you load the .csv file in LoadData, you will get an image named "DNA" in your image set.

The metadata section selects items out of the image metadata and allows you to rename them as metadata. In addition, pe2loaddata automatically populates the plate, well and site metadata entriess.

pe2loaddata now supports experiments with multiple planes per field as long as the PlaneID field has been set in the config file.

pe2loaddata also supports creating CSVs based on index-file and index-directory locations on AWS S3; note that the --search-subdirectories flag is mandatory for running on AWS. See pe2loaddata --help for more information on tunable parameters.

pe2loaddata --index-directory s3://cellpainting-gallery/cpg0001-cellpainting-protocol/source_4/images/2020_06_19_Stain2_Batch1/images/BR00113255__2020-06-19T11_13_27-Measurement2/Images/ --index-file s3://cellpainting-gallery/cpg0001-cellpainting-protocol/source_4/images/2020_06_19_Stain2_Batch1/images/BR00113255__2020-06-19T11_13_27-Measurement2/Images/Index.idx.xml config_remote.yml output.csv --search-subdirectories

To run CSV creation based on the XML file, AND to append illumination columns (note that this requires the CellProfiler names in your config file to start with Orig, which will be replaced by Illum)

pe2loaddata --index-directory <index-directory> config.yml output.csv --illum --illum-directory <illum-directory> --plate-id <plate-id> --illum-output output_with_illum.csv

where <illum-directory> is the directory where illumination files are (or will be) and <plate-id> is the plate ID that will be used by CellProfiler in your illumination files' names.

If you've already generated output.csv and want to only add the illum files to it, you can run with

pe2loaddata --index-directory <index-directory> config.yml output.csv --illum-only --illum-directory <illum-directory> --plate-id <plate-id> --illum-output output_with_illum.csv

Owner

  • Name: Broad Institute
  • Login: broadinstitute
  • Kind: organization
  • Location: Cambridge, MA

Broad Institute of MIT and Harvard

GitHub Events

Total
  • Create event: 5
  • Release event: 1
  • Issues event: 4
  • Watch event: 1
  • Delete event: 3
  • Issue comment event: 6
  • Push event: 15
  • Pull request event: 5
  • Pull request review comment event: 5
  • Pull request review event: 6
Last Year
  • Create event: 5
  • Release event: 1
  • Issues event: 4
  • Watch event: 1
  • Delete event: 3
  • Issue comment event: 6
  • Push event: 15
  • Pull request event: 5
  • Pull request review comment event: 5
  • Pull request review event: 6

Issues and Pull Requests

Last synced: over 1 year ago

All Time
  • Total issues: 27
  • Total pull requests: 24
  • Average time to close issues: 5 months
  • Average time to close pull requests: 2 months
  • Total issue authors: 9
  • Total pull request authors: 6
  • Average comments per issue: 1.67
  • Average comments per pull request: 1.04
  • Merged pull requests: 15
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 6
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 2 months
  • Issue authors: 2
  • Pull request authors: 2
  • Average comments per issue: 3.0
  • Average comments per pull request: 1.33
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • shntnu (6)
  • ErinWeisbart (3)
  • dlogan (3)
  • bethac07 (2)
  • jimmib78 (1)
  • pearlryder (1)
  • jenna-tomkinson (1)
  • emiglietta (1)
  • adamananos (1)
  • kboit (1)
Pull Request Authors
  • bethac07 (9)
  • shntnu (6)
  • sugan89 (2)
  • peterawe (1)
  • FrenkT (1)
  • dlogan (1)
Top Labels
Issue Labels
enhancement (2)
Pull Request Labels

Dependencies

setup.py pypi
  • PyYAML >=5.3.1
  • click >=7.1.2