code: def from_mass_fractions(cls, mass_fractions, formula=None):
          
          mass_fractions = process_wildcard(mass_fractions)
          atomic_fractions = convert_mass_to_atomic_fractions(mass_fractions)
          if not formula:
              formula = generate_name(atomic_fractions)
          return cls(cls._key, mass_fractions, atomic_fractions, formula)
docs: Creates a composition from a mass fraction :class:`dict`.
  
          Args:
              mass_fractions (dict): mass fraction :class:`dict`.
                  The keys are atomic numbers and the values weight fractions.
                  Wildcard are accepted, e.g. ``{5: '?', 25: 0.4}`` where boron
                  will get a mass fraction of 0.6.
              formula (str): optional chemical formula for the composition.
                  If ``None``, a formula will be generated for the composition.