Skip to main content

This package provides the common interface for the Building Blocks.

Project description

HPC/Exascale Centre of Excellence in Personalised Medicine

Base Building Block

This package provides the base for all Building Blocks (BBs) developed in the HPC/Exascale Centre of Excellence in Personalised Medicine (PerMedCoE) project.

Table of Contents

User instructions

Requirements

Installation

There are two ways to install this package (from Pypi and manually):

  • From Pypi:

    This package is publicly available in Pypi:

    pip install permedcoe
    

    or more specifically:

    python3 -m pip install permedcoe
    
  • From source code:

    This package provides an automatic installation script:

    ./install.sh
    

Command line

This package provides the permedcoe command:

$ permedcoe -h
usage: permedcoe [-h] [-d] [-l {debug,info,warning,error,critical}]
               {execute,x,template,t,deploy,d} ...

positional arguments:
  {execute,x,template,t,deploy,d}
    execute (x)         Execute a building block.
    template (t)        Shows an example of the requested template.
    deploy (d)          Download and deploy the requested workflow or building block.

options:
  -h, --help            show this help message and exit
  -d, --debug           Enable debug mode. Overrides log_level (default: False)
  -l {debug,info,warning,error,critical}, --log_level {debug,info,warning,error,critical}
                        Set logging level. (default: error)

Option execute:

  • It enables to execute single building blocks or applications:

    $ permedcoe execute -h
    usage: permedcoe execute [-h] {building_block,bb,application,app} ...
    
    positional arguments:
      {building_block,bb,application,app}
        building_block (bb)
                            Execute a building block.
        application (app)   Execute an application.
    
    optional arguments:
      -h, --help            show this help message and exit
    
    • In particular for building blocks:

      $ permedcoe execute building_block -h
      usage: permedcoe execute building_block [-h] name [parameters ...]
      
      positional arguments:
        name        Building Block to execute
        parameters  Building Block parameters (default: None)
      
      options:
        -h, --help  show this help message and exit
      

      Specifying the particular building block to execute (must be installed), provides more detailed information:

      $ permedcoe execute building_block MaBoSS_BB -h
      usage: permedcoe [-h] [-c CONFIG] [-d] [-l {debug,info,warning,error,critical}] [--tmpdir TMPDIR]
                   [--processes PROCESSES] [--gpus GPUS] [--memory MEMORY] [--mount_points MOUNT_POINTS]
                   {default,sensitivity} ...
      
        This building block uses MaBoSS to screen all the possible knockouts of a given Boolean model. It
        produces a candidate gene list formatted as a text file (single gene per row). More information on
        MaBoSS can be found in [Stoll G. et al. (2017)](https://academic.oup.com/bioinformatics/article-
        lookup/doi/10.1093/bioinformatics/btx123) and in the [MaBoSS GitHub
        repository](https://github.com/maboss-bkmc/MaBoSS-env-2.0).
      
        positional arguments:
          {default,sensitivity}
      
        options:
          -h, --help            show this help message and exit
          -c CONFIG, --config CONFIG
                                (CONFIG) Configuration file path
          -d, --debug           Enable Building Block debug mode. Overrides log_level
          -l {debug,info,warning,error,critical}, --log_level {debug,info,warning,error,critical}
                                Set logging level
          --tmpdir TMPDIR       Temp directory to be mounted in the container
          --processes PROCESSES
                                Number of processes for MPI executions
          --gpus GPUS           Requirements for GPU jobs
          --memory MEMORY       Memory requirement
          --mount_points MOUNT_POINTS
                                Comma separated alias:folder to be mounted in the container
      
    • In particular for building blocks:

      $ permedcoe execute application -h
      usage: permedcoe execute application [-h] [-w {none,pycompss,nextflow,snakemake}]
                                          [-f FLAGS [FLAGS ...]]
                                          name [parameters [parameters ...]]
      
      positional arguments:
        name                  Application to execute
        parameters            Application parameters (default: None)
      
      optional arguments:
        -h, --help            show this help message and exit
        -w {none,pycompss,nextflow,snakemake}, --workflow_manager {none,pycompss,nextflow,snakemake}
                              Workflow manager to use (default: none)
        -f FLAGS [FLAGS ...], --flags FLAGS [FLAGS ...]
                              Workflow manager flags (default: None)
      

Option template:

  • It available to create a skeleton of a building block or an application:

    $ permedcoe template -h
    usage: permedcoe template [-h] [-t {all,pycompss,nextflow,snakemake}]
                              {bb,building_block,app,application} name
    
    positional arguments:
      {bb,building_block,app,application}
                            Creates a Building Block or Application template.
      name                  Building Block or Application name.
    
    optional arguments:
      -h, --help            show this help message and exit
      -t {all,pycompss,nextflow,snakemake}, --type {all,pycompss,nextflow,snakemake}
                            Application type. (default: all)
    

Option deploy:

  • It available to deploy an existing Building Block or Workflow in a local machine (e.g. laptop):

    $ permedcoe deploy -h
    usage: permedcoe deploy [-h] {building_block,bb,workflow,wf} ...
    
    positional arguments:
      {building_block,bb,workflow,wf}
        building_block (bb)
                            A specific building block.
        workflow (wf)       A specific workflow.
    
    options:
      -h, --help            show this help message and exit
    

For the deployment in supercomputers, please contact PerMedCoE: https://permedcoe.eu/contact/.

Public API

The permedcoe package provides a set of public decorators, parameter type definition and functions to be used in the Building Block implementation.

  • Public decorators:

    from permedcoe import container
    from permedcoe import constraint
    from permedcoe import binary
    from permedcoe import mpi
    from permedcoe import task
    
  • Parameter type definition:

    from permedcoe import Type
    from permedcoe import FILE_IN
    from permedcoe import FILE_OUT
    from permedcoe import FILE_INOUT
    from permedcoe import DIRECTORY_IN
    from permedcoe import DIRECTORY_OUT
    from permedcoe import DIRECTORY_INOUT
    from permedcoe import StdIOStream
    from permedcoe import STDIN
    from permedcoe import STDOUT
    from permedcoe import STDERR
    
  • Functions:

    from permedcoe import get_environment
    from permedcoe import set_debug
    from permedcoe import invoker
    
  • Classes:

    from permedcoe import Arguments
    

Uninstall

Uninstall can be done as usual pip packages:

There are two ways to uninstall this package, that depends on the way that it was installed (from Pypi or using install.sh):

  • From Pypi:

    pip uninstall permedcoe
    

    or more specifically:

    python3 -m pip uninstall permedcoe
    
  • From manual installation (using install.sh):

    ./uninstall.sh
    

    And then the folder can be cleaned as well using the clean.sh script.

    ./clean.sh
    

Developer instructions

Building block

If you are willing to implement your Building Block (BB), check the following repositories, where you will find documentation, tutorials, and BB/application samples:

License

Apache 2.0

Contact

https://permedcoe.eu/contact/

This software has been developed for the PerMedCoE project, funded by the European Commission (EU H2020 951773).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

permedcoe-0.0.12.tar.gz (33.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page