code: public static Iterable<HighScoringPair> blastn(final File sourceFile, final File targetFile) throws IOException {
          checkNotNull(sourceFile);
          checkNotNull(targetFile);
  
          File blastResult = File.createTempFile("blastn", ".txt");
  
          // blastn can't handle compressed files, so copy source and target to temp files, decompressing if necessary
          File sourceFileCopy = File.createTempFile("sourceFile", ".fa");
          charSource(sourceFile).copyTo(Files.asCharSink(sourceFileCopy, Charset.forName("UTF-8")));
  
          File targetFileCopy = File.createTempFile("targetFile", ".fa");
          charSource(targetFile).copyTo(Files.asCharSink(targetFileCopy, Charset.forName("UTF-8")));
  
          ProcessBuilder blastn = new ProcessBuilder("blastn",
                                                     "-subject", sourceFileCopy.getPath(),
                                                     "-query", targetFileCopy.getPath(),
                                                     "-outfmt", "6",
                                                     "-out", blastResult.getPath());
          Process blastnProcess = blastn.start();
          try {
              blastnProcess.waitFor();
          }
          catch (InterruptedException e) {
              // ignore
          }
  
          BufferedReader reader = null;
          List<HighScoringPair> hsps = Lists.newLinkedList();
          try {
              reader = new BufferedReader(new FileReader(blastResult));
              for (HighScoringPair hsp : HspReader.read(reader)) {
                  hsps.add(hsp);
              }
          }
          finally {
              try {
                  reader.close();
              }
              catch (Exception e) {
                  // empty
              }
              sourceFileCopy.delete();
              targetFileCopy.delete();
          }
          return ImmutableList.copyOf(hsps);
      }
docs: Return the high-scoring segment pairs (HSPs) from blastn of the source and target sequence files in FASTA format.
  
  @param sourceFile source sequence file in FASTA format, must not be null
  @param targetFile target sequence file in FASTA format, must not be null
  @return zero or more high-scoring segment pairs (HSPs) from blastn of the source and target sequence files
  in FASTA format
  @throws IOException if an I/O error occurs