Re: [Chimera-users] Built-in residue specific annotations in mmCIF?
Hi all, Bringing back a long-forgotten thread from the dead... Would it be possible to incorporate self-contained annotations into mmCIF in ChimeraX (reading/writing)? I recently added a primitive little widget to do this in coot1-trimmings: https://bsky.app/profile/olibclarke.bsky.social/post/3micblpuoxc2u This adds the notes as base64 in a loop at the end, so they are persistent and can be read/written/modified by multiple users, with timestamps & 3D coordinates for each note: _cootnote_annotation_meta.version 1 _cootnote_annotation_meta.program coot-trimmings loop_ _cootnote_residue_note.id _cootnote_residue_note.auth_asym_id _cootnote_residue_note.auth_seq_id _cootnote_residue_note.pdbx_PDB_ins_code _cootnote_residue_note.label_comp_id _cootnote_residue_note.author_b64 _cootnote_residue_note.modified_utc _cootnote_residue_note.note_b64 1 A 162 ? GLY T2xp 2026-03-31T17:06:58Z dGhpcyBnbHljaW5lIGlzIHdlaXJk 2 A 196 ? GLU T2xp 2026-03-31T17:07:41Z VGhpcyBpcyBhIGdsdXRhbWF0ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUu 3 C 3006 ? K T2xp 2026-03-31T17:08:08Z VGhpcyBpcyBvbmUgb2YgdGhlIHBvdGFzc2l1bXM= The nice thing about this is it is very flexible, and it means the structure itself can contain a record of modifications, interesting sites, disease mutations, etc - and can also become a kind of "track changes" or discussion forum for the structure - facilitating conversations between collaborators, for example. If there is interest, it might be good to identify a shared format for such a loop, so notes written in Coot could be read/navigated in ChimeraX, & vice versa? Cheers Oli
On Nov 12, 2015, at 7:08 PM, Greg Couch <gregc@cgl.ucsf.edu> wrote:
Noted. I've added this to the list of things to do for ChimeraX (formerly known as Chimera2).
-- Greg
On 11/12/2015 02:21 PM, Oliver Clarke wrote:
Relating to this, I wonder whether it is possible to find a home for attributes calculated in Chimera 2 in one of the mmCIF fields?
I mean that's the advantage of mmCIF in theory right, that it is extensible and can support attributes beyond just position and B-factor?
This would make transferring custom defined or calculated attributes between different chimera sessions much easier I think, if they were inherent to the file containing the coordinates, and again would at least allow for the possibility of data exchange with other programs.
Oliver.
On Thu, Nov 12, 2015 at 4:49 PM, Oliver Clarke <olibclarke@gmail.com <mailto:olibclarke@gmail.com>> wrote:
I see what you mean Greg... it is not at all clear how to use this now that I look at it in more detail.
A hack using this entry as a handle for persistent notes would certainly be useful in the medium term, but in the longer term it would be nice to have a established syntax, so that notes written in Chimera could be read and displayed in Coot, for example (see here for discussion: https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=coot;8213db52.1511).
But I guess this might require some discussion with the PDB - according to their FAQ old-school PDB files will become obsolete next year and mmCIF/PDBx will be the only game in town...
Cheers, Oliver.
On Thu, Nov 12, 2015 at 4:22 PM, Greg Couch < <mailto:gregc@cgl.ucsf.edu>gregc@cgl.ucsf.edu <mailto:gregc@cgl.ucsf.edu>> wrote:
That is an excellent suggestion. Currently the mmCIF files from the PDB provide the free-form text for the footnote, but do not provide the data that is supposed to be in the associated conformer_family_coord_set category. And without that data, it will be difficult to figure out and show exactly which atoms/residues are associated with the footnote. It looks like that part of the mmCIF specification is unused because it is not well thought out. The conformer_family_coord_set data category makes references to CIF save frames, but currently " mmCIF does not support references to save frames or the use of save frames for purposes other than for encapsulating dictionary definitions" [ <http://mmcif.wwpdb.org/docs/tutorials/mechanics/pdbx-mmcif-syntax.html>http://mmcif.wwpdb.org/docs/tutorials/mechanics/pdbx-mmcif-syntax.html]. And since there are no examples, so it is unclear how the mmCIF committee was expecting this to work.
So until atom_sites_footnote's are "fixed", is getting access to the text okay? We could probably extract the relevant residues from the free-form text most of the time, but it would be a hack.
-- Greg
On 11/11/2015 10:11 AM, Oliver Clarke wrote:
Hi all,
As discussed on the ccp4bb ( <https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ccp4bb;2223469c.1511>https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ccp4bb;2223469c.1511), the mmCIF format incorporates an atom_sites_foornote record ( <http://mmcif.wwpdb.org/dictionaries/mmcif_nmr-star.dic/Categories/atom_sites_footnote.html>http://mmcif.wwpdb.org/dictionaries/mmcif_nmr-star.dic/Categories/atom_sites_footnote.html) which allows for the direct association of specific comments/annotations with particular atoms/residues.
As part of expanding mmCIF support in Chimera2, would it be possible to consider incorporating the capacity to read, write, and display these records as labels or notes? This could be a great way of incorporating built-in-annotations in a structure pertaining to specific features that could potentially be readable by other software such as Coot and pymol.
Cheers, Oliver.
_______________________________________________ Chimera-users mailing list Chimera-users@cgl.ucsf.edu <mailto:Chimera-users@cgl.ucsf.edu> http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users
Ok so I made a little prototype bundle: https://github.com/olibclarke/chimerax-resnotes/tree/main It is bare bones but hopefully gives the idea? Cheers Oli
On Apr 3, 2026, at 2:27 PM, Oliver Clarke <olibclarke@gmail.com> wrote:
Hi all,
Bringing back a long-forgotten thread from the dead... Would it be possible to incorporate self-contained annotations into mmCIF in ChimeraX (reading/writing)?
I recently added a primitive little widget to do this in coot1-trimmings: https://bsky.app/profile/olibclarke.bsky.social/post/3micblpuoxc2u
This adds the notes as base64 in a loop at the end, so they are persistent and can be read/written/modified by multiple users, with timestamps & 3D coordinates for each note:
_cootnote_annotation_meta.version 1 _cootnote_annotation_meta.program coot-trimmings
loop_ _cootnote_residue_note.id _cootnote_residue_note.auth_asym_id _cootnote_residue_note.auth_seq_id _cootnote_residue_note.pdbx_PDB_ins_code _cootnote_residue_note.label_comp_id _cootnote_residue_note.author_b64 _cootnote_residue_note.modified_utc _cootnote_residue_note.note_b64 1 A 162 ? GLY T2xp 2026-03-31T17:06:58Z dGhpcyBnbHljaW5lIGlzIHdlaXJk 2 A 196 ? GLU T2xp 2026-03-31T17:07:41Z VGhpcyBpcyBhIGdsdXRhbWF0ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUu 3 C 3006 ? K T2xp 2026-03-31T17:08:08Z VGhpcyBpcyBvbmUgb2YgdGhlIHBvdGFzc2l1bXM=
The nice thing about this is it is very flexible, and it means the structure itself can contain a record of modifications, interesting sites, disease mutations, etc - and can also become a kind of "track changes" or discussion forum for the structure - facilitating conversations between collaborators, for example. If there is interest, it might be good to identify a shared format for such a loop, so notes written in Coot could be read/navigated in ChimeraX, & vice versa?
Cheers Oli
On Nov 12, 2015, at 7:08 PM, Greg Couch <gregc@cgl.ucsf.edu> wrote:
Noted. I've added this to the list of things to do for ChimeraX (formerly known as Chimera2).
-- Greg
On 11/12/2015 02:21 PM, Oliver Clarke wrote:
Relating to this, I wonder whether it is possible to find a home for attributes calculated in Chimera 2 in one of the mmCIF fields?
I mean that's the advantage of mmCIF in theory right, that it is extensible and can support attributes beyond just position and B-factor?
This would make transferring custom defined or calculated attributes between different chimera sessions much easier I think, if they were inherent to the file containing the coordinates, and again would at least allow for the possibility of data exchange with other programs.
Oliver.
On Thu, Nov 12, 2015 at 4:49 PM, Oliver Clarke <olibclarke@gmail.com <mailto:olibclarke@gmail.com>> wrote:
I see what you mean Greg... it is not at all clear how to use this now that I look at it in more detail.
A hack using this entry as a handle for persistent notes would certainly be useful in the medium term, but in the longer term it would be nice to have a established syntax, so that notes written in Chimera could be read and displayed in Coot, for example (see here for discussion: https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=coot;8213db52.1511).
But I guess this might require some discussion with the PDB - according to their FAQ old-school PDB files will become obsolete next year and mmCIF/PDBx will be the only game in town...
Cheers, Oliver.
On Thu, Nov 12, 2015 at 4:22 PM, Greg Couch < <mailto:gregc@cgl.ucsf.edu>gregc@cgl.ucsf.edu <mailto:gregc@cgl.ucsf.edu>> wrote:
That is an excellent suggestion. Currently the mmCIF files from the PDB provide the free-form text for the footnote, but do not provide the data that is supposed to be in the associated conformer_family_coord_set category. And without that data, it will be difficult to figure out and show exactly which atoms/residues are associated with the footnote. It looks like that part of the mmCIF specification is unused because it is not well thought out. The conformer_family_coord_set data category makes references to CIF save frames, but currently " mmCIF does not support references to save frames or the use of save frames for purposes other than for encapsulating dictionary definitions" [ <http://mmcif.wwpdb.org/docs/tutorials/mechanics/pdbx-mmcif-syntax.html>http://mmcif.wwpdb.org/docs/tutorials/mechanics/pdbx-mmcif-syntax.html]. And since there are no examples, so it is unclear how the mmCIF committee was expecting this to work.
So until atom_sites_footnote's are "fixed", is getting access to the text okay? We could probably extract the relevant residues from the free-form text most of the time, but it would be a hack.
-- Greg
On 11/11/2015 10:11 AM, Oliver Clarke wrote:
Hi all,
As discussed on the ccp4bb ( <https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ccp4bb;2223469c.1511>https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ccp4bb;2223469c.1511), the mmCIF format incorporates an atom_sites_foornote record ( <http://mmcif.wwpdb.org/dictionaries/mmcif_nmr-star.dic/Categories/atom_sites_footnote.html>http://mmcif.wwpdb.org/dictionaries/mmcif_nmr-star.dic/Categories/atom_sites_footnote.html) which allows for the direct association of specific comments/annotations with particular atoms/residues.
As part of expanding mmCIF support in Chimera2, would it be possible to consider incorporating the capacity to read, write, and display these records as labels or notes? This could be a great way of incorporating built-in-annotations in a structure pertaining to specific features that could potentially be readable by other software such as Coot and pymol.
Cheers, Oliver.
_______________________________________________ Chimera-users mailing list Chimera-users@cgl.ucsf.edu <mailto:Chimera-users@cgl.ucsf.edu> http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users
Hi Oliver, You should add more information to your cootnote_residue_note table to uniquely identify residues. In the mmCIF atom_site table, label_comp_id, label_asym_id, label_seq_id are used to uniquely identify polymeric residues. auth_asym_id and auth_seq_id should match what is in publications, and don't have to be unique. For non-polymeric residues, where label_seq_id is unassigned (for purity reasons :-(, PDB format files have unique sequence numbers in this case, eg., for each water), you need more information. ChimeraX uses pdbx_PDB_ins_code for that -- I don't know what other software does. And I know that mmCIF is based on CIF version 1.1 which says all text should be ASCII. CIF version 2 uses UTF-8 for text. That is way more readable (which mmCIF files are supposed to be) thab base 64 encoded text, and works in ChimeraX. If it works in Coot too, then I'd recommend dropping the base 64 tomfoolery. -- Greg On 4/3/2026 11:27 AM, Oliver Clarke via ChimeraX-users wrote:
Hi all,
Bringing back a long-forgotten thread from the dead... Would it be possible to incorporate self-contained annotations into mmCIF in ChimeraX (reading/writing)?
I recently added a primitive little widget to do this in coot1-trimmings: https://bsky.app/profile/olibclarke.bsky.social/post/3micblpuoxc2u
This adds the notes as base64 in a loop at the end, so they are persistent and can be read/written/modified by multiple users, with timestamps & 3D coordinates for each note:
_cootnote_annotation_meta.version 1 _cootnote_annotation_meta.program coot-trimmings
loop_ _cootnote_residue_note.id _cootnote_residue_note.auth_asym_id _cootnote_residue_note.auth_seq_id _cootnote_residue_note.pdbx_PDB_ins_code _cootnote_residue_note.label_comp_id _cootnote_residue_note.author_b64 _cootnote_residue_note.modified_utc _cootnote_residue_note.note_b64 1 A 162 ? GLY T2xp 2026-03-31T17:06:58Z dGhpcyBnbHljaW5lIGlzIHdlaXJk 2 A 196 ? GLU T2xp 2026-03-31T17:07:41Z VGhpcyBpcyBhIGdsdXRhbWF0ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUu 3 C 3006 ? K T2xp 2026-03-31T17:08:08Z VGhpcyBpcyBvbmUgb2YgdGhlIHBvdGFzc2l1bXM=
The nice thing about this is it is very flexible, and it means the structure itself can contain a record of modifications, interesting sites, disease mutations, etc - and can also become a kind of "track changes" or discussion forum for the structure - facilitating conversations between collaborators, for example. If there is interest, it might be good to identify a shared format for such a loop, so notes written in Coot could be read/navigated in ChimeraX, & vice versa?
Cheers Oli
On Nov 12, 2015, at 7:08 PM, Greg Couch <gregc@cgl.ucsf.edu> wrote:
Noted. I've added this to the list of things to do for ChimeraX (formerly known as Chimera2).
-- Greg
On 11/12/2015 02:21 PM, Oliver Clarke wrote:
Relating to this, I wonder whether it is possible to find a home for attributes calculated in Chimera 2 in one of the mmCIF fields?
I mean that's the advantage of mmCIF in theory right, that it is extensible and can support attributes beyond just position and B-factor?
This would make transferring custom defined or calculated attributes between different chimera sessions much easier I think, if they were inherent to the file containing the coordinates, and again would at least allow for the possibility of data exchange with other programs.
Oliver.
On Thu, Nov 12, 2015 at 4:49 PM, Oliver Clarke <olibclarke@gmail.com> wrote:
I see what you mean Greg... it is not at all clear how to use this now that I look at it in more detail.
A hack using this entry as a handle for persistent notes would certainly be useful in the medium term, but in the longer term it would be nice to have a established syntax, so that notes written in Chimera could be read and displayed in Coot, for example (see here for discussion: https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=coot;8213db52.1511).
But I guess this might require some discussion with the PDB - according to their FAQ old-school PDB files will become obsolete next year and mmCIF/PDBx will be the only game in town...
Cheers, Oliver.
On Thu, Nov 12, 2015 at 4:22 PM, Greg Couch <gregc@cgl.ucsf.edu> wrote:
That is an excellent suggestion. Currently the mmCIF files from the PDB provide the free-form text for the footnote, but do not provide the data that is supposed to be in the associated conformer_family_coord_set category. And without that data, it will be difficult to figure out and show exactly which atoms/residues are associated with the footnote. It looks like that part of the mmCIF specification is unused because it is not well thought out. The conformer_family_coord_set data category makes references to CIF save frames, but currently " mmCIF does not support references to save frames or the use of save frames for purposes other than for encapsulating dictionary definitions" [http://mmcif.wwpdb.org/docs/tutorials/mechanics/pdbx-mmcif-syntax.html]. And since there are no examples, so it is unclear how the mmCIF committee was expecting this to work.
So until atom_sites_footnote's are "fixed", is getting access to the text okay? We could probably extract the relevant residues from the free-form text most of the time, but it would be a hack.
-- Greg
On 11/11/2015 10:11 AM, Oliver Clarke wrote:
Hi all,
As discussed on the ccp4bb (https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ccp4bb;2223469c.1511), the mmCIF format incorporates an atom_sites_foornote record (http://mmcif.wwpdb.org/dictionaries/mmcif_nmr-star.dic/Categories/atom_sites...) which allows for the direct association of specific comments/annotations with particular atoms/residues.
As part of expanding mmCIF support in Chimera2, would it be possible to consider incorporating the capacity to read, write, and display these records as labels or notes? This could be a great way of incorporating built-in-annotations in a structure pertaining to specific features that could potentially be readable by other software such as Coot and pymol.
Cheers, Oliver.
_______________________________________________ Chimera-users mailing list Chimera-users@cgl.ucsf.edu http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users
_______________________________________________ ChimeraX-users mailing list --chimerax-users@cgl.ucsf.edu To unsubscribe send an email tochimerax-users-leave@cgl.ucsf.edu Archives:https://mail.cgl.ucsf.edu/mailman/archives/list/chimerax-users@cgl.ucsf.edu/
Hi Greg, Thanks very much for this - will implement! Oli
On Apr 6, 2026, at 7:52 PM, Greg Couch via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:
Hi Oliver,
You should add more information to your cootnote_residue_note table to uniquely identify residues. In the mmCIF atom_site table, label_comp_id, label_asym_id, label_seq_id are used to uniquely identify polymeric residues. auth_asym_id and auth_seq_id should match what is in publications, and don't have to be unique. For non-polymeric residues, where label_seq_id is unassigned (for purity reasons :-(, PDB format files have unique sequence numbers in this case, eg., for each water), you need more information. ChimeraX uses pdbx_PDB_ins_code for that -- I don't know what other software does.
And I know that mmCIF is based on CIF version 1.1 which says all text should be ASCII. CIF version 2 uses UTF-8 for text. That is way more readable (which mmCIF files are supposed to be) thab base 64 encoded text, and works in ChimeraX. If it works in Coot too, then I'd recommend dropping the base 64 tomfoolery.
-- Greg
On 4/3/2026 11:27 AM, Oliver Clarke via ChimeraX-users wrote:
Hi all,
Bringing back a long-forgotten thread from the dead... Would it be possible to incorporate self-contained annotations into mmCIF in ChimeraX (reading/writing)?
I recently added a primitive little widget to do this in coot1-trimmings: https://bsky.app/profile/olibclarke.bsky.social/post/3micblpuoxc2u
This adds the notes as base64 in a loop at the end, so they are persistent and can be read/written/modified by multiple users, with timestamps & 3D coordinates for each note:
_cootnote_annotation_meta.version 1 _cootnote_annotation_meta.program coot-trimmings
loop_ _cootnote_residue_note.id _cootnote_residue_note.auth_asym_id _cootnote_residue_note.auth_seq_id _cootnote_residue_note.pdbx_PDB_ins_code _cootnote_residue_note.label_comp_id _cootnote_residue_note.author_b64 _cootnote_residue_note.modified_utc _cootnote_residue_note.note_b64 1 A 162 ? GLY T2xp 2026-03-31T17:06:58Z dGhpcyBnbHljaW5lIGlzIHdlaXJk 2 A 196 ? GLU T2xp 2026-03-31T17:07:41Z VGhpcyBpcyBhIGdsdXRhbWF0ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUuIFRoaXMgaXMgYSByZWFsbHkgbG9uZyBub3RlLiBUaGlzIGlzIGEgcmVhbGx5IGxvbmcgbm90ZS4gVGhpcyBpcyBhIHJlYWxseSBsb25nIG5vdGUu 3 C 3006 ? K T2xp 2026-03-31T17:08:08Z VGhpcyBpcyBvbmUgb2YgdGhlIHBvdGFzc2l1bXM=
The nice thing about this is it is very flexible, and it means the structure itself can contain a record of modifications, interesting sites, disease mutations, etc - and can also become a kind of "track changes" or discussion forum for the structure - facilitating conversations between collaborators, for example. If there is interest, it might be good to identify a shared format for such a loop, so notes written in Coot could be read/navigated in ChimeraX, & vice versa?
Cheers Oli
On Nov 12, 2015, at 7:08 PM, Greg Couch <gregc@cgl.ucsf.edu> <mailto:gregc@cgl.ucsf.edu> wrote:
Noted. I've added this to the list of things to do for ChimeraX (formerly known as Chimera2).
-- Greg
On 11/12/2015 02:21 PM, Oliver Clarke wrote:
Relating to this, I wonder whether it is possible to find a home for attributes calculated in Chimera 2 in one of the mmCIF fields?
I mean that's the advantage of mmCIF in theory right, that it is extensible and can support attributes beyond just position and B-factor?
This would make transferring custom defined or calculated attributes between different chimera sessions much easier I think, if they were inherent to the file containing the coordinates, and again would at least allow for the possibility of data exchange with other programs.
Oliver.
On Thu, Nov 12, 2015 at 4:49 PM, Oliver Clarke <olibclarke@gmail.com <mailto:olibclarke@gmail.com>> wrote:
I see what you mean Greg... it is not at all clear how to use this now that I look at it in more detail.
A hack using this entry as a handle for persistent notes would certainly be useful in the medium term, but in the longer term it would be nice to have a established syntax, so that notes written in Chimera could be read and displayed in Coot, for example (see here for discussion: https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=coot;8213db52.1511).
But I guess this might require some discussion with the PDB - according to their FAQ old-school PDB files will become obsolete next year and mmCIF/PDBx will be the only game in town...
Cheers, Oliver.
On Thu, Nov 12, 2015 at 4:22 PM, Greg Couch <gregc@cgl.ucsf.edu <mailto:gregc@cgl.ucsf.edu>> wrote:
That is an excellent suggestion. Currently the mmCIF files from the PDB provide the free-form text for the footnote, but do not provide the data that is supposed to be in the associated conformer_family_coord_set category. And without that data, it will be difficult to figure out and show exactly which atoms/residues are associated with the footnote. It looks like that part of the mmCIF specification is unused because it is not well thought out. The conformer_family_coord_set data category makes references to CIF save frames, but currently " mmCIF does not support references to save frames or the use of save frames for purposes other than for encapsulating dictionary definitions" [http://mmcif.wwpdb.org/docs/tutorials/mechanics/pdbx-mmcif-syntax.html]. And since there are no examples, so it is unclear how the mmCIF committee was expecting this to work.
So until atom_sites_footnote's are "fixed", is getting access to the text okay? We could probably extract the relevant residues from the free-form text most of the time, but it would be a hack.
-- Greg
On 11/11/2015 10:11 AM, Oliver Clarke wrote: > Hi all, > > As discussed on the ccp4bb (https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=ccp4bb;2223469c.1511), the mmCIF format incorporates an atom_sites_foornote record (http://mmcif.wwpdb.org/dictionaries/mmcif_nmr-star.dic/Categories/atom_sites...) which allows for the direct association of specific comments/annotations with particular atoms/residues. > > As part of expanding mmCIF support in Chimera2, would it be possible to consider incorporating the capacity to read, write, and display these records as labels or notes? This could be a great way of incorporating built-in-annotations in a structure pertaining to specific features that could potentially be readable by other software such as Coot and pymol. > > Cheers, > Oliver. > > > > _______________________________________________ > Chimera-users mailing list > Chimera-users@cgl.ucsf.edu <mailto:Chimera-users@cgl.ucsf.edu> > http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users
_______________________________________________ ChimeraX-users mailing list -- chimerax-users@cgl.ucsf.edu <mailto:chimerax-users@cgl.ucsf.edu> To unsubscribe send an email to chimerax-users-leave@cgl.ucsf.edu <mailto:chimerax-users-leave@cgl.ucsf.edu> Archives: https://mail.cgl.ucsf.edu/mailman/archives/list/chimerax-users@cgl.ucsf.edu/
ChimeraX-users mailing list -- chimerax-users@cgl.ucsf.edu To unsubscribe send an email to chimerax-users-leave@cgl.ucsf.edu Archives: https://mail.cgl.ucsf.edu/mailman/archives/list/chimerax-users@cgl.ucsf.edu/
participants (2)
-
Greg Couch -
Oliver Clarke