code: def add_descriptor(self, descriptor, role='ignore', group_by_key=False):
          
  
          descriptor.validate()
  
          if descriptor.key in self.configuration["roles"]:
              raise ValueError("Cannot add a descriptor with the same name twice")
  
          self.configuration['descriptors'].append(descriptor.as_dict())
          self.configuration["roles"][descriptor.key] = role
  
          if group_by_key:
              self.configuration["group_by"].append(descriptor.key)
docs: Add a descriptor column.
  
          :param descriptor: A Descriptor instance (e.g., RealDescriptor, InorganicDescriptor, etc.)
          :param role: Specify a role (input, output, latentVariable, or ignore)
          :param group_by_key: Whether or not to group by this key during cross validation