問題タブ [singularity-container]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
snakemake - Singularity & Snakemake - MissingOutputException
Singularity と Snakemake を組み合わせて、シーケンス データのワークフローを作成しています。この git プロジェクトhttps://github.com/sci-f/snakemake.scifに従ってパイプラインをモデル化しました。Singularity を使用しないバージョンのパイプラインは問題なく動作します。Singularity を使用するバージョンは、次のエラーで最初のルールの後に常に停止します。
ただし、このディレクトリは、logs ディレクトリだけでなく、fastp および fastp_report ディレクトリも作成します。待ち時間を 50 秒に増やしてみましたが、それでも同じエラーが発生します。
ここで何を試すかについてのアイデアはありますか?
conda - Nipype Docker イメージから Singularity レシピをビルドする CommandNotFound
次の Singularity コンテナ レシピがあります。
次のように、Singularity を使用してコンテナーを作成します。
sudo singularity build swish.simg Singularity.swish
依存関係のインストールとビルドの大部分は、エラーが発生するまで問題ありませんsource not found
。問題と私が試したことを繰り返すには:
- レシピからNipypeイメージを構築しています。%post 内で、2 つの追加パッケージ (seaborn と pybids) を「neuro」conda 環境にインストールしたいと考えています。
- しかし、%post 内でニューロ環境をアクティブ化しようとすると ("source activate neuro")、コマンド "source" が見つからないというエラー メッセージが表示され続けます。
- %post のコマンドを bash で実行したいのですが、どこに指定すればよいかわかりません。
bind - 特異点でのマウントとバインドの違いは何ですか?
ドキュメントを読むと、マウントとバインドの両方で、選択したファイルシステムにアクセスできるようです。違いは何ですか? また、なぜ一方と他方を実行したいのでしょうか?
さらに、ドキュメントでは「バインドマウント」について説明しています。
「デフォルトでは、特異点バインドは実行時に /home/$USER、/tmp、および $PWD をコンテナーにマウントします。」これは事ですか?
bash - 開いた特異点コンテナーでアクションを実行する bash スクリプト
ターミナルの RedHat で次のワークフローを使用しています。
- 特異点画像を開く:
singularity run /mn/sarpanitu/singularity/test/fenics-and-more.img
- 特異点内の一部の表示をエクスポートします。
export DISPLAY=:0.0
- 特異点内のgmshへのパスをエクスポートします。
export PATH="$HOME/Downloads/gmsh-git-Linux64/bin:$PATH"
すべてをbashスクリプトとして配置したい。私の最初の(機能していない)アプローチは次のとおりです(すべてsingularity_script.shファイル内):
ソースを取得してから関数を呼び出すことで実行します。
しかしもちろん、これは機能しません。なぜなら、息子の特異点ではなく、親ターミナルでエクスポートが行われるからです (私はそう思いますか?)。そのため、表示とパスが特異点で正しくエクスポートされません。
これを修正する方法はありますか?解決策は、コンテナの起動時にコンテナ内でスクリプトを自動的に実行することだと思いますが、これを簡単に行うにはどうすればよいですか?