Page Contents

OMERO

Downloads
Feature List
Licensing

Previous topic

Upgrading and maintenance

Next topic

OMERO.server backup and restore

This Page

OMERO Command Line Interface

See also

OMERO Command Line Interface
User documentation for the Command Line Interface
OMERO Command Line Interface
Developer Documentation for the Command Line Interface

Help for any specific CLI command can be displayed using the -h argument. See Command line help for more information.

When first beginning to work with the OMERO server, the omero db, omero config, and omero admin commands will be the first you will need.

Database tools

Rather than try to provide the functionality of a RDBM tool like psql, the omero db script command helps to generate SQL scripts for building your database. You can then use those scripts from whatever tool is most comfortable for you:

$ bin/omero db script OMERO4 0 secretpassword
Using OMERO4 for version
Using 0 for patch
Using password from commandline
Saving to /omero/OMERO4__0.sql
$ psql omero < OMERO4__0.sql

Server configuration

The omero config command is responsible for reading / writing user-specific profiles stored under etc/grid/config.xml. To get the current profile, use the omero config def command:

$ bin/omero config def
default

You can then examine the current profile keys using omero config get and set key-value pairs using omero config set:

$ bin/omero config get

$ bin/omero config set example "my first value"

$ bin/omero config get
example=my first value

You can use the OMERO_CONFIG environment variable to point at a different profile, e.g.:

$ OMERO_CONFIG=another bin/omero config def
another

$ OMERO_CONFIG=another bin/omero config get

$ OMERO_CONFIG=another bin/omero config set example "my second value"

$ OMERO_CONFIG=another bin/omero config get
example=my second value

The values set via omero config set override those compiled into the server jars. The default values which are set can be seen in Configuration properties glossary. To add several values to a configuration, you can pipe them via standard in using omero config load:

$ grep omero.ldap etc/omero.properties | OMERO_CONFIG=ldap bin/omero config load

$ OMERO_CONFIG=ldap bin/omero config get
omero.ldap.attributes=objectClass
omero.ldap.base=ou=example,o=com
omero.ldap.config=false
omero.ldap.groups=
omero.ldap.keyStore=
omero.ldap.keyStorePassword=
omero.ldap.new_user_group=default
omero.ldap.password=
omero.ldap.protocol=
omero.ldap.trustStore=
omero.ldap.trustStorePassword=
omero.ldap.urls=ldap://localhost:389
omero.ldap.username=
omero.ldap.values=person

Each of these values can then be modified to suit your local setup. To remove one of the key-value pairs, pass no second argument:

$ OMERO_CONFIG=ldap bin/omero config set omero.ldap.trustStore

$ OMERO_CONFIG=ldap bin/omero config set omero.ldap.trustStorePassword

$ OMERO_CONFIG=ldap bin/omero config set omero.ldap.keyStore

$ OMERO_CONFIG=ldap bin/omero config set omero.ldap.keyStorePassword

$ OMERO_CONFIG=ldap bin/omero config get
omero.ldap.attributes=objectClass
omero.ldap.base=ou=example,o=com
omero.ldap.config=false
omero.ldap.groups=
omero.ldap.new_user_group=default
omero.ldap.password=
omero.ldap.protocol=
omero.ldap.urls=ldap://localhost:389
omero.ldap.username=
omero.ldap.values=person

If you will be using a particular profile more frequently you can set it as your default using the omero config def command:

$ bin/omero config def ldap

And finally, if you would like to remove a profile, for example to wipe a given password off of a system, use omero config drop:

$ bin/omero config drop

Server administration

Server start

Once your database has been properly configured and your config profile is set to use that database, you are ready to start your server using the omero admin start command:

$ bin/omero admin start

Note

omero admin start and omero admin restart provide a useful debugging and maintenance option called --foreground. Using this option allows for starting the server up in the foreground, that is without creating a daemon on UNIX-like systems or service on Windows. During the lifetime of the server, the prompt from which it was launched will be blocked.

Server diagnostics

$ bin/omero admin diagnostics

User/group management

The omero user and omero group commands provide functionalities to add and manage users and groups on your database.

User creation

New users can be added to the database using the omero user add command:

