Пример #1
0
# 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]
Пример #2
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())