ai2_kit.algorithm.proton_transfer module#

class ai2_kit.algorithm.proton_transfer.AlgorithmParameter(r_a, r_h, rho_0, rho_max, max_depth, g_threshold)[source]#

Bases: NamedTuple

g_threshold: float#

Alias for field number 5

max_depth: int#

Alias for field number 4

r_a: float#

Alias for field number 0

r_h: float#

Alias for field number 1

rho_0: float#

Alias for field number 2

rho_max: float#

Alias for field number 3

class ai2_kit.algorithm.proton_transfer.AnalysisResult(indicator_position, transfers)[source]#

Bases: NamedTuple

indicator_position: Tuple[float, float, float]#

Alias for field number 0

transfers: List[Tuple[int, int]]#

Alias for field number 1

class ai2_kit.algorithm.proton_transfer.System(sys_info: SystemInfo, parameter: AlgorithmParameter)[source]#

Bases: object

analysis(initial_donor: int, out_dir: str)[source]#
calculate_g(donor: int, acceptor: int, protons: list)[source]#
calculate_position(paths: list, weights: list)[source]#
frame_analysis(prev_donor: int, acceptor_query: str, time: int)[source]#
class ai2_kit.algorithm.proton_transfer.SystemInfo(initial_donor: int, u: MDAnalysis.core.universe.Universe, cell: List[float], acceptor_elements: List[str])[source]#

Bases: object

acceptor_elements: List[str]#
cell: List[float]#
initial_donor: int#
u: Universe#
ai2_kit.algorithm.proton_transfer.analysis_transfer_paths(analysis_result: str, initial_donor: int)[source]#
ai2_kit.algorithm.proton_transfer.calculate_distances(analysis_result: str, input_traj: str, upper_index: List[int], lower_index: List[int], initial_donor: int, interval: int = 1)[source]#
ai2_kit.algorithm.proton_transfer.detect_type_change(analysis_result: str, atom_types: dict, donors: list)[source]#
ai2_kit.algorithm.proton_transfer.proton_transfer_detection(input_traj: str, out_dir: str, cell: List[float], acceptor_elements: List[str], initial_donors: List[int], core_num: int = 4, dt: float = 0.0005, r_a: float = 4.0, r_h: float = 1.3, rho_0: float = 0.45454545454545453, rho_max: float = 0.5, max_depth: int = 4, g_threshold: float = 0.0001)[source]#
ai2_kit.algorithm.proton_transfer.show_distance_change(analysis_result: str, initial_donor: int)[source]#
ai2_kit.algorithm.proton_transfer.visualize_transfer(analysis_result: str, input_traj: str, output_traj: str, initial_donor: int, cell: list)[source]#