Skip to content

fork-tag duplicating samples under certain conditions #86

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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