From 416d1390c73003327fe5315de78573ec87b0017d Mon Sep 17 00:00:00 2001 From: Felicity Newell Date: Thu, 2 May 2024 15:25:21 +1000 Subject: [PATCH] refactor: refactoring of qSV classes including those in util package Refactoring includes suggestions from the IntelliJ IDE such as change if statements to switch statements and removal of unused paramters --- .../qcmg/qsv/CreateParametersCallable.java | 26 +-- qsv/src/org/qcmg/qsv/QSVClusterWriter.java | 14 +- qsv/src/org/qcmg/qsv/QSVException.java | 3 + qsv/src/org/qcmg/qsv/QSVParameters.java | 9 +- qsv/src/org/qcmg/qsv/QSVPipeline.java | 13 +- .../qcmg/qsv/annotate/AnnotateFilterMT.java | 2 +- .../qsv/util/CustomThreadPoolExecutor.java | 6 +- .../qcmg/qsv/util/ProcessStreamHandler.java | 7 +- qsv/src/org/qcmg/qsv/util/QSVConstants.java | 8 +- qsv/src/org/qcmg/qsv/util/QSVUtil.java | 221 +++++++----------- .../qsv/annotate/AnnotateFilterMTTest.java | 3 +- qsv/test/org/qcmg/qsv/util/TestUtil.java | 5 +- 12 files changed, 129 insertions(+), 188 deletions(-) diff --git a/qsv/src/org/qcmg/qsv/CreateParametersCallable.java b/qsv/src/org/qcmg/qsv/CreateParametersCallable.java index e4319c32c..a42a93aa7 100644 --- a/qsv/src/org/qcmg/qsv/CreateParametersCallable.java +++ b/qsv/src/org/qcmg/qsv/CreateParametersCallable.java @@ -3,7 +3,6 @@ */ package org.qcmg.qsv; -import java.util.Date; import java.util.Map; import java.util.concurrent.Callable; import java.util.concurrent.CountDownLatch; @@ -18,26 +17,23 @@ public class CreateParametersCallable implements Callable { private final QLogger logger = QLoggerFactory.getLogger(getClass()); - private Options options; - private boolean isTumor; - private String resultsDir; - private String matePairDir; - private String sampleName; - private Date analysisDate; - private int exitStatus; - private CountDownLatch latch; - private Map refIndexPositionMap; + private final Options options; + private final boolean isTumor; + private final String resultsDir; + private final String matePairDir; + private final String sampleName; + private int exitStatus; + private final CountDownLatch latch; + private final Map refIndexPositionMap; public CreateParametersCallable(CountDownLatch latch,Options options, boolean b, String resultsDir, - String matePairDir, Date analysisDate, - String sampleName, Map refIndexPositionMap) { + String matePairDir,String sampleName, Map refIndexPositionMap) { this.options = options; this.isTumor = b; this.resultsDir = resultsDir; this.matePairDir = matePairDir; this.sampleName = sampleName; - this.analysisDate = analysisDate; - this.latch = latch; + this.latch = latch; this.refIndexPositionMap = refIndexPositionMap; } @@ -45,7 +41,7 @@ public CreateParametersCallable(CountDownLatch latch,Options options, boolean b, public QSVParameters call() { QSVParameters p = null; try { - p = new QSVParameters(options, isTumor, resultsDir, matePairDir, analysisDate, sampleName, refIndexPositionMap); + p = new QSVParameters(options, isTumor, resultsDir, sampleName, refIndexPositionMap); } catch (Exception e) { this.exitStatus = 1; logger.info(QSVUtil.getStrackTrace(e)); diff --git a/qsv/src/org/qcmg/qsv/QSVClusterWriter.java b/qsv/src/org/qcmg/qsv/QSVClusterWriter.java index 1899e8b61..d680d7d6a 100644 --- a/qsv/src/org/qcmg/qsv/QSVClusterWriter.java +++ b/qsv/src/org/qcmg/qsv/QSVClusterWriter.java @@ -61,7 +61,7 @@ private Map> parseGFFFiles() throws IOException { Map> gffMap = new HashMap<>(); for (String file: gffFiles) { - try (Gff3FileReader reader = new Gff3FileReader(new File(file));) { + try (Gff3FileReader reader = new Gff3FileReader(new File(file))) { for(Gff3Record g3 : reader) { if (gffMap.containsKey(g3.getSeqId())) { @@ -120,7 +120,7 @@ public synchronized void writeTumourSVRecords(List svRecords) throws List germlineRecords = new ArrayList<>(); for (QSVCluster record: svRecords) { - String id = ""; + String id; if (record.printRecord(isSingleSided)) { @@ -163,8 +163,8 @@ public synchronized void writeTumourSVRecords(List svRecords) throws } } - writeReports(base, "somatic", somaticRecords, sampleId); - writeReports(base, "germline", germlineRecords, sampleId); + writeReports(base, "somatic", somaticRecords); + writeReports(base, "germline", germlineRecords); } /** @@ -189,7 +189,7 @@ public synchronized void writeNormalSVRecords(List svRecords) throws } } - writeReports(base, type, svRecords, sampleId); + writeReports(base, type, svRecords); } } @@ -198,11 +198,9 @@ public synchronized void writeNormalSVRecords(List svRecords) throws * @param base * @param type * @param records - * @param analysisDate - * @param sampleId * @throws IOException */ - public synchronized void writeReports(String base, String type, List records, String sampleId) throws IOException { + public synchronized void writeReports(String base, String type, List records) throws IOException { String outType = type + "."; if (!twoFileMode) { outType = ""; diff --git a/qsv/src/org/qcmg/qsv/QSVException.java b/qsv/src/org/qcmg/qsv/QSVException.java index 5fcfd82e2..89efc3499 100644 --- a/qsv/src/org/qcmg/qsv/QSVException.java +++ b/qsv/src/org/qcmg/qsv/QSVException.java @@ -3,7 +3,10 @@ */ package org.qcmg.qsv; +import java.io.Serial; + public class QSVException extends Exception { + @Serial private static final long serialVersionUID = -7765139841201954800L; public QSVException(final String identifier) { diff --git a/qsv/src/org/qcmg/qsv/QSVParameters.java b/qsv/src/org/qcmg/qsv/QSVParameters.java index 89b19464e..400ad680b 100644 --- a/qsv/src/org/qcmg/qsv/QSVParameters.java +++ b/qsv/src/org/qcmg/qsv/QSVParameters.java @@ -66,13 +66,11 @@ public class QSVParameters { * @param options the options * @param isTumor the is tumor * @param masterDirPath the master dir path - * @param matePairFileDir the mate pair file dir - * @param analysisDate the analysis date * @param donorName the donor name * @throws Exception the exception */ - public QSVParameters(Options options, boolean isTumor, String masterDirPath, String matePairFileDir, - Date analysisDate, String donorName, Map refIndexPositionMap) throws Exception { + public QSVParameters(Options options, boolean isTumor, String masterDirPath, + String donorName, Map refIndexPositionMap) throws Exception { this.sampleId = null; this.isTumor = isTumor; this.clusterSize = options.getClusterSize(); @@ -80,8 +78,7 @@ public QSVParameters(Options options, boolean isTumor, String masterDirPath, Str this.resultsDir = masterDirPath + donorName; this.pairingType = options.getPairingType(); - Integer qPrimerThreshold = options.getQPrimerThreshold(); - this.mapper = options.getMapper(); + this.mapper = options.getMapper(); this.reference = options.getReference(); this.runSoftClipAnalysis = options.runClipAnalysis(); diff --git a/qsv/src/org/qcmg/qsv/QSVPipeline.java b/qsv/src/org/qcmg/qsv/QSVPipeline.java index 597876b01..39a8e9cac 100644 --- a/qsv/src/org/qcmg/qsv/QSVPipeline.java +++ b/qsv/src/org/qcmg/qsv/QSVPipeline.java @@ -164,8 +164,8 @@ private void writeDCCHeader(Options options, Date analysisDate, String analysisI * Set qsv parameters with 2 input files - carry out in two separate threads in case isize needs to be calculated */ private void setQSVParameters(String resultsDir) throws Exception { - tumor = new QSVParameters(options, true, resultsDir, matePairDir, analysisDate, options.getSampleName(), unmodifyableMap); - normal = new QSVParameters(options, false, resultsDir, matePairDir, analysisDate, options.getSampleName(), unmodifyableMap); + tumor = new QSVParameters(options, true, resultsDir, options.getSampleName(), unmodifyableMap); + normal = new QSVParameters(options, false, resultsDir, options.getSampleName(), unmodifyableMap); } /* @@ -175,7 +175,7 @@ private void setQSVParametersSingleMode(String resultsDir) throws QSVException { ExecutorService executorService = Executors.newFixedThreadPool(1); CountDownLatch countDownLatch = new CountDownLatch(1); - Callable tumourWorker = new CreateParametersCallable(countDownLatch, options, true, resultsDir, matePairDir, analysisDate, options.getSampleName(), unmodifyableMap); + CreateParametersCallable tumourWorker = new CreateParametersCallable(countDownLatch, options, true, resultsDir, matePairDir, options.getSampleName(), unmodifyableMap); Future tumourFuture = executorService .submit(tumourWorker); @@ -190,7 +190,7 @@ private void setQSVParametersSingleMode(String resultsDir) throws QSVException { Thread.currentThread().interrupt(); } - if (exitStatus.intValue() == 1 || ((CreateParametersCallable) tumourWorker).getExitStatus() == 1) { + if (exitStatus.intValue() == 1 || tumourWorker.getExitStatus() == 1) { throw new QSVException ("QSV_PARAMETER_EXCEPTION"); } } @@ -213,7 +213,7 @@ public void createOutputDirectory(String dirName) throws QSVException { /** * Runs the pipeline to identify structural variations. Pipeline begins by annotating * and filtering the bams. If discordant pair mode is chosen discordant pairs are clustered. - * If clip mode is chose, soft clip clusters are found. + * If clip mode is chosen, soft clip clusters are found. * @throws Exception if problems occurs when running the pipeline */ public void runPipeline() throws Exception { @@ -547,7 +547,8 @@ private void findCluster(PairGroup zp, //add clusters if (options.isTwoFileMode()) { - Map> nClusters = normalFuture.get(); + assert normalFuture != null; + Map> nClusters = normalFuture.get(); normalRecords.put(zp, nClusters); } diff --git a/qsv/src/org/qcmg/qsv/annotate/AnnotateFilterMT.java b/qsv/src/org/qcmg/qsv/annotate/AnnotateFilterMT.java index e425d353d..7427793b6 100644 --- a/qsv/src/org/qcmg/qsv/annotate/AnnotateFilterMT.java +++ b/qsv/src/org/qcmg/qsv/annotate/AnnotateFilterMT.java @@ -385,7 +385,7 @@ private boolean readAndWriteData(SamReader reader, BufferedWriter writer, Chromo private boolean pileupSoftClips(BufferedWriter writer, SAMRecord record, String rgId, int start, int end, Chromosome chromosome, int count) throws Exception { if (record.getReadUnmappedFlag()) { unmappedCount.incrementAndGet(); - QSVUtil.writeUnmappedRecord(writer, record, rgId, start, end, parameters.isTumor()); + QSVUtil.writeUnmappedRecord(writer, record, rgId, start, end); return add2queue(record, queueOutClip, count); } diff --git a/qsv/src/org/qcmg/qsv/util/CustomThreadPoolExecutor.java b/qsv/src/org/qcmg/qsv/util/CustomThreadPoolExecutor.java index 868eb0094..6b43c990d 100644 --- a/qsv/src/org/qcmg/qsv/util/CustomThreadPoolExecutor.java +++ b/qsv/src/org/qcmg/qsv/util/CustomThreadPoolExecutor.java @@ -12,12 +12,12 @@ public class CustomThreadPoolExecutor extends ThreadPoolExecutor { - private AtomicInteger exitStatus; - private QLogger logger; + private final AtomicInteger exitStatus; + private final QLogger logger; public CustomThreadPoolExecutor(int threadNo, AtomicInteger exitStatus, QLogger logger) { - super(threadNo, threadNo, threadNo, TimeUnit.SECONDS, new ArrayBlockingQueue(threadNo)); + super(threadNo, threadNo, threadNo, TimeUnit.SECONDS, new ArrayBlockingQueue<>(threadNo)); this.logger = logger; this.exitStatus = exitStatus; } diff --git a/qsv/src/org/qcmg/qsv/util/ProcessStreamHandler.java b/qsv/src/org/qcmg/qsv/util/ProcessStreamHandler.java index 12312f658..f0b838c10 100644 --- a/qsv/src/org/qcmg/qsv/util/ProcessStreamHandler.java +++ b/qsv/src/org/qcmg/qsv/util/ProcessStreamHandler.java @@ -37,16 +37,15 @@ public void run() { } } if (type.equals("ERROR")) { - if (output.toString().length() > 0) { - logger.info("Error running BLAT: " + output.toString()); + if (!output.toString().isEmpty()) { + logger.info("Error running BLAT: " + output); } } br.close(); isr.close(); is.close(); - output = null; - } catch (IOException ioe) { + } catch (IOException ioe) { ioe.printStackTrace(); logger.info("Error running BLAT: " + QSVUtil.getStrackTrace(ioe)); } diff --git a/qsv/src/org/qcmg/qsv/util/QSVConstants.java b/qsv/src/org/qcmg/qsv/util/QSVConstants.java index d4f82a4fb..454dcb2af 100644 --- a/qsv/src/org/qcmg/qsv/util/QSVConstants.java +++ b/qsv/src/org/qcmg/qsv/util/QSVConstants.java @@ -21,11 +21,7 @@ public class QSVConstants { public static final String DEFAULT_PAIRING_TYPE = "pe"; public static final String DEFAULT_MAPPER = "bwa"; - - public static final String DEFAULT_LMP_QUERY = ""; - - public static final String DEFAULT_PE_QUERY = ""; - + public static final int DEFAULT_CLUSTER_SIZE = 3; public static final int DEFAULT_FILTER_SIZE = 1; @@ -54,8 +50,6 @@ public class QSVConstants { public static final String CONTROL_SAMPLE = "control"; - public static final String SPLIT_READ = "*"; - public static final int PAIR_CHR_RANGE = 100; public static final int CLIP_CHR_RANGE = 10; diff --git a/qsv/src/org/qcmg/qsv/util/QSVUtil.java b/qsv/src/org/qcmg/qsv/util/QSVUtil.java index 19fd153c2..a7dd5a422 100644 --- a/qsv/src/org/qcmg/qsv/util/QSVUtil.java +++ b/qsv/src/org/qcmg/qsv/util/QSVUtil.java @@ -12,6 +12,7 @@ import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; +import java.nio.file.FileSystems; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -43,7 +44,7 @@ */ public class QSVUtil { - public static final String NEW_LINE = System.getProperty("line.separator"); + public static final String NEW_LINE = System.lineSeparator(); public static final char PLUS = '+'; public static final char MINUS = '-'; public static final char COLON = ':'; @@ -75,8 +76,7 @@ public class QSVUtil { */ public static String writeTime(String timeType, Date dateStart, Date dateEnd) throws IOException { long time = dateEnd.getTime() - dateStart.getTime(); - String write = timeType + secondsToString(time / 1000); - return write; + return timeType + secondsToString(time / 1000); } /** @@ -112,19 +112,19 @@ public static boolean removeDirectory(File directory) { String[] list = directory.list(); if (null != list) { - for (int i = 0; i < list.length; i++) { - File entry = new File(directory, list[i]); - - if (entry.isDirectory()) { - if (!removeDirectory(entry)) { - return false; - } - } else { - if (!entry.delete()) { - return false; - } - } - } + for (String s : list) { + File entry = new File(directory, s); + + if (entry.isDirectory()) { + if (!removeDirectory(entry)) { + return false; + } + } else { + if (!entry.delete()) { + return false; + } + } + } } return directory.delete(); } @@ -172,23 +172,23 @@ public static boolean reorderByChromosomes(String leftReference, String rightRef * @return the reverse complement */ public static String reverseComplement(String consensus) { - String reverse = ""; + StringBuilder reverse = new StringBuilder(); for (int i = consensus.length() - 1; i >= 0; i--) { char pos = consensus.charAt(i); if (pos == 'A') { - reverse += 'T'; + reverse.append('T'); } else if (pos == 'T') { - reverse += 'A'; + reverse.append('A'); } else if (pos == 'C') { - reverse += 'G'; + reverse.append('G'); } else if (pos == 'G') { - reverse += 'C'; + reverse.append('C'); } else { - reverse += 'N'; + reverse.append('N'); } } - return reverse; + return reverse.toString(); } /** @@ -199,15 +199,12 @@ public static String reverseComplement(String consensus) { */ public static PairGroup getPairGroupByZP(PairClassification zpType) { String zp = zpType.toString(); - if (zp.equals(BAA) || zp.equals(BBA)) { - return PairGroup.valueOf("BAA_BBA"); - } else if (zp.equals(BAB) || zp.equals(BBB)) { - return PairGroup.valueOf("BAB_BBB"); - } else if (zp.equals(BAC) || zp.equals(BBC)) { - return PairGroup.valueOf("BAC_BBC"); - } else { - return PairGroup.valueOf(zp); - } + return switch (zp) { + case BAA, BBA -> PairGroup.valueOf("BAA_BBA"); + case BAB, BBB -> PairGroup.valueOf("BAB_BBB"); + case BAC, BBC -> PairGroup.valueOf("BAC_BBC"); + default -> PairGroup.valueOf(zp); + }; } /** @@ -217,17 +214,13 @@ public static PairGroup getPairGroupByZP(PairClassification zpType) { * @return the mutation by pair group */ public static String getMutationByPairGroup(String pg) { - if (pg.equals("Cxx")) { - return CTX; - } else if (pg.equals(AAC)) { - return "DEL/ITX"; - } else if (pg.equals("BAC_BBC") || pg.equals("BAA_BBA") || pg.equals("BAB_BBB")) { - return "INV/ITX"; - } else if (pg.equals(ABC) || pg.equals(ABA) || pg.equals(AAB) || pg.equals(ABB)) { - return "DUP/INS/ITX"; - } else { - return pg; - } + return switch (pg) { + case "Cxx" -> CTX; + case AAC -> "DEL/ITX"; + case "BAC_BBC", "BAA_BBA", "BAB_BBB" -> "INV/ITX"; + case ABC, ABA, AAB, ABB -> "DUP/INS/ITX"; + default -> pg; + }; } /** @@ -238,17 +231,13 @@ public static String getMutationByPairGroup(String pg) { */ public static String getMutationByPairClassification(PairClassification pClass) { String zp = pClass.toString(); - if (zp.equals("Cxx")) { - return CTX; - } else if (zp.equals(AAC)) { - return "DEL/ITX"; - } else if (zp.equals(BAC) || zp.equals(BBC) ||zp.equals(BAA) || zp.equals(BBA) || zp.equals(BAB) || zp.equals(BBB) ) { - return "INV/ITX"; - } else if (zp.equals(ABC) || zp.equals(ABA) || zp.equals(ABB) || zp.equals(AAB)) { - return "DUP/INS/ITX"; - } else { - return zp; - } + return switch (zp) { + case "Cxx" -> CTX; + case AAC -> "DEL/ITX"; + case BAC, BBC, BAA, BBA, BAB, BBB -> "INV/ITX"; + case ABC, ABA, ABB, AAB -> "DUP/INS/ITX"; + default -> zp; + }; } /** @@ -257,7 +246,7 @@ public static String getMutationByPairClassification(PairClassification pClass) * @return the file separator */ public static String getFileSeparator() { - return System.getProperty("file.separator"); + return FileSystems.getDefault().getSeparator(); } /** @@ -284,7 +273,7 @@ public static String getPairQuery(String pairingType, String mapper) { } /** - * Gets a sepatator for a new line. + * Gets a separator for a new line. * * @return the new line */ @@ -292,33 +281,6 @@ public static String getNewLine() { return NEW_LINE; } - /** - * Gets the category by zp. - * - * @param zpPairClass the zp pair class - * @return the category by zp - */ - public static List getCategoryByZP(PairClassification zpPairClass) { - String zp = zpPairClass.toString(); - List list = new ArrayList<>(); - if (zp.equals(AAC)) { - list.add(QSVConstants.ORIENTATION_1); - } else if (zp.equals("Cxx")) { - list.add(QSVConstants.ORIENTATION_1); - list.add(QSVConstants.ORIENTATION_2); - list.add(QSVConstants.ORIENTATION_3); - list.add(QSVConstants.ORIENTATION_4); - } else if (zp.equals(AAB) || zp.equals(ABB) || zp.equals(ABA) || zp.equals(ABC)) { - list.add(QSVConstants.ORIENTATION_2); - } else if (zp.equals(BBA) || zp.equals(BAA) || zp.equals(BAB) || zp.equals(BBB) - || zp.equals(BAC) || zp.equals(BBC)) { - list.add(QSVConstants.ORIENTATION_3); - list.add(QSVConstants.ORIENTATION_4); - } - - return list; - } - /** * Gets the category by pair group. * @@ -328,19 +290,20 @@ public static List getCategoryByZP(PairClassification zpPairClass) { public static List getCategoryByPairGroup(PairGroup zpGroup) { String zp = zpGroup.toString(); List list = new ArrayList<>(); - if (zp.equals(AAC)) { - list.add(QSVConstants.ORIENTATION_1); - } else if (zp.equals("Cxx")) { - list.add(QSVConstants.ORIENTATION_1); - list.add(QSVConstants.ORIENTATION_2); - list.add(QSVConstants.ORIENTATION_3); - list.add(QSVConstants.ORIENTATION_4); - } else if (zp.equals(AAB) || zp.equals(ABC) || zp.equals(ABA) || zp.equals(ABB)) { - list.add(QSVConstants.ORIENTATION_2); - } else if (zp.equals("BAA_BBA") || zp.equals("BAB_BBB") || zp.equals("BAC_BBC")) { - list.add(QSVConstants.ORIENTATION_3); - list.add(QSVConstants.ORIENTATION_4); - } + switch (zp) { + case AAC -> list.add(QSVConstants.ORIENTATION_1); + case "Cxx" -> { + list.add(QSVConstants.ORIENTATION_1); + list.add(QSVConstants.ORIENTATION_2); + list.add(QSVConstants.ORIENTATION_3); + list.add(QSVConstants.ORIENTATION_4); + } + case AAB, ABC, ABA, ABB -> list.add(QSVConstants.ORIENTATION_2); + case "BAA_BBA", "BAB_BBB", "BAC_BBC" -> { + list.add(QSVConstants.ORIENTATION_3); + list.add(QSVConstants.ORIENTATION_4); + } + } return list; } @@ -379,21 +342,23 @@ public static boolean highNCount(String consensus, double limit) throws QSVExcep */ public static Set getPairGroupsByOrientationCategory(String oc) { Set list = new HashSet<>(); - if (oc.equals("1")) { - list.add(AAC); - } else if (oc.equals("2")) { - list.add(ABA); - list.add(ABB); - list.add(AAB); - list.add(ABC); - } else if (oc.equals("3") || oc.equals("4")) { - list.add(BAA); - list.add(BBA); - list.add(BAB); - list.add(BBB); - list.add(BAC); - list.add(BBC); - } + switch (oc) { + case "1" -> list.add(AAC); + case "2" -> { + list.add(ABA); + list.add(ABB); + list.add(AAB); + list.add(ABC); + } + case "3", "4" -> { + list.add(BAA); + list.add(BBA); + list.add(BAB); + list.add(BBB); + list.add(BAC); + list.add(BBC); + } + } return list; } @@ -421,7 +386,7 @@ public static ConcurrentMap getReferenceMap() { return REFERENCE; } - public static synchronized void setupReferenceMap(File referenceFile) throws QSVException { + public static synchronized void setupReferenceMap(File referenceFile) { if (null == REFERENCE) { REFERENCE = new ConcurrentHashMap<>(); ReferenceSequenceFile f = getReferenceFile(referenceFile); @@ -444,9 +409,8 @@ public static synchronized void setupReferenceMap(File referenceFile) throws QSV * * @param referenceFile the reference file * @return the reference file - * @throws QSVException the qSV exception - */ - private static IndexedFastaSequenceFile getReferenceFile(File referenceFile) throws QSVException { + */ + private static IndexedFastaSequenceFile getReferenceFile(File referenceFile) { if (referenceFile.exists()) { File indexFile = new File(referenceFile.getPath() + ".fai"); @@ -456,8 +420,7 @@ private static IndexedFastaSequenceFile getReferenceFile(File referenceFile) thr } FastaSequenceIndex index = new FastaSequenceIndex(indexFile); - IndexedFastaSequenceFile f = new IndexedFastaSequenceFile(referenceFile, index); - return f; + return new IndexedFastaSequenceFile(referenceFile, index); } return null; } @@ -469,14 +432,10 @@ private static IndexedFastaSequenceFile getReferenceFile(File referenceFile) thr * @param record the record * @param start the start * @param end the end - * @param name the name - * @param chr the chr - * @param softClipDir the soft clip dir - * @param isTumour the is tumour * @throws IOException Signals that an I/O exception has occurred. * @throws QSVException */ - public static void writeUnmappedRecord(BufferedWriter writer, SAMRecord record, String rgId, int start, int end, boolean isTumour) throws IOException, QSVException { + public static void writeUnmappedRecord(BufferedWriter writer, SAMRecord record, String rgId, int start, int end) throws IOException, QSVException { int recordStart = record.getMateAlignmentStart(); @@ -484,13 +443,12 @@ public static void writeUnmappedRecord(BufferedWriter writer, SAMRecord record, String readString = record.getReadString(); if (! QSVUtil.highNCount(readString, 0.2)) { - StringBuilder sb = new StringBuilder("unmapped,"); - sb.append(record.getReadName()).append(COLON ).append(rgId).append(Constants.COMMA); - sb.append(record.getReferenceName()).append(Constants.COMMA); - sb.append(recordStart).append(Constants.COMMA); - sb.append(readString).append(NEW_LINE); + String sb = "unmapped," + record.getReadName() + COLON + rgId + Constants.COMMA + + record.getReferenceName() + Constants.COMMA + + recordStart + Constants.COMMA + + readString + NEW_LINE; - writer.write(sb.toString()); + writer.write(sb); } } } @@ -531,11 +489,8 @@ public static boolean doesMatePairOverlapRegions(MatePair m, int leftStart, int int rightMateEnd = m.getRightMate().getEnd(); //check the right start or end is within the left range - if ((rightMateStart >= rightStart && rightMateStart <= rightEnd) - || (rightMateEnd >= rightStart && rightMateEnd <= rightEnd)) { - - return true; - } + return (rightMateStart >= rightStart && rightMateStart <= rightEnd) + || (rightMateEnd >= rightStart && rightMateEnd <= rightEnd); } return false; } diff --git a/qsv/test/org/qcmg/qsv/annotate/AnnotateFilterMTTest.java b/qsv/test/org/qcmg/qsv/annotate/AnnotateFilterMTTest.java index 3e9e700bb..a8de8658e 100644 --- a/qsv/test/org/qcmg/qsv/annotate/AnnotateFilterMTTest.java +++ b/qsv/test/org/qcmg/qsv/annotate/AnnotateFilterMTTest.java @@ -8,7 +8,6 @@ import java.io.FileWriter; import java.io.IOException; import java.util.AbstractQueue; -import java.util.Date; import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; @@ -132,7 +131,7 @@ public void setupQueryExecutor() throws Exception { Options options = new Options(args); options.parseIniFile(); String matepairsDir = null; - QSVParameters p = new QSVParameters(options, true, testFolder.getRoot().toString() , matepairsDir , new Date(), "test", null); + QSVParameters p = new QSVParameters(options, true, testFolder.getRoot().toString() , "test", null); AnnotateFilterMT afmt = new AnnotateFilterMT(Thread.currentThread(), wGoodLatch, p, null, null, options); afmt.new AnnotationFiltering(readQueue, writeQueue, writeClipQueue, mainThread, fLatch, wGoodLatch); diff --git a/qsv/test/org/qcmg/qsv/util/TestUtil.java b/qsv/test/org/qcmg/qsv/util/TestUtil.java index a5b703836..fa7351cab 100644 --- a/qsv/test/org/qcmg/qsv/util/TestUtil.java +++ b/qsv/test/org/qcmg/qsv/util/TestUtil.java @@ -9,7 +9,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import java.util.Date; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -231,7 +230,7 @@ public static QSVParameters getQSVParameters(final File testFolder, final String mateDir.mkdir(); } - QSVParameters p = new QSVParameters(options, isTumor, testFolder.getAbsolutePath() + FILE_SEPERATOR, matepairsDir, new Date(), "test", null); + QSVParameters p = new QSVParameters(options, isTumor, testFolder.getAbsolutePath() + FILE_SEPERATOR, "test", null); return p; } @@ -248,7 +247,7 @@ public static QSVParameters getQSVParameters(final File testFolder, final String } // QSVParameters p = new QSVParameters(options, isTumor, testFolder.getRoot().toString() + FILE_SEPERATOR, matepairsDir, new Date(), "test"); - QSVParameters p = new QSVParameters(options, isTumor, testFolder.getAbsolutePath() + FILE_SEPERATOR, matepairsDir, new Date(), "test", null); + QSVParameters p = new QSVParameters(options, isTumor, testFolder.getAbsolutePath() + FILE_SEPERATOR, "test", null); return p; }