lab-cosmo/glosim

Cannot execute the sample code in the ESI of Chem. Sci., 2018, 9, 1289.

Opened this issue · 2 comments

yiino commented

Hi,
Thanks for providing the algorithms.
I just installed the quippy and tried the glosim.
I tried the code in electronic supplementary materials for the paper Chem. Sci., 2018, 9, 1289.

glosim.py traj-pentacene.xyz -n 9 -l 9 -g 0.3 -c 3 --kernel rematch --gamma 2 --periodic --nonorm

The glosim program seems not to recognize options '--periodic --nonorm' .

                   :
glosim.py: error: unrecognized arguments: --periodic --nonorm

Also, without these options, the program abort with the message below.

WARNING! fast hungarian library is not available 

Cannot find mcpermanent.so module in pythonpath. Permanent evaluations will be very slow and approximate.
Get it from https://github.com/sandipde/MCpermanent 
          TIME:   Wed Oct 17 14:46:59 2018
        ___  __    _____  ___  ____  __  __ 
       / __)(  )  (  _  )/ __)(_  _)(  \/  )
      ( (_-. )(__  )(_)( \__ \ _)(_  )    ( 
       \___/(____)(_____)(___/(____)(_/\/\_)
                                            
                                             
using output prefix = traj-pentacene-n9-l9-c3.0-g0.3_rematch-2.0
Reading input file traj-pentacene.xyz
564  Configurations Read
Computing SOAPs
Traceback (most recent call last):   
  File "glosim/glosim.py", line 862, in <module>
    main(args.filename, nd=args.n, ld=args.l, coff=args.c, cotw=args.cotw, gs=args.g, mu=args.mu, centerweight=args.cw, onpy=args.onpy, peratom=args.peratom, unsoap = args.unsoap, usekit=args.usekit, kit=args.kit,alchemyrules=args.alchemy_rules, kmode=args.kernel, normalize_global=args.normalize_global, permanenteps=args.permanenteps, reggamma=args.gamma, noatom=noatom, nocenter=nocenter, envsim=args.envsim, nprocs=args.np, verbose=args.verbose, envij=envij, prefix=args.prefix, nlandmark=args.nlandmarks, printsim=args.distance,ref_xyz=args.refxyz,partialsim=args.livek,lowmem=args.lowmem,restartflag=args.restart, zeta=args.zeta, xspecies=args.separate_species, alrange=(args.first,args.last), refrange=(args.reffirst, args.reflast))
  File "glosim/glosim.py", line 243, in main
    sii,senvii = structk(si, si, alchem, peratom, mode=kmode, fout=fii, peps=permanenteps, gamma=reggamma, zeta=zeta, xspecies=xspecies)        
  File "/home/iino/Work/glosim/libmatch/structures.py", line 292, in structk
    cost=rematch(kk, gamma, 1e-6)  # hard-coded residual error for regularized gamma
  File "/home/iino/Work/glosim/libmatch/lap/perm.py", line 46, in rematch
    raise ValueError("No Python equivalent to rematch function...")
ValueError: No Python equivalent to rematch function...

It seems the code for REMatch kernel is not implemented yet.
Is there any problem in my environment, or is it intentional?

yiino commented

After compiling and installing c++ codes in the glosim module, I can run the command in ESI.
Compiling and installing are possible with the following commands:

$ cd glosim/libmatch/lap/permanent-0.0.1
$ python setup.py build
$ sudo python setup.py install

Still, options '--periodic --nonorm' are not recognized.

Yes, sorry this is development code and options are changing. If you want to reproduce the behavior for the Chem. Sci. paper, you should roll back to a commit before 51c9c0b

Otherwise, you should be able to obtain the same normalization as from that paper with simply the option --peratom.

Let me know if this works.