$ bin/omero user add -h

During the addition of the new user, you will need to specify the first and last name of the new user and their username as well as the groups the user belongs to. To add John Smith as a member of group 2 identified as jsmith, enter:

$ bin/omero user add jsmith John Smith 2

Additional parameters such as the email address, institution, middle name etc can be passed as optional arguments to the omero user add command.

Converting non-LDAP users to LDAP authentication

If you want to take an existing (non-LDAP) user and ‘upgrade’ them to using LDAP you can do so using the omero ldap setdn command:

$ bin/omero ldap setdn -h

The process is also reversible so that the OMERO password for a user rather than the LDAP password will be used. See the caveat in the setdn help output below:

usage: bin/omero ldap setdn [-h] [-C] [-s SERVER] [-p PORT] [-g GROUP]
                            [-u USER] [-w PASSWORD] [-k KEY]
                            [--sudo ADMINUSER] [-q]
                            username dn

Set DN for user (admins only)

Once the DN is set for a user, the password set via OMERO is
ignored, and any attempt to change it will result in an error. When
you remove the DN, the previous password will be in effect, but if the
user never had a password, one will need to be set!

Positional Arguments:
  username                          User's OMERO login name
  dn                                User's LDAP distinguished name. If empty, LDAP will be disabled for the user

Optional Arguments:
  In addition to any higher level options

  -h, --help                        show this help message and exit

Login arguments:
  Optional session arguments

  -C, --create                      Create a new session regardless of existing ones
  -s SERVER, --server SERVER        OMERO server hostname
  -p PORT, --port PORT              OMERO server port
  -g GROUP, --group GROUP           OMERO server default group
  -u USER, --user USER              OMERO username
  -w PASSWORD, --password PASSWORD  OMERO password
  -k KEY, --key KEY                 OMERO session key (UUID of an active session)
  --sudo ADMINUSER                  Create session as this admin. Changes meaning of password!
  -q, --quiet                       Quiet mode. Causes most warning and diagnostic messages to be suppressed.

Group creation

New groups can be added to the database using the omero group add command:

$ bin/omero group add -h

During the addition of the new group, you need to specify the name of the new group:

$ bin/omero group add newgroup

The permissions of the group are set to private by default. Alternatively you can specify the permissions using --perms or --type optional arguments:

$ bin/omero group add read-only-1 --perms='rwr---'
$ bin/omero group add read-annotate-1 --type=read-annotate

See also

Groups and permissions system
Description of the three group permissions levels (private, read-only, read-annotate).

Lists of users/groups on the OMERO server can be queried using the omero user list and omero group list commands:

$ bin/omero user list
$ bin/omero group list

Group management

Users can be added to existing groups using the omero user joingroup or omero group adduser commands. Similarly, users can be removed from existing groups using the omero user leavegroup or omero group removeuser commands:

# Add jsmith to group read-annotate-1
$ bin/omero group adduser jsmith --name=read-annotate-1
# Remove jsmith from group read-annotate-1
$ bin/omero group removeuser jsmith --name=read-annotate-1
# Add jsmith to group read-only-1
$ bin/omero user joingroup read-only-1 --name=jsmith
# Remove jsmith from group read-only-1
$ bin/omero user leavegroup read-only-1 --name=jsmith

By passing the --as-owner option, these commands can also be used to manage group owners

# Add jsmith to the owner list of group read-annotate-1
$ bin/omero group adduser jsmith --name=read-annotate-1 --as-owner
# Remove jsmith from the owner list of group read-annotate-1
$ bin/omero user leavegroup read-annotate-1 --name=jsmith --as-owner

Group copy

To create a copy of a group, you must first create a new group using the omero group add command:

$ bin/omero group add read-only-2 --perms='rwr---'

Then you can use the omero group copyusers command to copy all group members from one group to another:

$ bin/omero group copyusers read-only-1 read-only-2

To copy the group owners, use the same command with the --as-owner optional argument:

$ bin/omero group copyusers read-only-1 read-only-2 --as-owner

Sudo functionality

Since 5.0.2, the CLI includes a sudo functionality for administrators allowing them to execute commands as another user. For example, to login as username, the root user can invoke the following command:

