Skip to content

fork-tag duplicating samples under certain conditions #86

@kevinstyp

Description

@kevinstyp

Using the following descriptive script (imagine the samples have the source-tag)

"first.csv" //contains 10 samples
"second.csv" //contains 8 samples
->
fork-tag(tag=source){
   "first.csv" -> noop()
   ;
   "*" -> drop()
}
->
output.csv

The expected behaviour would be for the output.csv to contain the 10 samples from the first.csvfile as its forwarded using the noop() step while every (other) match gets dropped in the second fork.

The actual behaviour is that all samples from the first.csv are doubled and the output.csv contains 20 samples in the order sample 1, sample 1, sample 2, sample 2 and so on.

Work-around: Specifiying "^(?!.*(first.csv))" -> drop() (explicitly match for everything but the first.csv string) for the second fork solves the problem as the string will not be added to the second matcher which is unfortunately iterated over in a for-loop within the writeSample method of Fork.java. This addition to the second fork, where it normally should just be dropped, introduces the doubling.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions