Example #1
0
                       "1i07",
                       "1a7y"]
  pdb_dir_p1 = os.path.join(qrefine,"regression","datasets","p1")
  complete_pdbs(expected_list_cluster, pdb_dir_cluster)
  complete_pdbs(expected_list_p1, pdb_dir_p1)

def complete_pdbs(expected_list, pdb_dir):
  if(not (os.path.isdir(pdb_dir))):
    raise Sorry(pdb_dir + " not exist.  Please get its repository on GitHub")
  #input_var = str(
  #  raw_input("run finalise.py for all pdbs in %s will take quite a while (30~60 minutes), continue Y/N : " % pdb_dir))
  if 1: #(input_var == "Y") or 1:
    print '"%s"' % pdb_dir
    no_error_list = batch_run_finalise.run(pdb_dir,
                                           nproc=1,
                                           #only_code='1il5',
    )
    print no_error_list
    #shutil.rmtree("./tmp")
    expected_list.sort()
    no_error_list.sort()
    print expected_list
    print no_error_list
    assert approx_equal(expected_list, no_error_list),'%s has different pdbs passing finalise.py'%pdb_dir
  else:
    print "skip"

if(__name__ == "__main__"):
  rc = run_tests.runner(function=run, prefix="tst_11", disable=False)
  assert not rc, 'tst_00 rc: %s' % rc
Example #2
0
ATOM   1172  HB3 CYS A  78       9.453  11.155  18.172  1.00  9.23           H
HETATM 1832 CU    CU A 201       7.545   9.241  20.314  0.40  8.15          Cu
ANISOU 1832 CU    CU A 201      503   1903    690    -55    119      0      Cu
'''

def run(prefix):
  fn='test_cu_cys.pdb'
  f=file(fn, 'wb')
  f.write(pdb_lines)
  f.close()
  cmd = 'qr.finalise %s action="capping"' % (fn)
  if 0: print cmd
  rc = easy_run.go(cmd)
  os.remove(fn)
  fnc = '%s_capping.pdb' % fn.replace('.pdb','')
  f=file(fnc, 'rb')
  lines=f.read()
  f.close()
  assert ' HG  CYS A  78' not in lines
  cmd = 'qr.charges %s verbose=1' % (fnc)
  if 0: print cmd
  rc = easy_run.go(cmd)
  assert 'Charge: 0' in rc.stdout_lines
  os.remove(fnc)
  return rc

if __name__=='__main__':
  prefix='tst_24'
  rc = run_tests.runner(function=run, prefix=prefix, disable=False)
  assert not rc, '%s rc: %s' % (prefix, rc)
Example #3
0
        crystal_symmetry=cs,
        clustering=True,
    )

    fm = fragments(working_folder=os.path.split("./ase/tmp_ase.pdb")[0] + "/",
                   clustering_method=betweenness_centrality_clustering,
                   maxnum_residues_in_cluster=8,
                   charge_embedding=False,
                   pdb_hierarchy=ph,
                   qm_engine_name="mopac",
                   crystal_symmetry=cs)

    fc = from_cluster(
        restraints_manager=fq,
        fragment_manager=fm,
        parallel_params=get_master_phil().extract(),
    )

    energy, gradients = fc.target_and_gradients(sites_cart=sites_cart)
    energy = energy * (kcal / mol) * (kcal / mol) / Hartree
    gradients = gradients * (kcal / mol) * (kcal / mol) * (Bohr / Hartree)
    gradients = list(gradients.as_double())
    os.system("rm -rf ase")
    assert approx_equal(energy, e, 1.0E-4)
    #assert approx_equal(gradients, g, 1.0E-4)


if (__name__ == "__main__"):
    rc = run_tests.runner(function=run, prefix="tst_10", disable=True)
    assert not rc, 'tst_00 rc: %s' % rc
Example #4
0
     clustering_method          = betweenness_centrality_clustering,
     maxnum_residues_in_cluster = 8,
     charge_embedding           = False,
     pdb_hierarchy              = ph,
     qm_engine_name             = "mopac",
     crystal_symmetry           = cs)
    restraints = from_cluster(
     restraints_manager = fq,
     fragment_manager =fm,
     parallel_params = get_master_phil().extract())
  else:
    restraints = fq
  return restraints

def qm_gradient(ph, restraints):
  sites_cart = ph.atoms().extract_xyz()
  e,g = restraints.target_and_gradients(sites_cart)
  return g

def qm_opt(restraints, file):
  sys = ase_io_read(os.path.join(qr_unit_tests,"data_files/helix.pdb"))
  opt = lbfgs_gradient(sys, restraints)
  opt.run(5)
  opt.write(file)

if(__name__ == "__main__"):
  disable = False
  if(os.environ.get("MOPAC_COMMAND") is None): disable = True
  rc = run_tests.runner(function=run, prefix="tst_13", disable=disable)
  assert not rc, 'tst_00 rc: %s' % rc
Example #5
0
    if 0:
        print list(phW.atoms())[0].name
        print esW.gradients[0]
        print

        print list(ph.atoms())[0].name
        print es.gradients[0]
        print esA.gradients[0]
        print esB.gradients[0]
        print
        print list(phA.atoms())[5].name, list(ph.atoms())[5].name
        print es.gradients[5]
        print esA.gradients[5]
        print
        print list(phB.atoms())[5].name, list(ph.atoms())[12].name
        print es.gradients[12]
        print esB.gradients[5]
        print
        print "-------"
    result = list(
        flex.double(esA.gradients[0]) + flex.double(esB.gradients[0]) -
        flex.double(esW.gradients[0]))
    assert approx_equal(result, es.gradients[0])


if __name__ == '__main__':
    rc = run_tests.runner(function=run1, prefix="tst_17", disable=False)
    rc += run_tests.runner(function=run2, prefix="tst_17", disable=False)
    rc += run_tests.runner(function=run3, prefix="tst_17", disable=False)
    assert not rc, 'tst_17 rc: %s' % rc