Exemple #1
0
    def check(self):

        from omero.cli import CLI
        from omero.gateway import BlitzGateway

        cli = CLI()
        cli.loadplugins()
        cli.onecmd('login -q')

        try:
            gateway = BlitzGateway(client_obj=cli.get_client())
            for experiment in self.m["experiments"]:
                self.check_object(gateway, experiment, "Project")
            for experiment in self.m["screens"]:
                self.check_object(gateway, experiment, "Screen")
            if "map" in self.m:
                if self.m["experiments"]:
                    study_type = "Project"
                else:
                    study_type = "Screen"
                self.check_object(gateway, self.m, study_type)
        finally:
            if cli:
                cli.close()
            gateway.close()
Exemple #2
0
def main():
    parser = Parser()
    parser.add_login_arguments()
    parser.add_argument("--orphans", action="store_true")
    parser.add_argument("--unknown", action="store_true")
    parser.add_argument("--search", action="store_true")
    parser.add_argument("--images", action="store_true")
    parser.add_argument("--copy-from", type=long, default=None)
    parser.add_argument("--copy-type", default="Image")
    parser.add_argument("--copy-to", type=long, default=None)
    parser.add_argument("screen", nargs="?")
    ns = parser.parse_args()

    cli = CLI()
    cli.loadplugins()
    client = cli.conn(ns)
    try:
        query = client.sf.getQueryService()
        if ns.orphans:
            orphans(query)
        elif ns.unknown:
            unknown(query)
        elif ns.search:
            search = client.sf.createSearchService()
            check_search(query, search)
        elif not ns.screen:
            stat_screens(query)
        else:
            if ns.copy_to:
                copy(client, ns.copy_from, ns.copy_type, ns.copy_to)
            else:
                for x in stat_plates(query, ns.screen, ns.images):
                    print x
    finally:
        cli.close()
def check(obj):

    from omero.cli import CLI
    from omero.gateway import BlitzGateway

    cli = CLI()
    cli.loadplugins()
    cli.onecmd('login')

    try:
        gateway = BlitzGateway(client_obj=cli.get_client())
        remote_obj = gateway.getObject(
                obj.type, attributes={"name": obj.name})
        errors = []
        if remote_obj.description != obj.description:
            errors.append("current:%s\nexpected:%s" % (
                remote_obj.description, obj.description))
        for al in remote_obj._getAnnotationLinks(
                ns="openmicroscopy.org/omero/client/mapAnnotation"):
            mapValue = al.child.mapValue
            kv_pairs = [(m.name, m.value) for m in mapValue]
            for i in range(len(kv_pairs)):
                if kv_pairs[i] != obj.map[i]:
                    errors.append(
                        "current:%s\nexpected:%s" % (kv_pairs[i], obj.map[i]))
        if not errors:
            log.info("No annotations mismatch detected")
        else:
            for e in errors:
                log.info("Found some annotations mismatch")
                print e
    finally:
        if cli:
            cli.close()
        gateway.close()
Exemple #4
0
    def check(self):

        from omero.cli import CLI
        from omero.gateway import BlitzGateway

        cli = CLI()
        cli.loadplugins()
        cli.onecmd('login -q')

        try:
            gateway = BlitzGateway(client_obj=cli.get_client())
            for experiment in self.m["experiments"]:
                self.check_object(gateway, experiment, "Project")
            for experiment in self.m["screens"]:
                self.check_object(gateway, experiment, "Screen")
            if "map" in self.m:
                if self.m["experiments"]:
                    study_type = "Project"
                else:
                    study_type = "Screen"
                self.check_object(gateway, self.m, study_type)
        finally:
            if cli:
                cli.close()
            gateway.close()
Exemple #5
0
def main():
    parser = Parser()
    parser.add_login_arguments()
    parser.add_argument("--orphans", action="store_true")
    parser.add_argument("--unknown", action="store_true")
    parser.add_argument("--search", action="store_true")
    parser.add_argument("--images", action="store_true")
    parser.add_argument("--copy-from", type=long, default=None)
    parser.add_argument("--copy-type", default="Image")
    parser.add_argument("--copy-to", type=long, default=None)
    parser.add_argument("screen", nargs="?")
    ns = parser.parse_args()

    cli = CLI()
    cli.loadplugins()
    client = cli.conn(ns)
    try:
        query = client.sf.getQueryService()
        if ns.orphans:
            orphans(query)
        elif ns.unknown:
            unknown(query)
        elif ns.search:
            search = client.sf.createSearchService()
            check_search(query, search)
        elif not ns.screen:
            stat_screens(query)
        else:
            if ns.copy_to:
                copy(client, ns.copy_from, ns.copy_type, ns.copy_to)
            else:
                for x in stat_plates(query, ns.screen, ns.images):
                    print x
    finally:
        cli.close()
