Skip to content

Latest commit

 

History

History
667 lines (390 loc) · 19.9 KB

utils.rst

File metadata and controls

667 lines (390 loc) · 19.9 KB

Utilities

DeepChem has a broad collection of utility functions. Many of these maybe be of independent interest to users since they deal with some tricky aspects of processing scientific datatypes.

Data Utilities

Array Utilities

deepchem.utils.data_utils.pad_array

Data Directory

The DeepChem data directory is where downloaded MoleculeNet datasets are stored.

deepchem.utils.data_utils.get_data_dir

URL Handling

deepchem.utils.data_utils.download_url

File Handling

deepchem.utils.data_utils.untargz_file

deepchem.utils.data_utils.unzip_file

deepchem.utils.data_utils.load_data

deepchem.utils.data_utils.load_sdf_files

deepchem.utils.data_utils.load_csv_files

deepchem.utils.data_utils.load_json_files

deepchem.utils.data_utils.load_pickle_files

deepchem.utils.data_utils.load_from_disk

deepchem.utils.data_utils.save_to_disk

deepchem.utils.data_utils.load_dataset_from_disk

deepchem.utils.data_utils.save_dataset_to_disk

Molecular Utilities

deepchem.utils.conformers.ConformerGenerator

deepchem.utils.rdkit_utils.MoleculeLoadException

deepchem.utils.rdkit_utils.get_xyz_from_mol

deepchem.utils.rdkit_utils.add_hydrogens_to_mol

deepchem.utils.rdkit_utils.compute_charges

deepchem.utils.rdkit_utils.load_molecule

deepchem.utils.rdkit_utils.write_molecule

Molecular Fragment Utilities

It's often convenient to manipulate subsets of a molecule. The MolecularFragment class aids in such manipulations.

deepchem.utils.fragment_utils.MolecularFragment

deepchem.utils.fragment_utils.AtomShim

deepchem.utils.fragment_utils.strip_hydrogens

deepchem.utils.fragment_utils.merge_molecular_fragments

deepchem.utils.fragment_utils.get_contact_atom_indices

deepchem.utils.fragment_utils.reduce_molecular_complex_to_contacts

Coordinate Box Utilities

deepchem.utils.coordinate_box_utils.CoordinateBox

deepchem.utils.coordinate_box_utils.intersect_interval

deepchem.utils.coordinate_box_utils.union

deepchem.utils.coordinate_box_utils.merge_overlapping_boxes

deepchem.utils.coordinate_box_utils.get_face_boxes

Evaluation Utils

deepchem.utils.evaluate.Evaluator

deepchem.utils.evaluate.GeneratorEvaluator

deepchem.utils.evaluate.relative_difference

Genomic Utilities

deepchem.utils.genomics_utils.seq_one_hot_encode

deepchem.utils.genomics_utils.encode_bio_sequence

deepchem.utils.sequence_utils.hhblits

deepchem.utils.sequence_utils.hhsearch

deepchem.utils.sequence_utils.MSA_to_dataset

Geometry Utilities

deepchem.utils.geometry_utils.unit_vector

deepchem.utils.geometry_utils.angle_between

deepchem.utils.geometry_utils.generate_random_unit_vector

deepchem.utils.geometry_utils.generate_random_rotation_matrix

deepchem.utils.geometry_utils.is_angle_within_cutoff

Graph Utilities

deepchem.utils.graph_utils.fourier_encode_dist

deepchem.utils.graph_utils.aggregate_mean

deepchem.utils.graph_utils.aggregate_max

deepchem.utils.graph_utils.aggregate_min

deepchem.utils.graph_utils.aggregate_std

deepchem.utils.graph_utils.aggregate_var

deepchem.utils.graph_utils.aggregate_moment

deepchem.utils.graph_utils.aggregate_sum

deepchem.utils.graph_utils.scale_identity

deepchem.utils.graph_utils.scale_amplification

deepchem.utils.graph_utils.scale_attenuation

Hash Function Utilities

deepchem.utils.hash_utils.hash_ecfp

deepchem.utils.hash_utils.hash_ecfp_pair

deepchem.utils.hash_utils.vectorize

Voxel Utils

deepchem.utils.voxel_utils.convert_atom_to_voxel

deepchem.utils.voxel_utils.convert_atom_pair_to_voxel

