# the License. """ Provide wrappers for tasks related to fastq files. Classes ------- """ import os import luigi import ratatosk.lib.files.external from ratatosk.job import JobTask from ratatosk.log import get_logger logger = get_logger() class FastqFileLink(JobTask): outdir = luigi.Parameter(default=os.curdir) # This is tricky: it is easy enough to make links based on # absolute file names. The problem is that the information about # the original path is lost in successive tasks, so that a task # that takes as input a bam file in the current directory will not # know where the link came from; hence, we need an indir parameter # for downstream tasks. indir = luigi.Parameter(default=os.curdir) parent_task = luigi.Parameter(default=("ratatosk.lib.files.external.FastqFile", ), is_list=True) suffix = luigi.Parameter(default=("",), is_list=True) def requires(self): cls = self.parent()[0]
Classes ------- """ import os import luigi import logging import ratatosk.lib.files.input from ratatosk.utils import rreplace, fullclassname from ratatosk.job import JobTask, JobWrapperTask from ratatosk.jobrunner import DefaultShellJobRunner from ratatosk.log import get_logger import ratatosk.shell as shell logger = get_logger() class InputVcfFile(ratatosk.lib.files.input.InputVcfFile): pass class snpEffJobRunner(DefaultShellJobRunner): def _make_arglist(self, job): if not job.jar() or not os.path.exists( os.path.join(job.path(), job.jar())): logger.error("Can't find jar: {0}, full path {1}".format( job.jar(), os.path.abspath(job.jar()))) raise Exception("job jar does not exist") arglist = [job.java()] + job.java_opt() + [ '-jar', os.path.join(job.path(), job.jar())