Exemple #6
0
def main():
    parser = Parser()
    parser.add_login_arguments()
    parser.add_argument("--orphans", action="store_true")
    parser.add_argument("--unknown", action="store_true")
    parser.add_argument("--search", action="store_true")
    parser.add_argument("--images", action="store_true")
    parser.add_argument("--release",
                        default="TODO",
                        help="The name of the release, e.g. 'prod88'")
    parser.add_argument(
        "--disable-fsusage",
        action="store_true",
        help=("Disable fs usage file size and counts. "
              "Use this flag if the script is taking too long."))
    parser.add_argument(
        "--format",
        default="tsv",
        help=(
            "Output format, includes 'string', 'csv', 'tsv' (default), and "
            "'json'. "
            "'tsv' can be appended to the IDR studies.csv file with no further "
            "processing. "
            "All other formats include headers and totals. "
            "'string' is the most human readable (fixed width columns). "))
    parser.add_argument("studies",
                        nargs='*',
                        help="Studies to be processed, default all (idr*)")
    parser.add_argument('-v', '--verbose', action='count', default=0)
    ns = parser.parse_args()

    levels = [logging.WARNING, logging.INFO, logging.DEBUG]
    level = levels[min(len(levels) - 1, ns.verbose)]
    logging.basicConfig(level=level,
                        format="%(asctime)s %(levelname)s %(message)s")

    cli = CLI()
    cli.loadplugins()
    client = cli.conn(ns)
    try:
        query = client.sf.getQueryService()
        if ns.orphans:
            orphans(query)
        elif ns.unknown:
            unknown(query, ns.studies)
        elif ns.search:
            search = client.sf.createSearchService()
            check_search(query, search)
        else:
            df = stat_top_level(client,
                                ns.studies,
                                release=ns.release,
                                fsusage=(not ns.disable_fsusage),
                                append_totals=(ns.format != 'tsv'))
            print_stats(df, ns.format)
    finally:
        cli.close()
Exemple #7
0
def main():
    parser = Parser()
    parser.add_login_arguments()
    parser.add_argument("file")
    parser.add_argument("object")
    ns = parser.parse_args()

    cli = CLI()
    cli.loadplugins()
    client = cli.conn(ns)
    try:
        screen_metadata(client, ns.file, ns.object)
    finally:
        cli.close()
Exemple #8
0
def main():
    parser = Parser()
    parser.add_login_arguments()
    parser.add_argument("file")
    parser.add_argument("object")
    ns = parser.parse_args()

    cli = CLI()
    cli.loadplugins()
    client = cli.conn(ns)
    try:
        screen_metadata(client, ns.file, ns.object)
    finally:
        cli.close()
Exemple #9
0
    def check(self, update=False):

        from omero.cli import CLI
        from omero.gateway import BlitzGateway

        cli = CLI()
        cli.loadplugins()
        cli.onecmd('login -q')

        try:
            gateway = BlitzGateway(client_obj=cli.get_client())
            self.check_study(gateway, update=update)
        finally:
            if cli:
                cli.close()
            gateway.close()
def run(studyfile, targetstr):
    try:
        # `omero shell --login` automatically creates the client object
        session = client.getSession()
        cli = None
    except NameError:
        cli = CLI()
        cli.loadplugins()
        cli.onecmd('login')
        session = cli.get_client().getSession()

    try:
        us = session.getUpdateService()

        target = ProxyStringType()(targetstr)
        with open(studyfile) as f:
            rowkvs = get_pairs(f)
        links = create_map_annotation([target], rowkvs, ns)
        ids = us.saveAndReturnIds(links)
        print 'Created MapAnnotation links: %s' % ids
    finally:
        if cli:
            cli.close()
    for ds in project.listChildren():
        for img in ds.listChildren():
            channels = img.getChannels(noRE=True)
            lc = channels[channel_index].getLogicalChannel()
            lc.setName(channel_name)
            lc.save()


if len(sys.argv) < 4:
    printusage()
else:
    channel_index = int(sys.argv[1])
    channel_name = sys.argv[2]
    target = sys.argv[3].split(':')
    if target[0] == 'Project':
        project_id = int(target[1])
    else:
        printusage()

cli = CLI()
cli.loadplugins()
cli.onecmd('login -q')

try:
    conn = BlitzGateway(client_obj=cli.get_client())
    rename(conn, project_id, channel_index, channel_name)
finally:
    if cli:
        cli.close()
        conn.close()