helenginn / vagabond Goto Github PK
View Code? Open in Web Editor NEWVagabond - structure refinement from scratch
Home Page: https://vagabond.hginn.co.uk
License: Other
Vagabond - structure refinement from scratch
Home Page: https://vagabond.hginn.co.uk
License: Other
Internal molecule structure should include separate molecules for each ligand and not write every atom out as a water molecule in the HETATM list but keep original info.
Returning to a chain number after going to a different one in order to append HETATMs will fail.
Canonical structure examples: 5pwe, 5t4t
Write nsamples out to the .vbond file and --nsamples on the command line should only act to change this.
The vagabond GUI freezes while coot is running, but vagabond itself continues happily. from David
Single peptide crashes because Vagabond can't find the N-terminal atoms.
Space group 18, for example, can have a unique axis like P21 21 2 or P2 21 21, but will be reset to the default when written out to a .vbond file and then it cannot be reloaded sensibly.
Screen for problems loading MTZ files etc. and prompt for a new MTZ file instead of quitting with an error message. Plus similar issues.
Scientist thought Vagabond was running for 1 week, in reality it took a couple of hours and never said “I am complete”. Provide summary at end of refinement.
Turn the common script kick.vscript and code directly as an automatic refinement pipeline
Fix undo functionality
for faster convergence, sensible starting values
Sometimes the opening of the polymer window will crash when exploring the crystal.
Should tell user that Vagabond has run out of memory when it runs out of memory, particularly for large allocations for FFT
@
Option to vary map calculation settings in a file menu (set global B factor and toggle shell-by-shell scaling)
Make it return an AnchorPtr instead of an ExplicitModelPtr because you always recast to the subclass anyway
Long-term: handle custom geometry.
Short-term: find a way to handle methylated lysines, which are indicated with MLY or MLZ. Ideally, portions of the structure shouldn't be dumped if post-translational modifications are not accessible.
Canonical problem PDB is 4idk
It is not possible to allocate more than 0.5 MB for a background thread on Mac OS X.
Because the bonds are calculated recursively, this overflows for moderately sized proteins.
Switch to an iterative calculation of bond positions.
Fix me.
Giant horrible if statement in Parser.cpp to be replaced with per-subclass implementation to return a new instance of a Parser.
Put optional parameters in a dropdown window so it is more obvious they're optional
Selections, refinement etc. can sometimes lead to seg faults. Iron them out and then get someone to try and break it.
Change from recursive to iterative
For each polymer, write out full parameterisation information.
Some cubes for isomesh calculation are still a bit dodgy and may be incorrect
If starting a refinement of at least magic angles on the anchor residue, crashy crashy seg fault
Any function which is just supplying an instruction to the vagabond engine should come under a single function taking the instruction param.
/gpfs2/well/strubi/ginn/vagabond/vagabond/build/current/libvag.so(_ZSt4swapIP9GhostBondEvRT_S3_+0x2f)[0x2b16e99ae501] /gpfs2/well/strubi/ginn/vagabond/vagabond/build/current/libvag.so(_ZN5boost10shared_ptrI9GhostBondE4swapERS2_+0x23)[0x2b16e99ad573] /gpfs2/well/strubi/ginn/vagabond/vagabond/build/current/libvag.so(_ZN5boost10shared_ptrI9GhostBondEaSERKS2_+0x36)[0x2b16e99ac720] /gpfs2/well/strubi/ginn/vagabond/vagabond/build/current/libvag.so(_ZN4Atom12setGhostBondEN5boost10shared_ptrI9GhostBondEE+0x2a)[0x2b16e99abd96] /gpfs2/well/strubi/ginn/vagabond/vagabond/build/current/libvag.so(_ZN9GhostBond8setAtomsEN5boost10shared_ptrI4AtomEES3_+0x76)[0x2b16e9a1ecea] /gpfs2/well/strubi/ginn/vagabond/vagabond/build/current/libvag.so(_ZN7Knotter17makePhenylalanineEv+0xc2d)[0x2b16e9a346e9] /gpfs2/well/strubi/ginn/vagabond/vagabond/build/current/libvag.so(_ZN7Knotter3tieEv+0x203)[0x2b16e9a2ce21] /gpfs2/well/strubi/ginn/vagabond/vagabond/build/current/libvag.so(_ZN7Monomer10tieAtomsUpEv+0x17e)[0x2b16e9a45dd0]
Sometimes ghost bonds appear to crash
For prevention of loads of clicking events.
Unbonded atoms are also important
At the moment, FFT grid is square, accommodating the longest unit cell minimally. FFT grid should be a cuboid to improve speed and memory consumption.
PDBs such as 1u6t get imported into Vagabond and end up with additional conformers - shouldn't happen, but put in a check to make sure if any part of a protein goes over 100% occupancy, some kind of warning is issued.
Untick tickboxes as appropriate in GUI
Somewhere it needs to be clear that one should only open *.pdb, *.vbond
No hetatms = division by 0 = major NAN time for everyone.
totally unnecessary
To close aromatic side chains, proline
Don't pass through entire data set each time to scale a new resolution bin. Do all resolution bins simultaneously.
Take the opportunity to store and write out Rwork/Rfree values per resolution bin at the end of each cycle
At time of writing, alternative conformations are limited to alternative side chain conformations.
Instead, auto-detection of the start and end bonds of a series of alternative atom positions should be used.
Good test case is 4icw, which has two branches of a loop in the structure.
Remove boost from the repository and turn it into a real dependency.
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.