deepchem.utils.voxel_utils.voxelize

Graph Convolution Utilities

deepchem.utils.molecule_feature_utils.one_hot_encode

deepchem.utils.molecule_feature_utils.get_atom_type_one_hot

deepchem.utils.molecule_feature_utils.construct_hydrogen_bonding_info

deepchem.utils.molecule_feature_utils.get_atom_hydrogen_bonding_one_hot

deepchem.utils.molecule_feature_utils.get_atom_is_in_aromatic_one_hot

deepchem.utils.molecule_feature_utils.get_atom_hybridization_one_hot

deepchem.utils.molecule_feature_utils.get_atom_total_num_Hs_one_hot

deepchem.utils.molecule_feature_utils.get_atom_chirality_one_hot

deepchem.utils.molecule_feature_utils.get_atom_formal_charge

deepchem.utils.molecule_feature_utils.get_atom_partial_charge

deepchem.utils.molecule_feature_utils.get_atom_total_degree_one_hot

deepchem.utils.molecule_feature_utils.get_bond_type_one_hot

deepchem.utils.molecule_feature_utils.get_bond_is_in_same_ring_one_hot

deepchem.utils.molecule_feature_utils.get_bond_is_conjugated_one_hot

deepchem.utils.molecule_feature_utils.get_bond_stereo_one_hot

deepchem.utils.molecule_feature_utils.get_bond_graph_distance_one_hot

Grover Utilities

deepchem.utils.grover.extract_grover_attributes

Debug Utilities

Docking Utilities

These utilities assist in file preparation and processing for molecular docking.

deepchem.utils.docking_utils.write_vina_conf

deepchem.utils.docking_utils.write_gnina_conf

deepchem.utils.docking_utils.load_docked_ligands

deepchem.utils.docking_utils.prepare_inputs

deepchem.utils.docking_utils.read_gnina_log

Print Threshold

The printing threshold controls how many dataset elements are printed when dc.data.Dataset objects are converted to strings or represnted in the IPython repl.

deepchem.utils.debug_utils.get_print_threshold

deepchem.utils.debug_utils.set_print_threshold

deepchem.utils.debug_utils.get_max_print_size

deepchem.utils.debug_utils.set_max_print_size

Fake Data Generator

The utilities here are used to generate random sample data which can be used for testing model architectures or other purposes.

deepchem.utils.fake_data_generator.FakeGraphGenerator

Electron Sampler

The utilities here are used to sample electrons in a given molecule and update it using monte carlo methods, which can be used for methods like Variational Monte Carlo, etc.

deepchem.utils.electron_sampler.ElectronSampler

Density Functional Theory Utilities

The utilites here are used to create an object that contains information about a system's self-consistent iteration steps and other processes.

deepchem.utils.dft_utils.Lattice

deepchem.utils.dft_utils.SpinParam

deepchem.utils.dft_utils.ValGrad

deepchem.utils.dft_utils.data.datastruct.CGTOBasis

deepchem.utils.dft_utils.data.datastruct.AtomCGTOBasis

deepchem.utils.dft_utils.BaseXC

deepchem.utils.dft_utils.AddBaseXC

deepchem.utils.dft_utils.xc.base_xc.MulBaseXC

deepchem.utils.dft_utils.BaseGrid

deepchem.utils.dft_utils.df.base_df.BaseDF

deepchem.utils.dft_utils.hamilton.base_hamilton.BaseHamilton

deepchem.utils.dftutils.KSCalc

deepchem.utils.dftutils.hashstr

deepchem.utils.dftutils.BaseGrid

deepchem.utils.dftutils.BaseQCCalc

deepchem.utils.dftutils.SpinParam

deepchem.utils.dft_utils.config._Config

deepchem.utils.dft_utils.BaseOrbParams

deepchem.utils.dft_utils.QROrbParams

deepchem.utils.dft_utils.MatExpOrbParams

deepchem.utils.dft_utils.api.parser.parse_moldesc

deepchem.utils.dft_utils.system.base_system.BaseSystem

deepchem.utils.dft_utils.grid.radial_grid.RadialGrid

deepchem.utils.dft_utils.grid.radial_grid.get_xw_integration

deepchem.utils.dft_utils.grid.radial_grid.SlicedRadialGrid

deepchem.utils.dft_utils.grid.radial_grid.BaseGridTransform

