package org.seqcode.gsebricks.verbs.location;
import org.seqcode.genome.location.Region;
import org.seqcode.genome.location.StrandedRegion;
import org.seqcode.gsebricks.verbs.Filter;
/**
* StrandedDistanceFilter allows through Regions that overlap the region
* that is <code>up</code> bases upstream and </code>down</code> bases downstream of the
* StrandedRegion provided in the constructor.
*/
public class StrandedDistanceFilter<X extends Region> implements Filter<X,X> {
private StrandedRegion base;
public StrandedDistanceFilter(int up, int down, StrandedRegion b) {
base = b.expand(up,down);
}
public X execute(X other) {
if (base.overlaps(other)) {
return other;
} else {
return null;
}
}
}