INNER CODE UNIT · Python

iter_leaf_subclasses

broadinstitute/viral-ngs · src/viral_ngs/core/__init__.py:28

def iter_leaf_subclasses(a_class):
    "Iterate over subclasses at all levels that don't themselves have a subclass"
    is_leaf = True
    for subclass in sorted(a_class.__subclasses__(), key=operator.attrgetter("__name__")):
        is_leaf = False
        for leaf_class in iter_leaf_subclasses(subclass):
            if not getattr(leaf_class, '_skiptest', False):
                yield leaf_class
    if is_leaf:
        yield a_class


def all_tool_classes():
    return iter_leaf_subclasses(Tool)


def get_tool_by_name(name):
    if name not in installed_tools:

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…