$ bin/omero login --sudo root -s servername -u username
Password for root:

The --sudo option is available to all commands accepting connection arguments. For instance to import data for user username:

$ bin/omero import --sudo root -s servername -u username image.tiff

Repository management

Since 5.0.3 it is possible to list images, filesets and the repositories that contain them. At an administrator-only level it is also possible to move filesets. This functionality is provided by the omero fs command. See

$ bin/omero fs -h

Listing repositories

The omero fs repos subcommand lists the repositories used by OMERO. For example

bin/omero fs repos

 # | Id | UUID                                 | Type    | Path
---+----+--------------------------------------+---------+--------------------------
 0 | 1  | 83bf5c68-8236-47ff-ae3e-728674eb0103 | Managed | /OMERO/ManagedRepository
 1 | 2  | ad899754-bff0-4605-a234-acd4da178f3b | Public  | /OMERO
 2 | 3  | ScriptRepo                           | Script  | /dist/lib/scripts

The options available to this subcommand are:

-h, --help

Display the help for this subcommand.

--style <{plain,csv,sql}>

This option determines the output style, tabular sql being the default as in the previous example. The csv style is comma-separated values with an initial header row, plain is the same as csv but without the header row.

--managed

This option lists only Managed repositories.

For example

bin/omero fs repos --managed --style=csv

#,Id,UUID,Type,Path
0,1,83bf5c68-8236-47ff-ae3e-728674eb0103,Managed,/OMERO/ManagedRepository

Listing filesets

The omero fs sets subcommand lists filesets by various criteria. Filesets are bundles of original data imported into OMERO 5 and above, which represent one or more images. For example

bin/omero fs sets

 #  | Id    | Prefix                            | Images | Files | Transfer
----+-------+-----------------------------------+--------+-------+----------
 0  | 79853 | user-3_9/2014-07/22/16-41-04.244/ | 1      | 1     |
 1  | 79852 | user-3_9/2014-07/22/10-44-11.235/ | 1      | 1     |
 2  | 79851 | user-3_9/2014-07/22/10-44-07.300/ | 1      | 1     |
 3  | 79813 | user-3_9/2014-07/21/14-13-02.353/ | 1      | 1     |
 4  | 79812 | user-3_9/2014-07/21/14-13-00.182/ | 1      | 1     |
 5  | 79811 | user-3_9/2014-07/21/14-12-59.212/ | 1      | 1     |
 6  | 79810 | user-3_9/2014-07/21/14-12-57.896/ | 1      | 1     |
 7  | 79809 | user-3_9/2014-07/21/14-10-22.436/ | 3      | 600   |
 ...
 24 | 79772 | user-4_5/2014-07/18/17-14-43.631/ | 1      | 1     |
(25 rows, starting at 0 of approx. 50173)

The options available to this subcommand are:

-h, --help

Display the help for this subcommand.

--style <{plain,csv,sql}>

See omero fs repos --style.

--limit <LIMIT>

This option specifies the maximum number of return values, the default is 25.

--offset <OFFSET>

This option specifies the number of entries to skip before starting the listing, the default, 0, is to skip no entries.

--order <{newest,oldest,prefix}>

This option determines the order of the rows returned, newest is the default.

--without-images

This option lists only those filesets without images, these may be corrupt filesets.

--with-transfer <WITH_TRANSFER [WITH_TRANSFER ...]>

This option lists only those filesets imported using the given in-place import methods.

--check

This option checks each fileset for validity by recalculating each file’s checksum and comparing it with the checksum recorded upon import. This may be slow. This option is available to administrators only.

--extended

With this option more details are provided for each returned value. This may be slow.

For example

bin/omero fs sets --order oldest --limit 3 --offset 5 --check

 # | Id | Prefix                            | Images | Files | Transfer | Check
---+----+-----------------------------------+--------+-------+----------+-------
 0 | 54 | user-3_9/2014-06/09/09-24-28.037/ | 1      | 1     |          | OK
 1 | 55 | user-3_9/2014-06/09/09-24-31.354/ | 1      | 1     |          | OK
 2 | 57 | user-5_4/2014-06/09/11-01-00.557/ | 1      | 1     |          | OK
