From ed4d7c70764da757af6a99f14ff67fd156fbd5e2 Mon Sep 17 00:00:00 2001 From: Petr Walczysko Date: Wed, 3 Jun 2020 19:16:20 +0100 Subject: [PATCH 01/17] Add metadata import section --- docs/index.rst | 1 + docs/metadata.rst | 98 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 docs/metadata.rst diff --git a/docs/index.rst b/docs/index.rst index 32d4838..077d8a6 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -8,3 +8,4 @@ Contents: import render + metadata diff --git a/docs/metadata.rst b/docs/metadata.rst new file mode 100644 index 0000000..2123aff --- /dev/null +++ b/docs/metadata.rst @@ -0,0 +1,98 @@ +Import metadata using the Command Line Interface (CLI) +======================================================= + +Description: +------------ + +This chapter will show how to import metadata starting from a local CSV file and ending with OMERO.tables on images or Key-Value pairs on images using the Command Line Interface (CLI) and the OMERO server-side scripts. + +This action is typically done after a successful import of images. + +We will show: + +- How to import metadata from local CSV file in a bulk manner and turn them into OMERO.tables on images using CLI + +- How to turn the OMERO.tables on images into Key-Value pair annotations on images in bulk manner using CLI + +- How to import metadata from local CSV file and use a server-side script in OMERO to turn these into OMERO.tables on images + +- How to construct a simple file to turn the metadata stored in OMERO.tables into Key-Value pairs on images using CLI + +**Resources:** +-------------- + +- Documentation: + + - https://docs.openmicroscopy.org/latest/omero/users/cli/installation.html + + - `https://docs.openmicroscopy.org/omero/latest/users/cli/index.html `__ + +- Data: example images from + + - IDR data http://idr.openmicroscopy.org/webclient/?show=project-51 + +- Metadata plugin for OMERO + + - https://pypi.org/project/omero-metadata/ + +- Bulkmap config yml files defining the various Key-Value pairs parameters, such as the groups and other parameters. + + - https://github.com/IDR/idr0021-lawo-pericentriolarmaterial/blob/9479af85f19487f215e3dfdd31a1b587370ed3cf/experimentA/idr0021-experimentA-bulkmap-config.yml + +- Annotation csv file defines the content of OMERO.tables for each image. + + - https://github.com/IDR/idr0021-lawo-pericentriolarmaterial/blob/9479af85f19487f215e3dfdd31a1b587370ed3cf/experimentA/idr0021-experimentA-annotation.csv + +Setup: +------ + +**Metadata plugin installation** + +- Go to the environment where you installed your OMERO.cli as specified under - https://docs.openmicroscopy.org/latest/omero/users/cli/installation.html. + +- Activate the virtual environment. + +- Run:: + + $ pip install omero-metadata + +**Step-by-step:** +----------------- + +#. On your local machine, open a terminal + +#. Activate the virtual environment where ``omero-py`` is installed or add it to ``PATH`` e.g.:: + + $ export PATH=/opt/omero/server/venv3/bin:$PATH + +#. Download the csv from https://github.com/IDR/idr0021-lawo-pericentriolarmaterial/blob/9479af85f19487f215e3dfdd31a1b587370ed3cf/experimentA/idr0021-experimentA-annotation.csv + +#. The variable ``$ID​`` below is the ID of the ​Project, in this example case it is the Project containing the idr0021 study. To add annotations from a local csv file to the images in the said Project in the form of OMERO.tables, run:: + + $ omero metadata populate --report --batch 1000 --file local/path/to/idr0021-experimentA-annotation.csv Project:$ID + +#. Open your browser and login to the OMERO.web. Navigate to the Project you just worked with, expand the "Attachments" harmonica in the right-hand pane and verify that a new attachment is on that Project named ``bulk_annotations``. + +#. You can inspect its content by clicking on the "eye" icon inside the annotation. + +#. Select an image inside the Project and expand the "Tables" harmonica in the right-hand pane. These tables contain the appropriate line from the ``bulk_annotations`` attachment you just created for that particular image. + +#. Go back to your terminal. Download the idr0021-experimentA-bulkmap-config.yml file https://github.com/IDR/idr0021-lawo-pericentriolarmaterial/blob/9479af85f19487f215e3dfdd31a1b587370ed3cf/experimentA/idr0021-experimentA-bulkmap-config.yml. + +#. Open the downloaded file in a text editor and delete the ``Advanced options...`` section. Save the file and run:: + + $ omero metadata populate --context bulkmap --cfg local/path/to/idr0021-experimentA-bulkmap-config.yml --batch 100 Project:$ID + +#. Go to your browser and OMERO.web, select the images in the Project you targeted and verify that they have now new Key-Value pair annotations displayed in the right-hand pane. + +#. Still in OMERO.web, create a new Dataset and copy into it 4 images, preferably images which have nor OMERO.tables on them neither any Key-Value pairs attached. Note the names of the images you are copying in. + +#. Go to the https://pypi.org/project/omero-metadata/ and find the section named ``populate``. Copy the ``project.csv`` from that section and paste it locally, either into your text editor, or into Microsoft Excel. Edit the names of the images in the first column to match the names of the images you copied into your Dataset in the previous step. Also, edit the name of the Dataset in the second column to match the name of your Dataset in OMERO.web. Save the file locally as csv. + +#. In your OMERO.web, upload the csv you just saved and attach it onto the Dataset you created previously. + +#. Select the Dataset you created and attached to it the csv. Find the script icon above the central pane, expand it and find the ``Import scripts`` section. In there, select the ``Populate metadata`` script. + +#. Run the script. + +#. Go back to the Dataset and observe that there is a new Attachment in the right hand pane under "Attachments" harmonica. Click on single images inside the Dataset and observe that in the "Tables" harmonica in the right-hand pane there are new values coming originally from your edited csv. \ No newline at end of file From c8dd50cdc1d40ab0d13ab86c88e93ae71fc3ea12 Mon Sep 17 00:00:00 2001 From: Petr Walczysko Date: Thu, 4 Jun 2020 13:53:58 +0100 Subject: [PATCH 02/17] Add simple annotation csv --- docs/simple-annotation.csv | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 docs/simple-annotation.csv diff --git a/docs/simple-annotation.csv b/docs/simple-annotation.csv new file mode 100644 index 0000000..f6aea95 --- /dev/null +++ b/docs/simple-annotation.csv @@ -0,0 +1,34 @@ +Dataset Name,Image Name,Characteristics [Organism],Characteristics [Cell Line],Characteristics [Cell Cycle Phase],Experimental Condition [Antibody Target],Comment [Targeted Protein],Comment [Gene Identifier],Comment [Gene Symbol],Comment [Gene Symbol Synonyms],Has Phenotype,Phenotype Annotation Level,Phenotype 1,Phenotype 1 Term Name,Phenotype 1 Term Accession +siRNAi-HeLa,CSFV_10.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENST00000394818.8,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,CSFV_11.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENST00000394818.9,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,CSFV_12.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,undefined,INCENP,INCENP,ENST00000394818.10,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,IN_01.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,IN_02.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,IN_02.r3d_D3D.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,IN_02.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,IN_03.r3d_D3D.dv,Homo sapiens,HeLa,undefined,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,IN_03.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,undefined,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,scram_01.r3d,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,scram_01.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,scram_02.r3d,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,scram_05.r3d,Homo sapiens,HeLa,undefined,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,scram_06.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,scram_06.r3d_D3D.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,scram_06.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,V-out_01.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,V-out_03.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,V-out_04.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,V-out_04.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,V-out_06.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_01.r3d,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_01.r3d_D3D.dv,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_01.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_02.r3d,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_02.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_03.r3d_D3D.dv,Homo sapiens,HeLa,Anaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_04.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_04.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_06.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_06.r3d_D3D.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_07.r3d,Homo sapiens,HeLa,undefined,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_07.r3d_D3D.dv,Homo sapiens,HeLa,undefined,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 \ No newline at end of file From 53af69dbf2497d5aae91a2e190dc72a1ceb0573c Mon Sep 17 00:00:00 2001 From: Petr Walczysko Date: Thu, 4 Jun 2020 15:34:53 +0100 Subject: [PATCH 03/17] Delete the "undefined" items, empty cells will be ignored --- docs/simple-annotation.csv | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/simple-annotation.csv b/docs/simple-annotation.csv index f6aea95..9a23b03 100644 --- a/docs/simple-annotation.csv +++ b/docs/simple-annotation.csv @@ -1,17 +1,17 @@ Dataset Name,Image Name,Characteristics [Organism],Characteristics [Cell Line],Characteristics [Cell Cycle Phase],Experimental Condition [Antibody Target],Comment [Targeted Protein],Comment [Gene Identifier],Comment [Gene Symbol],Comment [Gene Symbol Synonyms],Has Phenotype,Phenotype Annotation Level,Phenotype 1,Phenotype 1 Term Name,Phenotype 1 Term Accession siRNAi-HeLa,CSFV_10.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENST00000394818.8,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 siRNAi-HeLa,CSFV_11.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENST00000394818.9,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,CSFV_12.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,undefined,INCENP,INCENP,ENST00000394818.10,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,CSFV_12.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,,INCENP,INCENP,ENST00000394818.10,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 siRNAi-HeLa,IN_01.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 siRNAi-HeLa,IN_02.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 siRNAi-HeLa,IN_02.r3d_D3D.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 siRNAi-HeLa,IN_02.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,IN_03.r3d_D3D.dv,Homo sapiens,HeLa,undefined,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,IN_03.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,undefined,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,IN_03.r3d_D3D.dv,Homo sapiens,HeLa,,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,IN_03.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 siRNAi-HeLa,scram_01.r3d,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 siRNAi-HeLa,scram_01.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 siRNAi-HeLa,scram_02.r3d,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,scram_05.r3d,Homo sapiens,HeLa,undefined,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,scram_05.r3d,Homo sapiens,HeLa,,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 siRNAi-HeLa,scram_06.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 siRNAi-HeLa,scram_06.r3d_D3D.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 siRNAi-HeLa,scram_06.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 @@ -30,5 +30,5 @@ siRNAi-HeLa,VRAQ_04.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG0000014 siRNAi-HeLa,VRAQ_04.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 siRNAi-HeLa,VRAQ_06.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 siRNAi-HeLa,VRAQ_06.r3d_D3D.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,VRAQ_07.r3d,Homo sapiens,HeLa,undefined,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,VRAQ_07.r3d_D3D.dv,Homo sapiens,HeLa,undefined,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 \ No newline at end of file +siRNAi-HeLa,VRAQ_07.r3d,Homo sapiens,HeLa,,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_07.r3d_D3D.dv,Homo sapiens,HeLa,,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 \ No newline at end of file From d9acb71c5f3a1406f7454820e475095795407067 Mon Sep 17 00:00:00 2001 From: Simon Li Date: Thu, 4 Jun 2020 18:06:29 +0100 Subject: [PATCH 04/17] Add example simple-annotation-bulkmap-config.yml This corresponds to simple-annotation.csv For example, run: omero metadata populate --context bulkmap --cfg simple-annotation-bulkmap-config.yml Dataset:2066 To delete the map-annotations added by the above config file run: omero metadata populate --context deletemap --cfg simple-annotation-bulkmap-config.yml Dataset:2066 --- docs/simple-annotation-bulkmap-config.yml | 135 ++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 docs/simple-annotation-bulkmap-config.yml diff --git a/docs/simple-annotation-bulkmap-config.yml b/docs/simple-annotation-bulkmap-config.yml new file mode 100644 index 0000000..d65f253 --- /dev/null +++ b/docs/simple-annotation-bulkmap-config.yml @@ -0,0 +1,135 @@ +--- +name: simple-annotation +version: 1 + +defaults: + # Should the column be processed when creating bulk-annotations (yes/no) + include: no + # Columns type of the bulk-annotations column + type: string + + # If non-empty a string used to separate multiple fields in a column + # White space will be stripped + split: + # Should this column be included in the clients (yes/no) + includeclient: yes + # Should this column be visible in the clients, if no the column should be + # hidden in the client but will still be indexed by the searcher (yes/no) + visible: yes + # Should empty values be omitted from the client display + omitempty: yes + +# This is the list of column names taken from simple-annotation.csv: +# +# Dataset Name +# Image Name +# Characteristics [Organism] +# Characteristics [Cell Line] +# Characteristics [Cell Cycle Phase] +# Experimental Condition [Antibody Target] +# Comment [Targeted Protein] +# Comment [Gene Identifier] +# Comment [Gene Symbol] +# Comment [Gene Symbol Synonyms] +# Has Phenotype +# Phenotype Annotation Level +# Phenotype 1 +# Phenotype 1 Term Name +# Phenotype 1 Term Accession +# +# You can choose which of these appear in the default map annotations. +# In the defaults section of this configuration "include" is set to +# "no" which means if you do not add a column it won't be displayed in +# the map annotations. + +columns: + + ###################################################################### + # These columns will appear in the default map annotation namespace + # openmicroscopy.org/omero/bulk_annotations + ###################################################################### + - name: Dataset Name + include: yes + - name: Image Name + include: yes + - name: Characteristics [Cell Cycle Phase] + # "clientname" can be used to override the column name in the + # key of the map-annotation key-value. The default is to use + # the column name + clientname: Cell Cycle Phase + include: yes + - name: Experimental Condition [Antibody Target] + clientname: Antibody Target + include: yes + - name: Comment [Targeted Protein] + clientname: Targeted Protein + include: yes + - name: Has Phenotype + include: yes + - name: Phenotype Annotation Level + include: yes + + ###################################################################### + # The columns in these groups will appear as separate namespaced map- + # annotations. Mapr can be configured to restrict a query to one of + # these namespaces. + ###################################################################### + + - group: + namespace: openmicroscopy.org/mapr/organism + columns: + - name: Characteristics [Organism] + clientname: Organism + include: yes + + - group: + namespace: openmicroscopy.org/mapr/cell_line + columns: + - name: Characteristics [Cell Line] + clientname: Cell Line + include: yes + + - group: + namespace: openmicroscopy.org/mapr/gene + columns: + # If mapr finds two sets of key-value pairs with names + # "Column Name" and "Column Name URL" it will automatically + # combine them into one hyperlinked value + # This is why "Comment [Gene Identifier]" is listed twice, the + # first indicates the text, the second indicates the hyperlink + - name: Comment [Gene Identifier] + clientname: Gene Identifier + include: yes + omitempty: no + - name: Comment [Gene Identifier] + clientname: Gene Identifier URL + # "clientvalue" can be used to override the value of the map- + # annotation key-value. The "value" is substituted using + # Jinja2 templates. + clientvalue: http://www.ensembl.org/id/{{ value|urlencode }} + include: yes + - name: Comment [Gene Symbol] + clientname: Gene Symbol + include: yes + omitempty: no + - name: Comment [Gene Symbol Synonyms] + clientname: Gene Symbol Synonyms + include: yes + omitempty: no + + - group: + namespace: openmicroscopy.org/mapr/phenotype + columns: + - name: Phenotype 1 + clientname: Phenotype + include: yes + - name: Phenotype 1 Term Name + clientname: Phenotype Term Name + include: yes + - name: Phenotype 1 Term Accession + clientname: Phenotype Term Accession + include: yes + - name: Phenotype 1 Term Accession + clientname: Phenotype Term Accession URL + clientvalue: http://www.ebi.ac.uk/cmpo/{{ value|urlencode }} + include: yes From 1156874bc1137b93864395bcb19f201d9e8db942 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Fri, 5 Jun 2020 14:20:17 +0100 Subject: [PATCH 05/17] Update docs/metadata.rst Co-authored-by: Mark Carroll --- docs/metadata.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/metadata.rst b/docs/metadata.rst index 2123aff..65c1947 100644 --- a/docs/metadata.rst +++ b/docs/metadata.rst @@ -1,5 +1,5 @@ Import metadata using the Command Line Interface (CLI) -======================================================= +====================================================== Description: ------------ @@ -95,4 +95,4 @@ Setup: #. Run the script. -#. Go back to the Dataset and observe that there is a new Attachment in the right hand pane under "Attachments" harmonica. Click on single images inside the Dataset and observe that in the "Tables" harmonica in the right-hand pane there are new values coming originally from your edited csv. \ No newline at end of file +#. Go back to the Dataset and observe that there is a new Attachment in the right hand pane under "Attachments" harmonica. Click on single images inside the Dataset and observe that in the "Tables" harmonica in the right-hand pane there are new values coming originally from your edited csv. From 79b3691bfb31cd302d1cacfeca6d31bd04ca8438 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Fri, 5 Jun 2020 14:20:36 +0100 Subject: [PATCH 06/17] Update docs/metadata.rst Co-authored-by: Mark Carroll --- docs/metadata.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/metadata.rst b/docs/metadata.rst index 65c1947..d90cc5d 100644 --- a/docs/metadata.rst +++ b/docs/metadata.rst @@ -10,7 +10,7 @@ This action is typically done after a successful import of images. We will show: -- How to import metadata from local CSV file in a bulk manner and turn them into OMERO.tables on images using CLI +- How to import metadata from local CSV file in a bulk manner and turn them into OMERO.tables on images using CLI - How to turn the OMERO.tables on images into Key-Value pair annotations on images in bulk manner using CLI From 14c2c3cc2823c709feb1fc68d21813c437a8ccdc Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Fri, 5 Jun 2020 14:20:54 +0100 Subject: [PATCH 07/17] Update docs/metadata.rst Co-authored-by: Mark Carroll --- docs/metadata.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/metadata.rst b/docs/metadata.rst index d90cc5d..6358277 100644 --- a/docs/metadata.rst +++ b/docs/metadata.rst @@ -85,7 +85,7 @@ Setup: #. Go to your browser and OMERO.web, select the images in the Project you targeted and verify that they have now new Key-Value pair annotations displayed in the right-hand pane. -#. Still in OMERO.web, create a new Dataset and copy into it 4 images, preferably images which have nor OMERO.tables on them neither any Key-Value pairs attached. Note the names of the images you are copying in. +#. Still in OMERO.web, create a new Dataset and copy into it 4 images, preferably images which have neither OMERO.tables on them nor any Key-Value pairs attached. Note the names of the images you are copying in. #. Go to the https://pypi.org/project/omero-metadata/ and find the section named ``populate``. Copy the ``project.csv`` from that section and paste it locally, either into your text editor, or into Microsoft Excel. Edit the names of the images in the first column to match the names of the images you copied into your Dataset in the previous step. Also, edit the name of the Dataset in the second column to match the name of your Dataset in OMERO.web. Save the file locally as csv. From 4554098849c4eb991f81408df8dfce8d3cfcc0ae Mon Sep 17 00:00:00 2001 From: Petr Walczysko Date: Mon, 8 Jun 2020 17:45:05 +0100 Subject: [PATCH 08/17] Add downloadable csv cf. Simons comment --- docs/four-images.csv | 6 ++++++ docs/metadata.rst | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 docs/four-images.csv diff --git a/docs/four-images.csv b/docs/four-images.csv new file mode 100644 index 0000000..d41e3c0 --- /dev/null +++ b/docs/four-images.csv @@ -0,0 +1,6 @@ +# header s,s,d,l,s +Image Name,Dataset Name,ROI_Area,Channel_Index,Channel_Name +Centrin_PCNT_Cep215_20110506_Fri-1608_0_SIR_PRJ.dv,dataset01,0.0469,1,DAPI +Cep215_PCNT_gtub_20110506_Fri-1721_0_SIR_PRJ.dv,dataset01,0.142,2,GFP +Cep215_PCNT_NEDD1_20110505_Thu-1403_0_SIR_PRJ.dv,dataset01,0.093,3,TRITC +siControl_N20_Cep215_I_20110411_Mon-1509_0_SIR_PRJ.dv,dataset01,0.429,4,Cy5 \ No newline at end of file diff --git a/docs/metadata.rst b/docs/metadata.rst index 6358277..ef8faa2 100644 --- a/docs/metadata.rst +++ b/docs/metadata.rst @@ -39,9 +39,10 @@ We will show: - https://github.com/IDR/idr0021-lawo-pericentriolarmaterial/blob/9479af85f19487f215e3dfdd31a1b587370ed3cf/experimentA/idr0021-experimentA-bulkmap-config.yml -- Annotation csv file defines the content of OMERO.tables for each image. +- Annotation csv files define the content of OMERO.tables for each image. - https://github.com/IDR/idr0021-lawo-pericentriolarmaterial/blob/9479af85f19487f215e3dfdd31a1b587370ed3cf/experimentA/idr0021-experimentA-annotation.csv + - :download:`four-images.csv ` Setup: ------ @@ -87,7 +88,7 @@ Setup: #. Still in OMERO.web, create a new Dataset and copy into it 4 images, preferably images which have neither OMERO.tables on them nor any Key-Value pairs attached. Note the names of the images you are copying in. -#. Go to the https://pypi.org/project/omero-metadata/ and find the section named ``populate``. Copy the ``project.csv`` from that section and paste it locally, either into your text editor, or into Microsoft Excel. Edit the names of the images in the first column to match the names of the images you copied into your Dataset in the previous step. Also, edit the name of the Dataset in the second column to match the name of your Dataset in OMERO.web. Save the file locally as csv. +#. Go to the https://pypi.org/project/omero-metadata/ and find the section named ``populate``. Study the ``project.csv``. You can either take the ``project.csv`` file from there, or more conveniently, you can download directly its copy :download:`four-images.csv `. Open the csv in Excel and edit the names of the images in the first column to match the names of the images you copied into your Dataset in the previous step. Also, edit the name of the Dataset in the second column to match the name of your Dataset in OMERO.web. Save the file locally as csv. #. In your OMERO.web, upload the csv you just saved and attach it onto the Dataset you created previously. From 1bc11c6f15b0ec38439312ed1560292b7de57d68 Mon Sep 17 00:00:00 2001 From: Petr Walczysko Date: Mon, 8 Jun 2020 17:50:20 +0100 Subject: [PATCH 09/17] Unify links order cf. Josh comment --- docs/metadata.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/metadata.rst b/docs/metadata.rst index ef8faa2..3bc0cc5 100644 --- a/docs/metadata.rst +++ b/docs/metadata.rst @@ -23,7 +23,7 @@ We will show: - Documentation: - - https://docs.openmicroscopy.org/latest/omero/users/cli/installation.html + - https://docs.openmicroscopy.org/omero/latest/users/cli/installation.html - `https://docs.openmicroscopy.org/omero/latest/users/cli/index.html `__ @@ -49,7 +49,7 @@ Setup: **Metadata plugin installation** -- Go to the environment where you installed your OMERO.cli as specified under - https://docs.openmicroscopy.org/latest/omero/users/cli/installation.html. +- Go to the environment where you installed your OMERO.cli as specified under - https://docs.openmicroscopy.org/omero/latest/users/cli/installation.html. - Activate the virtual environment. From 0d70b401dceedbf0977bd618a8da4ee69d1506f8 Mon Sep 17 00:00:00 2001 From: Petr Walczysko Date: Tue, 9 Jun 2020 12:31:08 +0100 Subject: [PATCH 10/17] Add screenshots, improve text --- docs/images/metadata1.png | Bin 0 -> 15145 bytes docs/images/metadata2.png | Bin 0 -> 4065 bytes docs/images/metadata3.png | Bin 0 -> 44063 bytes docs/images/metadata4.png | Bin 0 -> 28310 bytes docs/images/metadata5.png | Bin 0 -> 12608 bytes docs/images/metadata6.png | Bin 0 -> 4078 bytes docs/images/metadata7.png | Bin 0 -> 8048 bytes docs/images/metadata8.png | Bin 0 -> 16196 bytes docs/images/metadata9.png | Bin 0 -> 21715 bytes docs/metadata.rst | 61 ++++++++++++++++++++++++++++++++++++-- 10 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 docs/images/metadata1.png create mode 100644 docs/images/metadata2.png create mode 100644 docs/images/metadata3.png create mode 100644 docs/images/metadata4.png create mode 100644 docs/images/metadata5.png create mode 100644 docs/images/metadata6.png create mode 100644 docs/images/metadata7.png create mode 100644 docs/images/metadata8.png create mode 100644 docs/images/metadata9.png diff --git a/docs/images/metadata1.png b/docs/images/metadata1.png new file mode 100644 index 0000000000000000000000000000000000000000..da97b624a44ee1946dfafb7bb92d5df7bb6556c3 GIT binary patch literal 15145 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 literal 0 HcmV?d00001 diff --git a/docs/images/metadata2.png b/docs/images/metadata2.png new file mode 100644 index 0000000000000000000000000000000000000000..eb872a7044e6a2c942b423282c29913f0918e78a GIT binary patch literal 4065 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 literal 0 HcmV?d00001 diff --git a/docs/images/metadata3.png b/docs/images/metadata3.png new file mode 100644 index 0000000000000000000000000000000000000000..c385cdc8aaef48ae5c70a8bc678c249387af8920 GIT binary patch literal 44063 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 literal 0 HcmV?d00001 diff --git a/docs/images/metadata4.png b/docs/images/metadata4.png new file mode 100644 index 0000000000000000000000000000000000000000..af964bc872cd6dee9d9071928734c46c706bb358 GIT binary patch literal 28310 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 Uu9+w4pYL$UNh?d0OPB`!9}RRcHUIzs literal 0 HcmV?d00001 diff --git a/docs/images/metadata5.png b/docs/images/metadata5.png new file mode 100644 index 0000000000000000000000000000000000000000..5ddbd3d45208dd0e87fee710bfea91925cc64735 GIT binary patch literal 12608 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 literal 0 HcmV?d00001 diff --git a/docs/images/metadata6.png b/docs/images/metadata6.png new file mode 100644 index 0000000000000000000000000000000000000000..156a5b00d24c63a48f0628e0502509bdefc1c870 GIT binary patch literal 4078 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 literal 0 HcmV?d00001 diff --git a/docs/images/metadata7.png b/docs/images/metadata7.png new file mode 100644 index 0000000000000000000000000000000000000000..411b692111c68f986998c2321d458939f88dfe38 GIT binary patch literal 8048 zcmZX21yCH_()QwuEf(As7I&A$U4lcJL`o`(mgX`+*ks2M6_q&PC}aci2r=GBD#1vGmIh7|m5PdC zNe$;S7gKmR43q4Qx)Td58mZbu;teU&F(M9*I~hxO}A=}Fxm z(SzK&1!UND^zcDR4;SF;?^?tH(X;x)bX}4&Viuw&m8sMp{EB9FunHo{J{(B zQr2zN4Z6_v@?uOox)0O?i1z^Lt3$uJg{XqRd>$Y)hl7nsoj^zH?q=I5O}*hXz`gdf z**v2nv)LS@JH&YxYFHs+02n=IMi31^ezwJG`5O%lC?c#{FmC)Om2l2tM#`8uq#b|z z{^*E!)|bSzFQltq;lW@GQ9+50TcNkkHUnoPiFvPt)Af1s^lnp86>t3Klms%P-WF+O zdrI*iR^C42-u4g~3D+@;$-7CX+97_kSUt(OB|%GWktbT$SpuXnXX?c)s)(ckVBQA_ z*-{!&xkG%uL8YF!_l0vnegz|t6fQTvps-DBT}wjLzHU0n{!8DWlo?^TBrPvJT05<+ z65+Fj;rpc&ln#F2-?Z-51&>Zol$!BG%DlELva3P$aRt${%? zJs&d0OY|}gG7&iZC_jq*`8$>2gUp!wWI8H-hWG?=VS5{}ggXLf#VW2L_Gmi0jtQWp zgr%~j%Eyb?N~yk>0C3b`!fMDQL*877#qyzz-8jwE_r5f!U z0#ZJa9nz`<{u07*w}cZS8A9b2&mm%3H?I@k8WMsyMpzFs2eN380x-x4o48PNB%bao zN``nUHn~e!dp>~SO=RFs0ZlkcME<)ep3KnV}QX z-zC!WE2dDUSr5?&P@=W!-ZhRLt1S&dkC%DQk4U zQ7-^&Ki>@eFwv}LuAyBrT(Y!7X~Yr=As^g!8WF(D#$y8x_FHVDISDy`c0O=wa_VbV z^UTzYvYim|jG6Zn%zhYp5Shw{Fb%~;N0ST|nlAK4rc92v|wG9X4$48+tX zC%!GqCo5UYZ%?HfIvn*H;;>j4(i+W9JW3-@D;m)sLLM$2O&y|0?4bTD38F7yKcF2< z9Zjo95@P3;{^tYpf zba9GGzYnP?X|5G|DP897qn&v-mPWnT(l8>6QGpygqf}o)RZPGf3;`oms2tB^l@Z zl-2Qd7j?Rh(+-ytGfRmUdiLIfk#;}r8y3pPk1HD@cn3c<-T0A~E9Z~XWwB*BHhMI| zuhOlm3mLX~wUM;>w+f4-8%cKA#npH=8QTV|Jl6$RN~QL3eikEFCf6j#671BqdZloB z>7}B#r!SrrrLW;07u@jvUbiGO8hWJh>uT=ZV9KffIdsQzFLlRb=`^OTrLFtv>)(*i z!Gkt&Al2lOxQ_`Rzo%vEgy^I!;yK!%)11qmb5fG#rHGPu5*Y_aocCx2E8cM7!YY3!-V9a=Ap2m2!_ehS_bFqpu_p;MKdk4 zW={K>=B1&fho#E_qo^i!irBgc=J2+rev{!yTAkE#7G;A^mc$msuFIERO1@f;1$W=a zz?Q78!hs2DNgO|}OioQY%-U*4m%otFs}O&rnP#kExs*xNoN4?zZJxFlxwrTp%K`t7 zeWc?^ZgRxyK13+fv{ttsKf1fVyVevIG-5iJ43qs487y-3Ba+FbxbyhK*kgxJQV`rXb)?;qdwyxA~ zvT&DVp`=(HIede3D}3M&To2k-}s-|Eup1T@~YTpg5+M`ZalEjcWA z;J2kT-58akP)IjlkQPVfHT@&-xPvz?X$`#WE@ zN)Hc5jdue&JjY&i7o8t2i}60u+o))$5;Taj3bKBv9Io7HOmFPe^e<^$AzxK}w!B>p zoYgO>m}JOac1iW(dpVhFS##Ybe~ewsQOJ=p9BoCOkjv|GrP`A`mwAawWA`?OZk{gq zoz>3%oYf(#%5GKcTKP17tN%7md2;v{-=ga6%5CFXb=$PZ?6alMW^ZR*(|ZT^joWs= zBhcN0<^5XX6!QKHrBol(k&SIQRaYNB@?{Yc1t@Egp^d0><{^`qp z%yt%DKqxOZzvEi`K&p#-lx&enISQG(QoKL%Z($n-mRZ+xd#XJKd9=Nz# z9+}TaS7-H2pm`8Py z=haw}o4^Wie*%PjM+9#{0YVjkDY+fZ9RRQx>>&p*&{Oy!Mypg`n;j$LBB7r&sHu65 z3D=zhe^KdXV^iy3b8JAaaRLC43)cBP)SH74s&$5YXT(O2%iwVRnfelznAU- z0Jv;xEnPQVWhLkbM|(C?b4N1^HZOap*JCaKAnXNw9ok#CnS#CS?HpX8ULw^0vVgvh z{}HoOga2jXW-CIitE>i=a&)l(^Rn@fYr^?#TgT>mev*96)B(Xex}aj^f}_bXKRA1PGL+RMUD zSK8X%!ol^GL-aK);eXlxf13X={ufg3KS(~_{|5e-;{Slc?El37U-|rRvHm4}t(GX7 zF#EqNFN&sS>R^{vR!R-L81}HsV%YvjRHDN>@6c%>s~tJ7YD+iK($S$}`9@0Sk;T9; zZgWK%D^4#he&i&eW^5dHMnj}zd(n-v1(XLeoPvao9p|KqlIPG+!XVu^@!0X)<5WQH zrBjbsR5=)AD;UN=_MXERds{sgMhe%meg>|js#J2;5`ZTQq(hWLy=+BAMUBs&GrrLp_#Q)Y1~xX>R3L)h zm-4|f%~046c3dy2Sn+Nk!*Wz;VCK6#{|Cm2T#;X%A6?#Yq?|@nF?Chc>#41$G!RFq z@fxz&6C5B3z{5ed2tY5#oc7Mwhw57I-rei;Xe#>F{h@Aj81COx4PYvc4KPL88N@_P zBDAFbY5sBhJK?W^_JlZg$w%%lQ_Ah!yC=C#muK{wk)BUKx?r@IyV#Z3j#N{jj97ik zB1XSBiOs$4+}w24YxVHU)XxF&Du9l&HL2be6()u{FZbvEgqh zypr;+zBwgwR}+r;e|PgP=bp5Q%A1+2Q3G-bh~Qlae+xd|jm!QyTSu_HFP^~}dKk4O zBBKcD(KMF2db2fl#+8l}TSlr`^I=x_dQNxi@DhLumwzJrsZTptYJhEQY$ee622)b4 zD`F|LT*^*2y_6G%uKTiYqt21&@y2ulOiUP^<#d4B6a}ybT?tM#?h^@lu*gOe1)iMP zy>D@$?S4+b^13)Hx8wGk{hy#L1n8;k z#<9fQmWT^Y(ca^s&HX=`gywvm10Su4vll18obH4>{QEoo5oY@H(7<^F0P}DX(>E;Y zQs3Y&3!0e5`(2;K+CBR#1*zlx^MOaRf#V9+&E~fRyEw7pZ8+fViq&>*^JXtz zyG3Vuh*k}e(M)2#AY;UIf@zzELITs?9pmtBsl~c{18K4H!e8H8rP8%(UrbwnVit-&6+)TN|oQ zbVqz*E{xu2BQl#EnR@#m;W?rItuvxSAne=4kn`fZD=OJouRVf+m9%-@2Z?J`&7SS# zzBM&WW=Wi?hMtRgi}ayihhhvQjpvMpUnI<{2?##JbDg<&9VIz?zjL35X2Zod8zqp+&@K6v24vUm1VM{%QfG-RpdzlMpXaws$Oy9p0#Jgg;?W5S|Qf zj_6eo23RDkr0Sa$5`lj&0DZ#V0=$X{V;ADLk8&vB z*vNAHfldH@DHyt(?a;-wN}PBd{a%x7UwBYGS#nqiptx8W^nj5QZjJXjNaI|WVfd|- zwU@BHu%B_3pS(|Uz1}x(xSsHKPf_rOS&h@S^h*95JrMcCj~)e|DEdCa*(wP>kU{Nj zo6UXwj+~ab^8{4u+Bp1fiO&azzo9M1=n))3=nUEF+Q%Nd6A+`k7xLVhDSEr}!q_@F zMNjQuk>G>UD->7(8#(bk`CE0GMvdu>&SAe`v~ot@4X)d9@~1-cJa(Sw?yq1>?-UNg zNKJd;JkI>ci+|N0g2s~0hbf2;rzy@lq+WMUbnCZz+ZfX{Uh-MR{{}q}z=N{tf=Lu# zk0NAwi_dTJMOn!CA&2n7<(5qgh{t&cQnqkex#7@Yz6oHinzLbjUyF^nUat1m+Xb_= zb@ul}Kn$ZFviDm*|GRi0is@THK?$m<8TP?mDfnX8L%al@0^vCM-s~uT++8s2C9`im zbLD*;GFOGtP8Vj}V;Em~5j$VMpHWzW6}P2wc6h`|Ko7|q(yw}29J&3ODb_=)S#&?u z{q@z$=9n^gv(ngP5nde%Jx$>5ULLt-&8xms(uV zKXiDQ*weCUtDm9x5*bAljHDV@@?K(ZTC0_?&YkhFQ7dk3 ztulR+l``TIx>JLaJHv`cnq6xr8YYK>RJ1Iwv>ZYFP#Ge}b}hwJuvkgW`gR~%CfuM@ z?lRos^_MlGXR|Y^OTG51FT$24gM_ac+OZ|J$X`^QC+riN_vjsXG4i-C&6tSrxUp)- z`5u2q_h3nQDvdYw&0g&a+_sWeHjhfQTaTYZooLOsV>U4)yu8GO+nllJ+H9(SHuu)V?iTUF38oZkN6H2Zgdv$Fz*ZxRPOb=gO!PS9v^G%{=5YWu(uziB{s9#hIrsgrm44AZ zLzt#`=>|6f1x8%&CxeJ7Gx3 zO;`Ug4H-hUpWD^V>qKE!Aqn5wQoE*9zHYHnMc=908Dm@F5`dGtnKYB{qVf`b0;Gdd zEq!0^-9`e!Vt&TF<{{j)WTsiuJkf)SLvY`)&!(x^z z5S~K%Abj|-8{=)f70pkIy{c1741$v$J_53{CZkSX9$I9uymC@gi_NU{*u(9)31XzZ z+!MZgr^1?JSDL3!p;n4DJKt=gGi9@+U`aU!;*5M1m|PA0D=XefHL>{S5^D<7h{_KN zinqS{hU*+qQ#2c6G0<-I8N(fVeDw_uqMn#DVS>~!;$5%462+&gHvywiHI3MrKYYvSBpAGo9+>cWkvecn}X%`W>`!Mc8w7iuf; zUe-PLmhAo*K8C9MG;gk!8(Nrq3vIQ@qgAtwSrV_q>QM`k8D6bPw%l!ryA757AoJ`v zXqv{e{%JI_FNn2FLw-E~9`6&E-hz0uFU5f^HAnoTg)KTRb^Ma_kBP4to}7GNQ@*4t zmG}3!@E8$f6=IPp1Kl!mBk{WOz$(}znOqZjf^iq72&fn&7cAkvK!Jyc0JAQ8##^$S zsLlcsUG^8^-P~n4BuQ+QAQ)E#Ln$s9JX_lI-fw|n1%NL}>@$}3c@xBMQeAk3Ke@R* zdNbBH3`gQcxE>`CHpaA&Fux+7)R|)`OKRt~5Vro>5kQokj26FtXb@n8Zqp^7JSADl zvENxx^2hx2V&0`u;^|GtYdMC@@JwQUR;(aUF8$+?CthhHDKm}yb=LeBgxSn5LopLS zxXo(ot7cy0@5F&RVUv_>Jm;;2#zABG9lABp(P7oH!Ig56ry zNytph`Sn}&zVa=0B&Z>(_!-tT z8frG#9Hh+gO*WkJKY+NhSggP)?m~B;b#$DD`t%w)%z+(v_>3W1Z{0dJtTO|q$zXPP zI3SAsiz+Xqzb?iv>!SaZ==PY8CblK~-S1tiPzF#0@yCKuC~T?9t~Eu{dxNPzp{qAr zemR+jCF>eb;IyNLix;lp?`HprwX<%zItm~1dQz8;e7)b`tR6)@N&SUFbRG%HI$Nk$ zs@yUixr?H5IEiQy^d9(o=eAHqDBW__T$*C)!|fbuI#dWp21_(u~Lzsh}e3%o0k&JesTaI6YD)C`%c68Yu!kNYxe$DDvADkjYpPOypHx!++=+q$}rD(6>e(nlYTsLGf zW9{m0o9fac%jDk6;lXcIdi&omEfvoZd{9ITwW6vsFlnscIT@Zm#QiEOrOfLvHFWy` zA>h)DM!LIkMM?14@w={97md(22a-dl#BT*}N@!P%k0`_jIphS&TB>f_E0z7MFY>;&DIt}Y-`Fw#I zGZGIE*9g9}F}7V0z75i})XrCTp8N-7V)udsptc|t#QyCZt{(wI8)DD23A_b_Cow~M z4~l~sQ;*ZJ={vJ6MN)~tJI_Bfh9M)*(ZE_42$qPCil@cXEpx&>wOmTk53x$&Ay)8Z zY6ywbfNL8FS?JW@m(01sg*n~D#U-9l@$m}|D>Sw#6Mg243xSYkg#N{rI)IE0&tVS< z|HgD#p^%rTOYgHB6pJ(7bWy~&%{$ftYvawQLCjiI1t3F-T zq61;A$q3!KEoOX1Iq+V5W6Oz$(p=>#E|c&NfxT+Kim1+Lk3wCSDrgtme- zEH(JWH&Kn}JcJebYDxw1EZnJHI_aTPUAG~UOh&)e&Yq)QE3U*D@%bI_(W-Yl{~cT7 z&?ti3)+Q2MOSDMNK34RzVJExFL0q^v;BAW-^}BZF*lt4@Y)$EHR*bg3&|ctcOT{V- zRx2m%$-`IORP40{bVBsSiPy~Mmkn0eob4S|>ZJ9~hD;4(W0PNDKNvRmm|(|II$d&4 zL6@<&P8!2t-)d`T28_TwS>vVOzZ1T&5=42)eh#K6L_ z@u5dLeh8%j#NP)+UK>*B94tpz7&e4q4D3H9bj~^6@HpQ|VBi6)NZ4;PpT#`RGoQsU zzKfN6Esqe)2joxAm>x(1BtG9}zFJ8_0v{1t%MmwuK*XKBoSr;kOx%gK^K^28HSdjW zFc91`DDkW{0VW|$_FbaC!73eTE0KD?l+o#Z`r>h0QVwPEU`7CfQsXyHWM^{8Us{#{ zz5dQ%5do(Olj+B4`}z?!!&nW$xD^i5?>uj$PV?yC6ApmoOrnUyA*fs<0nsuNUa?~| z)?w+sIPHQ3C^iXQcp>EPY#iK{u?=nUQHSbj*oPkj!$O7_;ew64`z z8Cn^j3_b*Ae1BhN(!C%kbKVTb`7goVh#l#q{8o_1fX!+775QEb<~QMhND2H?=u*Ug z@K_1Sedq%r$@_E5Ltu}1FoBhbhcx#hwF1yy0tgY|4SN-PK}HGjpn4r^p({bb^DwQ! z*9Fj4Ku>!G?7?tBt9~;dgQfPe*rRNKgYv_M_E9rH@CHgi1==HG6$p;~AS;4Q=TAYz za}4dw1EN5U4A{*l35SfxQ<;G%!=wuOndc)9dQa^PeHvWN?=u5xj))zyC7`E|Djj%W z;G#~T3p8)Qwn6|Omf9;}PnHF9G?2L?*^15!+tQnT&GJY`6ROv@N8z6!NLkP*UqZn- z28tFODMDHRR>o2WPzL{rz8GvN=2B=|I9Rq^Hf>Im5m}NiGaGBJ=M0t+G9_FikeXL9 z1362340F7GEO3wc%oQ4~Fp#E?%K$6QO!ln-SINJ;cfm;3kk0VZFqDy?PQ4Pa1Y{NV zF!W1bsg}BqbVX;y)EcrGfh!nqc*lN>9VH8e4r+MNWCz-w%OT9+$iBsXpjFPDvXg8J z`6?!E=qrLeNuu{c^+=* zMqXzM(a7<*`v`-{(uneSR>DatR%-E><_N@S$#}{LenJ=EMG&66l>UfxIAuJwB9V)p zO;|+1r3_yg-38Qz?*ZVVj!$hzIQ>H|o<4;SuuaWZLRhL_g;-uIn6J4L9jJ~}Tvjt8 zFRipu;4XcWvzzL1dbe@taELZ#mEmT!6`b%hp#oW~T)bT4q`T%N+{uXDlDF*vcNDm(zMj<)&x}fXm)8Pu0gCJ zt(`SxHW8d5x*T&xa2{~#a2mB|v4rOGm+r5W13QzmbcER!zNuGzI2WSwkXflH^u zy#u?$x1F0OO;@nTIZ|4zvXTb z?rLuRu=Q~Xq0AA2LEk`Hzn0M07r zZkR0A8Y}s=aXXhgTK$j!SYlx$o%p1Y){)SW2#V>ldJ2d8z~jZ)WkY4dRz{n;)|HW! z=ariw-KZ9N{Md#F>hO-1LH*H4Qni$yG%{MArdTFePOCTW(%#Ci`HwXdgr>Ak+yU|O zi44DP^)K|h3_I$_R||2;WwFdiW-04vZbTB4=9-IUjZ^m{_m{O1Y|;MOMB0tzBt?9l zL(p<13k8eGlgInVdnIlTU8*a=P|;tJ(Y)Q?di?39oJTftILNLs7GQ{WkPWm_xaS`4 z!(l~mM1oeQRu@-uQ^e@_x&>Xq?L_2a9b^rr#H-yd>8WR_HK;pOEvhtIEbW`tPkpTN zSiV`cFP&CS>TzWqCA!(;Iq00WpPfxEr&fK`5?Km)b$j~izR!r}#>9Znfd>Y@%fx2> zc@2J#cu}&;SJ|2BzY;kws2DmNLL1VPQYTgOYkq9IJu07!$nqu^S&@Gob z>0?^0->A>G30T)0vp5hrAZVsv_bu*kH=Kswg`b6YFyS{@m)*?Pa`UZ{tZvu3(B0H7 zR8>;{UKiDMwq(1!DdV;97xn6?KDFcTJ8!NJZPRlTn#)T2dHc}|@n5$O!H?p6-Qw=n z_jTYc;G4dgAPnqtY;5>)ytO$fwn%I-gkijHkHI@}twf9YZquQ|-NN5x$H(J(dwyMR z6Cdi!4$n6wD4yh&vWjx(P5iVRv_@5vHd=f7S!$HA^d|DY8}_ zQ`}iU&KKG?oc8cuW0$ifvW0ZU+aadJa(kSJ_64s*KB7|TJ@h!YFP3~R>*o*V)o`n` z+9i9|JSYEXO2x@ckDjqE%l%pV)4WmJG3z@2ZtAt&-`&unZR@i2r_<*Ies8L&BkJl+N4_~#OcdpOJP*5YJ9f2ud7Vd~wu!r)!`k})RN)vfg56;^bO*2|9);;dI2lgLl z{cx81)AZ}r<(=1~{UbEu3}QHX8oez12mG!l$D8pTwO6&o8kqMVZ-s|3JDDhc?eDAK z(Ro;3Rj*x7bw<4o{zCGq`yFE=;QQS&zU}P`&ypX=LGsP>x%ovrGcmQjQeRpfuoc=} zY`^vJWk}{`?0yHINLK|4fn{ez@^^y-A{++d@A?MhaAV!WO>EvgoJ(|_>)u?N6Hg1| z@&*)K14j6p6Nswvi}p5i$W5FST^&vTy8^bhoj#b>ejA0sK>g^Yi=HV|oDL zKUJKqcmV1$@`OTmjwXaGbj)-N0A6T9LPBmwV^dB=VbTAHfBxbDm^(Y$bJEkhxw+A~ zeW$Z?G^1za;NYNVV4`PYqW!Ev>*QhUY~W67>qPu-BmZqj*u=@m(Zb%@!p@fPt6c*_ zI~Qjj0N_i}|GfU~r-{48|7x;z`p>XF2T1=_LeEIYK>t5&e~NN{J>`_Qa5u457q+l5 zv32^?!TbF?JNG~J|9>U_tMUIxYW%MxBO}NEmHa;?|B>XT{~Eym8PLD8_0QAK>Eeav zrvIO*=Y{?l3t0yOV#<^d7EpEvzR>xmtvp2VLDvCu4jttWMG=PKzE@>#xuv0MSt^Ea zVq$Wju=b=jUoSP!L`_ZGG|$|$aI4yRg@dFdun%#trn7SQk=a6X?nnX1IJp`&^SC>l zd^J7ncq%!LUavI>LZgWWBJPD^08ta>FIVo@DHh#qhx>hac$lP`l3Zm1a0v{S z!vq%fN1}-F@00hxzh^EgA<5UcOR;yMB~w~GsN^P_n@e+m{ih8Rz>lOfplsc++FDVO zWt~VtTz#;Agj=aVSYBWA=Pk46C@WQ2#j_E2P(It#2dnn?zfO*{?JlepISq#h!}`)x z1_mNslnfNpzyR{ux8LDFZWnm7zZw3~kj&4o5W$^w073kF7Z9WW3?}_^^Z+N{hJ;TC(qFhh+9g8Cp8|u1#2*(9$WI}DM=@HPC@lG1p8#q?YA~fL zEMENGhOM=quLy~=2_|4qNxs@Xpsm+g=yX8xv;V)xppwprC)uAd;>!?;muxwYDnr6; zC$&BX8W;b#Q%}{nN|`oWP8*yqjH)|zQ)y|`qcRDf)QHy` z-3(lDIXox8duZY@HED$NHbHLFZ9@(_2$gb+q;q_&85?LoJ*^^O474H+H95D-h&CZC zn79|;NTp8+)La>wDMQ$84%%%S+g}h|k;1zC45foqly$j^nP*(`;-NUDe4njV7ar)> zIXlSBSg=@CihF??yEJ8;dfht|(;eM!Z(A?sTZ+(U)&8HYsE>p|mJ))yG-X<+HhBLi1izl~zv;O#<1eHNR+=)aEF z3q|Bel@q;}+rGU&C&>jQB8)+2JbF>w8_k3q(N~01YY|}hJ|JclK?o^s9k?IN>A}jZ zmz&z1R^HbgUpqNeBcUR3BOHh?1It9lE=kofal+qsu+;0_QIhld)#Jz+Tcfb4dosd| z$`>Y8z>HRk)Mgo1Y}Zfi^@o<#JKss9lXOv*@Pop*W6?t{!vWbc4RzMD+dq^a-TK`v z<>aS$z26sW#EXXq51;0L%wJ)_USS6&t;DFa|5ekbIadjLaEB-)u%Ta^U5Y$=su2+k z9k~jFj1Uf?0O_CQc_pBUniLX@M32E%PTYMW_}s0pUQn%2)W4pL1kV5TM3@^N&$QuX zxE+f(H5i^f4}_ecUjIe#A9S&V^Jd1szW(OlGpJ(u2=lqJmPWbqFgZ&%~CHt;YUz2RzIQ35IF}}xY;f*DfbNI+WogUhbexW z#(jg$g*tU{l2e>n6a>DxZ%f}h7(TKc!X;VR&$O@EnB#qBc>qu)3p!~}vzqFgEQ%dN zYQ?vILwZDkVVVrq&h_GvXOMzIBUr&CT+$v7h|1xnT2ltwUY!D3E((S1YY_qitxy=( z_bNvg*VVP?FzEbuAIDOLpT<7uFmZmBRBi)py2~oA0h-8+-kwoMI@=567@p25@n$s| zP`L^|L@TRN`WIPdOs?-{2ykL(yD?6I9wnV1#W;9cc>Vpp|XDfpjhcJ1tIy|;btCjg2FdYLoJs#?nE2q{0E;62bAQ@i!e|)TXqPrc%}=B zUDcn?ctvE`3!_|uytYD74sYOt&!5`7zjiGC`1*%Z_0)+(uWl1Q1-fE^j}+VGDq@$- zvx&Wp6nY)yRzk}~cp(|zEO~As9W#In30NRfX*)eS*BAA5k47jIeuzt{luJzYx-uzF z`NsfdJV$2xq5{t7E%R>Y!h>wzbKxiyN~IXDayCP7bbmsFhA>1nrhlEF)RE=$8SkYL z7~V=;F2KVji!;joe6Yf+tm_%eZmB4=J=y7TQYnbHJ(!sJ^^;MTw0bO}96j5Z2h)M_+G zhG3UaU?s91kZasLlfkQs3tRY`UWgI0)Q8ap)MzkCwc=Im-Ky#uf^@radMRsx0JH}( zqou1rx?7@x(F!PyCcPf^!-Bk;4W@HI*_(~B?}2#;w>&-^B96~3seG7=jrQuR*r_oWnm9RK z&1F)`FmDYFz%T>GhzJLwv91j6ou>Cz>I%(g3yPg>TRNx;=Oe_c))LiSLOToJL2q{U zyWxY&hn}%euElmuamT%(;(7lRSnnJ2p@<P;DlGhS0jV&atGXoGj}iA3X8Z6PZ!aOe<0SR{qj|y3V!V_(2^A`k#SzBf7B|1 zD90Pw@V$T@?l*>;e z^gXjZUYxkH#CqiXG@8mlz{PWDxl`|8iKWtg_ZIW|Y>iYunkGnOgJjAfmx)qeV<#`I ztj_SGF3ax~3elb@!0W2Eeb>;%%sAFR1_PW%=h|k)Hx2g4DmnR=yKJPBvAbaEMn~D* z9Eo|;m{Xk-1Kb#aSA}QsE{T1X3Lo{SuGqyaVyj<}x8uK2Tj786^J+<>QPO&X-*lcM z8k$uQzj1+UPGN9o8k1K}T zbg|J zE;+K^jIG+97TH7K>l=Z8fAqaF_5O2dT3!i}4VgEPp1k69YWC_-LYrfL$E`c{3Y+^@ z2cO&7AuCx}wh3CpJsaCUW%ag7O^r8X-%U%XUL|h4UzG$aQrsnRpHciPs@hD-!g#U& z=Fb^1!XqsDc)hVP2_Ya zoIp*NQk}yYptB=6L9(DP$SCXweJj2JvDQjl->d6r;peQ4MLXq zL`6yEs*#eFK!jPOXoyNID0zy$eq}-o_iIK!UehLO=D>JP8IM>w2Y5z&Q=1qLfJGT4 zq^6k~Bb_l-ND{ap{~Ckg$wk2urrj;+{`^=_`*T^jGIs4^1p+T7>mUI^gB{>)Zn^T% zELcpp)&E~WTgp*({L}SH7XCeWGhn{lt)yVv@uZ6CKnpBDCM#HUDlTmahm<^T zF3&iMexT%~5%vCL-!;j3DR@ zXitZd&hym2I)=aQ$NhR+SdN@_BWWI z7~;2>^uX1EKLy?^pzN35d!8p9y1x8ZJ%L`~3c?7sLfjBqMKNafiO5TE8E!kxAD-33FUZVDq{|8nSBiXyS2sK$Q z&NRby{h}*`qZ-Qm9s>A|DKljDN1d1H%f;`7VkaV`wHBoBLB*7oC80v5bbj@1Mp5_f z|3`Hbpf^ZnITEwf>a*RG=*c)LAiUD zSyXM0xeQh{;yBpmz`wxb3CU1ZSnL@xRb`2K!99(9jf9^Ru{AA8laz!i5?z=E>d8>i zF`WhJCQx`WX-b~~kXt!7<}Iw-G=_JfDe_w|qCQQ0JUEB=YfVG}`b?Q)O~Mb)-kwn- z!KuTsB1}jref*i+x*}ldDMtXr7pAt3wtjK3Iw;Q_-S}m1RF4=@l=$*Y;lWrHLxOT* zY+TdN3&RgBATZFo^SU4N5fW_1H;FFoyBR#4nc3c=8W|yX7VAo7k@|#6!)P|emUbu| z*_@;=V^+-9p27!au?f^Dwbgla_bRl@-CF7T0E)%uh~x*T*2Sd{Xr(VJvtuQyq24Ub z&CA6GX1NkI|2TNQaDy3>xq7rL<3Vz}xDdaN|JrRXU|XJE_4~u;%Qf_CO;$m}1U^ty znidvgT=VhS*-m&5DAJw>ac*#YU`y};?7Flzqmc~pDZ;_i|87oxI=8-72YLyZp!3xR z0*e!@@W?f~#ewWi!2&Q3|oG)~}*pdNNq-s@i+inS^k6%}LK3Z0{%D1~V3d+yB^k$KhTY#+uZwT=& zZ}hr4o}Ctwns1m`nEdcKnO0kz5cX6FX9xb=y&JG#gJrFP@UWiu24E1+dxaXghL0#g zqk_&t52ssm;_u~Yn9LR%j~Nw0Mi0fe;p}>Te(vt>33kfgNNE$zShb1@>5)8L?DWi= zJd%DoZzYVSiAw?ck3M(wbqx_=c%{ajX=8F2NR6yJR+H6o3Y7E7+yT4SCCyY0Pgp42 zz-)(GjTO!ieH09(?CF%32U?R_^vJlmvectVNZKf8HBek&L?e_S{MR||iSZ|-gPFu( znd4T})6+Y4_OxhMu+*f=KK3jH?PahL^Q&H{yO+I$E|buqu?W(#v66Ba3-?i{MNNYbq46<9$x#D>c-@H#pHu zR-5aK{*VMe=c6f}G=_JRQ9zY>$XKH|9#hmA`2A^FMl&+fa7D4(2o-qxe`m^Gib%gi zpsa(_MR>irs?PI4&pkwZA+dxqLPVH~=0LsZ&nxpX!MLA}A)kn%q^3eE;L~zM<_%hW z+LYgVLj2BmL4koIew1Q+YB&;`zH3&poT`nAXmt!IHSyed)GI4G;y#qXq;@50!EwStYc0BzIMp*BXN( zsWn#Kj@1rFsg!J31el5Ks0sgv*VsS>J6-^zV5m_OMJ*=nyd!KFDq-$MVQC#O7`w*4%rg$DUBI` z6UooARzcajjI*n*Xe@D(I-aW}&%~1Zk5RUV1Q2d{BlE6Am8br$Di;mb-24U(E;HpA z`TJiE2ou;03`{CApw5%%o!yNHEyprB(S%A$x?@oKG#V@SAD!}aAckUdjT5*F2qoFF zFd>kc=l_}$%z#g#t<*wm4VfO9Azl@TUG^XA?T;5w-SfFVu5@1%Ba+t3{qA9B`ada1Xeqcp$L!C z2eSnO@!S^xM}S=PSoL&wFUK{krd7Z6EL!tR(O>IkeY6)(gtlnJF1T5<8o&OG;P>W! zukCq|!d&ZZ5cIHfFUWFY|BQ)^LlCJ^oHEJc%ZY9t%IFt2_i!Slv3OxxXV&WyX_3-r zYrm1hzqkl)TOQSYr^`JoTSbjFNlF`kTu&I7dONWBzL~({ML>q$ofd0D<$HC@Iqecg#pDrq_ z8pV1b>V(cCFk1o z0!4DRJ6O-Ku~2SdSRTvp^GG;*)E$+5#4VZe%u*el==q}$WUQX6*tRXw^`ykFtBN@G zgXDX4AkZpix_*vQR|%4z-)w?PUlv08h4~+Y4HojcF`xA1xUn^0EWRn*0p2{_S^|lD z`KIDUF4PI&x8L23O-*;lJ#r0@FF1Nk_B=P7ja;}Yr|2Ng|XxRsJ_UkJEzvN zg>{#nV{$)DDV}e)s{<6;!R^`Wb|27A@Itn%9l2d#spDOoL3ug4FwM*fC_YTH8GIMs zwc07)- zKgO8Qb%b5urLYX$DQ1)dXcv-iI@RgyL}a0SbCwCfm*WW&%k)Y`p+|R-8E${lGc=Lz zo(aYu$PxWmn|<6SCoeYjZ6rds+dPQfM)!`JG_$b)K*IKiS6`;_nM5dWuQsUdzQt2j zuH^NnmA>Y6IwLx5>&2QU%43Bq)bPeM-(ymD*f!})Z$`C!SKEmeztX_i8;%ifjWc3f ziRRIo7Sy?-TcBVNT6(49o(r6Vj#v-lz_`2l-TTMB4%>jGbhl;FVaC0Um^==48hJaJ zJC6tg-r9KFN^-DY41^WBZTrrg3=!iW^IapAsZi1Ac4CJ8xf+NMg1qUM z+C!YJUu5w&8tl93?vt#C#O>H(1%Db*Y8m+W1{x2H|{3a9MoR%HnqhFB|kwZ7>@;=vTY7nP_tvu3Wg=MDx$L7ZJO!;s z~@6L+wuyY;EQ5i?f+yX9gGZ>;!P}+&jvdoj zOY7r|QD>~g9hk8dB41BoVP=Q>Zp6m)wx(}hgb>O4IoO-P}7th2`VkYU=&Pk}K>mZ`bKx0xa<%pmbN)W4e?Feu^Kj7psysfRR>-&4* zeI1=26^nZVSo6hkP;SQySorw(irDd=nKGX$GECheS<4DP#f)!k$m{)@xH9q`AzwiJRYlImO!VTOwc;-!})lD}$-9?$R835W-X?RdfTc52H$5JkZ*`o?rh zX9}yxjiITTq1R%rZ@#(Hazbz|y#+g!mNOK{6;FVKq!KJJxh>o)3;^(Ji~7?V3B*it z(pd9YjGs)Ij~^HWRi}o!8^G;pH6RsQyje~|LC?x~bG0qw@Z+cTbvN7nhju7Sr+Y;d z{q$&Wq-j|h>8-b;q!;?{F1o_CX-C*=!M&Pz7n-U;SNQ;9Pl||cP-3?_BMCO)AON)! zBC*jR95;a;SL`h9zZk5Qs}Q;5?E@XKEG~j?KM-?+i?!%?XJrGLQ3K^vw#>D+5y*Ua zC$=%*WpJhBP@WuW$b-xo8M;CfG1fp|JfU^6_AzN$NQhXBED5lm%>ATQ>Wu-CXXK-Gha z&(_@aSyT8?U0~cvspkl1t{p-vMo^zMIuoSk4*_miPopv_9kcRuAoi&LZd#=EHd}6` zq)5`J5#>tS$j;C$v6j+{Qx75#tXwV73hIx&)tH_Fl~f5@Y{BQrR1)uUX2%}a=F~ly z_E%L=GpxBId>H;Iu3Uz-a0Z|lFE!ruCwN0Hy4R31)k46j`X+{%t{%hMksPh!HtH}?@=05)%x4k;i zoDuF83@#Mw9OK!x)R)i#jXV2BYk~mQ&C6dx`E=qjawHTX_?haGi^FZvyR43{eppeE zF9^LWbwU6JiqyA5t}$2J;_Cr!(r=kIE}N3ET#I_mOcFal+^!Of0RXK2kXRJB4# z)`Q?JS(LN-9jAe;YUplzSb}fMD;GNkP7guMOM&Y)J@%RX6#JC2oZ?ySQa@28UvMd> zm>q!I&>AgcMbE$5NVIQ!qb`#gFGB@A_eY=BA^Nwgh3S?R*1nq0qh7*^y>PQ z#PYahiK-V8lZH>{%?6aS6?(YyE-a(sW!ZF2T)}uOxo!Q=v%>Eh+2hT^QWiAnq_P7J>};7l4+}_p0vMBy8LNBiljK_ja&f& zsxXsp)~vZadI~yKsW%TR7ApsH*g;`EfpTIf0mWt*icM9Qs>v82qiBwtjCymFx7dlh z=4In}HfL=pJ`v9Nt!CnU+%N8Y(b%{CRaSDFrvgEof+kZU69Ek)`N4`$hs?q#N33?5 zQTUk6>}q^)7Hz>iW{#9GXlAk~vjt><6=;X?V|jig(4I-B7MzK8rTFGjU4Qo0n*s5@ z6$K%tI%ISQ`-D8ikfUaDhEkp2w!Xe|ECz9r%B~%nKVgQhZ~hDtX0~4tJ@hkJ%vqUl zb+!qobhrr{yfo7`V$X@35chKxHcNiFL(QgD`unGmerF$lu0ZoaYxU)!JYlh8m)pY% z_-COACcR*JK+X(isd=bgUy^;_;Xg>$=XN%TC^E9-f*9;19GGO3CXNZX(>!b_~tRL4#Baj=d0k3-Yg{g7gtJt1ia-*g0-1ukZ0+M$f}(uCDe%~u9-G_=r- zOa_Ytt(FyfY-WD_=`rra!S}usz|HtWth-`LO;R*1eqT)~ma~|s3bPULSFQQiIH={$ z=F|7#iyKG=Pf%s%DhLP80Q&L7)%eXNYxvtq70Qje& zxaXKr#$B!X@8RY(ywI?70AW^bF!!*a$v`>`WuO9O6L|5j%eSD_9T+=c-$p_YSa;kWJ`o|!sb7Gtv`!IJ|} zw8dY-N_N5J=KwMvn9YI?S~dO)szQl#)7FIPM(0i>^blmKVyxBlRML-})D9Tu1zI-+ zsvTRF0g4jmcr=sA9${Nmw9bXV5o3lqil+E6r4E?fSX`#Q!a*r;u*R~WxrDIjEblTF zmi&SM!r2b_WF^R1T@e8~rjeR5<;CD%lhP-oiLFpZBBw+X>uEv5p{|MEDU!G3lsZsK zR5g|KLeF$ih}oD5N%pln(u-uJ}zPVX5xzE#8U3OQ;p_i3@#>aldwCgn23&-$L!n(cyhkLIuVbT{F#{cX9p}u z2zfX!`kq?6CgfD#wNl6cAmCe?LO&3(#{5uj12`IGKLb^fTDfrxq- z#I5O?>AhvJU_3}sDckeWI_ABlo1@xBg$PlvA3&PfNz$aEqA=wN+mcZ;*yhRhMzdX6 z)aJg=Q63)QHE-p10Fs=ue~xa)TlYzm`3L(?w)N?6c!QO#(@#3LKauLWMVOw7)PAwJ zj38?6B8}`wVgE1*`e0*X{$vYZC0|UoHUfy@Ygot^E%M1LaU$viy5O(bssG_oK!C{< z-|_ybXrB#5QSUTV5&7Trn`9AwB;;eY)y}NAe<&3$?TkWLHV3Ge0?%Aj|g@xS*sO>sbZn@xVm~y-Z4a{^{v2VbZuXOTa zbH2zrHENY*Ey+~l%>p9u#%kAMKmf8FYXkSK zV^Qq(PfxAHDm-xq1gG`^A+bFqvA%fk+;UGJK!cbjiv{c*Ok`{-#Qn5`otx{D6xLj| zjg4n~b9oCeKkIuU*~w(ZiH#Hy`Bb8E8}ISE`y26%ewo_ham7#1O+p?qHW8uuRyfOp zA;a0`hLIWt$jx;yLRwzz9&5Q0+FTt%44mr-go|#=$x(i7QHVwcgTFs1aHs7>S~|1} zs&|>1tycnt0UE(S?sV~MHg2p%qN!G&IZv*x*u944j> zejUm_!>OBd-F0!?XPXWG9(7AG{8$=7j+ncM8;D4k{kxQGk92}poP~D#u)_O6ZmboP z_OOPLcDp6MZ~cPauuLNEG0^^JzzOs!a1Al4?aFq*|AQw;|5Tvl{1t-liI?1UXu94LxJ-R-LQFi^_3N$O@7F3t#GIqSWIR^_C~vwn>&YS> zI7VX?1Bit8_|M=Cskop`1d$mA?iLe?P^C6OOmbC&VtQAF?g;fuug5E3(>$ISNzYD? zCwEtM+0OmnF$;f13v2nIDaL*T{zb8CE?#WnsB z+IqrF+X+MZ+Y~wh2qL3J>ajR^&=x`TM5q+W6og^aUze+}r)1F|W;RZJ@0kgB6z=@1L!NaKD)JwLk5h&pC-0M)^@ze34L|nVXRU z`vI9VJdDyo=sC|>+2TAj@i$lONUD^+ogJIzemUkN$&gzi0 zQ-);C^j_-G@R@iBGgB{dtd9e*Z5A5aL<&>R@_DRs;pN z1f$+Ti6t<3#(6St26I{iua^#f8mhyvb7I@-&54aOTK~$k6__`3nzS4p2(sps!+WEE zW3R4<7xw@w5Wt;AGtqslycrI%M*P}8r8E=Y%*hfZp^QpKuIA5i1EpHM6^-U++Z!md zenKRV7jMuHYAmWAOaSYE@q6P5gF^!|KnoF=3FvmJ^tZeb*1HB`y_Z{&g+Zd9(C$U}keM ziAF{wpXH!ZmfUIh3?&R8ElPse1f+LSK3^p{3&eM%YTC+Ae#Qa0N#b41InUzQWg2b z49r#s%$RC}?aYWwttl(fA}CMW-#~e|fZv zv(1=0WEj=*qu7};vAsV>60?XM1ykP) zL(%z%W~?!#vU>F>G_6hPiD}*DX^!)_mbqhv&tFrkThZt@eI5`%MuFV0>a`?qP;!!< zR|KvfHbNRq%Wk9R42o!NLxnV_yc~w3XS;w3f)K=l7^n=;We&?XvqCo`uLV`_R!5e= z=a^otuKwb+a6dZ3T-Rg}^f}7oVQUp3QQ-yOd*g*ju0Xtwzebl?It__80K5-^ye%jMg zW8A3xuq1-^CAVVM)oW>-%6z_jK*dh;-zkoxyw|#dVNO)}p=~6n1K7MXnydJ)sF+cWk}5>`)!LDn|E5>PKg1 zsPu%@z{}Y@ErPT^)x*1clF_I5bUZ@1XIFU2c!x~`8sR@2fh-4}03-!>f#x$4o)}+Ls z`)FK}T%HKpeOCLsyP#InyUh{O+yo_YEv}LT4a!SZIMbfq@&%zw)RQ*gJ(D zart8UJT#ugVe?%s#oJ(;nz8`TG&RJ`NsXgEvzd!t?M}w`A4#gBBrK(34935>VJ-4| z3$T>xf~&zGDa~C~Ef}$4hC-Z+B&%!Xmj*Pqo)Kzlvy__ZWx9~ zaAWiXN3hzTed1-uP1<}8d#j0{_fALFNH$+K-R~2eFM@zyt~0tUDZko`hkxPSSosHTi5D5Xq&hjT|IO&JE6V)h?`PD|$Jl`>qxx!a*l<7#M@4g%|!RmEX}t3N{h zMsAdPa_s6vyq=I1SR7m@@V&8=(n8?jxVD3AU2tEEYzGG;KJ-U#{UVXe-%bt8Yd8mM z$w*#>f-mL=Rb>^RKV#i)6d=Dqg8$$IjqW>6P&*^-munf0O|UW?9ufBp@@Ok08Dk`T z2fIl@Zv(MBCBu+6Fip=oOr*}6mMsKEa9g;(tsR2l%juxLeK78)WI?{^GbGa^jL*Y? z3&ez$|Gl!DEa?y+DSb^|S`%PRCTTizHdT0szPG!|0TvZKHe=zQR%Iol(VU(z0 zalljO5^;xjC&|&j0`mD#sB!ljGlsT59B+rwXR^k%bS9Yd-?tIJ$FsqFBEb!JurUvj z`(GFnr2m4!4#M8d?M=FEl9r%PC}#@|;)s1tM@dRPmDD-)l?Cz@golSxKY^2zVL8IO zlP-b>a`^EN=%Xh3E$Xy@GEX-!-C-XS-9Pwo(N{v^ayT<}L_`2Q zE}D`fZ9oh-z)%S73-u`&GO`;kZA8>qdk@J}NAs5V*_(ULhQq~q{UiU+@AXR%0rxSZ zKTCU=fr{?x!1DPo8;&zHaW1g~fbd6v`SSWrp`Y!0dx3#wH-2Becp%=0yRN%(FLi%> z7?6!0L1_UA_CiqrLaSUu6bK8$2Qf{71I9$oxyS3D<~sj)7Oa+xrjewucy8{sgH(-Mwf;WB68dn0q1#{i#jB3{lWicB7a$~6%ZFC*obI7Vk5 zmhFw#Em(l!kkUsGL1E$G;G!Mp%z;?M-@< zGI{}@X1WH`Cj|1e>_N#OiN}io*&^hOt|zwf0>;OF#RcY|;)*^B+aN@U?KR1qEY-@= z$pU5cC9n{9{5_ND4MFw&&1hWk66}q{nO??!1!WA_l1@-r;MHh;6CQ|+ARvuCO)`Pc zMnvJm5C~Z@fL9R$XT*~ktVA-jsRy}*82xu3ArgXdk8%&lC?OtHk23(K3KTpK%NBfH z2z>?gv`5Gh3>UO|hxHgNy@$;abpsq!5H75jh7p24ND3;*5ed6Mcr1au2r^SJ4GGUV ztRoMI5-lolFP}65GBQtX2BHj$I=CXwR}u7{#uer?q(;zp2GkM>Cv;25zz|I~=+MYb zlRzJ6-iTv`03kfRN6L}>8|=^i>|N;=41T!go}6p8Cwkg2gWi40fFxn6f(FGBO71aG z^pGeqvI4L&wlZQ>@CuB@5NipyLi@sjvgNXAOWLfcl6<+@I7$Lq&J_gF7HVKGYm8HTuwaI&oA(Dk?~0p&dlCi2Gg#+SxnOa!%>Rm4j`HsQYp zhYVE!G__!%wo|wDI)HWF7_% zQ86XAGJI7GH&8c$U&L;j_%sfL(+LWR3~2(y+cW|tgr$bnNaX3H{j?kxUvfOR9LXs+yDp4fLCCjx=YUVJ_vg*>EE1b)nD{oEE z8=`8ZBgULlH>okz^ee|Ixhv{aqgCU}`Bj4#V-|%M)hiauf0e~n+LZk+yIXXx$kp(# z&M(`oNGwpQaZ)!?O|Cep8eODa<}H0rDiL%kES{yd!n8Eew$|>_Ca(6??$l0RgIGge zJ8R5tBsfEIJLZn$KIGQpHfhUh3v8=&{o+P&ihO_UHR{E4-}a0A9{#@Yp5vtXw3|_p z*%0dhhZTpHne{skf*05N+nB>^XSci-r@+NZKWIb}UD@jyrI}Y81b~G4>v~Ox zS^Jx*xs@a{Ej!QQDBDB3#-)nM)9S`ZwqdX4U%p=|81eyVW%=p&-AqbQl@ zr>JF_s#l2^Kkhb@A5A+SSD!M)RgeL=xh#=GTRAa+%= zbjM<|)mq61#P442>hwVp!;y$0>m{a)w2Xv}L{d(d)loX#2OTfYE*q;Fw=mh&wycb- zysX>|>PI&-;K$WR(nPd34;YR{k!hq=(8}p}nPZz_yR6=L$oiKlQcA zV}rJ7TRN?pG~oI6Guhn{&q?pJ?d)uFIlcM=Kx8fA-R0${|2`w08ygEg2ObpkE*F>m z@EY6$j33;j*q zLUk2QmfGmfvnBiGO*!v{N3^Twy7czPcm7;oy2h7AbhnkZ^R}PANgmxlgg=V&^^3b& z-q(S*fNy$df-!N-yUYiV_6m2(j*rI;_We8E zCq6WnonCHAP`xOu<&_mM8U^XN=uE0dtM{5Rnz~f{O54`())n5(AJzlswM#3fDZi~c zr+Kh{oG-L)xa{M-#x3Va<%sBww?Rxv#A?owRhWk=@_kG_1^ zjBau77N{}s$@Tph3~qpQATSsBhCAXN;;DMCdE_*R+DOsZ{pD?owh28K`yTh)6X(Iz zFoNy=H1m3OdH40_!B2FOEE0GIT7z%+zwkSsoo~i>HC{E6f55&cycHhB?q;L_Ar}4jfYW-hNCieeN&;P3VPfuQkKNI+`3H`Iy-_lQW@x$;k z{IBWxVfINxJ`W;-KvJSYsvf`>zR-fI5={@w`C4FRN=RC&a4o%v)M1tz=-`kW#z9Up zG3KlcSs9#HC!|cCvrMC=uI8*+0~}ei36V0UdqKirVxmsb$mrp6jCH|5YlID~n?)Zg zj}I`L0YMP8(kD92X)0>l7yOSKE|pzLBh(d(JAouU$U9JuVEEJ^3Vf<3x||XLe@mdC zBpW#?(O`7DzXxY|J5#1g+c66`gK>i30>=rGKxt}g_mu?GdHuQ#Y;0^?O+q;mFRNDD z5zwIT?XQRY_KmxLY|IC|KFI^(uRISBWW$&Gs&jJt6pa0kXGGRY0dTYIoSaDcob%n& z(+4o&!SIQ{^h3qt4oWEyXB?dgS00p$TP&EEFAxgF;E=IuuJDinGy5J7R+Vj+V!(r0Le@gl%v^t zl%ccIUpYOvAZ_Ia8=-~>#NVg>qa3K&Rws@q{hv*;MDwi1)%9Y1E4Rd7W5rFSHUQ@i zHZ#LZs@QCPT(1;WJbBCpVQUeE>DqAz~qA&D3kMljnrcj6d=Evb@4+qh<>xJ ze-Q;h%2q}@*$0nKLlp{{I2coQl4QO0U%KVr|o zuA%3f&mN0_#H39QA#O`Aw&Xu{aSlOGG#fn}Z4zI|CDMgYJQMEYv=_Gs*FQraL4lR zSBF6Qv_snc;UygxX-%)@-Mb9HA_xMJ5WE#m0@kXU@%wy4n&H4%uHh1p#ja1p)nkz& z>h;wC?dz4Qf*dw?nOVep5L&ePAC2V}ZKtoTQJaSEl-Rl+FN zGu)`RJ=Tk;Z`|7>btY`4PBR<}{-3pIPSOK6tXBDf$>V-*sc7-=jZ3rBS}yqhx7??Z zs#DiefPA?+&Cbwow>3}P@Q1(JOYFvim|9>4@omcJ78f9@%h5whX~11>i&?<0Klni4 zOZMm$Q%V5r{EI!@sOrF%dl)#8TJZ>tA(4DDnKe`atA~qF=Lb?helCoxJn*OaoJ9rX zgEE;O!*wi2tFk;kv%5ii@_()oLy$lJV-9w4>-9S0HLkpQKl8O9=GgH=t0@d^heT`Rq2qxk&VuF}5k{e-0{cVdG zAAOwn?w#Qa2b{KVXA&NFomWmW8j=4Nb!hTrhQVMW96BjJ3*h9;bTB ztzoAnQ>Q(Obcqro_Ct1oT-c8dczu7IsUesQX4)^<|7`=$q5ByHBHlZ4Y+r& zEKe=1R)r{yt$vhCR}Pm<5k%6gE9_-=SEJk(bxIg_EUV%2xnqAp)Ey+yV=F1S$N1{= z9$5nIE&I_=Fq>@#jiAFlM<@ka_!wQu_;bquK;lWkFTaF##R?=N@GYGF-1XQtMxYr+ zB3@!|e?QB|i;d&(V%2f+`z^`8I3oy_QDApLc)sBHUOL~9BLZ70J4)lYf61raVi-^V zP~e<8esY*rOlJ#E>*RSzr^w{$d@*-W1zcM-Cs{%SbgNU`B7?!2eY3vWsFQpPcXs

