Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Reusable and maintained Luigi tasks to incorporate in bioinformatics pipelines

License

NotificationsYou must be signed in to change notification settings

PavlidisLab/bioluigi

Repository files navigation

Python packageDocumentation Status

Reusable and maintained Luigi tasks to incorporate in bioinformatics pipelines

Features

Provides Luigi tasks for tools fromsamtools,bcftools,STAR,RSEM,vcfanno,GATK,Ensembl VEP and much more!

Reuses as much as possible theExternalProgramTask interface from theexternal_program contrib moduleand extends its feature to make it work on modern scheduler such asSlurm.

Provides basic resource management for a local scheduler: all tasks are annotated with reasonable defaultcpus andmemory parameters that can be tuned and constrained via the[resources] configuration. In the case of externally scheduled tasks, the resource management is deferred.

Provides a command-line interface for interacting more conveniently with Luigi scheduler.

bioluigi list [--status STATUS] [--user USER] [--detailed] TASK_GLOBbioluigi show TASK_ID

Tools

Here's a list of supported tools:

Schedulers

Examples

The most convenient way of using the pre-defined tasks is to yield them dynamically in the body of therun function. It's also possible to require them since they inherit fromluigi.Task.

importluigifrombioluigi.tasksimportbcftoolsdefMyTask(luigi.Task)definput(self):returnluigi.LocalTarget('source.vcf.gz')defrun(self):yieldbcftools.Annotate(self.input().path,annotations_file,self.output().path,                                ...,scheduler='slurm',cpus=8)defoutput(self):returnluigi.LocalTarget('annotated.vcf.gz')

You can define your own scheduled task by implementing theScheduledExternalProgramTask class. Note that the default scheduler islocal and will use Luigi's[resources] allocation mechanism.

importdatetimefrombioluigi.scheduled_external_programimportScheduledExternalProgramTaskclassMyScheduledTask(ScheduledExternalProgramTask):scheduler='slurm'walltime=datetime.timedelta(seconds=10)cpus=1memory=1defprogram_args(self):return ['sleep','10']

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp