htmd.projections.tica module#

class htmd.projections.tica.TICA(data, lag, units='frames', dimensions=None, njobs=None)#

Bases: object

Class for calculating the TICA projections of a MetricData object.

Time-based Independent Component Analysis projects your data on the slowest coordinates identified for a given lagtime.

Parameters:
  • data (MetricData | Metric) – The MetricData object whose data to project, or a Metric object for memory-efficient streaming TICA (projects trajectories on the fly).

  • lag (float) – The correlation lagtime to use for TICA. Units are controlled by units.

  • units (str) – The units of lag. Can be 'frames' or any time unit given as a string.

  • dimensions (list | range | ndarray | None) – A list of dimensions of the original data on which to apply TICA. All other dimensions will stay unaltered. If None, TICA is applied on all dimensions.

  • njobs (int | None) – Number of jobs to spawn for parallel computation of TICA components. If None it will use the default from htmd.config.

Examples

>>> from htmd.projections.tica import TICA
>>> metr = Metric(sims)
>>> metr.set(MetricSelfDistance('protein and name CA'))
>>> data = metr.project()
>>> tica = TICA(data, 20)
>>> datatica = tica.project(3)

References

Perez-Hernandez, G. and Paul, F. and Giorgino, T. and de Fabritiis, G. and Noe, F. (2013) Identification of slow molecular order parameters for Markov model construction. J. Chem. Phys., 139 . 015102.

project(ndim=None, var_cutoff=0.95)#

Project the data object given to the constructor onto the top TICA dimensions.

Parameters:
  • ndim (int | None) – The number of TICA dimensions to project the data on. If None, var_cutoff is used to determine the number of dimensions automatically.

  • var_cutoff (float) – Variance cutoff used for automatically determining the number of dimensions.

Returns:

dataTica – A new MetricData object containing the TICA projected data.

Return type:

MetricData

Examples

>>> from htmd.projections.tica import TICA
>>> tica = TICA(data, 20)
>>> dataTica = tica.project(5)