





A__:  Optional[Any]       					=					{0: [1, 2], 1: [0, 3], 2: [0], 3: [1], 4: [5, 6], 5: [4, 6], 6: [4, 5]}

A__:  Union[str, Any]       					=					{0: [1, 2, 3], 1: [0, 3], 2: [0], 3: [0, 1], 4: [], 5: []}



def 							lowerCAmelCase_				(    A_  ,A_  ,A_):
    UpperCamelCase__:					Dict												=      True
    UpperCamelCase__:					Optional[int]												=      []

    for neighbour in graph[vert]:
        if not visited[neighbour]:
            connected_verts += dfs(A_  ,A_  ,A_)

    return [vert, *connected_verts]



def 							lowerCAmelCase_				(    A_):
    UpperCamelCase__:					Optional[int]												=      len(A_)
    UpperCamelCase__:					Dict												=      graph_size * [False]
    UpperCamelCase__:					Optional[Any]												=      []

    for i in range(A_):
        if not visited[i]:
            UpperCamelCase__:					Dict												=      dfs(A_  ,A_  ,A_)
            components_list.append(A_)

    return components_list


if __name__ == "__main__":
   import doctest

   doctest.testmod()








from .chunk_utils import chunk_layer
from .data_transforms import make_atomaa_masks
from .feats import atomaa_to_atomaa, frames_and_literature_positions_to_atomaa_pos, torsion_angles_to_frames
from .loss import compute_predicted_aligned_error, compute_tm
from .protein import Protein as OFProtein
from .protein import to_pdb
from .rigid_utils import Rigid, Rotation
from .tensor_utils import dict_multimap, flatten_final_dims, permute_final_dims

