Comments (3)
BioJava is used to convert the mmCIF to MMTF files.
The BondMaker class creates the bonds. It uses the struct_conn.conn_type_id field to select the bond types that are consistently and correctly represented in the mmCIF files. This excludes hydrogen bonds (hydrog) and metal center bonds (metalc).
(see https://github.com/biojava/biojava/blob/457b6d833618b0bb69362276d852a34587e7b61f/biojava-structure/src/main/java/org/biojava/nbio/structure/io/BondMaker.java#L55-L70)
from mmtf-python.
Bond to metals are included if they are part of a chemical component. Other bonds to metals, e.g., from interacting residues are not included. These bonds are omitted since they are specified inconsistently or sometimes incorrectly throughout the archive.
It's best to calculate these metal interactions based on distance criteria and handle them in a similar way to hydrogen bonds.
Here is a description from the MMTF paper:
"Bonds and bond orders for both standard and non-standard residues, e.g., ligands, are included from the Chemical Component Dictionary [17 and additional covalent bonds (struct_conn category in the PDBx/mmCIF files), such as disulfide bonds or covalent bonds between ligands and polymers are also included in MMTF. Metal coordination and hydrogen bond information is not included in MMTF, since there are no generally agreed upon standards how to define them. Fig 2) describes the creation of an MMTF file from a PDBx/mmCIF archive file."
from mmtf-python.
Thank you for the explanation. Where is the code that does the conversion from mmCIF to MMTF? I couldn't find it, and it would be good to see exactly what conditions trigger the bond removal.
from mmtf-python.
Related Issues (20)
- two tests fail without network access HOT 1
- Method to select coordinates of given chain or group HOT 1
- How can we download the entire PDB archive in mmtf format? HOT 9
- Entity list possibly incomplete HOT 4
- MMTF Encoder
- Downloading whole pdb - different coordinates HOT 6
- Download mmtf_reduced file HOT 2
- Consistency across platforms - use bin type? HOT 3
- New release HOT 1
- Please rename bin/sample to have a more project-specific name HOT 6
- UniProtIds HOT 2
- Python interface returns a wrong number of groups HOT 2
- Weird behaviour for the `title` header field
- Output `mmtf` uses 64bit floats which violates the mmtf specification.
- Fallback for missing description in entities. HOT 2
- Fresh release to PyPI? HOT 1
- ipython is not used HOT 1
- Please add to README how to run tests
- Fetching data with BCIF instead of MMTF? HOT 2
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 mmtf-python.