Class MMCIFFileTools
java.lang.Object
org.biojava.nbio.structure.io.mmcif.MMCIFFileTools
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 Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic AtomSiteconvertAtomToAtomSite(Atom a, int model, String chainName, String chainId) Converts an Atom object to anAtomSiteobject.static AtomSiteconvertAtomToAtomSite(Atom a, int model, String chainName, String chainId, int atomId) Converts an Atom object to anAtomSiteobject.convertChainToAtomSites(Chain c, int model, String chainName, String chainId) Converts a Chain into a List ofAtomSiteobjectsstatic CellConverts a CrystalCell object to aCellobject.convertGroupToAtomSites(Group g, int model, String chainName, String chainId) Converts a Group into a List ofAtomSiteobjects.static SymmetryConverts a SpaceGroup object to aSymmetryobject.Converts a Structure into a List ofAtomSiteobjectsstatic String[]getFieldNames(Field[] fields) Gets the mmCIF record name for each field.static Field[]Gets all fields for a particular class, filtering fields annotated with@IgnoreField.static StringtoLoopMmCifHeaderString(String categoryName, String className) Produces a mmCIF loop header string for the given categoryName and className.static StringConverts a mmCIF bean (seeorg.biojava.nbio.structure.io.mmcif.modelto a String representing it in mmCIF (single-record) format.static <T> StringConverts a list of mmCIF beans (seeorg.biojava.nbio.structure.io.mmcif.modelto a String representing them in mmCIF loop format with one record per line.
-
Field Details
-
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
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 theorg.biojava.nbio.structure.io.mmcif.modelpackage- Parameters:
categoryName-className-- Returns:
- Throws:
ClassNotFoundException- if the given className can not be found
-
toMMCIF
Converts a mmCIF bean (seeorg.biojava.nbio.structure.io.mmcif.modelto a String representing it in mmCIF (single-record) format.- Parameters:
categoryName-o-- Returns:
-
getFields
Gets all fields for a particular class, filtering fields annotated with@IgnoreField. As a side effect, callssetAccessible(true)on all fields.- Parameters:
c-- Returns:
-
getFieldNames
Gets the mmCIF record name for each field. This is generally just the name of the field or the value specified by the@CIFLabelannotation. As a side effect, callssetAccessible(true)on all fields.- Parameters:
fields-- Returns:
-
toMMCIF
Converts a list of mmCIF beans (seeorg.biojava.nbio.structure.io.mmcif.modelto a String representing them in mmCIF loop format with one record per line.- Parameters:
list-- Returns:
-
convertSpaceGroupToSymmetry
Converts a SpaceGroup object to aSymmetryobject.- Parameters:
sg-- Returns:
-
convertCrystalCellToCell
Converts a CrystalCell object to aCellobject.- Parameters:
c-- Returns:
-
convertAtomToAtomSite
Converts an Atom object to anAtomSiteobject.- Parameters:
a-model- the model number for the output AtomSiteschainName- the chain identifier (author id) for the output AtomSiteschainId- the internal chain identifier (asym id) for the output AtomSites- Returns:
-
convertAtomToAtomSite
public static AtomSite convertAtomToAtomSite(Atom a, int model, String chainName, String chainId, int atomId) Converts an Atom object to anAtomSiteobject.- Parameters:
a- the atommodel- the model number for the output AtomSiteschainName- the chain identifier (author id) for the output AtomSiteschainId- the internal chain identifier (asym id) for the output AtomSitesatomId- the atom id to be written to AtomSite- Returns:
-
convertGroupToAtomSites
public static List<AtomSite> convertGroupToAtomSites(Group g, int model, String chainName, String chainId) Converts a Group into a List ofAtomSiteobjects. Atoms in other altloc groups (different from the main group) are also included, removing possible duplicates via using the atom identifier to assess uniqueness.- Parameters:
g- the groupmodel- the model number for the output AtomSiteschainName- the chain identifier (author id) for the output AtomSiteschainId- the internal chain identifier (asym id) for the output AtomSites- Returns:
-
convertChainToAtomSites
public static List<AtomSite> convertChainToAtomSites(Chain c, int model, String chainName, String chainId) Converts a Chain into a List ofAtomSiteobjects- Parameters:
c- the chainmodel- the model number for the output AtomSiteschainName- the chain identifier (author id) for the output AtomSiteschainId- the internal chain identifier (asym id) for the output AtomSites- Returns:
-
convertStructureToAtomSites
Converts a Structure into a List ofAtomSiteobjects- Parameters:
s-- Returns:
-