Class MMCIFFileTools

java.lang.Object
org.biojava.nbio.structure.io.mmcif.MMCIFFileTools

public class MMCIFFileTools extends Object
Some tools for mmCIF file writing. See http://www.iucr.org/__data/assets/pdf_file/0019/22618/cifguide.pdf CIF categories are represented as a simple bean, typically extending AbstractBean. By default, all fields from the bean are taken as the CIF labels. Fields may be omitted by annotating them as @IgnoreField. The CIF label for a field may be changed (for instance, for fields that are not valid Java identifiers) by defining a function static Map<String,String> getCIFLabelMap() mapping from the field's name to the correct label.
Author:
Jose Duarte, Spencer Bliven
  • Field Details

    • MMCIF_MISSING_VALUE

      public static final String MMCIF_MISSING_VALUE
      The character to be printed out in cases where a value is not assigned in mmCIF files
      See Also:
    • MMCIF_DEFAULT_VALUE

      public static final String MMCIF_DEFAULT_VALUE
      The character to be printed out as a default value in mmCIF files, e.g. for the default alt_locs
      See Also:
  • Constructor Details

    • MMCIFFileTools

      public MMCIFFileTools()
  • Method Details

    • toLoopMmCifHeaderString

      public static String toLoopMmCifHeaderString(String categoryName, String className) throws ClassNotFoundException
      Produces a mmCIF loop header string for the given categoryName and className. className must be one of the beans in the org.biojava.nbio.structure.io.mmcif.model package
      Parameters:
      categoryName -
      className -
      Returns:
      Throws:
      ClassNotFoundException - if the given className can not be found
    • toMMCIF

      public static String toMMCIF(String categoryName, Object o)
      Converts a mmCIF bean (see org.biojava.nbio.structure.io.mmcif.model to a String representing it in mmCIF (single-record) format.
      Parameters:
      categoryName -
      o -
      Returns:
    • getFields

      public static Field[] getFields(Class<?> c)
      Gets all fields for a particular class, filtering fields annotated with @IgnoreField. As a side effect, calls setAccessible(true) on all fields.
      Parameters:
      c -
      Returns:
    • getFieldNames

      public static String[] getFieldNames(Field[] fields)
      Gets the mmCIF record name for each field. This is generally just the name of the field or the value specified by the @CIFLabel annotation. As a side effect, calls setAccessible(true) on all fields.
      Parameters:
      fields -
      Returns:
    • toMMCIF

      public static <T> String toMMCIF(List<T> list, Class<T> klass)
      Converts a list of mmCIF beans (see org.biojava.nbio.structure.io.mmcif.model to a String representing them in mmCIF loop format with one record per line.
      Parameters:
      list -
      Returns:
    • toMMCIF

      @Deprecated public static <T> String toMMCIF(List<T> list)
      Deprecated.
      The toMMCIF(List, Class) provides compile-time type safety
      Converts a list of mmCIF beans (see org.biojava.nbio.structure.io.mmcif.model to a String representing them in mmCIF loop format with one record per line.
      Parameters:
      list -
      Returns:
      Throws:
      ClassCastException - if not all list elements have the same type
    • convertSpaceGroupToSymmetry

      public static Symmetry convertSpaceGroupToSymmetry(SpaceGroup sg)
      Converts a SpaceGroup object to a Symmetry object.
      Parameters:
      sg -
      Returns:
    • convertCrystalCellToCell

      public static Cell convertCrystalCellToCell(CrystalCell c)
      Converts a CrystalCell object to a Cell object.
      Parameters:
      c -
      Returns:
    • convertAtomToAtomSite

      public static AtomSite convertAtomToAtomSite(Atom a, int model, String chainId, String internalChainId)
      Converts an Atom object to an AtomSite object.
      Parameters:
      a -
      model -
      chainId -
      internalChainId -
      Returns:
    • convertAtomToAtomSite

      public static AtomSite convertAtomToAtomSite(Atom a, int model, String chainId, String internalChainId, int atomId)
      Converts an Atom object to an AtomSite object.
      Parameters:
      a -
      model -
      chainId -
      internalChainId -
      atomId - the atom id to be written to AtomSite
      Returns:
    • convertChainToAtomSites

      public static List<AtomSite> convertChainToAtomSites(Chain c, int model, String chainId, String internalChainId)
      Converts a Chain into a List of AtomSite objects
      Parameters:
      c -
      model -
      chainId -
      internalChainId -
      Returns:
    • convertStructureToAtomSites

      public static List<AtomSite> convertStructureToAtomSites(Structure s)
      Converts a Structure into a List of AtomSite objects
      Parameters:
      s -
      Returns: