code: def get_qtls_matrix(qtl_matrix, matrix, inputfile):
      
      trait_name = inputfile.split(')_', 1)[1].split('.mqo')[0]
      matrix = list(zip(*matrix))
      if matrix[4][0] != 'LOD':
          raise MQ2Exception(
              'The file "%s" is not supported by MQ2. It may contain an '
              'analysis which does not return LOD values '
              '(such as Kruskal-Wallis or permutation test).' % inputfile)
  
      if not qtl_matrix:
          qtl_matrix = matrix[:4]
      else:
          if matrix[:4] != qtl_matrix[:4]:
              raise MQ2NoMatrixException(
                  'The map used in the file "%s" does not'
                  ' correspond to the map used in at least one other file.'
                  % inputfile)
      tmp = list(matrix[4])
      tmp[0] = trait_name
      qtl_matrix.append(tmp)
      return qtl_matrix
docs: Extract for each position the LOD value obtained and save it in a
      matrix.
      This assumes that the first 4 columns are identical accross all mqo
      files (ie: the Group, Position and Locus are the same). This
      assumption should hold true if the files were generated from the
      same map.
  
      :arg qtl_matrix, the matrix in which to save the output.
      :arg matrix, the MapQTL file read in memory.
      :arg inputfile, name of the inputfile in which the QTLs have been
          found.