demianriccardi / crysenm Goto Github PK
View Code? Open in Web Editor NEWFortran 90 toolkit for application of elastic network models to proteins in the crystalline state
License: GNU General Public License v2.0
Fortran 90 toolkit for application of elastic network models to proteins in the crystalline state
License: GNU General Public License v2.0
New types were introduced to have protein atom attributes. The protein_atom_type extends the atom_type from CFML. From Modern Fortran Explained, any subroutine that expects the atom_type can be called with the protein_atom_type by passing the variable%atom_type to the sub. This seems straightforward. However, we need also need a protein_atom_list_type, which is analogous to the atom_list_type from CFML. Need to figure out how to use parent class of atom_list_type from a protein_list_type. Do I need to separate those attributes and just index them properly?
CrysFML is great and easy to install, but CrysENM could be called on pdbs with the associated symmetry operators. I would be a matter of parsing the pdb and pulling them out.
programs using the cysenm should be able to do useful things with minimal lines of code. The goal is to not have to access CrysFML directly. The target of CrysENM is much more focused than that of CrysFML:
ENM of crystalline molecules.
Multi scale models of Diffuse X-ray scatter.
My code depends on being able to reduce the symmetry and fill the primitive unit cell. This isn’t so bad for proteins, because of their symmetry limitations, and the following double loop (print out the cartesian xyzs for all atoms in a unit cell) will generally work:
type (space_group_type) :: SpG
type (atom_list_type) :: asym_un
type (Crystal_Cell_Type) :: Cell
!.. After reading in the asymmetric unit in fractional coordinates from a cfl file…
do j=1,spg%multip
do i=1, asym_un%natoms
call Get_Orbit(asym_un%atom(i)%x(:),SpG,nmultip,orb, preserve=.true.)
x(:) = matmul( orb(:,j), transpose(Cell%Cr_orth_cel)) ! Switch the cartesian
print '', asym_un%atom(i)%lab, x(:)
end do
end do
The loop above is not so efficient as it calculates the orb variable containing equivalent positions each time, but it keeps things ordered in the print. I would like to make this work more generally, but I need to be able to collapse down on redundant coordinates generated from Wyckoff positions. Is there a straightforward way of doing this in CFML?
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.