public void addAlignment(final SAMRecord alignment) { if (sortOrder.equals(SAMFileHeader.SortOrder.unsorted)) { if (!header.getGroupOrder().equals(SAMFileHeader.GroupOrder.none)) { throw new UnsupportedOperationException("GroupOrder " + header.getGroupOrder() + " is not supported"); } writeAlignment(alignment); } else if (presorted) { assertPresorted(alignment); writeAlignment(alignment); } else { alignmentSorter.add(alignment); } }
@Test public void testGroupOrder() { final SAMFileHeader header = new SAMFileHeader(); header.setGroupOrder(SAMFileHeader.GroupOrder.query); Assert.assertEquals(header.getGroupOrder(), SAMFileHeader.GroupOrder.query); Assert.assertEquals(header.getAttribute(SAMFileHeader.GROUP_ORDER_TAG), SAMFileHeader.GroupOrder.query.name()); header.setAttribute(SAMFileHeader.GROUP_ORDER_TAG, SAMFileHeader.GroupOrder.reference.name()); Assert.assertEquals(header.getGroupOrder(), SAMFileHeader.GroupOrder.reference); Assert.assertEquals(header.getAttribute(SAMFileHeader.GROUP_ORDER_TAG), SAMFileHeader.GroupOrder.reference.name()); header.setAttribute(SAMFileHeader.GROUP_ORDER_TAG, SAMFileHeader.GroupOrder.query); Assert.assertEquals(header.getGroupOrder(), SAMFileHeader.GroupOrder.query); Assert.assertEquals(header.getAttribute(SAMFileHeader.GROUP_ORDER_TAG), SAMFileHeader.GroupOrder.query.name()); }
public static SAMFileHeader duplicateSAMFileHeader(SAMFileHeader toCopy) { SAMFileHeader copy = new SAMFileHeader(); copy.setSortOrder(toCopy.getSortOrder()); copy.setGroupOrder(toCopy.getGroupOrder()); copy.setProgramRecords(toCopy.getProgramRecords()); copy.setReadGroups(toCopy.getReadGroups()); copy.setSequenceDictionary(toCopy.getSequenceDictionary()); for (Map.Entry<String, String> e : toCopy.getAttributes()) copy.setAttribute(e.getKey(), e.getValue()); return copy; }