集群上的Snakemake,避免将一条规则作为工作提交

时间:2017-11-15 23:46:44

标签: cluster-computing slurm snakemake

我正在使用

执行snakemake管道
[HttpPost]
public IActionResult Hotel(HotelViewModel mod)
{
    Hotel hotel = new Hotel
    {
        NomAgence = mod.NomAgence,
        NomHotel = mod.NomHotel
    };

    var newFileName = string.Empty;
    if (HttpContext.Request.Form.Files != null)
    {
        var fileName = string.Empty;
        string PathDB = string.Empty;

        var files = HttpContext.Request.Form.Files;

        foreach (var file in files)
        {
            if (file.Length > 0)
            {
                //Getting FileName
                fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"');

                //Assigning Unique Filename (Guid)
                var myUniqueFileName = Convert.ToString(Guid.NewGuid());

                //Getting file Extension
                var FileExtension = Path.GetExtension(fileName);

                // concating  FileName + FileExtension
                newFileName = myUniqueFileName + FileExtension;

                // Combines two strings into a path.
                fileName = Path.Combine(_environment.WebRootPath, "HotelImg") + $@"\{newFileName}";

                // if you want to store path of folder in database
                PathDB = "demoImages/" + newFileName;

                hotel.Piscine = newFileName;
                using (FileStream fs = System.IO.File.Create(fileName))
                {
                    file.CopyTo(fs);
                    fs.Flush();
                }
            }
        }
    }

    IH.Create(hotel);
    return View();
}

它现在很好用。但是由于我在此不会描述的原因,我希望我的一条规则不作为工作提交,而是在运行snakemake的机器/节点中执行。可以做出这样的例外吗?

1 个答案:

答案 0 :(得分:3)

是的,您可以将规则标记为本地规则,请参阅文档:http://snakemake.readthedocs.io/en/stable/snakefiles/rules.html?highlight=Localrules#local-rules