Interest in chemistry-focused BoF?

If Open Chemistry gets accepted for Google Summer of Code again this year, this is a proposed project that I will mentor if someone picks it. It would be good to know what is useful to bind other than the core data structure, so input is welcome here.

2 Likes

That sounds fantastic!
For me, the most useful support is quite low level things describing the quantum mechanics such as (in cclib notation) mocoeffs and aooverlaps.

I find the higher level observables are actually fairly easy to get out of the logfile, and are quite compact, whereas the actual wavefunction information is quite challenging to get at, you need an actual parser (canā€™t just grep a number), and itā€™s where it would be really nice to use different quantum-chemistry backends to cross-compare and access unusual methods.

Hi there, Iā€™m planning on attending JuliaCon this year. for my PhD in Computational Chemistry Iā€™m developing ProtoSyn.jl (Still under heavy development, please check /use-cases branch for up to date code, first release is planned for later this year). This is a package specifically developed for protein design and molecular manipulation. It has features such as:

  • Monte Carlo simulations
  • Steepest Descent optimizations
  • Peptide mutations
  • GPU and SIMD acceleration

Starting from a completly unfolded structure, ProtoSyn is able to predict the protein structure of a small peptide with less than 4 angstrom RMSD, using TorchANI as an energy function (a machine learning model in Python trained on DFT-level data). It also allows for the mutation and design of new peptides.
Although still in its infancy, I would love to share the progress and get feedback for the project on a focused forum about chemistry at JuliaCon. It would be incredible!

4 Likes

Looks great, Iā€™m excited to hear more about it!

@Seanny123 may be interested as it sounds like some of the functionality overlaps with Rosetta.

1 Like

@Seanny123 may be interested as it sounds like some of the functionality overlaps with Rosetta.

It does, it is loosely inspired in PyRosetta. Iā€™ve used it for a while and identified certain parts that could be improved or at least it would be helpful to explore alternatives. Besides, Rosetta > Pyrosetta is a classical example of the ā€œtwo-language problemā€, which was another reason to use Julia for a new approach to protein design and molecular manipulation.

2 Likes

Open Chemistry has been accepted for GSoC again. If no one takes the project, then I will probably do it myself.

The attributes you describe are part of the core data structure, so youā€™d get those ā€œfor freeā€. I agree that bindings to other things (most of the bridges) are not as interesting or important.

3 Likes

Seeing as how someone mentioned .cif format files, the relatively new package CrystalInfoFramework.jl will read (and write) CIF files and dictionaries.

1 Like

I found another relevant-looking organization: https://github.com/JuliaAtoms/

@jagot @mortenpi seem to be the main developers over there.

5 Likes

Is the idea of a BoF still on?

Funny you should ask ā€“ I literally just (maybe 10 minutes ago) submitted the proposal! So very much yes! :smiley:

4 Likes

Sure, Iā€™m interested. Iā€™m a manager now, so this is a nights/weekend thing for me, but Iā€™m really enjoying Julia, and would like to spend more time with it.

Before I saw your message, I pulled out the integral code into MolecularIntegrals.jl, mostly because I saw a lot of great quantum chemistry packages (JuliaChem, FermiQC), but most of the packages just wrap libint or libcints, and I thought it would be fun to see how fast we could make pure Julia two-electron integrals.

7 Likes

Cool! Thatā€™s definitely one of the things where a satisfactory pure-Julia version does not yet exist. Looking forward to brainstorm ideas about this.

The discussion here is exciting and hope good ideas emerge out of this. I am interested in this specifically,

I fall into category 1 and have a lot of code which relies on ASE. So, my julia workflow is a mix of julia and a lot of ASE code using PyCall. I use ASE mainly for analysis of long MD trajectories and sometimes using ASE from python is too slow. It would be great to have a pure julia implementation. And I agree that atleast

would be great starting point.

1 Like

Has anyone used libcint? Does it support density-fitting yet?

Sure (see the docs ā€¦ it has 2 to 4-center integrals). If I remember correctly pyscf (which is based upon libcint) uses DF a lot. You should find plenty of examples there.

Thanks, @mfh. I would love to see how it plays with Fermi. Do you know if it support single precision?

I am running their Julia example, but I am getting random valuesā€¦ Letā€™s see if I can figure this outā€¦

Very interested

1 Like

Not easily. As far as I can see double is hard-coded as the internally-used type.

This sounds all super interesting.
From my perspective Julia needs, either a nice wrapper for rdkit, or something similar as a native package (I know that I can call rdkit through python). Maybe a julia package that wraps/calls the rdkit c++ code?

That would be wonderful and would in my opinion boost Julia acceptance in the industrial chemistry domain. Since, rdkit is the defacto standard to manipulate small molecules.

3 Likes

Agreed with that. And selfishly, PyCall to rdkit causes me so many CI problemsā€¦ :roll_eyes: Certainly directly calling the C code could potentially be a good medium- (or even long-) term workaround.

I did end up submitting a BoF proposal, so hopefully it will be accepted and we can all come together to discuss directions for these things this summer! :slightly_smiling_face:

5 Likes