我最近在Snakemake上進行了很多實驗,我喜歡它。最近,我還改用廣告方式使用conda(--use-conda)。但是,我有一些問題,主要與我們的工作方式有關。我在一個實驗室中工作,該實驗室不僅處理序列器的數據,而且還處理外部數據集的數據,而且有多個人使用我的管道。
因此,對於conda來說,這意味著:目前我有5個環境,平均每個環境1.5 GB env,這大約需要20分鐘的設置時間,並且需要提取大量數據。尤其是由於每次有人分析數據時都會將其拉低(一天有時多次)。感覺這很浪費資源。另外,我在yaml文件中修復了某些軟件包版本,但是肯定不是全部(我閱讀的repos改頭換面時,這可能會導致問題),因此,我也不能保證長期的確切環境(例如,多年來,依賴項可能會改變/ update)。
因此,我正在考慮切換到中央conda env,出於可重現性的考慮,我將其版本化並導出所有已安裝軟件包的列表。然後,它將包含所有工具。
我的問題是,有沒有很好的方法?我之前在每個shell命令中放置“源代碼激活”行(以及如何在“運行”下對Python代碼執行此操作)時遇到問題,請參見: https://stackoverflow.com/questions/54024862/ snakemake-conda-env參數不是從配置yaml文件中獲取的。
所以,有一種方法,即使在使用qsub集群時,也總是一個特定的conda env,對於您所做的一切?