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 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.
      • setAlgorithmName

        void setAlgorithmName​(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

        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​(String version)
        Sets the version of the algorithm used to generate the MultipleAlignment objects.
        Parameters:
        version - the version of the algorithm.
        See Also:
        getVersion()
      • getAtomArrays

        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

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

        List<MultipleAlignmentgetMultipleAlignments()
        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()
      • 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

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

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

        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​(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.