7)+ 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 GME?(_(LR&_ literal 0 HcmV?d00001 diff --git a/docs/metadata.rst b/docs/metadata.rst index 3bc0cc5..6361429 100644 --- a/docs/metadata.rst +++ b/docs/metadata.rst @@ -38,10 +38,12 @@ We will show: - Bulkmap config yml files defining the various Key-Value pairs parameters, such as the groups and other parameters. - https://github.com/IDR/idr0021-lawo-pericentriolarmaterial/blob/9479af85f19487f215e3dfdd31a1b587370ed3cf/experimentA/idr0021-experimentA-bulkmap-config.yml + - :download:`simple-annotation-bulkmap-config.yml ` - Annotation csv files define the content of OMERO.tables for each image. - https://github.com/IDR/idr0021-lawo-pericentriolarmaterial/blob/9479af85f19487f215e3dfdd31a1b587370ed3cf/experimentA/idr0021-experimentA-annotation.csv + - :download:`simple-annotation.csv ` - :download:`four-images.csv ` Setup: @@ -74,10 +76,14 @@ Setup: #. Open your browser and login to the OMERO.web. Navigate to the Project you just worked with, expand the "Attachments" harmonica in the right-hand pane and verify that a new attachment is on that Project named ``bulk_annotations``. -#. You can inspect its content by clicking on the "eye" icon inside the annotation. + |image0| + +#. You can inspect its content by clicking on the "eye" icon |image1| inside the annotation. #. Select an image inside the Project and expand the "Tables" harmonica in the right-hand pane. These tables contain the appropriate line from the ``bulk_annotations`` attachment you just created for that particular image. + |image2| + #. Go back to your terminal. Download the idr0021-experimentA-bulkmap-config.yml file https://github.com/IDR/idr0021-lawo-pericentriolarmaterial/blob/9479af85f19487f215e3dfdd31a1b587370ed3cf/experimentA/idr0021-experimentA-bulkmap-config.yml. #. Open the downloaded file in a text editor and delete the ``Advanced options...`` section. Save the file and run:: @@ -88,12 +94,61 @@ Setup: #. Still in OMERO.web, create a new Dataset and copy into it 4 images, preferably images which have neither OMERO.tables on them nor any Key-Value pairs attached. Note the names of the images you are copying in. + |image3| + #. Go to the https://pypi.org/project/omero-metadata/ and find the section named ``populate``. Study the ``project.csv``. You can either take the ``project.csv`` file from there, or more conveniently, you can download directly its copy :download:`four-images.csv `. Open the csv in Excel and edit the names of the images in the first column to match the names of the images you copied into your Dataset in the previous step. Also, edit the name of the Dataset in the second column to match the name of your Dataset in OMERO.web. Save the file locally as csv. #. In your OMERO.web, upload the csv you just saved and attach it onto the Dataset you created previously. -#. Select the Dataset you created and attached to it the csv. Find the script icon above the central pane, expand it and find the ``Import scripts`` section. In there, select the ``Populate metadata`` script. + |image4| + +#. Select the Dataset you created and attached to it the csv. Find the script icon |image5| above the central pane, expand it and find the ``Import scripts`` section. In there, select the ``Populate metadata`` script. + + |image6| #. Run the script. -#. Go back to the Dataset and observe that there is a new Attachment in the right hand pane under "Attachments" harmonica. Click on single images inside the Dataset and observe that in the "Tables" harmonica in the right-hand pane there are new values coming originally from your edited csv. +#. Click again onto the Dataset in the left-hand pane to refresh and observe that there is a new Attachment in the right hand pane under "Attachments" harmonica. + + |image7| + +#. Click on single images inside the Dataset and observe that in the "Tables" harmonica in the right-hand pane there are new values coming originally from your edited csv. + + |image8| + + +.. |image0| image:: images/metadata1.png + :width: 4in + :height: 1in + +.. |image1| image:: images/metadata2.png + :width: 0.35in + :height: 0.3in + +.. |image2| image:: images/metadata3.png + :width: 4in + :height: 3in + +.. |image3| image:: images/metadata4.png + :width: 5in + :height: 1.5in + +.. |image4| image:: images/metadata5.png + :width: 4in + :height: 1in + +.. |image5| image:: images/metadata6.png + :width: 0.35in + :height: 0.3in + +.. |image6| image:: images/metadata7.png + :width: 2in + :height: 0.7in + +.. |image7| image:: images/metadata8.png + :width: 4in + :height: 1.3in + +.. |image8| image:: images/metadata9.png + :width: 4in + :height: 2in From 6abc88f8f68730459a08ecad55cf1c08466ad5f1 Mon Sep 17 00:00:00 2001 From: Petr Walczysko Date: Tue, 9 Jun 2020 17:24:31 +0100 Subject: [PATCH 11/17] Add the simple file for siRNA-HeLa --- docs/images/metadata3a.png | Bin 0 -> 39854 bytes docs/metadata.rst | 51 ++++++++++++++++++++++--------------- 2 files changed, 31 insertions(+), 20 deletions(-) create mode 100644 docs/images/metadata3a.png diff --git a/docs/images/metadata3a.png b/docs/images/metadata3a.png new file mode 100644 index 0000000000000000000000000000000000000000..91f5dc5b112a104c648321e6c682505d99d5e1c0 GIT binary patch literal 39854 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, which will allow you to work with the siRNAi-HeLa dataset, which you can download from https://downloads.openmicroscopy.org/images/DV/siRNAi-HeLa/. -#. The variable ``$ID​`` below is the ID of the ​Project, in this example case it is the Project containing the idr0021 study. To add annotations from a local csv file to the images in the said Project in the form of OMERO.tables, run:: +#. The variable ``$ID​`` below is the ID of the ​Project, in this example case it is the Project containing the idr0021 study. If you are working with the siRNAi-HeLa data, replace in the following example the "Project" with a "Dataset" and the ``idr0021-experimentA-annotation.csv`` with ``simple-annotation.csv``. To add annotations from a local csv file to the images in the said Project or Dataset in the form of OMERO.tables, run:: $ omero metadata populate --report --batch 1000 --file local/path/to/idr0021-experimentA-annotation.csv Project:$ID -#. Open your browser and login to the OMERO.web. Navigate to the Project you just worked with, expand the "Attachments" harmonica in the right-hand pane and verify that a new attachment is on that Project named ``bulk_annotations``. +#. Open your browser and login to the OMERO.web. Navigate to the Project or Dataset you just worked with, expand the "Attachments" harmonica in the right-hand pane and verify that a new attachment is on that Project named ``bulk_annotations``. |image0| #. You can inspect its content by clicking on the "eye" icon |image1| inside the annotation. -#. Select an image inside the Project and expand the "Tables" harmonica in the right-hand pane. These tables contain the appropriate line from the ``bulk_annotations`` attachment you just created for that particular image. +#. Select an image inside the Project/Dataset and expand the "Tables" harmonica in the right-hand pane. These tables contain the appropriate line from the ``bulk_annotations`` attachment you just created for that particular image. |image2| -#. Go back to your terminal. Download the idr0021-experimentA-bulkmap-config.yml file https://github.com/IDR/idr0021-lawo-pericentriolarmaterial/blob/9479af85f19487f215e3dfdd31a1b587370ed3cf/experimentA/idr0021-experimentA-bulkmap-config.yml. +#. Go back to your terminal. Download the idr0021-experimentA-bulkmap-config.yml file https://github.com/IDR/idr0021-lawo-pericentriolarmaterial/blob/9479af85f19487f215e3dfdd31a1b587370ed3cf/experimentA/idr0021-experimentA-bulkmap-config.yml. Alternatively, in case you are working with the siRNAi-HeLa Dataset, download :download:`simple-annotation-bulkmap-config.yml `. -#. Open the downloaded file in a text editor and delete the ``Advanced options...`` section. Save the file and run:: +#. If you are working with the IDR data, open the downloaded ``idr0021-experimentA-bulkmap-config.yml`` file in a text editor and delete the ``Advanced options...`` section. Save the file and run:: $ omero metadata populate --context bulkmap --cfg local/path/to/idr0021-experimentA-bulkmap-config.yml --batch 100 Project:$ID -#. Go to your browser and OMERO.web, select the images in the Project you targeted and verify that they have now new Key-Value pair annotations displayed in the right-hand pane. +#. If you work with the siRNAi-HeLa data, open the downloaded ``simple-annotation-bulkmap-config.yml`` and study the comments in the file itself, which will give you hints about how to manipulate the file to fit your particular needs with respect to the resulting Key-Value pairs layout. Make your changes (no need to change anything if you do not want), save the file locally and run:: + + $ omero metadata populate --context bulkmap --cfg local/path/to/simple-annotation-bulkmap-config.yml --batch 100 Dataset:$ID + +#. Go to your browser and OMERO.web, select the images in the Project or Dataset you targeted and verify that they have now new Key-Value pair annotations displayed in the right-hand pane. + + |image3a| #. Still in OMERO.web, create a new Dataset and copy into it 4 images, preferably images which have neither OMERO.tables on them nor any Key-Value pairs attached. Note the names of the images you are copying in. - |image3| + |image4| #. Go to the https://pypi.org/project/omero-metadata/ and find the section named ``populate``. Study the ``project.csv``. You can either take the ``project.csv`` file from there, or more conveniently, you can download directly its copy :download:`four-images.csv `. Open the csv in Excel and edit the names of the images in the first column to match the names of the images you copied into your Dataset in the previous step. Also, edit the name of the Dataset in the second column to match the name of your Dataset in OMERO.web. Save the file locally as csv. #. In your OMERO.web, upload the csv you just saved and attach it onto the Dataset you created previously. - |image4| + |image5| -#. Select the Dataset you created and attached to it the csv. Find the script icon |image5| above the central pane, expand it and find the ``Import scripts`` section. In there, select the ``Populate metadata`` script. +#. Select the Dataset you created and attached to it the csv. Find the script icon |image6| above the central pane, expand it and find the ``Import scripts`` section. In there, select the ``Populate metadata`` script. - |image6| + |image7| #. Run the script. #. Click again onto the Dataset in the left-hand pane to refresh and observe that there is a new Attachment in the right hand pane under "Attachments" harmonica. - |image7| + |image8| #. Click on single images inside the Dataset and observe that in the "Tables" harmonica in the right-hand pane there are new values coming originally from your edited csv. - |image8| + |image9| .. |image0| image:: images/metadata1.png @@ -127,28 +134,32 @@ Setup: .. |image2| image:: images/metadata3.png :width: 4in - :height: 3in + :height: 3.5in + +.. |image3a| image:: images/metadata3a.png + :width: 4in + :height: 3.3in -.. |image3| image:: images/metadata4.png +.. |image4| image:: images/metadata4.png :width: 5in :height: 1.5in -.. |image4| image:: images/metadata5.png +.. |image5| image:: images/metadata5.png :width: 4in :height: 1in -.. |image5| image:: images/metadata6.png +.. |image6| image:: images/metadata6.png :width: 0.35in :height: 0.3in -.. |image6| image:: images/metadata7.png +.. |image7| image:: images/metadata7.png :width: 2in :height: 0.7in -.. |image7| image:: images/metadata8.png +.. |image8| image:: images/metadata8.png :width: 4in :height: 1.3in -.. |image8| image:: images/metadata9.png +.. |image9| image:: images/metadata9.png :width: 4in :height: 2in From ed45fd6d0aaeb3e4162b1c7296359f4e78610deb Mon Sep 17 00:00:00 2001 From: Petr Walczysko Date: Thu, 11 Jun 2020 18:50:27 +0100 Subject: [PATCH 12/17] Fix text cf. Jmaries comments --- docs/metadata.rst | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/metadata.rst b/docs/metadata.rst index 8c8a51d..3f6228c 100644 --- a/docs/metadata.rst +++ b/docs/metadata.rst @@ -12,7 +12,7 @@ We will show: - How to import metadata from local CSV file in a bulk manner and turn them into OMERO.tables on images using CLI -- How to turn the OMERO.tables on images into Key-Value pair annotations on images in bulk manner using CLI +- How to turn the OMERO.tables on images into Key-Value pairs on images in bulk manner using CLI - How to import metadata from local CSV file and use a server-side script in OMERO to turn these into OMERO.tables on images @@ -29,7 +29,7 @@ We will show: - Data: example images from - - IDR data http://idr.openmicroscopy.org/webclient/?show=project-51 + - IDR data https://idr.openmicroscopy.org/webclient/?show=project-51 - siRNAi-HeLa dataset from https://downloads.openmicroscopy.org/images/DV/siRNAi-HeLa/ - Metadata plugin for OMERO @@ -41,7 +41,7 @@ We will show: - https://github.com/IDR/idr0021-lawo-pericentriolarmaterial/blob/9479af85f19487f215e3dfdd31a1b587370ed3cf/experimentA/idr0021-experimentA-bulkmap-config.yml - :download:`simple-annotation-bulkmap-config.yml ` -- Annotation csv files define the content of OMERO.tables for each image. +- Annotation CSV files define the content of OMERO.tables for each image. - https://github.com/IDR/idr0021-lawo-pericentriolarmaterial/blob/9479af85f19487f215e3dfdd31a1b587370ed3cf/experimentA/idr0021-experimentA-annotation.csv - :download:`simple-annotation.csv ` @@ -60,18 +60,18 @@ Setup: $ pip install omero-metadata -**Step-by-step:** ------------------ +Step-by-step: +------------- #. On your local machine, open a terminal -#. Activate the virtual environment where ``omero-py`` is installed or add it to ``PATH`` e.g.:: +#. If you did not do so already, activate the virtual environment where ``omero-py`` is installed or add it to ``PATH`` e.g.:: $ export PATH=/opt/omero/server/venv3/bin:$PATH -#. Download the csv from https://github.com/IDR/idr0021-lawo-pericentriolarmaterial/blob/9479af85f19487f215e3dfdd31a1b587370ed3cf/experimentA/idr0021-experimentA-annotation.csv if you have access to the idr0021 data http://idr.openmicroscopy.org/webclient/?show=project-51 in your OMERO.server. Alternatively, download :download:`simple-annotation.csv `, which will allow you to work with the siRNAi-HeLa dataset, which you can download from https://downloads.openmicroscopy.org/images/DV/siRNAi-HeLa/. +#. Download the CSV from https://github.com/IDR/idr0021-lawo-pericentriolarmaterial/blob/9479af85f19487f215e3dfdd31a1b587370ed3cf/experimentA/idr0021-experimentA-annotation.csv if you have access to the idr0021 data https://idr.openmicroscopy.org/webclient/?show=project-51 in your OMERO.server. Alternatively, download :download:`simple-annotation.csv `, which will allow you to work with the siRNAi-HeLa dataset, which you can download from https://downloads.openmicroscopy.org/images/DV/siRNAi-HeLa/. -#. The variable ``$ID​`` below is the ID of the ​Project, in this example case it is the Project containing the idr0021 study. If you are working with the siRNAi-HeLa data, replace in the following example the "Project" with a "Dataset" and the ``idr0021-experimentA-annotation.csv`` with ``simple-annotation.csv``. To add annotations from a local csv file to the images in the said Project or Dataset in the form of OMERO.tables, run:: +#. The variable ``$ID​`` below is the ID of the ​Project, in this example case it is the Project containing the idr0021 study. If you are working with the siRNAi-HeLa data, replace in the following example the "Project" with a "Dataset" and the ``idr0021-experimentA-annotation.csv`` with ``simple-annotation.csv``. To add annotations from a local CSV file to the images in the said Project or Dataset in the form of OMERO.tables, run:: $ omero metadata populate --report --batch 1000 --file local/path/to/idr0021-experimentA-annotation.csv Project:$ID @@ -95,21 +95,21 @@ Setup: $ omero metadata populate --context bulkmap --cfg local/path/to/simple-annotation-bulkmap-config.yml --batch 100 Dataset:$ID -#. Go to your browser and OMERO.web, select the images in the Project or Dataset you targeted and verify that they have now new Key-Value pair annotations displayed in the right-hand pane. +#. Go to your browser and OMERO.web, select the images in the Project or Dataset you targeted and verify that they have now new Key-Value pairs displayed in the right-hand pane. |image3a| -#. Still in OMERO.web, create a new Dataset and copy into it 4 images, preferably images which have neither OMERO.tables on them nor any Key-Value pairs attached. Note the names of the images you are copying in. +#. Still in OMERO.web, create a new Dataset and copy into it four images, preferably images which have neither OMERO.tables on them nor any Key-Value pairs attached. Note the names of the images you are copying in. |image4| -#. Go to the https://pypi.org/project/omero-metadata/ and find the section named ``populate``. Study the ``project.csv``. You can either take the ``project.csv`` file from there, or more conveniently, you can download directly its copy :download:`four-images.csv `. Open the csv in Excel and edit the names of the images in the first column to match the names of the images you copied into your Dataset in the previous step. Also, edit the name of the Dataset in the second column to match the name of your Dataset in OMERO.web. Save the file locally as csv. +#. Go to the https://pypi.org/project/omero-metadata/ and find the section named ``populate``. Study the ``project.csv``. You can either take the ``project.csv`` file from there, or more conveniently, you can download directly its copy :download:`four-images.csv `. Open the CSV in Excel and edit the names of the images in the first column to match the names of the images you copied into your Dataset in the previous step. Also, edit the name of the Dataset in the second column to match the name of your Dataset in OMERO.web. Save the file locally as CSV. -#. In your OMERO.web, upload the csv you just saved and attach it onto the Dataset you created previously. +#. In your OMERO.web, upload the CSV you just saved and attach it onto the Dataset you created previously. |image5| -#. Select the Dataset you created and attached to it the csv. Find the script icon |image6| above the central pane, expand it and find the ``Import scripts`` section. In there, select the ``Populate metadata`` script. +#. Select the Dataset you created and attached to it the CSV. Find the script icon |image6| above the central pane, expand it and find the ``Import scripts`` section. In there, select the ``Populate metadata`` script. |image7| @@ -119,7 +119,7 @@ Setup: |image8| -#. Click on single images inside the Dataset and observe that in the "Tables" harmonica in the right-hand pane there are new values coming originally from your edited csv. +#. Click on single images inside the Dataset and observe that in the "Tables" harmonica in the right-hand pane there are new values coming originally from your edited CSV. |image9| From f0394e88c06176e54f8f3c8368ec68ed5331f641 Mon Sep 17 00:00:00 2001 From: Jean-Marie Burel Date: Fri, 12 Jun 2020 15:21:34 +0100 Subject: [PATCH 13/17] review header --- docs/import-cli.rst | 16 ++++++++-------- docs/import-desktop-client.rst | 12 ++++++------ docs/import-dropbox.rst | 16 ++++++++-------- docs/metadata.rst | 8 ++++---- docs/render.rst | 16 ++++++++-------- 5 files changed, 34 insertions(+), 34 deletions(-) diff --git a/docs/import-cli.rst b/docs/import-cli.rst index 81c0ee0..17b7bd7 100644 --- a/docs/import-cli.rst +++ b/docs/import-cli.rst @@ -1,8 +1,8 @@ Import data using the Command Line Interface (CLI) ================================================== -Description: ------------- +Description +----------- This chapter will show how to import data for another user, using Command Line Interface (CLI). @@ -18,8 +18,8 @@ We will show: - How to deal with imports of large amounts of data in CLI, using the --bulk option and helper csv and yml files which define what is to be imported and how. -**Resources:** --------------- +Resources +--------- - Documentation: @@ -45,8 +45,8 @@ We will show: - :download:`bulk.yml <../scripts/bulk.yml>` -Setup: ------- +Setup +----- **CLI Importer installation** @@ -56,8 +56,8 @@ found at \ https://docs.openmicroscopy.org/latest/omero/users/cli/installation.h Note: When importing for another user using the CLI, the importer1 does not have to be a member of the target group. -**Step-by-step:** ------------------ +Step-by-step +------------ #. Open a terminal and connect to the server as importer1 using ``ssh``. diff --git a/docs/import-desktop-client.rst b/docs/import-desktop-client.rst index b163eea..fb821db 100644 --- a/docs/import-desktop-client.rst +++ b/docs/import-desktop-client.rst @@ -1,8 +1,8 @@ Import data using the Desktop Client ==================================== -Description: ------------- +Description +----------- In the first part, we first show how to import data by yourself and for yourself into OMERO using various import strategies. This will be mainly done using the OMERO.insight desktop client. @@ -23,8 +23,8 @@ We will show: - How to import data for other users in OMERO.insight. -Setup: ------- +Setup +----- OMERO.insight desktop client installation instructions:. @@ -79,8 +79,8 @@ Linux .. image:: images/importinsight8.png -Step-by-step: -------------- +Step-by-step +------------ #. Open OMERO.insight and in the login dialog, click on the wrench icon \ |image8a| diff --git a/docs/import-dropbox.rst b/docs/import-dropbox.rst index d7f6a7f..5880237 100644 --- a/docs/import-dropbox.rst +++ b/docs/import-dropbox.rst @@ -1,8 +1,8 @@ Import data using OMERO.dropbox =============================== -**Description:** ----------------- +Description +----------- OMERO.dropbox allows to import files into OMERO automatically, by means of offline import from a watched directory. Typically, each user has a @@ -21,8 +21,8 @@ We will show - How to import several files for two different users using OMERO.dropbox. The image files are manually copied into the prepared folders watched by OMERO.dropbox. -**Resources:** --------------- +Resources +--------- - Documentation: @@ -32,8 +32,8 @@ We will show - Data: example images from \ https://downloads.openmicroscopy.org/images/DV/alexia/cajal-bodies/ -**Setup:** ----------- +Setup +----- This example setup will help you to understand OMERO.dropbox functionality. Later, you can choose the setup you like for your OMERO.server studying detailed instructions at \ https://docs.openmicroscopy.org/latest/omero/sysadmins/dropbox.html#advanced-use @@ -74,8 +74,8 @@ Below are the installation instructions. - ``$ mkdir user-2`` -Step-by-step: -------------- +Step-by-step +------------ #. Open a browser window. diff --git a/docs/metadata.rst b/docs/metadata.rst index 3f6228c..5a482ae 100644 --- a/docs/metadata.rst +++ b/docs/metadata.rst @@ -1,8 +1,8 @@ Import metadata using the Command Line Interface (CLI) ====================================================== -Description: ------------- +Description +----------- This chapter will show how to import metadata starting from a local CSV file and ending with OMERO.tables on images or Key-Value pairs on images using the Command Line Interface (CLI) and the OMERO server-side scripts. @@ -18,8 +18,8 @@ We will show: - How to construct a simple file to turn the metadata stored in OMERO.tables into Key-Value pairs on images using CLI -**Resources:** --------------- +Resources +--------- - Documentation: diff --git a/docs/render.rst b/docs/render.rst index e88e985..30bfa82 100644 --- a/docs/render.rst +++ b/docs/render.rst @@ -1,8 +1,8 @@ Change image rendering settings and channel names using the Command Line Interface (CLI) ======================================================================================== -Description: ------------- +Description +----------- This chapter will show how to change rendering settings on images using the Command Line Interface (CLI). @@ -12,8 +12,8 @@ We will show: - How to change rendering settings of large amount of images on the CLI in a repeatable manner. -**Resources:** --------------- +Resources +--------- - Documentation: @@ -42,8 +42,8 @@ We will show: - https://github.com/ome/training-scripts/blob/master/maintenance/scripts/apply_rnd_settings_as.sh -Setup: ------- +Setup +----- **Rendering plugin installation** @@ -55,8 +55,8 @@ Setup: $ pip install omero-cli-render -**Step-by-step:** ------------------ +Step-by-step +------------ #. On your local machine, open a terminal From cd5853ca2bc71e51658f3dcf163e7835a4622d16 Mon Sep 17 00:00:00 2001 From: Jean-Marie Burel Date: Fri, 12 Jun 2020 15:28:40 +0100 Subject: [PATCH 14/17] relocate files --- {docs => scripts}/four-images.csv | 0 .../simple-annotation-bulkmap-config.yml | 0 {docs => scripts}/simple-annotation.csv | 66 +++++++++---------- 3 files changed, 33 insertions(+), 33 deletions(-) rename {docs => scripts}/four-images.csv (100%) rename {docs => scripts}/simple-annotation-bulkmap-config.yml (100%) rename {docs => scripts}/simple-annotation.csv (99%) diff --git a/docs/four-images.csv b/scripts/four-images.csv similarity index 100% rename from docs/four-images.csv rename to scripts/four-images.csv diff --git a/docs/simple-annotation-bulkmap-config.yml b/scripts/simple-annotation-bulkmap-config.yml similarity index 100% rename from docs/simple-annotation-bulkmap-config.yml rename to scripts/simple-annotation-bulkmap-config.yml diff --git a/docs/simple-annotation.csv b/scripts/simple-annotation.csv similarity index 99% rename from docs/simple-annotation.csv rename to scripts/simple-annotation.csv index 9a23b03..fa6c8f0 100644 --- a/docs/simple-annotation.csv +++ b/scripts/simple-annotation.csv @@ -1,34 +1,34 @@ -Dataset Name,Image Name,Characteristics [Organism],Characteristics [Cell Line],Characteristics [Cell Cycle Phase],Experimental Condition [Antibody Target],Comment [Targeted Protein],Comment [Gene Identifier],Comment [Gene Symbol],Comment [Gene Symbol Synonyms],Has Phenotype,Phenotype Annotation Level,Phenotype 1,Phenotype 1 Term Name,Phenotype 1 Term Accession -siRNAi-HeLa,CSFV_10.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENST00000394818.8,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,CSFV_11.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENST00000394818.9,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,CSFV_12.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,,INCENP,INCENP,ENST00000394818.10,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,IN_01.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,IN_02.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,IN_02.r3d_D3D.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,IN_02.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,IN_03.r3d_D3D.dv,Homo sapiens,HeLa,,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,IN_03.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,scram_01.r3d,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,scram_01.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,scram_02.r3d,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,scram_05.r3d,Homo sapiens,HeLa,,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,scram_06.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,scram_06.r3d_D3D.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,scram_06.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,V-out_01.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,V-out_03.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,V-out_04.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,V-out_04.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,V-out_06.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,VRAQ_01.r3d,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,VRAQ_01.r3d_D3D.dv,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,VRAQ_01.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,VRAQ_02.r3d,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,VRAQ_02.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,VRAQ_03.r3d_D3D.dv,Homo sapiens,HeLa,Anaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,VRAQ_04.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,VRAQ_04.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,VRAQ_06.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,VRAQ_06.r3d_D3D.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 -siRNAi-HeLa,VRAQ_07.r3d,Homo sapiens,HeLa,,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +Dataset Name,Image Name,Characteristics [Organism],Characteristics [Cell Line],Characteristics [Cell Cycle Phase],Experimental Condition [Antibody Target],Comment [Targeted Protein],Comment [Gene Identifier],Comment [Gene Symbol],Comment [Gene Symbol Synonyms],Has Phenotype,Phenotype Annotation Level,Phenotype 1,Phenotype 1 Term Name,Phenotype 1 Term Accession +siRNAi-HeLa,CSFV_10.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENST00000394818.8,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,CSFV_11.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENST00000394818.9,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,CSFV_12.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,,INCENP,INCENP,ENST00000394818.10,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,IN_01.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,IN_02.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,IN_02.r3d_D3D.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,IN_02.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,IN_03.r3d_D3D.dv,Homo sapiens,HeLa,,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,IN_03.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,scram_01.r3d,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,scram_01.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,scram_02.r3d,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,scram_05.r3d,Homo sapiens,HeLa,,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,scram_06.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,scram_06.r3d_D3D.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,scram_06.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,V-out_01.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,V-out_03.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,V-out_04.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,V-out_04.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,V-out_06.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_01.r3d,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_01.r3d_D3D.dv,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_01.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_02.r3d,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_02.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Metaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_03.r3d_D3D.dv,Homo sapiens,HeLa,Anaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_04.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_04.r3d_D3D_PRJ.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_06.r3d,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_06.r3d_D3D.dv,Homo sapiens,HeLa,Prometaphase,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 +siRNAi-HeLa,VRAQ_07.r3d,Homo sapiens,HeLa,,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 siRNAi-HeLa,VRAQ_07.r3d_D3D.dv,Homo sapiens,HeLa,,INCENP,INCENP,ENSG00000149503,INCENP,FLJ31633,yes,protein,protein localized to centrosome,protein localized in centrosome phenotype,CMPO_0000425 \ No newline at end of file From 2a766fb6bdc4620e373aa4219a57afe4df312fac Mon Sep 17 00:00:00 2001 From: Jean-Marie Burel Date: Fri, 12 Jun 2020 15:28:55 +0100 Subject: [PATCH 15/17] update links --- docs/metadata.rst | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/metadata.rst b/docs/metadata.rst index 5a482ae..808ad01 100644 --- a/docs/metadata.rst +++ b/docs/metadata.rst @@ -39,16 +39,16 @@ Resources - Bulkmap config yml files defining the various Key-Value pairs parameters, such as the groups and other parameters. - https://github.com/IDR/idr0021-lawo-pericentriolarmaterial/blob/9479af85f19487f215e3dfdd31a1b587370ed3cf/experimentA/idr0021-experimentA-bulkmap-config.yml - - :download:`simple-annotation-bulkmap-config.yml ` + - :download:`simple-annotation-bulkmap-config.yml <../scripts/simple-annotation-bulkmap-config.yml>` - Annotation CSV files define the content of OMERO.tables for each image. - https://github.com/IDR/idr0021-lawo-pericentriolarmaterial/blob/9479af85f19487f215e3dfdd31a1b587370ed3cf/experimentA/idr0021-experimentA-annotation.csv - - :download:`simple-annotation.csv ` - - :download:`four-images.csv ` + - :download:`simple-annotation.csv <../scripts/simple-annotation.csv>` + - :download:`four-images.csv <../scripts/four-images.csv>` -Setup: ------- +Setup +----- **Metadata plugin installation** @@ -60,8 +60,8 @@ Setup: $ pip install omero-metadata -Step-by-step: -------------- +Step-by-step +------------ #. On your local machine, open a terminal @@ -69,7 +69,7 @@ Step-by-step: $ export PATH=/opt/omero/server/venv3/bin:$PATH -#. Download the CSV from https://github.com/IDR/idr0021-lawo-pericentriolarmaterial/blob/9479af85f19487f215e3dfdd31a1b587370ed3cf/experimentA/idr0021-experimentA-annotation.csv if you have access to the idr0021 data https://idr.openmicroscopy.org/webclient/?show=project-51 in your OMERO.server. Alternatively, download :download:`simple-annotation.csv `, which will allow you to work with the siRNAi-HeLa dataset, which you can download from https://downloads.openmicroscopy.org/images/DV/siRNAi-HeLa/. +#. Download the CSV from `idr0021-experimentA-annotation.csv `_ if you have access to the `idr0021 `_ data in your OMERO.server. Alternatively, download :download:`simple-annotation.csv <../scripts/simple-annotation.csv>`, which will allow you to work with the siRNAi-HeLa dataset, which you can download from https://downloads.openmicroscopy.org/images/DV/siRNAi-HeLa/. #. The variable ``$ID​`` below is the ID of the ​Project, in this example case it is the Project containing the idr0021 study. If you are working with the siRNAi-HeLa data, replace in the following example the "Project" with a "Dataset" and the ``idr0021-experimentA-annotation.csv`` with ``simple-annotation.csv``. To add annotations from a local CSV file to the images in the said Project or Dataset in the form of OMERO.tables, run:: @@ -85,7 +85,7 @@ Step-by-step: |image2| -#. Go back to your terminal. Download the idr0021-experimentA-bulkmap-config.yml file https://github.com/IDR/idr0021-lawo-pericentriolarmaterial/blob/9479af85f19487f215e3dfdd31a1b587370ed3cf/experimentA/idr0021-experimentA-bulkmap-config.yml. Alternatively, in case you are working with the siRNAi-HeLa Dataset, download :download:`simple-annotation-bulkmap-config.yml `. +#. Go back to your terminal. Download the `idr0021-experimentA-bulkmap-config.yml `_ file . Alternatively, in case you are working with the siRNAi-HeLa Dataset, download :download:`simple-annotation-bulkmap-config.yml <../scripts/simple-annotation-bulkmap-config.yml>`. #. If you are working with the IDR data, open the downloaded ``idr0021-experimentA-bulkmap-config.yml`` file in a text editor and delete the ``Advanced options...`` section. Save the file and run:: @@ -95,17 +95,17 @@ Step-by-step: $ omero metadata populate --context bulkmap --cfg local/path/to/simple-annotation-bulkmap-config.yml --batch 100 Dataset:$ID -#. Go to your browser and OMERO.web, select the images in the Project or Dataset you targeted and verify that they have now new Key-Value pairs displayed in the right-hand pane. +#. Go to your browser and in OMERO.web, select the images in the Project or Dataset you targeted and verify that they have now new Key-Value pairs displayed in the right-hand pane. |image3a| -#. Still in OMERO.web, create a new Dataset and copy into it four images, preferably images which have neither OMERO.tables on them nor any Key-Value pairs attached. Note the names of the images you are copying in. +#. Still in OMERO.web, create a new Dataset and copy into it four images, preferably images which have neither OMERO.tables on them nor any Key-Value pairs attached. Note the name of the images you are copying in. |image4| -#. Go to the https://pypi.org/project/omero-metadata/ and find the section named ``populate``. Study the ``project.csv``. You can either take the ``project.csv`` file from there, or more conveniently, you can download directly its copy :download:`four-images.csv `. Open the CSV in Excel and edit the names of the images in the first column to match the names of the images you copied into your Dataset in the previous step. Also, edit the name of the Dataset in the second column to match the name of your Dataset in OMERO.web. Save the file locally as CSV. +#. Go to the https://pypi.org/project/omero-metadata/ and find the section named ``populate``. Study the ``project.csv``. You can either take the ``project.csv`` file from there, or more conveniently, you can download directly its copy :download:`four-images.csv <../scripts/four-images.csv>`. Open the CSV file in Excel and edit the name of the images in the first column to match the names of the images you copied into your Dataset in the previous step. Also, edit the name of the Dataset in the second column to match the name of your Dataset in OMERO.web. Save the file locally as CSV. -#. In your OMERO.web, upload the CSV you just saved and attach it onto the Dataset you created previously. +#. In your OMERO.web, upload the CSV file you just saved and attach it onto the Dataset you created previously. |image5| From 29d3b23e48bac18b60a11728ac3f72ec11f41ca2 Mon Sep 17 00:00:00 2001 From: Jean-Marie Burel Date: Fri, 12 Jun 2020 15:34:05 +0100 Subject: [PATCH 16/17] review link display --- docs/metadata.rst | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/metadata.rst b/docs/metadata.rst index 808ad01..0f65b57 100644 --- a/docs/metadata.rst +++ b/docs/metadata.rst @@ -23,14 +23,14 @@ Resources - Documentation: - - https://docs.openmicroscopy.org/omero/latest/users/cli/installation.html + - `CLI installation `_ - - `https://docs.openmicroscopy.org/omero/latest/users/cli/index.html `__ + - `CLI `__ - Data: example images from - - IDR data https://idr.openmicroscopy.org/webclient/?show=project-51 - - siRNAi-HeLa dataset from https://downloads.openmicroscopy.org/images/DV/siRNAi-HeLa/ + - IDR data `idr0021-lawo-pericentriolarmaterial/experimentA `_ + - `siRNAi-HeLa `_ dataset - Metadata plugin for OMERO @@ -38,12 +38,12 @@ Resources - Bulkmap config yml files defining the various Key-Value pairs parameters, such as the groups and other parameters. - - https://github.com/IDR/idr0021-lawo-pericentriolarmaterial/blob/9479af85f19487f215e3dfdd31a1b587370ed3cf/experimentA/idr0021-experimentA-bulkmap-config.yml + - `idr0021-experimentA-bulkmap-config.yml `_ - :download:`simple-annotation-bulkmap-config.yml <../scripts/simple-annotation-bulkmap-config.yml>` - Annotation CSV files define the content of OMERO.tables for each image. - - https://github.com/IDR/idr0021-lawo-pericentriolarmaterial/blob/9479af85f19487f215e3dfdd31a1b587370ed3cf/experimentA/idr0021-experimentA-annotation.csv + - `idr0021-experimentA-annotation.csv `_ - :download:`simple-annotation.csv <../scripts/simple-annotation.csv>` - :download:`four-images.csv <../scripts/four-images.csv>` @@ -52,7 +52,7 @@ Setup **Metadata plugin installation** -- Go to the environment where you installed your OMERO.cli as specified under - https://docs.openmicroscopy.org/omero/latest/users/cli/installation.html. +- Go to the environment where you installed your OMERO.cli as specified under - `CLI installation `_. - Activate the virtual environment. @@ -69,7 +69,7 @@ Step-by-step $ export PATH=/opt/omero/server/venv3/bin:$PATH -#. Download the CSV from `idr0021-experimentA-annotation.csv `_ if you have access to the `idr0021 `_ data in your OMERO.server. Alternatively, download :download:`simple-annotation.csv <../scripts/simple-annotation.csv>`, which will allow you to work with the siRNAi-HeLa dataset, which you can download from https://downloads.openmicroscopy.org/images/DV/siRNAi-HeLa/. +#. Download the CSV from `idr0021-experimentA-annotation.csv `_ if you have access to the `idr0021 `_ data in your OMERO.server. Alternatively, download :download:`simple-annotation.csv <../scripts/simple-annotation.csv>`, which will allow you to work with the `siRNAi-HeLa `_ dataset. #. The variable ``$ID​`` below is the ID of the ​Project, in this example case it is the Project containing the idr0021 study. If you are working with the siRNAi-HeLa data, replace in the following example the "Project" with a "Dataset" and the ``idr0021-experimentA-annotation.csv`` with ``simple-annotation.csv``. To add annotations from a local CSV file to the images in the said Project or Dataset in the form of OMERO.tables, run:: From 74d43a1d425d7e76051ef7bf2d8fdbe8daae1e38 Mon Sep 17 00:00:00 2001 From: pwalczysko Date: Wed, 17 Jun 2020 09:29:14 +0100 Subject: [PATCH 17/17] Update scripts/simple-annotation-bulkmap-config.yml Co-authored-by: Simon Li --- scripts/simple-annotation-bulkmap-config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/simple-annotation-bulkmap-config.yml b/scripts/simple-annotation-bulkmap-config.yml index d65f253..4e55012 100644 --- a/scripts/simple-annotation-bulkmap-config.yml +++ b/scripts/simple-annotation-bulkmap-config.yml @@ -106,7 +106,7 @@ columns: # "clientvalue" can be used to override the value of the map- # annotation key-value. The "value" is substituted using # Jinja2 templates. - clientvalue: http://www.ensembl.org/id/{{ value|urlencode }} + clientvalue: https://www.ensembl.org/id/{{ value|urlencode }} include: yes - name: Comment [Gene Symbol] clientname: Gene Symbol