Code Monkey home page Code Monkey logo

condathis's Introduction

luciorq

Personal website of Lucio Rezende Queiroz

condathis's People

Contributors

luciorq avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

c1au6i0

condathis's Issues

Implement remove_env()

This is an improvement request by @c1au6i0.

Currently, the package has the condathis::create_env() function for creating conda environments for use by the condathis::run() function.

Ideally, an opposite condathis::remove_env() should also exist to remove conda environments.

Auto method is not robust enough for using containers as the default backend

The proposed solution would be to use "native" as the default for the method argument for create_env() and run() when Linux x86_64 environments are detected.

The main use case here targets HPC infrastructure that primarily runs on Linux x86_64.
Also, most of the CLI tools would be available in a native format, at least for bioinformatics-related tools.

run error micromamba fail

With version 0.0.2.9003, error launching run:

condathis::create_env("gsutil", env_name = "gsutil-env", method = "native")
#> Running /Users/heverz/.local/share/condathis/micromamba/bin/micromamba create \
#>   -r /Users/heverz/.local/share/condathis -c bioconda -c conda-forge -c \
#>   defaults -n gsutil-env --yes --quiet gsutil
condathis::run("gsutil", "--help", env_name = "gsutil-env")
#> Usage: gsutil [-D] [-DD] [-h header]... [-i service_account] [-m] [-o section:flag=value]... [-q] [-u user_project] [command [opts...] args...]
#> Available commands:
#>   acl              Get, set, or change bucket and/or object ACLs
#>   autoclass        Configure Autoclass feature
#>   bucketpolicyonly Configure uniform bucket-level access
#>   cat              Concatenate object content to stdout
#>   compose          Concatenate a sequence of objects into a new composite object.
#>   config           Obtain credentials and create configuration file
#>   cors             Get or set a CORS configuration for one or more buckets
#>   cp               Copy files and objects
#>   defacl           Get, set, or change default ACL on buckets
#>   defstorageclass  Get or set the default storage class on buckets
#>   du               Display object size usage
#>   hash             Calculate file hashes
#>   help             Get help about commands and topics
#>   hmac             CRUD operations on service account HMAC keys.
#>   iam              Get, set, or change bucket and/or object IAM permissions.
#>   kms              Configure Cloud KMS encryption
#>   label            Get, set, or change the label configuration of a bucket.
#>   lifecycle        Get or set lifecycle configuration for a bucket
#>   logging          Configure or retrieve logging on buckets
#>   ls               List providers, buckets, or objects
#>   mb               Make buckets
#>   mv               Move/rename objects
#>   notification     Configure object change notification
#>   pap              Configure public access prevention
#>   perfdiag         Run performance diagnostic
#>   rb               Remove buckets
#>   requesterpays    Enable or disable requester pays for one or more buckets
#>   retention        Provides utilities to interact with Retention Policy feature.
#>   rewrite          Rewrite objects
#>   rm               Remove objects
#>   rpo              Configure replication
#>   rsync            Synchronize content of two buckets/directories
#>   setmeta          Set metadata on already uploaded objects
#>   signurl          Create a signed URL
#>   stat             Display object status
#>   test             Run gsutil unit/integration tests (for developers)
#>   ubla             Configure Uniform bucket-level access
#>   version          Print version info about gsutil
#>   versioning       Enable or suspend versioning for one or more buckets
#>   web              Set a website configuration for a bucket
#> 
#> Additional help topics:
#>   acls             Working With Access Control Lists
#>   crc32c           CRC32C and Installing crcmod
#>   creds            Credential Types Supporting Various Use Cases
#>   dev              Contributing Code to gsutil
#>   encoding         Filename encoding and interoperability problems
#>   metadata         Working With Object Metadata
#>   naming           Object and Bucket Naming
#>   options          Global Command Line Options
#>   prod             Scripting Production Transfers
#>   security         Security and Privacy Considerations
#>   shim             Shim for Running gcloud storage
#>   support          Google Cloud Storage Support
#>   versions         Object Versioning and Concurrency Control
#> 
#> Use gsutil help <command or topic> for detailed help.
#> Error in c("processx::run(command = fs::path_real(umamba_bin_path), args = c(\"run\", ", : ! System command 'micromamba' failed

solution for STDOUT redirection

The function condathis::run does not allow redirection with > :

condathis::run("echo", "pippo", ">", "pippo.txt", env_name = my-env)

This could be implemented exposing the stdout argument of processx::run:

processx::run(
    command = "ls"
    , stdout = "file.txt"
)

WHY: some bioinformatics tools use > to write files (i.e. minimap2 align, samtools...)

When the singularity backend is unable to write on disk using apptainer 1.1.6

On method = "singularity", apptainer exec is erroring with read-only FS on user bound directory.

Apptainer version 1.1.6-1.el7 on "CentOS Linux 7 (Core)".
It also doesn't happen with Sylabs Singularity version 3.7.3-1.el7 in the same HPC environment.

This error doesn't happen on Apptainer version 1.0.1 on "Ubuntu 22.04 LTS".

Command cache implementation is not reproductible on heterogeneous backends

Initially, the "command + method" cache mechanism was implemented as a mechanism to speed up the method = "auto".
It would validate that a command/package is available for that backend/architecture.

But for heterogeneous infrastructures, like clusters, cloud boosters, etc., it leads to more problems than benefits. In the sense that a cache would be detrimental if new backends should be discovered "on the go".

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.