List<SAMRecord> records = new ArrayList<SAMRecord>();
int alignmentStart = 0;
for (int x = 1; x <= getReadGroupCount(); x++) {
SAMReadGroupRecord groupRecord = getHeader().getReadGroup(getReadGroupId(x));
for (int y = 1; y <= recordsPerGroup; y++) {
SAMRecord record = ArtificialSAMUtils.createArtificialRead(getHeader(), "readUno", 0, ++alignmentStart, 20);
record.setAttribute("RG", groupRecord.getReadGroupId());
records.add(record);
}
}
List<String> filterList = new ArrayList<String>();
filterList.add("RG:" + getReadGroupId(1));
filterList.add("RG:" + getReadGroupId(3));
ReadGroupBlackListFilter filter = new ReadGroupBlackListFilter(filterList);
int filtered = 0;
int unfiltered = 0;
for (SAMRecord record : records) {
String readGroupName = record.getReadGroup().getReadGroupId();
if (filter.filterOut(record)) {
if (!filterList.contains("RG:" + readGroupName))
Assert.fail("Read group " + readGroupName + " was filtered");
filtered++;
} else {