mjschnie / ffx Goto Github PK
View Code? Open in Web Editor NEWForce Field X development has moved to the SchniedersLab area of GitHub.
Home Page: https://github.com/SchniedersLab/forcefieldx
Force Field X development has moved to the SchniedersLab area of GitHub.
Home Page: https://github.com/SchniedersLab/forcefieldx
As of now, RotamerOptimization is a very large, very complicated class with insufficient encapsulation, with significant chunks written by at least five authors. Right now, it's either working or close to working, and we're currently using it for a project. However, even small feature additions have proven to induce bugs that take days to track down.
As such, I propose a temporary moratorium on adding features to RotamerOptimization.java, at least in the master branch. This, however, does not mean we cannot think about improvements to RotamerOptimization, possibly in a development branch of the repository.
Definite to-dos
Proposed to-dos
Attempting to call potential.energy(x) at the end of the Minimizer script results in failure, and prints out an error PDB file that looks reasonable... just scaled down and compressed. This suggests some issue with scaling/de-scaling in the Minimize class.
First: this would help immensely in applying our superpositionThreshold in rotamer optimization to self energies.
Second: it would be helpful to have a method, which uses the pre-existing van der Waals neighbor list, to find all the Atoms close to another Atom, plus the distances, and maybe their index in the atom array used by vdW. The return value of getNeighborLists is an int[][][], which is only really useful when you know the index of all the Atoms you are interested in.
While xyzIndex is sometimes a useable shortcut, the MultiResidue machinery interferes with this.
Our current testing suite is very comprehensive and thorough in its logging, close to 4 MB worth of comprehensive. The Travis service simply kills any tests that run over 4 MB, causing a "test failure" when it is simply a lot of logging.
This is occurring to my fork; the ThermodynamicsTest it adds is the straw that breaks the camel's back and brings logging over 4 MB in size.
I'd suggest we find where our logs are particularly verbose and either remove these logging messages, set them to the FINE level, condense the output, or add flags to do the above.
Adding flags is a bit inelegant, but due to how we've been using the standard logging levels, we may have to choose between that or defining a custom logging level, just beneath INFO, and changing some of the problematic logging messages to use that level.
Places which are particularly clogging our test output:
As of commit 223d469 , we are now using PicoCLI for our scripting engine instead of the old-style Groovy Commons CLI.
PicoCLI supports argument globbing, but this interferes with some of our multi-character short options.
As such, many of our short options now require two dashes, as such:
Old: -la1 5-18
New: --la1 5-18
In the short run, this piece of regular expression should help edit FFX commands saved in files:
sed -r -i'.bak' -e '/^[:space:]*[^ ]*ffxc\ /s/\ (-[^D][^ ]+\ )/\ -\1/g' theFile
In the long run, we may start changing some of our short options to be just a single character, so as to support option globbing.
I tried this command:
ffxc xray.scaleBulk --mtz lys_tricl_4_refmac12.pdb lys_tricl_4_refmac12.mtz
If I leave out the "--mtz" flag, it works fine; but with that flag I get this error:
Writing MTZ HKL file: "lys_tricl_4_refmac12_ffx.mtz"
Exception in thread "main" java.lang.NoSuchMethodError: java.nio.ByteBuffer.rewind()Ljava/nio/ByteBuffer;
at ffx.xray.parsers.MTZWriter.write(MTZWriter.java:301)
Googling the error message didn't help (at least for me!). I'm on MacOS with jdk1.8.0_171, built from today's github using maven 3.2.5. If I use ffxc from the binary build of 05-25-2018, it works fine, so this is low priority; I just like to feel that I can potentially modify the code to do new things.
Hi Mike: I'm finally(!) getting around to trying to learn about ffx, but had trouble getting started.
I'm on MacOS, and JAVA_HOME is /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home.
I used mvn to install ffx from github, and (separately) downloaded the ffx-1.0.0-beta.bin.tar file. Both gave the problem in the subject header, when trying the run the first example script. Uninstalling jdk10 and going back to jdk1.8.0_171.jdk solved the problem. But I'm not sure that is the right thing to be doing, since there might be a better solution.
If you go to the Oracle site (e.g. by following the link on the ffx website), it puts JDK 10 as the "latest release" and the one they offer first. Other java-clueless people (like me) might be helped if indeed saying "java version 1.8 or later" is not in fact always the best thing to do.
....thanks....dave
Constant-pressure simulations do not seem to be functioning with the RESPA integrator. They behave stably for some time, but before the end of a 250 psec nptMD trajectory, the box size expands drastically culminating in a NaN gradient. Input files are attached.
Fortunately, most of our NPT simulations at present are either small-scale (where RESPA is inadvisable anyways), or just short nptMD simulations to equilibrate the box size prior to production NVT simulations.
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.