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.

  • data (MetricData object) – The object whose data we wish to project onto the top TICA dimensions

  • lag (int) – The correlation lagtime to use for TICA

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

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

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


>>> 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)
Alternatively you can pass a Metric object to TICA. Uses less memory but is slower.
>>> metr = Metric(sims)
>>> metr.set(MetricSelfDistance('protein and name CA'))
>>> slowtica = TICA(metr, 20)
>>> datatica = slowtica.project(3)


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)#

Projects the data object given to the constructor onto the top ndim TICA dimensions

  • ndim (int) – The number of TICA dimensions we want to project the data on. If None is given it will use var_cutoff

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


dataTica – A new MetricData object containing the TICA projected data

Return type:

MetricData object


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