#!/usr/bin/env nextflow /* * Copyright 2013-2024, Seqera Labs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ params.range = 100 /* * A trivial Perl script producing a list of numbers pair */ process perlTask { output: stdout shell: ''' #!/usr/bin/env perl use strict; use warnings; my $count; my $range = !{params.range}; for ($count = 0; $count < 10; $count++) { print rand($range) . ', ' . rand($range) . "\n"; } ''' } /* * A Python script task which parses the output of the previous script */ process pyTask { debug true input: stdin ''' #!/usr/bin/env python3 import sys x = 0 y = 0 lines = 0 for line in sys.stdin: items = line.strip().split(",") x = x+ float(items[0]) y = y+ float(items[1]) lines = lines+1 print("avg: %s - %s" % ( x/lines, y/lines )) ''' } workflow { perlTask | pyTask }