def get_pdb_fragments_and_atoms_from_instructions(list_of_instructions):
    """
    Given a list with the instructions processed it returns a list with containing the following elements:
    [fragment_pdb_file, pdb_atom_name_of_the_core (and H if required), pdb_atom_name_of_the_fragment (and H if required)]
    :param list_of_instructions: list with the instructions read from the instructions file. list
    :return: list with all fragments and atoms that will be used in the future. list
    """
    fragments_pdbs_and_atoms = []
    for instructions in list_of_instructions:
        if type(instructions) == list:
            for single_instruction in instructions:
                fragment_pdb, atom_core, atom_fragment = single_instruction[0], single_instruction[1], single_instruction[2]
                fragments_pdbs_and_atoms.append((fragment_pdb, atom_core, atom_fragment))
        else:
            fragment_pdb, atom_core, atom_fragment = instructions[0], instructions[1], instructions[2]
            fragments_pdbs_and_atoms.append((fragment_pdb, atom_core, atom_fragment))

    return fragments_pdbs_and_atoms