private void createDNAOutput(){

		U.p("Max memory used during this run was: " + Driver.getMaxMem() + " GB");
	
		//Create a header for the output file
		annoHeader = "##Modified by annotationAlignmenttool on: " + sdf.format(Calendar.getInstance().getTime()) + "\n" + "##Modified from original to fit: " + DNAFile.substring(DNAFile.lastIndexOf('/') + 1) + "\n";
		
		
		//Write the new predicted annotation to output
		try {
			U.p("Name of output file is: " + DNAFile.substring(DNAFile.lastIndexOf('/') + 1, DNAFile.lastIndexOf('.')));
			BufferedWriter out = new BufferedWriter(new FileWriter(outputDirectory +"/" + DNAFile.substring(DNAFile.lastIndexOf('/') + 1, DNAFile.lastIndexOf('.')) + ".gtf" ));
			
			//Write header information into the file
			out.write(annoHeader);
			
			//Output the new modified lines
			for(int i = 0; i < GTFlist.size();i++){
				out.write(GTFlist.get(i).toString() + "\n");

			}
			
			//Flush and close the writer to guarantee that the file was written to disk
			out.flush();
			out.close();
			
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		//Write the mismatched lines to output
		try {
			BufferedWriter out = new BufferedWriter(new FileWriter(outputDirectory +"/" + "MismatchedLines.txt" ));
			StringBuffer sb = new StringBuffer();
			
			//Count keeps track of how many false matches occur, and it is used during the calculation of the statistics for the mismatched output file.
			int count = 0;
			for(AA_Line_Container aalc: GTFlist){
				
				//Assume all predicted locations are false, until they can be verified
				boolean match = false;

				//Confirm that the original line matches up to the predicted locations
				if(aalc.getGtfLine().getStartLocation() == aalc.getNewStarts().get(0) || aalc.getGtfLine().getStopLocation() == aalc.getNewStops().get(0)){
					match = true;
				}
				
				//Output if 
				if(match == false){
					sb.append("UpdatedLine: " + aalc.toString() + "\n");
					sb.append("OriginalLine: " + aalc.getGtfLine().toString() + "\n");
					count++;
				}

			}//Go through entire GTFlist
			
			
			//Write out the output and close the file writer
			out.write("##MismatchedLines/Total " + count + "/" + GTFlist.size() +  "\n");
			out.write("##PercentCorrect " + (1 - ((double)count) / GTFlist.size())*100 + "%" + "\n"); 
			out.write(sb.toString());
			
			
			//Flush and close the writer to guarantee that the file was written to disk
			out.flush();
			out.close();
			
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}//catch

	}//createDNAOutput