deepchem.utils.dft_utils.grid.radial_grid.DE2Transformation

deepchem.utils.dft_utils.grid.radial_grid.LogM3Transformation

deepchem.utils.dft_utils.grid.radial_grid.TreutlerM4Transformation

deepchem.utils.dft_utils.grid.radial_grid.get_grid_transform

deepchem.utils.differentiation_utils.editable_module.EditableModule

deepchem.utils.differentiation_utils.normalize_bcast_dims

deepchem.utils.differentiation_utils.get_bcasted_dims

deepchem.utils.differentiation_utils.match_dim

deepchem.utils.differentiation_utils.linop.LinearOperator

deepchem.utils.differentiation_utils.linop.AddLinearOperator

deepchem.utils.differentiation_utils.linop.MulLinearOperator

deepchem.utils.differentiation_utils.linop.AdjointLinearOperator

deepchem.utils.differentiation_utils.linop.MatmulLinearOperator

deepchem.utils.differentiation_utils.linop.MatrixLinearOperator

deepchem.utils.differentiation_utils.pure_function.PureFunction

deepchem.utils.differentiation_utils.pure_function.FunctionPureFunction

deepchem.utils.differentiation_utils.pure_function.EditableModulePureFunction

deepchem.utils.differentiation_utils.pure_function.TorchNNPureFunction

deepchem.utils.differentiation_utils.pure_function.PureFunction

deepchem.utils.differentiation_utils.pure_function._check_identical_objs

deepchem.utils.differentiation_utils.pure_function.get_pure_function

deepchem.utils.differentiation_utils.set_default_option

deepchem.utils.differentiation_utils.get_and_pop_keys

deepchem.utils.differentiation_utils.get_method

deepchem.utils.differentiation_utils.dummy_context_manager

deepchem.utils.differentiation_utils.assert_runtime

deepchem.utils.differentiation_utils.symeig._set_initial_v

deepchem.utils.differentiation_utils.symeig._take_eigpairs

deepchem.utils.differentiation_utils.symeig.exacteig

deepchem.utils.differentiation_utils.symeig.degen_symeig

deepchem.utils.differentiation_utils.symeig.davidson

deepchem.utils.differentiation_utils.symeig.lsymeig

deepchem.utils.differentiation_utils.symeig.usymeig

deepchem.utils.differentiation_utils.symeig.symeig

deepchem.utils.differentiation_utils.symeig.symeig_torchfcn

deepchem.utils.differentiation_utils.symeig._check_degen

deepchem.utils.differentiation_utils.symeig.ortho

deepchem.utils.differentiation_utils.grad.jac

deepchem.utils.differentiation_utils.grad._Jac

deepchem.utils.differentiation_utils.grad._setup_idxs

deepchem.utils.differentiation_utils.grad.connect_graph

deepchem.utils.differentiation_utils.solve.wrap_gmres

deepchem.utils.differentiation_utils.solve.exactsolve

deepchem.utils.differentiation_utils.solve.solve_ABE

deepchem.utils.differentiation_utils.solve.get_batchdims

deepchem.utils.differentiation_utils.solve.setup_precond

deepchem.utils.differentiation_utils.solve.dot

deepchem.utils.differentiation_utils.solve.gmres

deepchem.utils.differentiation_utils.solve.setup_linear_problem

deepchem.utils.differentiation_utils.solve.safedenom

deepchem.utils.differentiation_utils.solve.get_largest_eival

deepchem.utils.differentiation_utils.solve.solve

deepchem.utils.differentiation_utils.solve.broyden1_solve

deepchem.utils.differentiation_utils.solve._rootfinder_solve

deepchem.utils.differentiation_utils.solve.cg

deepchem.utils.differentiation_utils.solve.bicgstab

deepchem.utils.differentiation_utils.solve.solve_torchfcn

deepchem.utils.differentiation_utils.optimize.equilibrium.anderson_acc

deepchem.utils.differentiation_utils.optimize.minimizer.gd

deepchem.utils.differentiation_utils.optimize.minimizer.adam

deepchem.utils.differentiation_utils.optimize.minimizer.TerminationCondition

deepchem.utils.differentiation_utils.optimize.rootsolver._nonlin_solver

deepchem.utils.differentiation_utils.optimize.rootsolver.broyden1

