singularity | Singularity : Application containers for Linux | Continuous Deployment library
kandi X-RAY | singularity Summary
kandi X-RAY | singularity Summary
Singularity is an open source container platform designed to be simple, fast, and secure. Singularity is optimized for compute focused enterprise and HPC workloads, allowing untrusted users to run untrusted containers in a trusted way. Check out talks about Singularity and some use cases of Singularity on our website.
Support
Quality
Security
License
Reuse
Top functions reviewed by kandi - BETA
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of singularity
singularity Key Features
singularity Examples and Code Snippets
Community Discussions
Trending Discussions on singularity
QUESTION
I'm trying to reproduce results of an older research paper and need tp run a singularity container with nvidia CUDA 9.0 and torch 1.2.0.
Locally I have Ubuntu 20.04 as VM where I run singularity build
. I follow the guide to installing older CUDA versions.
This is the recipe file
ANSWER
Answered 2022-Apr-14 at 10:20As described in overview section of singularity build
documentation
build can produce containers in two different formats that can be specified as follows.
- compressed read-only Singularity Image File (SIF) format suitable for production (default)
- writable (ch)root directory called a sandbox for interactive development (
--sandbox
option)
Adding --sandbox
should make the system files writable which should resolve your issue.
Ideally, I'd suggest adding any apt-get install
commands to the %post
section in your recipe file.
QUESTION
I am trying to pull a docker image from my Gitlab container registry using singularity pull
(as I want to use it singularity), but I get an error from singularity telling me that one file is not a tar archive.
Indeed this file contains
.AuthenticationRequired
Authentication required.
Command that works: docker pull registry.gitlab.com/uit-sfb/metapipe/preprocess-reads:master
.
Command that fails: singularity pull docker://registry.gitlab.com/uit-sfb/metapipe/preprocess-reads:master
The thing is that my repository is public and everyone has read access to it. So what am I missing??
...ANSWER
Answered 2022-Mar-22 at 23:29You should be able to build a Singularity image from a Docker image hosted on Docker hub with:
QUESTION
I have build a singularity container based on r-base image and installing custom libraries like Seurat. Now I am trying to run my .Rmd script as follows:
...ANSWER
Answered 2022-Mar-21 at 11:50The $(...)
statement is evaluated by bash and its output is what is sent to the singularity container. What you probably want is just:
QUESTION
I am trying to run a nextflow pipeline which uses an older version of nextflow (21.04.3) and java version 8. Since I have to use this pipeline on a remote server, therefore I can only use singularity.
As this nextflow pipeline also uses singularity pull calls therefore I need the singularity installed inside the docker image as well. Then, I can convert this image docker image to a singularity image and then I can move it to the remote server.
I am trying to install singularity inside dockerfile but I am getting errors,
This is the dockerfile that I am using,
...ANSWER
Answered 2022-Mar-20 at 14:04I made some changes in the dockerfile based on the method to install singularity in linux given here.
The complete dockerfile with which I was able to run successfully nextflow, java and singularity within singularity is given below,
QUESTION
I am trying to match the estimate of random effects from R version 3.5.3 (lme4 1.1-18-1) to R version 4.1.1 (lme4 1.1-27.1). However, there is a small difference of random effects between these two versions when there is singular fit. I'm fine with singularity warnings, but it is puzzling that different versions of R/lme4 produce slightly different results.
The following scripts are from R version 3.5.3 (lme4 1.1-18-1) and R version 4.1.1 (lme4 1.1-27.1) with the dataset Arabidopsis from lme4.
...ANSWER
Answered 2022-Mar-07 at 17:34This is a hard problem to solve in general, and even a fairly hard problem to solve in specific cases.
I think the difference arose between version 1.1.27.1 and 1.1.28, probably from this NEWS item:
construction of interacting factors (e.g. when f1:f2 or f1/f2 occur in random effects terms) is now more efficient for partially crossed designs (doesn't try to create all combinations of f1 and f2) (GH #635 and #636)
My guess is that this changes the ordering of the components in the Z matrix, which in turn means that results of various linear algebra operations are not identical (e.g. floating point arithmetic is not associative, so while binary addition is commutative (a + b == b + a
), left-to-right evaluation of a sum may not be the same as right-to-left evaluation ((a+b) + c != a + (b+c)
) ...)
My attempt at reproducing the problem uses the same version of R ("under development 2022-02-25 r81818") and compares only lme4
package versions 1.18.1 with 1.1.28.9000 (development); any upstream packages such as Rcpp
, RcppEigen
, Matrix
use the same versions. (I had to backport a few changes from the development version of lme4
to 1.1.18.1 to get it to install under the most recent version of R, but I don't think any of those modifications would affect numerical results.)
I did the comparison by installing different versions of the lme4
package before running the code in a fresh R session. My results differed between versions 1.1.18.1 and 1.1.28 less than yours did (both fits were singular, and the relative differences in the theta
estimates were of the order of 2e-7 — still greater than your desired 1e-8 tolerance but much smaller than 1e-4 ...)
The results from 1.1.18.1 and 1.1.27.1 were identical.
- Q1: Why are your results more different between versions than mine?
- in general/anecdotally, numerical results on Windows are slightly more unstable/differ more from other platforms
- there are more differences between your two test platforms than among mine: R version, upstream packages (
Matrix
/Rcpp
/RcppEigen
/minqa
), possibly the compiler versions and settings used to build everything [all of which could make a difference]
- Q2: how should one deal with this kind of problem?
- as a minor frame challenge, why (other than not understanding what's going on, which is a perfectly legitimate reason to be concerned) does this worry you? The differences in the results are way smaller than the magnitude of statistical uncertainty, and differences this large are also likely to occur across different platforms (OS/compiler version/etc.) even for otherwise identical environments (versions of R,
lme4
, and other packages). - you could revert to version 1.1.27.1 for now ...
- I do take the differences between 1.1.27.1 as a bug, of sorts — at the very least it's an undocumented change in the package. If it were sufficiently high-priority I could investigate the code changes described above and see if there is a way to fix the problems they addressed without breaking backward compatibility (in theory this should be possible, but it could be annoyingly difficult ...)
- as a minor frame challenge, why (other than not understanding what's going on, which is a perfectly legitimate reason to be concerned) does this worry you? The differences in the results are way smaller than the magnitude of statistical uncertainty, and differences this large are also likely to occur across different platforms (OS/compiler version/etc.) even for otherwise identical environments (versions of R,
QUESTION
I am working with a data set that is comprised of three columns: patient ID (ID), TIME, and cervical dilation (CD). I apologize in advance for being unable to share my data, as it is confidential, but I have included a sample table below. Each patient CD was recorded in time as they progressed through labor. Time is measured in hours and CD can be 1-10cm. The number of time points/CD scores vary from patient to patient. In this model t is set in reverse, where 10 cm (fully dilated) is set as t=0 for all patients. This is done so that all patients can be aligned at time of full dilation. My dataset has no NA's and all patients have 2 or more time points.
ID TIME CD 1 0 10 1 3 8 1 6 5 2 0 10 2 1 9 2 4 7 2 9 4I know for this problem I need to use nonlinear mixed effects model. I know from literature that the function that defines this biological process is modeled best as a biexponential function of the form CD= Cexp(-At)+(10-C)exp(-Lt), where A is the active labor rate [cm/hour], L is the latent labor rate [cm/hour], C is the diameter of the cervix [cm] at the point where the patient transitions from latent to active labor, and t is time in hours.
I have tried using both nlmer() and nlme() to fit this data, and I have used both the self-start biexponential function SSbiexp() as well as created my own function and its deriv(). Each parameter C, A, and L should have a random effect based on ID. Previous work has shown that C~4.98cm, A~0.41cm/hr, and L~0.07cm/hr. When using the SSbiexp(), there is a term for the second exponential component that is labeled here as C2, but should be the same as the (10-C) component of my self-made biexponential function.
When using nlme() with SSbiexp() I receive the error: Singularity in backsolve at level 0, block 1
...ANSWER
Answered 2022-Feb-23 at 20:36Here's how far I've gotten:
- the exponential rates are supposed to be specified as logs of the rates (to make sure that the rates themselves stay positive, i.e. that we have exponential decay curves rather than growth curves)
- I simplified the model significantly, taking out the random effects in
T1
andT2
.
QUESTION
I've been trying to learn how to use Nextflow and come across an issue with adding output to a channel as I need the processes to run in an order. I want to pass output files from one of the output subdirectories created by the tool (ONT-Guppy) into a channel, but can't seem to figure out how.
Here is the nextflow process in question:
...ANSWER
Answered 2022-Jan-17 at 15:39Nextflow processes are designed to run isolated from each other, but this can be circumvented somewhat when the command-line input and/or outputs are specified using params
. Using params like this can be problematic because if, for example, a params variable specifies an absolute path but your output declaration expects files in the Nextflow working directory (e.g. ./work/fc/0249e72585c03d08e31ce154b6d873
), you will get the 'Missing output file(s) expected by process' error you're seeing.
The solution is to ensure your inputs are localized in the working directory using an input declaration block and that the outputs are also written to the work dir. Note that only files specified in the output declaration block can be published using the publishDir directive.
Also, best to avoid calling Singularity manually in your script block. Instead just add singularity.enabled = true
to your nextflow.config
. This should also work nicely with the beforeScript process directive to initialize your environment:
QUESTION
Is there a way to track running singularity container like "docker ps" ? or singularity logs any start/stop info in somewhere.
I have tried the "singularity instance list" command but it doesn't work for the singularity container which doesn't start with "singularity instance start"
Singularity running with singularity exec
...ANSWER
Answered 2021-Oct-26 at 11:34As you found, instance list
only lists singularity processes that were started as instances. Instance logs (both running and past) are stored in ~/.singularity/instances/logs/$HOSTNAME/$USER
.
Active processes from non-instance commands aren't tracked anywhere. This is largely because Singularity does not use a centralized service model like Docker. Similarly, there's no "default" log location because stdout/stderr are handled that same as running any other command. As such, tracking down Singularity processes can be done using the standard shell tools.
Some examples:
QUESTION
I am not knowledgeable in nodejs or express, I have an API running on http://localhost:3000 and one of the endpoints call a function that uses file system to read file synchronously. When I make a post request on postman, it says in the console that it can't read a path that doesn't exist (which does to my understanding).
Relevant code:
index.js
...ANSWER
Answered 2021-Oct-23 at 19:30You've to use absolute path
instead of relative path
Modify your index.js
with the below code:
QUESTION
I'm trying to launch a singularity container on a hpc cluster. I have been running the projectNetv2.sif and sandbox on my local with no issue. After exporting them to a hpc I get the following error.
...ANSWER
Answered 2021-Oct-01 at 08:58Short answer:
bug your HPC admins to install Singularity
Longer answer:
There are two ways to install Singularity, as a privileged installation or an unprivileged / user namespace installation. The first way is the default, but requires sudo/root for certain actions (mostly singularity build
). The latter removes the need for root, but has other system requirements. It's possible additional OS configuration is necessary for Singularity to function as expected.
In addition to privileged/unprivileged installations, disk storage in clusters is usually on NFS or another networked/distributed filesystem so all nodes have access to the same data. Unfortunately, as is usually the case any time it is involved, NFS is a likely cause for your problem. Singularity relies on SUID for its core functionality, but for (quite good) security reasons SUID is disabled on NFS by default. It is unlikely the cluster admins will enable that option, so your best bet is to ask them install it locally on whichever computer/interactive nodes you need it on.
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install singularity
Support
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page