baseQualities = StringUtil.reverseString(baseQualities);
baseQualities = StringUtil.reverseString(baseQualities);
if (value != null) { if (value instanceof String) { value = StringUtil.reverseString((String) value); } else if (value.getClass().isArray()) { if (value instanceof byte[]) {
if (value != null) { if (value instanceof String) { value = StringUtil.reverseString((String) value); } else if (value.getClass().isArray()) { if (value instanceof byte[]) {
/** * Reverse-complement all known sequence and base quality attributes of the SAMRecord. */ public static void reverseComplement(final SAMRecord rec) { final byte[] readBases = rec.getReadBases(); SequenceUtil.reverseComplement(readBases); rec.setReadBases(readBases); final byte qualities[] = rec.getBaseQualities(); reverseArray(qualities); rec.setBaseQualities(qualities); final byte[] sqTagValue = (byte[])rec.getAttribute(SAMTagUtil.getSingleton().SQ); if (sqTagValue != null) { SQTagUtil.reverseComplementSqArray(sqTagValue); rec.setAttribute(SAMTagUtil.getSingleton().SQ, sqTagValue); } final String e2TagValue = (String)rec.getAttribute(SAMTagUtil.getSingleton().E2); if (e2TagValue != null) { final byte[] secondaryBases = StringUtil.stringToBytes(e2TagValue); SequenceUtil.reverseComplement(secondaryBases); rec.setAttribute(SAMTagUtil.getSingleton().E2, StringUtil.bytesToString(secondaryBases)); } for (final short stringTag : STRING_TAGS_TO_REVERSE) { final String value = (String)rec.getAttribute(stringTag); if (value != null) { rec.setAttribute(stringTag, StringUtil.reverseString(value)); } } }