Skip to main content

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).

Metadata

Release files for permedcoe 0.0.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for permedcoe 0.0.12
File Size Uploaded Provenance Actions
permedcoe-0.0.12.tar.gz 33.6 kB Without provenance Details for permedcoe-0.0.12.tar.gz

Release files / permedcoe-0.0.12.tar.gz

Download URL permedcoe-0.0.12.tar.gz
Size 33.6 kB
Tags Source
SHA-256 checksum
How to use checksums
e385234b3aa5986c724f33b4323d46d0e9fdc6ce3f01ced6d0d657a57ba07503
BLAKE2b-256 checksum
How to use checksums
73c578614315bd56e7dbf8f119d79df21f758745cfed229ca789a4c9f35ae6f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.12

Security for permedcoe 0.0.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page