Nemo User Guide: A Tool To Analyze Genes and Chromosome Territories Distributions From 3D-FISH Experiments
Nemo User Guide: A Tool To Analyze Genes and Chromosome Territories Distributions From 3D-FISH Experiments
Nemo User Guide: A Tool To Analyze Genes and Chromosome Territories Distributions From 3D-FISH Experiments
Version 1.1
Revision table:
Version
1.0
1.1
Date
09/09/2009
02/12/2009
Update description
First release
Publication revision
Author(s)
Eddie Iannuccelli
Eddie Iannuccelli
Acknowledgment:
I would like to thanks users who tested successive versions of NEMO, their feed back and
suggestions have strongly contributed to software usability. I specially thank Thomas Boudier
who significantly helped me to understand and use the ImageJ and Smart 3D-FISH Java
libraries.
Background..................................................................................................................................... 4
Introduction .................................................................................................................................... 4
Architecture .................................................................................................................................... 4
Installation ...................................................................................................................................... 5
4.1
Windows 32 bits installation.................................................................................................... 5
4.2
Linux 32 bits installation.......................................................................................................... 5
5
Preferences setup ............................................................................................................................ 6
6
Creating and opening fields ............................................................................................................ 7
6.1
Creating a new field ................................................................................................................. 7
6.1.1
Field name and path....................................................................................................... 7
6.1.2
Setup channels ............................................................................................................... 8
6.1.3
Import channels images ................................................................................................. 9
6.2
Opening an existing field ....................................................................................................... 10
7
Adding individual cells from fields .............................................................................................. 11
7.1
Manual cut ............................................................................................................................. 11
7.2
Automatic cut......................................................................................................................... 12
8
Browsing cells .............................................................................................................................. 13
9
How Nemo segments objects and provide distances .................................................................... 14
9.1
Segmentation method............................................................................................................. 14
9.2
Distances ................................................................................................................................ 14
9.3
How to tag a channel as Chromosome Territory ................................................................... 14
10
Field parameters..................................................................................................................... 15
10.1
Segmentation estimation parameters ................................................................................ 15
10.1.1
Channel level: .............................................................................................................. 15
10.1.2
Object level.................................................................................................................. 16
10.2
Processing parameters....................................................................................................... 16
11
Processing cells...................................................................................................................... 17
12
Understanding results............................................................................................................. 18
12.1
Object characteristics........................................................................................................ 18
12.2
Distances........................................................................................................................... 18
13
Helping Nemo to better detect objects ................................................................................... 19
13.1
Changing segmentation threshold..................................................................................... 19
13.2
Masking image parts......................................................................................................... 20
13.2.1
Edit mask ..................................................................................................................... 20
13.2.2
Edit per slice mask....................................................................................................... 21
13.2.3
Remove image mask.................................................................................................... 22
13.3
Detect object from manual seed........................................................................................ 23
13.4
Draw 3D object................................................................................................................. 24
14
Resetting channels and cells .................................................................................................. 24
15
Open in file explorer .............................................................................................................. 24
16
Show in separate windows..................................................................................................... 24
17
Using the slice cutter.............................................................................................................. 25
18
The 3D projection view.......................................................................................................... 25
19
The 3D reconstruction view................................................................................................... 25
20
Validating results ................................................................................................................... 27
21
Browsing database ................................................................................................................. 28
22
Using Nemo in command line mode...................................................................................... 30
23
Licence................................................................................................................................... 31
2 Introduction
Many different programs allow 3D-FISH experiment image analysis (commercials or free),
one of the more efficient programs to process 3D-FISH confocal microscopy images is Smart
3D-FISH, an ImageJ plug-in designed to automatically analyze distances between gene spots.
This ImageJ plug-in provides a powerful automatic processing mode able to detect and
measure object distances in multiple-channel experiments. After processing, Smart 3D-FISH
uses predefined parameters (for objects and images) to auto estimate segmentation quality.
Results are then manually checked using various produced text and image files. That point
was a problem with Smart 3D-FISH because of its poor user interface, the spread of data in
various text and image files also made this post processing step time-consuming. We decided
to develop new software, NEMO, a Smart 3D-FISH graphical user interface providing all data
in one place to improve result investigation, giving user ability to change some of the
automatic processing parameters and adding some basic data management functionalities. We
also tuned Smart 3D-FISH to better detect chromosome territories
3 Architecture
Nemo is a Java application using many java libraries but specially the Smart 3D-FISH library
developed by Thomas Boudier which uses the ImageJ library (Wayne Rasband). To avoid any
Java version problem, a Java runtime environment (1.6) is bundled into Nemo installation
package (jre directory).
4 Installation
Nemo can be used under Windows and Linux 32 bits platforms (Macintosh and 64 bits
packages will come later), each version can be freely downloaded from https://wwwlgc.toulouse.inra.fr web site Nemo section.
You can get the SQL source code by clicking on the Show SQL source, a popup window
provide complete SQL source you can copy and paste into your MySQL management tool to
create database tables.
After database tables are created, you can provide the connection string, user name and
password to let Nemo connect to database. Click on the test button to check Nemo can reach
database.
NB: considering following connection string : jdbc:mysql://uranus.toulouse.inra.fr/macro3d
uranus.toulouse.inra.fr is the MySQL server name
macro3d is the database name
The Connected to database checkbox disable connection when unchecked.
Creating and opening fields
If you want your data be stored into a MySQL database, you must first create the database on
your local computer (using XAMPP or any other local MySQL package) or you can use any
available MySQL LAN server (ask you system administrator). The SQL source code to create
database tables can be copy from the Nemo preferences dialog
Field name text is used to create a directory in the Field storage path folder. The field
configuration file is automatically named mfish3d.conf and is stored in the field directory. As
an example, the values used in the screen dump will create a directory named MyField in the
D:\Analysis folder, the field configuration file, mfish3d.conf, will be then stored in this field
directory (D:\Analysis\MyField). For Nemo, a field is a directory.
This page is used to provide channel number, colour and names. One Nucleus channel is
mandatory because Nemo need a container channel to process some measurements (angle,
local ray). The nucleus channel is processed differently since it only one object is assumed to
be bigger than others.
NB:
Nemo better process chromosome territories if channel name is prefixed by TC_ string, this
tag will activate some changes in image processing:
TopHat 3D filter is disabled
One automatic segmentation threshold value calculation parameter is different than
for genes.
This step provides per channel images stack import. .8-bit or 16-bit grey level TIFF image
stacks can be imported for each channel (additional image formats will be supported in a
future release). NEMO can process epifluorescence (deconvolved or not) and confocal stacks
but results pertinence will always depends on raw image quality
User open one stack window per channel and then select corresponding windows name for
each channel using the bottom popup menus. Click on Terminate button to create the new
field.
Zoom in
Rectangular selection
Polygonal selection
Zoom out
Circular selection
Free selection
Magic wand
Point selection
Select all
Dilate/erode
Invert selection
Circularity min: minimal circularity value to accept ROI. A circularity value of 1.0
indicates a perfect circle. As the value approaches 0, it indicates an increasingly
elongated shape.
Area min: minimum 2D area (in pixels) value to accept ROI
Each accepted ROI is then dilated using the Extension number of pixels to get some
background for each cell (this dilation value is very image quality dependant).
8 Browsing cells
You can browse cell channel images by double-clicking cell name from the left panel tree
view: each cell channel images are individualized in one stack, ready to be processed.
Use the horizontal scroll bar to explore stack Z dimension, you can zoom in and zoom out by
using the upper right small icons. When the cell will be processed, a second image column
will display per channel segmented images but before processing cells, you must setup field
parameters.
NB:
Most of the field, cell, channel and object actions can be triggered by using toolbar buttons,
main windows popup menus or tree view contextual menu.
9.2 Distances
Distances are computed for each pair of objects. Distances are euclidean distances weighted
by the xy and z resolution defined by the user. NEMO computes centre to centre distances
between objects; it also computes the border of each object allowing the computation of
centre to border distances and border to border distances. Border distances may be useful to
compute for instance the distance of a spot to the membrane of the nucleus.
10 Field parameters
Two parameter types are to be setup: segmentation estimation parameters (channel and object
level) and processing parameters. Segmentation estimation parameters are used after
processing to highlight unreliable results by specifying minimal image signal-to-noise ratio
value, expected object number, minimum and maximum object volumes. Processing
parameters define filters to run on raw images (Median 3D, TopHat 3D, mathematical
button from the toolbar or from the tree
morphologic 3D) and xyz resolutions Click on the
view field level contextual menu.
User select a channel in the left panel list to display or update selected channel parameters in
the right panel:
Channel level:
10.1.2
Object level
To process a channel, Nemo first detect objects and then measure various distances.
Sometimes, channels objects cannot be automatically detected because of artefacts, bad image
dynamic, etc. In that case, user can help Nemo using some tools (we will see later) which
implies successive channel processing until the result is acceptable. In that situation, user can
choose to only detect object without measuring to avoid measurement processing time. When
the segmentation result is correct, user can choose to only measure distances (this can be done
at the cell or channel level).
NB:
If some measure are not up to date with detected
objects (user has run a new detection for a
channel but has forget to re-run the
measurement on the channel newly detected
objects), stars characters (*) shows not up to
date channels. Run a measure only processing
to synchronize measurements with objects.
You can follow Nemo processing in the Processing log bottom tab, Nemo write a lot of things
in this tab, this can help you to understand what is happening or why nothing happens (by
example when Nemo performs longs task like TopHat and median filters, border to border
and feret distances for big objects). Click on the cell in the tree view to see the cell log, click
on the field to see the field log. These logs can act as tractability data and can be found in .log
files in field folder.
12.2 Distances
Various distance are displayed when user click on channel (homologous distances) or cell
(heterologous distances). Homologous distances are distance between objects pairs from the
same channel, homologous distance can only exists for channel having more than one object.
Click on any channel to display homologous distances. Heterologous distances are distance
between cell objects pairs from different channels. Click on cell to display heterologous
distances. Each object pair distance is made of the following values: center to center, border
to border, centre to border (2 combinations), angle (homologous distances only) and colocalization percentage (heterologous distances only). The border to border distance is the
shortest distance between any two points along the objects borders (equal 0 when objects are
connected). The angle value uses the nucleus center as origin. The co-localisation percentage
is the smallest object into biggest object co-localisation ratio. You can select table lines using
mouse and Ctrl-C to copy data to clipboard.
This dialog displays the threshold image to help user setting up the manual value. Reducing
the threshold value can make missing object appears, increasing threshold value will reduce
threshold pixel number, this can potentially change the pixel seed localisation so final object
can be quite different.
13.2.1
Edit mask
Select the channel you want to mask images and use the Edit image mask contextual menu:
The following dialog appears:
Select the zone you want to mask using any selection tool and click on the
button to
exclude this zone. If it is easier to define zone to keep than zone to exclude, select the zone to
keep and click on the
button. All defined zone are included or excluded, they cannot be
mixed. After clicking on the OK button, Nemo display the defined mask in main view, if you
choose to exclude zones, Nemo will use red border to denote zone to mask. If you choose to
draw zones to keep only for processing, Nemo will use green borders. In any cases, a small
blue circle will be displayed on the masked channel tree view icon (or cell icon if entire cell
was masked).
This kind of image mask is defined for all images in channel stack (scroll the Z dimension to
see that mask is the same for all slices). At processing time Nemo will replace masked pixels
by 0 values. You can also mask all channels with the same mask by selecting the cell to mask
in the tree view before using the Edit mask image tree view contextual menu.
13.2.2
In some situations, you may want to exclude artifacts on some specific slices only (artifacts
between objects in Z dimension but in the same XY area). To edit per slice image masks,
select the channel (or cell) and use the tree view Edit per slice image mask contextual menu.
The following dialog appears:
This dialog provides the same function than the previous except that you can define one
different ROI per slice. Check the Copy ROI to next slice checkbox to duplicate current ROI
to any slice you browse using the Z scroll bar. When object to mask do not vary too much
between slices, user can draw a first ROI (main shape), then duplicate this ROI using the copy
ROI to next slice function, and finally adjust each slice ROI to image. After clicking on the
OK button, Nemo display the defined mask (red border for exclusion, green border for
inclusion) in the channel images. A small blue circle will be displayed on the masked channel
tree view icon (or cell icon if entire cell was masked). You can check that ROI are different
for each slice by browsing image stack.
13.2.3
Image mask can be removed from channel or from cells by using the tree view contextual
menu Remove image mask. Since the masking process does not change source images, you
will get unchanged raw images.
Click on the Point tool icon in the toolbar ( ) and then click in the image at the place you
want to put the seed. Click on the OK button to let Nemo starting the process using your
manual seed. After processing, detected object will be displayed in the segmented images, a
specific icon ( ) is used in the tree view to denote objects been detected from manual seed.
You can use any selection tool to outline object slice per slice, use the Copy ROI to next slice
checkbox to duplicate current ROI to any slice your browse using bottom scrollbar (Z
dimension scrollbar).
NB:
Please, outline only one continuous object using this method, if you define more than one
object, Nemo will probably get confused.
Select the new starting slice by positioning the left scrollbar, and the new ending slice by
positioning the right scrollbar. Slices before the new start and after the new end will be
physically removed: this is a destructive operation; removed slices cannot be restored later.
You can rotate cell by using mouse left button, move the cell with the mouse right button and
zoom-in /zoom-out with the mouse scroll button.
If database is setup and reachable, any status or comments update will trigger the results save
to database. You can also force the results database save by clicking on the save ( ) toolbar
icon or tree view contextual menu.
Select the output type in the top right panel (cells, objects or distances), this will change the
result table columns composition and the way criteria will be used in query. By example, if
output is cells, channels tab criteria will be used as: Display cells having at least one channel
So be careful to read the criteria tab top label to understand how criteria are used. You can use
wildcards character:
%
_
Click on the column headers to change sort order, you can select result table rows using
mouse left button and copy (CTRL-C) them into clipboard. Click on the trash to delete cell
from database only (cell is not deleted from files so you can still open from field). The print
button ( ) produce a very basic result table output.
Here is an example of command line to ask Nemo processing a field in command line mode
with no graphical user interface and redirecting logging information to stdout. We assume that
Nemo.jar file is in the C:\nemo directory and that our field configuration file is in the
C:\MyField directory.
After been positioned into the Nemo directory (cd C:\Nemo), type:
.\jre\bin\java -Xms512m -Xmx1024m -jar nemo.jar -f C:\MyField \mfish3d.conf -g -p
This will start field outlined cells processing in command line mode.
23 Licence
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT
PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENCE DOES NOT
CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS
PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS
MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND
DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE.
Licence
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS
CREATIVE COMMONS PUBLIC LICENCE ("CCPL" OR "LICENCE"). THE WORK IS
PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF
THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENCE OR
COPYRIGHT LAW IS PROHIBITED. BY EXERCISING ANY RIGHTS TO THE WORK
PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF
THIS LICENCE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN
CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
This Creative Commons England and Wales Public Licence enables You (all capitalised
terms defined below) to view, edit, modify, translate and distribute Works worldwide, under
the terms of this licence, provided that You credit the Original Author.
'The Licensor' [one or more legally recognised persons or entities offering the Work under
the terms and conditions of this Licence]
and
'You'
agree as follows:
1. Definitions
a. "Attribution" means acknowledging all the parties who have contributed to and have
rights in the Work or Collective Work under this Licence.
b. "Collective Work" means the Work in its entirety in unmodified form along with a
number of other separate and independent works, assembled into a collective whole.
c. "Derivative Work" means any work created by the editing, modification, adaptation
or translation of the Work in any media (however a work that constitutes a Collective
Work will not be considered a Derivative Work for the purpose of this Licence). For
the avoidance of doubt, where the Work is a musical composition or sound recording,
the synchronization of the Work in timed-relation with a moving image ("synching")
will be considered a Derivative Work for the purpose of this Licence.
HOWEVER,
You must not:
impose any terms on the use to be made of the Work or the Work as incorporated in a
Collective Work that alter or restrict the terms of this Licence or any rights granted
under it or has the effect or intent of restricting the ability to exercise those rights;
impose any digital rights management technology on the Work or the Work as
incorporated in a Collective Work that alters or restricts the terms of this Licence or
any rights granted under it or has the effect or intent of restricting the ability to
exercise those rights;
make any Derivative Works;
sublicense the Work;
subject the Work to any derogatory treatment as defined in the Copyright, Designs and
Patents Act 1988.
FINALLY,
You must:
make reference to this Licence (by Uniform Resource Identifier (URI), spoken word
or as appropriate to the media used) on all copies of the Work and Collective Works
published, distributed, performed or otherwise disseminated or made available to the
public by You;
recognise the Licensor's / Original Author's right of attribution in any Work and
Collective Work that You publish, distribute, perform or otherwise disseminate to the
public and ensure that You credit the Licensor / Original Author as appropriate to the
media used; and
to the extent reasonably practicable, keep intact all notices that refer to this Licence, in
particular the URI, if any, that the Licensor specifies to be associated with the Work,
unless such URI does not refer to the copyright notice or licensing information for the
Work.
the Work; or
the Work as incorporated in a Collective Work
the Licensor agrees to offer to the relevant third party making use of the Work (in any of the
alternatives set out above) a licence to use the Work on the same terms and conditions as
granted to You hereunder.
2.3. This Licence does not affect any rights that the User may have under any applicable law,
including fair use, fair dealing or any other legally recognised limitation or exception to
copyright infringement.
2.4. All rights not expressly granted by the Licensor are hereby reserved, including but not
limited to, the exclusive right to collect, whether individually or via a licensing body, such as
a collecting society, royalties for any use of the Work.
3. Warranties and Disclaimer
Except as required by law, the Work is licensed by the Licensor on an "as is" and "as
available" basis and without any warranty of any kind, either express or implied.
4. Limit of Liability
Subject to any liability which may not be excluded or limited by law the Licensor shall not be
liable and hereby expressly excludes all liability for loss or damage howsoever and whenever
caused to You.
5. Termination
The rights granted to You under this Licence shall terminate automatically upon any breach
by You of the terms of this Licence. Individuals or entities who have received Collective
Works from You under this Licence, however, will not have their Licences terminated
provided such individuals or entities remain in full compliance with those Licences.
6. General