Opened 8 years ago

Closed 8 years ago

#914 closed enhancement (fixed)

Write mmCIF file

Reported by: Conrad Huang Owned by: Greg Couch
Priority: blocker Milestone: 0.6
Component: Input/Output Version:
Keywords: Cc: Elaine Meng, Tristan Croll
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

  1. Write tables that ChimeraX reads (except for tables like "this entry obsoletes that one"), scanning atomic structure data when necessary (e.g., disulfide bonds table)
  2. Write any tables required by mmCIF/RCSB standard (should be none)
  3. Write "self-contained" mmCIF file that include component templates used in the file
  4. Write optional tables containing data common with other formats
  5. Decide what to do with unused mmCIF tables in input file (which may have become invalid because of changes made in session)
  6. Add ChimeraX extensions to mmCIF (e.g., color)
  7. Add extension mechanism to support writing more tables, e.g., IHM format

Change History (7)

comment:1 by Conrad Huang, 8 years ago

Owner: set to Greg Couch
Status: newassigned

Beta 2 milestone applies to phase 1 and 2, maybe 3.

comment:2 by Tristan Croll, 8 years ago

I'd like to add a little input to this wish-list:

  • With regard to point 5: It would be great to at least hold on to any unused tables, and give plugin developers the tools to modify them if necessary and add them back to the output mmCIF file. Over the longer-term I'd love to see ChimeraX become the front-end for a full model-building/refinement pipeline, but if that's to be the case then it needs to be able to write mmCIF files with *all* the expected data included. In particular, carrying through all the experimental information makes deposition infinitely easier (the deposition pipeline reads this and pre-populates all the relevant tables).
  • With regard to point 7: this would be particularly great for me. I've been holding off on deciding on a format for saving ISOLDE sessions (that is, current coordinates plus map coupling constant(s), all custom restraint targets and their strengths, etc.) because the obvious thing would be to use mmCIF - this sort of extensibility is exactly what it was designed for.

comment:3 by Tristan Croll, 8 years ago

Cc: Tristan Croll added

comment:4 by pett, 8 years ago

Milestone: Beta 20.6

Milestone renamed

comment:5 by Tristan Croll, 8 years ago

It looks like it might be a good idea to take a look at BinaryCIF at the same time (https://github.com/dsehnal/BinaryCIF, described briefly in Nature Methods 14(12):1121).

comment:6 by Elaine Meng, 8 years ago

Cc: Elaine Meng added

comment:7 by Greg Couch, 8 years ago

Resolution: fixed
Status: assignedclosed

Initial mmCIF writing is in. It is at level V7 mmCIFWriting.

Note: See TracTickets for help on using tickets.