class_docstr: Holds information about a molecules.
  
  Resorts order of atoms internally to be in order of increasing degree. Note
  that only heavy atoms (hydrogens excluded) are considered here.
class_docstr_tok: ["Holds","information","about","a","molecules",".","Resorts","order","of","atoms","internally","to","be","in","order","of","increasing","degree",".","Note","that","only","heavy","atoms","(","hydrogens","excluded",")","are","considered","here","."]
docstr: Constructs a null molecules
  
  Get one molecule with one atom of each degree, with all the atoms
  connected to themselves, and containing n_feat features.
  
  Parameters
  ----------
  n_feat : int
      number of features for the nodes in the null molecule
docstr_tok: ["Constructs","a","null","molecules","Get","one","molecule","with","one","atom","of","each","degree",",","with","all","the","atoms","connected","to","themselves",",","and","containing","n_feat","features",".","Parameters","--","--","--","--","--","n_feat",":","int","number","of","features","for","the","nodes","in","the","null","molecule"]
code: def get_null_mol(n_feat, max_deg=10, min_deg=0):
      """Constructs a null molecules
  
      Get one molecule with one atom of each degree, with all the atoms
      connected to themselves, and containing n_feat features.
  
      Parameters
      ----------
      n_feat : int
          number of features for the nodes in the null molecule
      """
      # Use random insted of zeros to prevent weird issues with summing to zero
      atom_features = np.random.uniform(
          0, 1, [max_deg + 1 - min_deg, n_feat]
      )
      canon_adj_list = [
          deg * [deg - min_deg] for deg in range(min_deg, max_deg + 1)
      ]
  
      return ConvMol(atom_features, canon_adj_list)
  
imports: import csv
  import random
  import numpy
label_desc: Use image node_id 10 for calling the ConvMol obj's underlying member method code with example usage: obj.get_null_mol(n_feat, max_deg, min_deg) and returns: ConvMol