3dmol / 3Dmol.js

WebGL accelerated JavaScript molecular graphics library
Other
770 stars 191 forks source link

Implement binaryCIF #752

Open dkoes opened 5 months ago

dkoes commented 5 months ago

MMTF is going away :cry: to be replaced by binaryCIF (https://github.com/molstar/BinaryCIF). So we need to implement it.

prajwalkulkarni commented 5 months ago

Could you kindly share a rough blueprint or some useful resources(guides or articles) on how to go about this? From what I understand, MMTF and binaryCIF are file formats, so updating to binaryCIF would require re-writing the parser and updating the extensions. Having more context would help contributors to implement the changes effectively.

dkoes commented 5 months ago

You're not rewriting the parser, you are writing a new parser. Format is described here: https://github.com/molstar/BinaryCIF/blob/master/encoding.md

prajwalkulkarni commented 5 months ago

But, isn't there a binaryCIF parser already available (https://github.com/dsehnal/CIFTools.js)? Although, I couldn't find a published package on the npm registry or a CDN link for the same, can we use it as a reference, or alternatively get CIFTools.js published as an npm package and use it here?

dkoes commented 5 months ago

Yes, just as with MMTF support, implementing a binaryCIF parser would involve adding a dependency and then using that dependency to implement a parser that converts the molecular data into 3Dmol's internal representation.

prajwalkulkarni commented 5 months ago

Got it. I shall look into the implementation.