code: def calcThermo(seq1, seq2, calc_type='ANY', mv_conc=50, dv_conc=0,
                   dntp_conc=0.8, dna_conc=50, temp_c=37, max_loop=30,
                   temp_only=False):
      
      args = [pjoin(PRIMER3_HOME, 'ntthal'),
              '-a',       str(calc_type),
              '-mv',      str(mv_conc),
              '-dv',      str(dv_conc),
              '-n',       str(dntp_conc),
              '-d',       str(dna_conc),
              '-t',       str(temp_c),
              '-maxloop', str(max_loop),
              '-path',    THERMO_PATH,
              '-s1',      seq1,
              '-s2',      seq2]
      if temp_only:
          args += ['-r']
      out = subprocess.check_output(args, stderr=DEV_NULL,
                                    env=os.environ)
      return _parse_ntthal(out)
docs: Main subprocess wrapper for calls to the ntthal executable.
  
      Returns a named tuple with tm, ds, dh, and dg values or None if no
      structure / complex could be computed.