def METHOD_NAME(
    cls,
    material_id: MPID,
    structure: Structure,
    last_updated_structure: datetime,
    thermo_calcs: dict,
    **kwargs,
) -> StructureResourceAttributes:
    structure.remove_oxidation_states()
    return OptimadeMaterialsDoc(
        material_id=material_id,
        chemical_system=structure.composition.chemical_system,
        stability=thermo_calcs,
        elements=sorted(set([e.symbol for e in structure.composition.elements])),
        nelements=len(structure.composition.elements),
        elements_ratios=list(structure.composition.fractional_composition.values()),
        chemical_formula_descriptive=optimade_form(structure.composition),
        chemical_formula_reduced=optimade_form(
            structure.composition.get_reduced_composition_and_factor()[0]
        ),
        chemical_formula_anonymous=optimade_anonymous_form(structure.composition),
        chemical_formula_hill=hill_formula(structure.composition),
        dimension_types=[1, 1, 1],
        nperiodic_dimensions=3,
        lattice_vectors=structure.lattice.matrix.tolist(),
        cartesian_site_positions=[site.coords.tolist() for site in structure],
        nsites=len(structure),
        species=list(
            {
                site.species_string: Species(
                    chemical_symbols=[site.species_string],
                    concentration=[1.0],
                    name=site.species_string,
                )
                for site in structure
            }.values()
        ),
        species_at_sites=[site.species_string for site in structure],
        last_modified=last_updated_structure,
        structure_features=[],
        **kwargs,
    )