Interface MultipleAlignmentEnsemble

  • All Superinterfaces:
    ScoresCache
    All Known Implementing Classes:
    MultipleAlignmentEnsembleImpl

    public interface MultipleAlignmentEnsemble
    extends ScoresCache
    A MultipleAlignmentEnsemble is a collection of MultipleAlignments that share the same structures (Atoms) and creation properties (algorithm, version, creation time, etc.).

    This class is the top level of the hierarchy and allows the storage of a set of alignment alternatives created by a multiple structure alignment algorithm, so that only one object is returned with more than one alignment option.

    Since:
    4.1.0
    Author:
    Aleix Lafita, Spencer Bliven
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void addMultipleAlignment​(MultipleAlignment alignment)
      Add a new MultipleAlignment to the end of the ensemble and set its parent ensemble to this.
      void clear()
      Clear scores and other properties which depend on the specific alignment.
      MultipleAlignmentEnsemble clone()
      Creates and returns an identical copy of this ensemble, including a deep clone of all constituent alignments.
      java.lang.String getAlgorithmName()
      Returns the name of the multiple structure alignment algorithm that created the MultipleAlignment objects.
      java.util.List<Atom[]> getAtomArrays()
      Get an array of representative atoms for each structure (CA atoms for proteins).
      java.lang.Long getCalculationTime()
      Returns the running time of the structure alignment calculation, in milliseconds.
      java.util.List<Matrix> getDistanceMatrix()
      Returns the List containing the interatomic distance Matrix of each structure.
      java.lang.Long getIoTime()
      Returns the io time for this object, in milliseconds.
      MultipleAlignment getMultipleAlignment​(int index)
      Returns the MultipleAlignments at the specified index in the ensemble.
      java.util.List<MultipleAlignment> getMultipleAlignments()
      Returns the List of MultipleAlignments in the ensemble.
      java.util.List<StructureIdentifier> getStructureIdentifiers()
      Returns a List containing the names of the structures aligned (i.e.: PDB code, SCOP domain, etc.).
      java.lang.String getVersion()
      Returns the version of the algorithm used to generate the MultipleAlignment objects.
      void setAlgorithmName​(java.lang.String algorithmName)
      Set the name of the multiple structure alignment algorithm that created the MultipleAlignment objects.
      void setAtomArrays​(java.util.List<Atom[]> atomArrays)
      Sets the List of Atom arrays.
      void setCalculationTime​(java.lang.Long millis)
      Set the running time spent to calculate this alignment.
      void setIoTime​(java.lang.Long millis)
      Set the IO time to load this object
      void setMultipleAlignments​(java.util.List<MultipleAlignment> alignments)
      Set the List of MultipleAlignments in the ensemble.
      void setStructureIdentifiers​(java.util.List<StructureIdentifier> structureIdentifiers)
      Set the List containing the names of the structures aligned (i.e.: PDB code, SCOP domain, etc.).
      void setVersion​(java.lang.String version)
      Sets the version of the algorithm used to generate the MultipleAlignment objects.
      int size()
      Returns the number of aligned structures in the MultipleAlignments.
    • Method Detail

      • clone

        MultipleAlignmentEnsemble clone()
        Creates and returns an identical copy of this ensemble, including a deep clone of all constituent alignments.
        Returns:
        MultipleAlignmentEnsemble identical copy of this object.
      • getAlgorithmName

        java.lang.String getAlgorithmName()
        Returns the name of the multiple structure alignment algorithm that created the MultipleAlignment objects.
        Returns:
        String name of the algorithm.
        See Also:
        setAlgorithmName(String)
      • setAlgorithmName

        void setAlgorithmName​(java.lang.String algorithmName)
        Set the name of the multiple structure alignment algorithm that created the MultipleAlignment objects.
        Parameters:
        algorithmName - name of the algorithm.
        See Also:
        getAlgorithmName()
      • getVersion

        java.lang.String getVersion()
        Returns the version of the algorithm used to generate the MultipleAlignment objects.
        Returns:
        String version of the algorithm.
        See Also:
        setVersion(String)
      • setVersion

        void setVersion​(java.lang.String version)
        Sets the version of the algorithm used to generate the MultipleAlignment objects.
        Parameters:
        version - the version of the algorithm.
        See Also:
        getVersion()
      • getStructureIdentifiers

        java.util.List<StructureIdentifier> getStructureIdentifiers()
        Returns a List containing the names of the structures aligned (i.e.: PDB code, SCOP domain, etc.).

        The names are structure identifiers of the structures. They are in the same order as in the alignment Blocks (same index number for same structure).

        Returns:
        List of String names of the structures
        See Also:
        setStructureIdentifiers(List), getAtomArrays()
      • setStructureIdentifiers

        void setStructureIdentifiers​(java.util.List<StructureIdentifier> structureIdentifiers)
        Set the List containing the names of the structures aligned (i.e.: PDB code, SCOP domain, etc.).

        The names are structure identifiers of the structures.

        Parameters:
        structureIdentifiers - names of the structures, structure identifiers
        See Also:
        getStructureIdentifiers(), setAtomArrays(List)
      • getAtomArrays

        java.util.List<Atom[]> getAtomArrays()
        Get an array of representative atoms for each structure (CA atoms for proteins).

        Atoms should be unrotated. Thus, to obtain a superimposed set of structures, each atom array should be cloned and then rotated according to the transformation matrix.

        If atoms have not previously been set using setAtomArrays(List), attempts to load representative atoms based on getStructureIdentifiers(). If it fails to load the Atoms it gives a NullPointerException before returning null.

        Returns:
        List of Atom[].
        See Also:
        setAtomArrays(List)
      • getDistanceMatrix

        java.util.List<Matrix> getDistanceMatrix()
        Returns the List containing the interatomic distance Matrix of each structure.
        Returns:
        List of Matrix interatomic distance matrices.
        See Also:
        #updateDistanceMatrix()
      • getMultipleAlignments

        java.util.List<MultipleAlignment> getMultipleAlignments()
        Returns the List of MultipleAlignments in the ensemble.
        Returns:
        List of MultipleAlignment in the ensemble.
        See Also:
        #setMultipleAlignments()
      • getMultipleAlignment

        MultipleAlignment getMultipleAlignment​(int index)
        Returns the MultipleAlignments at the specified index in the ensemble. Throws an exception equivalently to accessing an index of a List
        Returns:
        MultipleAlignment at the index in the ensemble.
        See Also:
        #setMultipleAlignments()
      • setMultipleAlignments

        void setMultipleAlignments​(java.util.List<MultipleAlignment> alignments)
        Set the List of MultipleAlignments in the ensemble.
        Parameters:
        alignments - List of MultipleAlignments that are part of the ensemble.
        See Also:
        addMultipleAlignment(MultipleAlignment)
      • addMultipleAlignment

        void addMultipleAlignment​(MultipleAlignment alignment)
        Add a new MultipleAlignment to the end of the ensemble and set its parent ensemble to this.
        Parameters:
        alignment -
      • getIoTime

        java.lang.Long getIoTime()
        Returns the io time for this object, in milliseconds.
        Returns:
        long creation time, or null if unset
      • setIoTime

        void setIoTime​(java.lang.Long millis)
        Set the IO time to load this object
        Parameters:
        millis -
      • getCalculationTime

        java.lang.Long getCalculationTime()
        Returns the running time of the structure alignment calculation, in milliseconds.
        Returns:
        long running time of the calculation, or null if unset
        See Also:
        getIoTime()
      • setCalculationTime

        void setCalculationTime​(java.lang.Long millis)
        Set the running time spent to calculate this alignment.
        Parameters:
        millis -
      • clear

        void clear()
        Clear scores and other properties which depend on the specific alignment. This frees memory and ensures consistency of the cached variables.

        Recursively clears the member MultipleAlignments.