Mercurial > repos > lldelisle > omero_get_children_ids
changeset 1:82f2efb46200 draft default tip
planemo upload for repository https://github.com/lldelisle/tools-lldelisle/tree/master/tools/omero_get_children_ids commit 3a5c830ad68e29c5e9f91edffa0a548c77aac141
author | lldelisle |
---|---|
date | Mon, 17 Jun 2024 08:05:48 +0000 |
parents | b0876c73076b |
children | |
files | omero_get_children_ids.py omero_get_children_ids.xml |
diffstat | 2 files changed, 42 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/omero_get_children_ids.py Fri Dec 22 12:55:40 2023 +0000 +++ b/omero_get_children_ids.py Mon Jun 17 08:05:48 2024 +0000 @@ -20,22 +20,32 @@ return (omero_username, omero_password) -def recursive_get_children_id(parent_object, final_object_type): +def recursive_get_children_id(parent_object, final_object_type, get_name): output = [] if parent_object.OMERO_CLASS == 'WellSample': - return [parent_object.getImage().id] + if get_name: + parent_image = parent_object.getImage() + return [f"{parent_image.id}\t{parent_image.getName()}"] + else: + return [parent_object.getImage().id] for children in parent_object.listChildren(): if children.OMERO_CLASS == final_object_type.title(): - output.append(children.id) + if get_name: + output.append(f"{children.id}\t{children.getName()}") + else: + output.append(children.id) else: # We need to go one step further - output += recursive_get_children_id(children, final_object_type) + output += recursive_get_children_id( + children, final_object_type, get_name + ) return output def get_children_ids(parent_object_type, omero_id, final_object_type, + get_name, omero_username, omero_password, omero_host="idr.openmicroscopy.org", @@ -46,7 +56,9 @@ ) as conn: # Retrieve omero object parent_object = conn.getObject(parent_object_type.title(), omero_id) - return recursive_get_children_id(parent_object, final_object_type) + return recursive_get_children_id( + parent_object, final_object_type, get_name + ) if __name__ == "__main__": @@ -62,12 +74,15 @@ type=int, default=None, required=True) p.add_argument("--final-object-type", dest="final_object_type", type=str, default=None, required=True) + p.add_argument("--get-name", dest="get_name", + action="store_true", default=False) p.add_argument("--output", type=str, default=None, required=True) args = p.parse_args() children_ids = get_children_ids( args.parent_object_type, args.omero_id, args.final_object_type, + args.get_name, *get_omero_credentials(args.config_file), omero_host=args.omero_host, omero_secured=args.omero_secured,
--- a/omero_get_children_ids.xml Fri Dec 22 12:55:40 2023 +0000 +++ b/omero_get_children_ids.xml Mon Jun 17 08:05:48 2024 +0000 @@ -1,7 +1,7 @@ <tool id="omero_get_children_ids" name="Omero" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.01" license="MIT"> <description>Get children ids</description> <macros> - <token name="@TOOL_VERSION@">0.1.0</token> + <token name="@TOOL_VERSION@">0.2.0</token> <token name="@VERSION_SUFFIX@">0</token> </macros> <requirements> @@ -29,6 +29,7 @@ --omero-id '$omero_object.omero_id' --final-object-type '$omero_object.final_object_type' --output '$output' + $get_name ]]></command> <configfiles> <configfile name="credentials"><![CDATA[ @@ -105,6 +106,7 @@ </param> </when> </conditional> + <param name="get_name" type="boolean" truevalue="--get-name" falsevalue="" checked="false" label="Retrieve names into a second column" /> </inputs> <outputs> <data name="output" format="tabular" label="All ${omero_object.final_object_type} from ${omero_object.parent_object_type} ID ${omero_object.omero_id}" /> @@ -131,6 +133,23 @@ <param name="omero_instance" value="idr"/> </conditional> <conditional name="omero_object"> + <param name="parent_object_type" value="well"/> + <param name="omero_id" value="2184933"/> + <param name="final_object_type" value="image"/> + </conditional> + <param name="get_name" value="true"/> + <output name="output"> + <assert_contents> + <has_text text="003012001.flex [Well A-1; Field #1]"/> + <has_n_lines n="4"/> + </assert_contents> + </output> + </test> + <test expect_num_outputs="1"> + <conditional name="omero_instance_type"> + <param name="omero_instance" value="idr"/> + </conditional> + <conditional name="omero_object"> <param name="parent_object_type" value="plate"/> <param name="omero_id" value="10055"/> <param name="final_object_type" value="image"/> @@ -263,5 +282,7 @@ This tool will create a file with the list of all children ids of a given omero object. +If the option is set, it can also retrive the names. + ]]></help> </tool> \ No newline at end of file