From f12d40dde8ad0322c0d0614d935b95f9e2516aaa Mon Sep 17 00:00:00 2001 From: kiran Date: Sun, 5 Apr 2009 04:48:31 +0000 Subject: [PATCH] Simplified SAMRecord construction and emission. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@296 348d0f76-0448-11de-a6fe-93d51630548a --- .../fourbasecaller/FourBaseRecaller.java | 54 +++++++------------ 1 file changed, 20 insertions(+), 34 deletions(-) diff --git a/java/src/org/broadinstitute/sting/playground/fourbasecaller/FourBaseRecaller.java b/java/src/org/broadinstitute/sting/playground/fourbasecaller/FourBaseRecaller.java index 5ebba600d..93cdf868d 100644 --- a/java/src/org/broadinstitute/sting/playground/fourbasecaller/FourBaseRecaller.java +++ b/java/src/org/broadinstitute/sting/playground/fourbasecaller/FourBaseRecaller.java @@ -96,44 +96,30 @@ public class FourBaseRecaller extends CommandLineProgram { nextbestqual[cycle] = QualityUtils.baseAndProbToCompressedQuality(fp.indexAtRank(1), fp.probAtRank(1)); } - SAMRecord sr = new SAMRecord(sfh); - sr.setReadName("KIR_" + bread.getReadName()); - sr.setReadUmappedFlag(true); - sr.setReadBases(asciiseq); - sr.setBaseQualities(bestqual); - sr.setAttribute("SQ", nextbestqual); - sr.setReadFailsVendorQualityCheckFlag(!bread.isPf()); - sr.setReadPairedFlag(isPaired); - if (isPaired) { - sr.setMateUnmappedFlag(true); - sr.setFirstOfPairFlag(END <= 1); - sr.setSecondOfPairFlag(END > 1); - } - sfw.addAlignment(sr); + sfw.addAlignment(constructSAMRecord("KIR_", new String(asciiseq), bestqual, nextbestqual, isPaired, END, bread, sfh)); + sfw.addAlignment(constructSAMRecord("BUS_", bases, quals, null, isPaired, END, bread, sfh)); - SAMRecord sr2 = new SAMRecord(sfh); - sr2.setReadName("BUS_" + bread.getReadName()); - sr2.setReadUmappedFlag(true); - sr2.setReadString(bases); - sr2.setBaseQualities(quals); - sr2.setReadFailsVendorQualityCheckFlag(!bread.isPf()); - sr2.setReadPairedFlag(isPaired); - if (isPaired) { - sr2.setMateUnmappedFlag(true); - sr2.setFirstOfPairFlag(END <= 1); - sr2.setSecondOfPairFlag(END > 1); - } - sfw.addAlignment(sr2); - - /* - System.out.println(sr.format()); - System.out.println(sr2.format()); - System.out.println("\n"); - */ - queryid++; } while (queryid < CALLING_LIMIT && bfp.hasNext() && (bread = bfp.next()) != null); return 0; } + + private SAMRecord constructSAMRecord(String readNamePrefix, String bases, byte[] bestqual, byte[] nextbestqual, boolean isPaired, int END, BustardReadData bread, SAMFileHeader sfh) { + SAMRecord sr = new SAMRecord(sfh); + + sr.setReadName(readNamePrefix + bread.getReadName()); + sr.setReadUmappedFlag(true); + sr.setReadString(bases); + sr.setBaseQualities(bestqual); + if (nextbestqual != null) { sr.setAttribute("SQ", nextbestqual); } + sr.setReadFailsVendorQualityCheckFlag(!bread.isPf()); + if (isPaired) { + sr.setMateUnmappedFlag(true); + sr.setFirstOfPairFlag(END <= 1); + sr.setFirstOfPairFlag(END > 1); + } + + return sr; + } }