docs: def import_from_daa_file(daa_filename):
          '''Generate new results object from the output of diamond blastx/p'''
          
          # blast m8 format is
          # 'qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore
          res = DiamondSearchResult()
          res.fields = [
                         SequenceSearchResult.QUERY_ID_FIELD,
                         SequenceSearchResult.HIT_ID_FIELD,
                         SequenceSearchResult.PERCENT_ID_FIELD,
                         SequenceSearchResult.ALIGNMENT_LENGTH_FIELD,
                         SequenceSearchResult.MISMATCH_FIELD,
                         #skip
                         SequenceSearchResult.QUERY_FROM_FIELD,
                         SequenceSearchResult.QUERY_TO_FIELD,
                         SequenceSearchResult.HIT_FROM_FIELD,
                         SequenceSearchResult.HIT_TO_FIELD,
                         SequenceSearchResult.EVALUE_FIELD,
                         SequenceSearchResult.ALIGNMENT_BIT_SCORE,
                         # extras
                         SequenceSearchResult.ALIGNMENT_DIRECTION,
                         SequenceSearchResult.HMM_NAME_FIELD
                         ]
          
          cmd = "diamond view -a '%s'" % daa_filename
          logging.debug("Running cmd: %s" % cmd)
          process = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
          stdout, stderr = process.communicate()
          
          reader = csv.reader(stdout.decode('ascii').splitlines(),
                                  delimiter='\t')
          if process.returncode != 0:
              raise Exception("Problem running diamond view with cmd: '%s'," 
                              "stderr was %s" % (cmd, stderr))
  
          for row in reader:
              # 'qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore
              #    0       1     2      3        4        5      6     7    8      9    10     11
              query_start = int(row[6])
              query_end = int(row[7])
              res.results.append([row[0],
                                   row[1],
                                   row[2],
                                   row[3],
                                   row[4],
                                   query_start,
                                   query_end,
                                   int(row[8]),
                                   int(row[9]),
                                   row[10],
                                   row[11],
                                   query_start < query_end,
                                   os.path.basename(daa_filename)
                                   ])
          return res