def test_that_all_featurizers_run(): dataset = fetch_alanine_dipeptide() trajectories = dataset["trajectories"] trj0 = trajectories[0][0] atom_indices, pair_indices = mixtape.subset_featurizer.get_atompair_indices(trj0) featurizer = mixtape.featurizer.AtomPairsFeaturizer(pair_indices) X_all = featurizer.transform(trajectories) featurizer = mixtape.featurizer.SuperposeFeaturizer(np.arange(15), trj0) X_all = featurizer.transform(trajectories) featurizer = mixtape.featurizer.DihedralFeaturizer(["phi" ,"psi"]) X_all = featurizer.transform(trajectories) #featurizer = mixtape.featurizer.ContactFeaturizer() # Doesn't work on ALA dipeptide #X_all = featurizer.transform(trajectories) featurizer = mixtape.featurizer.RMSDFeaturizer(trj0) X_all = featurizer.transform(trajectories) atom_featurizer0 = mixtape.subset_featurizer.SubsetAtomPairs(pair_indices, trj0, exponent=-1.0) cosphi = mixtape.subset_featurizer.SubsetCosPhiFeaturizer(trj0) sinphi = mixtape.subset_featurizer.SubsetSinPhiFeaturizer(trj0) cospsi = mixtape.subset_featurizer.SubsetCosPsiFeaturizer(trj0) sinpsi = mixtape.subset_featurizer.SubsetSinPsiFeaturizer(trj0) featurizer = mixtape.subset_featurizer.SubsetFeatureUnion([("pairs", atom_featurizer0), ("cosphi", cosphi), ("sinphi", sinphi), ("cospsi", cospsi), ("sinpsi", sinpsi)]) featurizer.subsets = [np.arange(1) for i in range(featurizer.n_featurizers)] X_all = featurizer.transform(trajectories) eq(X_all[0].shape[1], 1 * featurizer.n_featurizers)
def test_SubsetAtomPairs2(): dataset = fetch_alanine_dipeptide() trajectories = dataset["trajectories"] trj0 = trajectories[0][0] atom_indices, pair_indices = mixtape.subset_featurizer.get_atompair_indices(trj0) featurizer = mixtape.featurizer.AtomPairsFeaturizer(pair_indices) X_all0 = featurizer.transform(trajectories) featurizer = mixtape.subset_featurizer.SubsetAtomPairs(pair_indices, trj0, subset=np.array([0, 1])) X_all = featurizer.transform(trajectories) any([eq(x, x0) for (x, x0) in zip(X_all, X_all0)])
import mixtape.featurizer, mixtape.tica, mixtape.cluster, mixtape.markovstatemodel, mixtape.ghmm import numpy as np import mdtraj as md from parameters import load_trajectories, build_full_featurizer import sklearn.pipeline, sklearn.externals.joblib import mixtape.utils n_choose = 50 n_components = 2 t = md.load("./system.subset.pdb") featurizer_old = sklearn.externals.joblib.load("./featurizer-%d-%d.job" % (n_components, n_choose)) featurizer = mixtape.subset_featurizer.guess_featurizers(t, n_choose) featurizer.subsets = featurizer_old.subsets featurizer.transform([t]) # Check that it can transform f2 = sklearn.clone(featurizer) # Check that it can clone. sklearn.externals.joblib.dump(featurizer_old, "./featurizer-%d-%d.job.old" % (n_components, n_choose), compress=True) sklearn.externals.joblib.dump(featurizer, "./featurizer-%d-%d.job" % (n_components, n_choose), compress=True)