bpipe
bpipe copied to clipboard
bpipe-0.9.8.6: bpipe segments don't support "*" operator
Here's my pipeline:
beastnormalize = {
branch.origname = "$input"
exec "beast_normalize $input.mnc $output.mnc $output.xfm -modeldir $TEMPLATE_DIR"
}
beastmask = {
exec "mincbeast -clobber -verbose $LIBRARY_DIR $input.mnc $output.mnc -fill -median -conf $LIBRARY_DIR/default.2mm.conf"
}
beastresample = {
from("xfm", "mnc") {
exec "mincresample -invert_transformation -like $origname -transformation $input.xfm $input.mnc $output.mnc"
}
}
beastextract = {
exec "minccalc -expression A[0]*A[1] $origname $input.mnc $output.mnc"
}
beast = segment {
beastnormalize + beastmask + beastresample + beastextract
}
This works
Bpipe.run {
"%.mnc" * [beastnormalize + beastmask + beastresample + beastextract]
}
This doesn't:
Bpipe.run {
"%.mnc" * beast
}
With error:
====================================================================================================
| Starting Pipeline at 2014-11-03 15:34 |
====================================================================================================
=========================================== Bpipe Error ============================================
An error occurred executing your pipeline:
No signature of method: java.lang.String.multiply() is applicable for argument types: (bpipe.PipelineCategory$_plus_closure1) values: [bpipe.PipelineCategory$_plus_closure1@7b0b23cf]
Possible solutions: multiply(java.lang.Number), multiply(java.lang.Number)
Please see the details below for more information.
========================================== Error Details ===========================================
groovy.lang.MissingMethodException: No signature of method: java.lang.String.multiply() is applicable for argument types: (bpipe.PipelineCategory$_plus_closure1) values: [bpipe.PipelineCategory$_plus_closure1@7b0b23cf]
Possible solutions: multiply(java.lang.Number), multiply(java.lang.Number)
at mincbeast.pipe$_run_closure6.doCall(mincbeast.pipe.groovy:31)
at mincbeast.pipe$_run_closure6.doCall(mincbeast.pipe.groovy)
at bpipe.Pipeline$_diagram_closure18.doCall(Pipeline.groovy:1029)
at bpipe.Pipeline$_diagram_closure18.doCall(Pipeline.groovy)
at bpipe.Pipeline.diagram(Pipeline.groovy:1028)
at bpipe.Pipeline$diagram$5.callCurrent(Unknown Source)
at bpipe.Pipeline.execute(Pipeline.groovy:618)
at bpipe.Pipeline.execute(Pipeline.groovy)
at bpipe.Pipeline.this$2$execute(Pipeline.groovy)
at bpipe.Pipeline$this$2$execute$3.call(Unknown Source)
at bpipe.Pipeline.run(Pipeline.groovy:475)
at bpipe.Pipeline$run$2.callStatic(Unknown Source)
at bpipe.Pipeline.run(Pipeline.groovy:435)
at mincbeast.pipe.run(mincbeast.pipe.groovy:30)
at mincbeast.pipe$run.call(Unknown Source)
at bpipe.Runner.main(Runner.groovy:375)
====================================================================================================
More details about why this error occurred may be available in the full log file .bpipe/bpipe.log
And bpipe.log
bpipe.Runner [10] INFO |3:34:04 Starting
bpipe.Runner [10] INFO |3:34:04 OS: Linux (3.10.39-i686-64-smp) Java: 1.6.0_26 Vendor: Sun Microsystems Inc.
bpipe.Runner [10] INFO |3:34:04 Initializing plugins ...
bpipe.Config [10] INFO |3:34:04 No plugins directory found: /home/cic/devgab/mincbeast_bpipe/.bpipe/plugins
bpipe.Runner [10] INFO |3:34:04 Reading user config ...
bpipe.Config [10] INFO |3:34:04 No configuration file found in same dir as pipeline file
bpipe.Config [10] INFO |3:34:04 No local configuration file found
bpipe.Utils [11] INFO |3:34:04 Read config from /opt/quarantine/bpipe/0.9.8.6/build/bpipe-0.9.8.6/bin/../bpipe.config executed in 0.381 seconds
bpipe.Utils [10] INFO |3:34:04 Read user config executed in 0.583 seconds
bpipe.Runner [10] INFO |3:34:04 Loading tool database ...
bpipe.NotificationManager [12] INFO |3:34:04 Configuring notifications
bpipe.Concurrency [13] INFO |3:34:04 Creating thread pool with 32 threads to execute parallel pipelines
bpipe.NotificationManager [12] INFO |3:34:04 Trying class name file for notification channel file
bpipe.ToolDatabase [14] INFO |3:34:04 Loading tool database from user configuration
bpipe.Tool [14] INFO |3:34:04 Configured meta data about tool samtools
bpipe.Tool [14] INFO |3:34:04 Configured meta data about tool bwa
bpipe.Tool [14] INFO |3:34:04 Configured meta data about tool bowtie
bpipe.Tool [14] INFO |3:34:04 Configured meta data about tool fastqc
bpipe.Tool [14] INFO |3:34:04 Configured meta data about tool coverageBed
bpipe.Tool [14] INFO |3:34:04 Configured meta data about tool fastx_clipper
bpipe.Tool [14] INFO |3:34:04 Configured meta data about tool convert2annovar.pl
bpipe.Tool [14] INFO |3:34:04 Configured meta data about tool summarize_annovar.pl
bpipe.Tool [14] INFO |3:34:04 Configured meta data about tool bowtie2
bpipe.Tool [14] INFO |3:34:04 Configured meta data about tool GenomeAnalysisTK
bpipe.Tool [14] INFO |3:34:04 Configured meta data about tool MarkDuplicates
bpipe.Tool [14] INFO |3:34:04 Configured meta data about tool signalp
bpipe.Tool [14] INFO |3:34:04 Configured meta data about tool variant_effect_predictor.pl
bpipe.Tool [14] INFO |3:34:04 Configured meta data about tool igvtools
bpipe.Tool [14] INFO |3:34:04 Configured meta data about tool ls
bpipe.Runner [10] INFO |3:34:04 No CLI parameters specified
bpipe.NotificationManager [12] INFO |3:34:04 Unable to create notification channel using class file: java.lang.ClassNotFoundException: file
bpipe.NotificationManager [12] INFO |3:34:04 Trying class name bpipe.FILENotificationChannel for notification channel file
bpipe.NotificationManager [12] INFO |3:34:04 Unable to create notification channel using class bpipe.FILENotificationChannel: java.lang.ClassNotFoundException: bpipe.FILENotificationChannel
bpipe.NotificationManager [12] INFO |3:34:04 Trying class name bpipe.file for notification channel file
bpipe.NotificationManager [12] INFO |3:34:04 Unable to create notification channel using class bpipe.file: java.lang.ClassNotFoundException: bpipe.file
bpipe.NotificationManager [12] INFO |3:34:04 Trying class name bpipe.FileNotificationChannel for notification channel file
bpipe.NotificationManager [12] INFO |3:34:04 Successfully created notification channel using class bpipe.FileNotificationChannel
bpipe.Runner [10] INFO |3:34:04 Parsing script ...
bpipe.Runner [10] INFO |3:34:05 Run ...
bpipe.PipelineCategory [10] INFO |3:34:05 Found closure variable beastnormalize
bpipe.PipelineCategory [10] INFO |3:34:05 Found closure variable beastmask
bpipe.PipelineCategory [10] INFO |3:34:05 Found closure variable beastresample
bpipe.PipelineCategory [10] INFO |3:34:05 Found closure variable beastextract
bpipe.Pipeline [10] WARNING |3:34:05 Pipeline folder /home/cic/devgab/bpipes could not be found
bpipe.Pipeline [10] INFO |3:34:05 Running with input [input/1.mnc, input/2.mnc]
bpipe.PipelineCategory [10] INFO |3:34:05 Found closure variable beastnormalize
bpipe.PipelineCategory [10] INFO |3:34:05 Found closure variable beastmask
bpipe.PipelineCategory [10] INFO |3:34:05 Found closure variable beastresample
bpipe.PipelineCategory [10] INFO |3:34:05 Found closure variable beastextract
bpipe.PipelineCategory [10] INFO |3:34:05 Found closure variable beast
bpipe.Pipeline [10] WARNING |3:34:05 Pipeline folder /home/cic/devgab/bpipes could not be found
bpipe.Pipeline [10] INFO |3:34:05 Loaded external reference: args
bpipe.Pipeline [10] INFO |3:34:05 External reference args is overridden by local reference
bpipe.Pipeline [10] INFO |3:34:05 Loaded external reference: TEMPLATE_DIR
bpipe.Pipeline [10] INFO |3:34:05 External reference TEMPLATE_DIR is overridden by local reference
bpipe.Pipeline [10] INFO |3:34:05 Loaded external reference: LIBRARY_DIR
bpipe.Pipeline [10] INFO |3:34:05 External reference LIBRARY_DIR is overridden by local reference
bpipe.Pipeline [10] INFO |3:34:05 Loaded external reference: beastnormalize
bpipe.Pipeline [10] INFO |3:34:05 External reference beastnormalize is overridden by local reference
bpipe.Pipeline [10] INFO |3:34:05 Loaded external reference: beastmask
bpipe.Pipeline [10] INFO |3:34:05 External reference beastmask is overridden by local reference
bpipe.Pipeline [10] INFO |3:34:05 Loaded external reference: beastresample
bpipe.Pipeline [10] INFO |3:34:05 External reference beastresample is overridden by local reference
bpipe.Pipeline [10] INFO |3:34:05 Loaded external reference: beastextract
bpipe.Pipeline [10] INFO |3:34:05 External reference beastextract is overridden by local reference
bpipe.Pipeline [10] INFO |3:34:05 Loaded external reference: beast
bpipe.Pipeline [10] INFO |3:34:05 External reference beast is overridden by local reference
bpipe.Runner [10] SEVERE |3:34:05 Reporting exception to user:
bpipe.Runner [10] SEVERE |3:34:05 Reporting exception to user
Update,
This didn't work
beast = segment {
[beastnormalize + beastmask + beastresample + beastextract]
}
Bpipe.run {
"%.mnc" * beast
}
But this did:
beast = segment {
beastnormalize + beastmask + beastresample + beastextract
}
Bpipe.run {
"%.mnc" * [beast]
}