Comments (5)
There's a PR up @awvwgk , just in case you didn't get pinged.
from qcelemental.
Ah yes, in the beginning it was requested that fragments be allowed to be noncontiguous. So the good news is that I wrote the hard part (molparse validator) to accommodate. Then we ran into there being zero downstream programs that could actually work with noncontig. I can probably expose throw_reorder
to the pydantic model, but results should be checked carefully at first. So you've got a downstream that can use noncontig? I can see how dispersion on fragments would be a good case, esp. as geometry is fixed.
from qcelemental.
Thanks for the context, yes I tried testing non-contiguous fragments for a workflow which can work with those robustly, but directly hit a hard-stop. Now I work around by handling the fragment information outside of the qcel models because qcel is still more convenient than rolling my own.
from qcelemental.
Ok, I looked a bit more, and it's the molparse internal representation (aka psi's) that works in fragment separators (requires contiguous) rather than fragment lists. Thus, molparse always contiguizes, and throw_reorder
merely toggles between let-it-reorder and stop-in-tracks.
So, an allow_noncontiguous_fragments_but_reorder=True
is not too hard (just lifts the throw), but it's not keeping with good qcschema practice (changing up the input for convenience), and it's probably not what your workflow wants, is it?. A proper handling of noncontig would need more extensive renovation.
Is this xtb that can work with non-contig or a workflow w/o a program in particular? For now, your workaround is probably best.
from qcelemental.
I could live with qcel reordering the atoms, just leaving them in their order would be preferred, of course.
Generally, the reordering seems like something psi4 should apply as needed, similar as we handle ghost atoms in DFT-D4, qcel / qcng could provide a convenience function for permuting atoms (together with all associated properties).
from qcelemental.
Related Issues (20)
- Unsuccessful atom mapping attempts HOT 4
- Add a citation file? HOT 3
- Tests don't find py3Dmol HOT 4
- Accesing qc.models.Molecule.show() HOT 7
- Make basis set optional in WavefunctionProperties
- Molecule declares extras dictionary as Dict[str, Any] but value can be None
- PubChem test fails HOT 1
- BaseSettings has moved to a new package pydantic-settings HOT 5
- qcelemental does not build with Python 3.12 HOT 3
- Include extras in get_hash function of Molecule
- Floating point number allowed for molecular charge but not molecular multiplicity HOT 1
- Links to changelogs in releases don't work HOT 2
- PSA: Pydantic v1/v2 and the QCArchive + Psi4 stack
- Floating-point precision error in calculating angles HOT 1
- Molecule representation should include charge and multiplicity HOT 1
- Class inheritance diagram not rendering
- Inconsistent dependency versions for pint and numpy HOT 1
- Change Default Behavior of "fix_com" and "fix_orientation" HOT 6
- PSA: pubchem loose (name_type=word) searches failing HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qcelemental.