
org.rcsb.mmtf.encoder.EncoderUtils Maven / Gradle / Ivy
package org.rcsb.mmtf.encoder;
import java.util.ArrayList;
import java.util.List;
import org.rcsb.mmtf.api.StructureDataInterface;
import org.rcsb.mmtf.dataholders.BioAssemblyData;
import org.rcsb.mmtf.dataholders.BioAssemblyTransformation;
import org.rcsb.mmtf.dataholders.Entity;
import org.rcsb.mmtf.dataholders.Group;
import org.rcsb.mmtf.dataholders.MmtfStructure;
import org.rcsb.mmtf.utils.CodecUtils;
/**
* A class of static utility functions to aid encoding of data.
* Convert from {@link StructureDataInterface} into a format useable by
* the {@link MmtfStructure}.
* @author Anthony Bradley
*
*/
public class EncoderUtils {
/**
* Regenerate a group map from the {@link StructureDataInterface}.
* @param structureDataInterface the input interface
* @return a list of all the groups in the molecule
*/
public static Group[] generateGroupMap(StructureDataInterface structureDataInterface) {
int[] groupTypeIndices = structureDataInterface.getGroupTypeIndices();
int maxIndex = CodecUtils.findMaxInIntArray(groupTypeIndices);
Group[] outGroupList = new Group[maxIndex+1];
for (int i=0; i generateBioassemblies(StructureDataInterface structureDataInterface) {
int numBioassemblies = structureDataInterface.getNumBioassemblies();
List outList = new ArrayList<>();
for (int i=0; i transformList = new ArrayList<>();
bioAssemblyData.setTransformList(transformList);
int numTrans = structureDataInterface.getNumTransInBioassembly(i);
for (int j=0; j
© 2015 - 2025 Weber Informatics LLC | Privacy Policy