Class MMCIFFileTools


  • public class MMCIFFileTools
    extends java.lang.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 getCIFLabelMap() mapping from the field's name to the correct label.
    Author:
    Jose Duarte, Spencer Bliven
    • Field Detail

      • MMCIF_MISSING_VALUE

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

        public static final java.lang.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:
        Constant Field Values
    • Constructor Detail

      • MMCIFFileTools

        public MMCIFFileTools()
    • Method Detail

      • toLoopMmCifHeaderString

        public static java.lang.String toLoopMmCifHeaderString​(java.lang.String categoryName,
                                                               java.lang.String className)
                                                        throws java.lang.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:
        java.lang.ClassNotFoundException - if the given className can not be found
      • toMMCIF

        public static java.lang.String toMMCIF​(java.lang.String categoryName,
                                               java.lang.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 java.lang.reflect.Field[] getFields​(java.lang.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 java.lang.String[] getFieldNames​(java.lang.reflect.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> java.lang.String toMMCIF​(java.util.List<T> list,
                                                   java.lang.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> java.lang.String toMMCIF​(java.util.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:
        java.lang.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,
                                                     java.lang.String chainId,
                                                     java.lang.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,
                                                     java.lang.String chainId,
                                                     java.lang.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 java.util.List<AtomSite> convertChainToAtomSites​(Chain c,
                                                                       int model,
                                                                       java.lang.String chainId,
                                                                       java.lang.String internalChainId)
        Converts a Chain into a List of AtomSite objects
        Parameters:
        c -
        model -
        chainId -
        internalChainId -
        Returns:
      • convertStructureToAtomSites

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