@Override public void performOperation() throws OperationFailedException { if (verbose) { System.out.println("TestOperator is performing operation"); } inputFile = inputBuffers.get(0).getFile(); try { BufferedReader reader = new BufferedReader(new FileReader(inputFile)); FileBuffer output = outputBuffers.get(0); String line = reader.readLine(); BufferedWriter writer = new BufferedWriter(new FileWriter(output.getFile())); writer.write("Top of the new output buffer!\n"); int count = 0; while (line != null) { System.out.println("Read this line from input file : " + line); writer.write(count + "\t " + line + "\n"); count++; line = reader.readLine(); } reader.close(); writer.close(); } catch (FileNotFoundException e) { throw new OperationFailedException(e.getCause() + "\t" + e.getMessage(), this); } catch (IOException e) { throw new OperationFailedException(e.getCause() + "\t" + e.getMessage(), this); } }
@Override protected String[] getCommand(FileBuffer inputBuffer) throws OperationFailedException { if (cutAdaptPath == null) { cutAdaptPath = this.getPipelineProperty(CUTADAPT_PATH); if (cutAdaptPath == null) throw new OperationFailedException("No path to cutadapt found", this); } if (!(inputBuffer instanceof FastQFile)) { return null; } if (adapterString == null) { try { FileBuffer adapterBuf = this.getInputBufferForClass(TextBuffer.class); if (adapterBuf == null) throw new OperationFailedException( "No adapter file specified, cannot cut adapters", this); BufferedReader reader = new BufferedReader(new FileReader(adapterBuf.getFile())); StringBuffer adapterStr = new StringBuffer(); String line = reader.readLine(); while (line != null) { adapterStr.append(" -a " + line.trim()); line = reader.readLine(); } reader.close(); adapterString = adapterStr.toString(); } catch (IOException ex) { throw new OperationFailedException( "Error reading adapter sequences : " + ex.getMessage(), this); } } String outputFilename = "adaptercut-" + inputBuffer.getFilename(); FastQFile outputFile = new FastQFile(new File(getProjectHome() + outputFilename)); super.addOutputFile(outputFile); String command = cutAdaptPath + adapterString + " -o " + outputFile.getAbsolutePath() + " " + inputBuffer.getAbsolutePath(); return new String[] {command}; }
protected void parseOptions() { FileBuffer inputBEDfb = this.getInputBufferForClass(BEDFile.class); if (inputBEDfb != null) { inputBED = (BEDFile) inputBEDfb; bedFileOpt = " -t " + inputBED.getAbsolutePath(); } else { bedFileOpt = ""; } List<FileBuffer> inputBAMBuffers = this.getAllInputBuffersForClass(BAMFile.class); for (FileBuffer bamBuffer : inputBAMBuffers) { inputBAMs = inputBAMs + " -b " + bamBuffer.getAbsolutePath(); } if (extraOptions == null || extraOptions.equals("null")) { extraOptions = ""; } inputBuffers = this.getAllInputBuffersForClass(BAMFile.class); refBuf = (ReferenceFile) this.getInputBufferForClass(ReferenceFile.class); outputVCF = (VCFFile) this.getOutputBufferForClass(VCFFile.class); }