示例#1
0
filter.offset = rint(0)

plates = q.findAll("Plate", filter)
if len(plates) == 0:
    print "No plates"
    sys.exit(0)
else:
    import random
    example_plate = random.choice(plates)
    print "Loading wells for Plate %s (%s)" % (
        example_plate.getId().getValue(), example_plate.getName().getValue())

# An example of true paging
filter.limit = rint(12)
params = ParametersI()
params.addId(example_plate.getId().getValue())
params.theFilter = filter

offset = 0
while True:

    wells = q.findAllByQuery(LOAD_WELLS, params)
    if len(wells) == 0:
        break
    else:
        offset += len(wells)
        params.theFilter.offset = rint(offset)

    for well in wells:
        id = well.getId().getValue()
        row = well.getRow().getValue()
示例#2
0
c = omero.client()
s = c.createSession()
q = s.getQueryService()

QUERY = ("select p from Plate p left outer join fetch p.wells w"
         " left outer join fetch w.wellSamples s"
         " left outer join fetch s.image where p.id = :id")

filter = omero.sys.Filter()
plates = q.findAll('Plate', filter)

print 'Plate:'
for i in range(len(plates)):
    params = ParametersI()
    params.addId(plates[i].getId().getValue())
    plate = q.findByQuery(QUERY, params)
    print '    %d %s ' % (i, plate.getName().getValue())
    wells = {}

    for well in plate.copyWells():
        row = well.getRow() and well.getRow().getValue() or -1
        col = well.getColumn() and well.getColumn().getValue() or -1
        if row in wells:
            row_list = wells[row]
        else:
            row_list = []
            wells[row] = row_list
        row_list.append(col)
        row_list.sort()
示例#3
0
 def testAddIdRType(self):
     p = ParametersI()
     p.addId(rlong(1))
     self.assertEquals(rlong(1), p.map["id"])
示例#4
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import omero

from omero.rtypes import *
from omero_sys_ParametersI import ParametersI

client = omero.client(sys.argv)
try:
    sf = client.createSession()
    q = sf.getQueryService()

    query_string = "select i from Image i where i.id = :id and name like :namedParameter";

    p = ParametersI()
    p.addId(1L)
    p.add("namedParameter", rstring("cell%mit%"));

    results = q.findAllByQuery(query_string, p)
finally:
    client.closeSession()
from omero_sys_ParametersI import ParametersI # Temporary

c = omero.client();
s = c.createSession();
q = s.getQueryService();

QUERY = 'select p from Plate p left outer join fetch p.wells w left outer join fetch w.wellSamples s left outer join fetch s.image where p.id = :id';

filter = omero.sys.Filter();
plates = q.findAll('Plate', filter);


print 'Plate:'
for i in range(len(plates)):
    params = ParametersI();
    params.addId(plates[i].getId().getValue());
    plate = q.findByQuery(QUERY, params);
    print '    %d %s '  % ( i, plate.getName().getValue() )
    wells = {}

    for well in plate.copyWells():
        row = well.getRow() and well.getRow().getValue() or -1
        col = well.getColumn() and well.getColumn().getValue() or -1
        if row in wells:
            row_list = wells[row];
        else:
            row_list = []
            wells[row] = row_list;
        row_list.append(col);
        row_list.sort()
c = omero.client()
s = c.createSession()
q = s.getQueryService()

GET_IMAGES_WITH_PLATES = "select i from Image i join i.wellSamples ws join ws.well w" " join w.plate p"  # Inner joins
GET_PLATE_FROM_IMAGE_ID = (
    "select p from Plate p join p.wells w join w.wellSamples ws" " join ws.image i where i.id = :id"
)

filter = omero.sys.Filter()
filter.limit = rint(100)
filter.offset = rint(0)
params = ParametersI()
params.theFilter = filter

images = q.findAllByQuery(GET_IMAGES_WITH_PLATES, params)
print "Found %s images" % len(images)

for image in images:

    params = ParametersI()
    params.addId(image.getId().getValue())
    # Multiple plates per image will through an exception
    plate = q.findByQuery(GET_PLATE_FROM_IMAGE_ID, params)
    print "Image %s belongs to Plate %s (%s)" % (
        image.getId().getValue(),
        plate.getId().getValue(),
        plate.getName().getValue(),
    )
 def testAddIdRaw(self):
     p = ParametersI()
     p.addId(1)
     assert rlong(1) == p.map["id"]
 def testAddIdRType(self):
     p = ParametersI()
     p.addId(rlong(1))
     assert rlong(1) == p.map["id"]
示例#9
0
 def testAddIdRType(self):
     p = ParametersI()
     p.addId(rlong(1))
     assert rlong(1) == p.map["id"]
示例#10
0
 def testAddIdRaw(self):
     p = ParametersI()
     p.addId(1)
     assert rlong(1) == p.map["id"]
filter.offset = rint(0)


plates = q.findAll("Plate", filter)
if len(plates) == 0:
    print "No plates"
    sys.exit(0)
else:
    import random
    example_plate = random.choice(plates)
    print "Loading wells for Plate %s (%s)" % (example_plate.getId().getValue(), example_plate.getName().getValue())

# An example of true paging
filter.limit = rint(12)
params = ParametersI()
params.addId(example_plate.getId().getValue())
params.theFilter = filter

offset = 0
while True:

    wells = q.findAllByQuery(LOAD_WELLS, params)
    if len(wells) == 0:
        break
    else:
        offset += len(wells)
        params.theFilter.offset = rint( offset )

    for well in wells:
        id = well.getId().getValue()
        row = well.getRow().getValue()
 def testAddIdRType(self):
     p = ParametersI()
     p.addId(rlong(1))
     self.assertEquals(rlong(1), p.map["id"])
示例#13
0
c = omero.client()
s = c.createSession()
q = s.getQueryService()

GET_IMAGES_WITH_PLATES = (
    "select i from Image i join i.wellSamples ws join ws.well w"
    " join w.plate p")  # Inner joins
GET_PLATE_FROM_IMAGE_ID = (
    "select p from Plate p join p.wells w join w.wellSamples ws"
    " join ws.image i where i.id = :id")

filter = omero.sys.Filter()
filter.limit = rint(100)
filter.offset = rint(0)
params = ParametersI()
params.theFilter = filter

images = q.findAllByQuery(GET_IMAGES_WITH_PLATES, params)
print "Found %s images" % len(images)

for image in images:

    params = ParametersI()
    params.addId(image.getId().getValue())
    # Multiple plates per image will through an exception
    plate = q.findByQuery(GET_PLATE_FROM_IMAGE_ID, params)
    print 'Image %s belongs to Plate %s (%s)' % (image.getId().getValue(),
                                                 plate.getId().getValue(),
                                                 plate.getName().getValue())