(3 rows, starting at 5 of approx. 78415)

Listing images

The omero fs images subcommand lists imported images by various criteria. This subcommand is useful for showing pre-FS (i.e. OMERO 4.4 and before) images which have their original data archived with them. For example

bin/omero fs images

 #  | Image  | Name                              | FS    | # Files | Size
----+--------+-----------------------------------+-------+---------+----------
 0  | 102803 | kidney_TFl_1.bmp.ome.tiff         | 79853 | 1       | 435.1 KB
 1  | 102802 | 4kx4k.jpg                         | 79852 | 1       | 1.7 MB
 2  | 102801 | 2kx2k.jpg                         | 79851 | 1       | 486.3 KB
 3  | 102773 | multi-channel.ome.tif             | 79813 | 1       | 220.3 KB
 4  | 102772 | multi-channel-z-series.ome.tif    | 79812 | 1       | 1.1 MB
 5  | 102771 | multi-channel-time-series.ome.tif | 79811 | 1       | 1.5 MB
 6  | 102770 | multi-channel-4D-series.ome.tif   | 79810 | 1       | 7.4 MB
 7  | 102769 | 001_001_000_000.tif [Well B6]     | 79809 | 600     | 1.1 GB
...
 24 | 102732 | 00027841.png                      | 79774 | 1       | 235 B
(25 rows, starting at 0 of approx. 117393)

The options available to this subcommand are:

-h, --help

Display the help for this subcommand.

--style {plain,csv,sql}

See omero fs repos --style.

--limit <LIMIT>

See omero fs sets --limit.

--offset <OFFSET>

See omero fs sets --offset

--order <{newest,oldest,prefix}>

See omero fs sets --order.

--archived

With this option the subcommand lists only images with archived data.

--extended

With this option more details are provided for each returned value. This may be slow.

For example

bin/omero fs images --archived --offset 16 --limit 3

 # | Image | Name                      | FS | # Files | Size
---+-------+---------------------------+----+---------+---------
 0 | 15481 | UMD001_ORO.svs [Series 1] |    | 1       | 12.7 MB
 1 | 15478 | biosamplefullframetif.tif |    | 1       | 32.0 MB
 2 | 10018 | 050118.lei [07-13-a]      |    | 4       | 4.8 MB
(3 rows, starting at 16 of approx. 833)

Renaming filesets

The omero fs rename subcommand moves an existing fileset, specified by its ID, to a new location. This subcommand is available to administrators only.

It may be useful to rename an existing fileset after the import template (omero.fs.repo.path) has been changed to match the new template. By default the files in the fileset and the accompanying import log are moved. For example, after adding the group name and group ID to template and chnaging the date format

$ bin/omero fs rename 9

Renaming Fileset:9 to pg-0_3/user-0_2/2014-07-23/16-48-20.786/
Moving user-0_2/2014-07/23/16-31-51.070/ to pg-0_3/user-0_2/2014-07-23/16-48-20.786/
Moving user-0_2/2014-07/23/16-31-51.070.log to pg-0_3/user-0_2/2014-07-23/16-48-20.786.log

The ID can be given as a number or in the form Fileset:ID.

The options available to this subcommand are:

-h, --help

Display the help for this subcommand.

--no-move

With this option the files will be left in place to be moved later. Advice will be given as to which files need to be moved to complete the renaming process. Note that if the files are not moved then the renamed filesets will not be accessible until the files have been moved into the new positions.

For example

$ bin/omero fs rename Fileset:8 --no-move

Renaming Fileset:8 to pg-0_3/user-0_2/2014-07-23/16-49-23.543/
Done. You will now need to move these files manually:
-----------------------------------------------------
mv /OMERO/ManagedRepository/user-0_2/2014-07/23/16-29-14.809/ /OMERO/ManagedRepository/pg-0_3/user-0_2/2014-07-23/16-49-23.543/
mv /OMERO/ManagedRepository/user-0_2/2014-07/23/16-29-14.809.log /OMERO/ManagedRepository/pg-0_3/user-0_2/2014-07-23/16-49-23.543.log