juliamolsim / ase.jl Goto Github PK
View Code? Open in Web Editor NEWJulia Bindings for Atomic Simulation Environment
License: Other
Julia Bindings for Atomic Simulation Environment
License: Other
Please could you do a new release of ASE.jl so that the slow loading due to __precompile__(false)
goes away? I see this has already been fixed in master
.
seems to fail at the moment. See discussion in JuLIP.jl
using PyCall
ase = pyimport("ase")
pmt = pyimport("pymatgen.core")
pmt2ase = pyimport("pymatgen.io.ase")
json = pyimport("json")
f = open("data/training.json", "r")
data = json.load(f)
Xase = []
for d in data
curr_structure = pmt.Structure.from_dict(d["structure"])
at = pmt2ase.AseAtomsAdaptor.get_atoms(curr_structure)
append!(Xase, at)
end
using ASE, JuLIP
X = []
for x in Xase
curr_at = Atoms(ASEAtoms(x))
append!(X, curr_at)
end
python = v"3.9.5"
PyCall = v1.93.0
Since the python dependencies are installed via Conda and MolSimPy is behind Requires, I think it would be safe to enable precompilation.
I can make a PR if you agree.
@JuliaRegistrator register
The read_xyz
in this wraps the ase.io.read
function. But the latter can read a large number of formats and is not restricted to xyz files. So shouldn't the function be named something like readatoms
?
should register again in General to avoid confusions.
Hi, is ASE.jl does not support Julia 1.0.0?
I run
Pkg.add("ASE")
It returned with error:
Resolving package versions...
Unsatisfiable requirements detected for package ASE [51974c44]:
ASE [51974c44] log:
├─possible versions are: 0.1.0 or uninstalled
├─restricted to versions * by an explicit requirement, leaving only versions 0.1.0
└─restricted by julia compatibility requirements to versions: uninstalled — no versions left
Is this mean that ASE.jl only support Julia 0.1.0? Thanks. (System: Windows10)
I can't use ASE.jl
anymore - it segfaults almost immediately. Though funnily it seems I can access ase
directly via PyCall
.
@gabor1 @jameskermode @dussong when you have 5 minutes would you be willing to run the following test for me:
Pkg.status("ASE")
Pkg.status("PyCall")
using PyCall
@pyimport ase
@show ase.__version__
then open a fresh REPL and run
using ASE
bulk("Si")
Thank you.
I'm trying to utilize ASE.jl in my project, but I have a ERROR: unsatisfiable requirements detected for package Reexport[189a3867]
, specifically it's an issue with the JLD2.jl package which requires Reexport.jl
and another package using JLD2.jl
wanting version 1.0.0-1.2.2
due to compatibility constraint. I forked ASE.jl to just take care of this for my needs, but then I noticed there is a compatibility constraint with JuLIP.jl. Any chance ASE.jl and JuLIP.jl dependency on Reexport.jl get pulled up to 1.0.0 or greater?
import JuLIP.forces, JuLIP.gradient, JuLIP.energy
gradient(calc::ASE.ASECalculator, at::Atoms) = gradient(calc, ASE.ASEAtoms(at))
forces(calc::ASE.ASECalculator, at::Atoms) = forces(calc, ASE.ASEAtoms(at))
energy(calc::ASE.ASECalculator, at::Atoms) = energy(calc, ASE.ASEAtoms(at))
read_extxyz
and Long Lines in StructuresThe read_extxyz
function encounters an error with the message "Failed to parse string at pos 101" when attempting to read a structure containing a long line. While the following example may seem contrived, even a modest amount of array data within the info dictionary can quickly surpass the limit. This issue was first identified on a real database.
Example File: minimal.xyz.txt
Hello!
First of all, thanks for making this package (and also JuLIP).
I was wondering if this package (and by extension JuLIP) could be also installed on Windows. I looked around in the source code and the most difficult issue seems to be the matscipy dependency. If I understood correctly, this is only used for neighbor lists. From what I looked in the JuLIP source code, the julia port NeighbourLists.jl (https://github.com/JuliaMolSim/JuLIP.jl/blob/master/src/atoms.jl#L184) is used and I was wondering if the matscipy dependency could be removed.
This could greatly simplify the build process (no need for a deps/build.jl
), because the python package ase
could be installed automatically by switching to pyimport_conda
(since ase
is availabe on conda: https://anaconda.org/RMG/ase). Also, with these modifications, I think precompilation can be enabled.
In order to test this, I made the required changes on my fork, configured CI with github actions on the gh-actions branch and created a PR from a separate branch to test the changes.
As can be seen in the tests, only the parts related to the neighbourlist
function fail, but the rest pass (The logs are not complete for all versions since all tests are canceled on the first failure https://github.com/SebastianM-C/ASE.jl/runs/339254643#step:5:218).
I also tested locally on Windows 10 x64, and the ase
python package successfully installs and the test for ASE.jl pass (with the obvious exception of the ones related to the neighbourlist
function).
If there are things left to be ported from the MatSciPy
module to julia, I would like to help. If you would like, I can also make a PR for the pyimport_conda
changes (and also for github actions CI and code coverage if you are interested).
To take into account MolSim
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.