deepchem.utils.differentiation_utils.optimize.rootsolver.broyden2

deepchem.utils.differentiation_utils.optimize.rootsolver.linearmixing

deepchem.utils.differentiation_utils.optimize.rootsolver._safe_norm

deepchem.utils.differentiation_utils.optimize.rootsolver._nonline_line_search

deepchem.utils.differentiation_utils.optimize.rootsolver._scalar_search_armijo

deepchem.utils.differentiation_utils.optimize.rootsolver.TerminationCondition

deepchem.utils.differentiation_utils.optimize.jacobian.Jacobian

deepchem.utils.differentiation_utils.optimize.jacobian.BroydenFirst

deepchem.utils.differentiation_utils.optimize.jacobian.BroydenSecond

deepchem.utils.differentiation_utils.optimize.jacobian.LinearMixing

deepchem.utils.differentiation_utils.optimize.jacobian.LowRankMatrix

deepchem.utils.differentiation_utils.optimize.jacobian.FullRankMatrix

deepchem.utils.differentiation_utils.optimize.rootfinder.rootfinder

deepchem.utils.differentiation_utils.optimize.rootfinder.equilibrium

deepchem.utils.differentiation_utils.optimize.rootfinder.minimize

deepchem.utils.differentiation_utils.optimize.rootfinder._RootFinder

deepchem.utils.differentiation_utils.optimize.rootfinder._get_rootfinder_default_method

deepchem.utils.differentiation_utils.optimize.rootfinder._get_equilibrium_default_method

deepchem.utils.differentiation_utils.optimize.rootfinder._get_minimizer_default_method

Attribute Utilities

The utilities here are used to modify the attributes of the classes. Used by differentiation_utils.

deepchem.utils.attribute_utils.get_attr

deepchem.utils.attribute_utils.set_attr

deepchem.utils.attribute_utils.del_attr

Pytorch Utilities

deepchem.utils.pytorch_utils.unsorted_segment_sum

deepchem.utils.pytorch_utils.segment_sum

deepchem.utils.pytorch_utils.chunkify

deepchem.utils.pytorch_utils.get_memory

deepchem.utils.pytorch_utils.gaussian_integral

deepchem.utils.pytorch_utils.TensorNonTensorSeparator

deepchem.utils.pytorch_utils.tallqr

deepchem.utils.pytorch_utils.to_fortran_order

deepchem.utils.pytorch_utils.get_np_dtype

Batch Utilities

The utilites here are used for computing features on batch of data. Can be used inside of default_generator function.

deepchem.utils.batch_utils.batch_coulomb_matrix_features

deepchem.utils.batch_utils.batch_elements

deepchem.utils.batch_utils.create_input_array

deepchem.utils.batch_utils.create_output_array

Periodic Table Utilities

The Utilities here are used to computing atomic mass and radii data. These can be used by DFT and many other Molecular Models.

deepchem.utils.periodic_table_utils.get_atomz

Equivariance Utilities

The utilities here refer to equivariance tools that play a vital role in mathematics and applied sciences. They excel in preserving the relationships between objects or data points when undergoing transformations such as rotations or scaling.

You can refer to the tutorials for additional information regarding equivariance and Deepchem's support for equivariance.

deepchem.utils.equivariance_utils.su2_generators

deepchem.utils.equivariance_utils.so3_generators

deepchem.utils.equivariance_utils.change_basis_real_to_complex

deepchem.utils.equivariance_utils.wigner_D

Miscellaneous Utilities

The utilities here are used for miscellaneous purposes. Initial usecases are for improving the printing format of __repr__.

deepchem.utils.misc_utils.indent

deepchem.utils.misc_utils.shape2str

deepchem.utils.misc_utils.UnimplementedError

deepchem.utils.misc_utils.GetSetParamsError

deepchem.utils.misc_utils.ConvergenceWarning

deepchem.utils.misc_utils.MathWarning

deepchem.utils.misc_utils.Uniquifier

SafeOperations Utilities

The utilities here are used for safe operations on tensors. These are used to avoid NaNs and Infs in the output.

deepchem.utils.safeops_utils.safepow

deepchem.utils.safeops_utils.safenorm

deepchem.utils.safeops_utils.occnumber

deepchem.utils.safeops_utils.get_floor_and_ceil

deepchem.utils.safeops_utils.safe_cdist