docs: def load_recipe(self):
          '''load will return a loaded in singularity recipe. The idea
             is that these sections can then be parsed into a Dockerfile,
             or printed back into their original form.
  
             Returns
             =======
             config: a parsed recipe Singularity recipe
          '''
  
          # Comments between sections, add to top of file
          lines = self.lines.copy()
          comments = []
  
          # Start with a fresh config!
          self.config = dict()
       
          section = None
          name = None
  
          while len(lines) > 0:
  
              # Clean up white trailing/leading space
              line = lines.pop(0)
              stripped = line.strip()
  
              # Bootstrap Line
              if re.search('(b|B)(o|O){2}(t|T)(s|S)(t|T)(r|R)(a|A)(p|P)', line):
                  self._load_bootstrap(stripped)
  
              # From Line
              if re.search('(f|F)(r|R)(O|o)(m|M)', stripped):
                  self._load_from(stripped)
  
              # Comment
              if stripped.startswith("#"):
                  comments.append(stripped)
                  continue
  
              # Section
              elif stripped.startswith('%'):
                  section = self._add_section(stripped)
                  bot.debug("Adding section title %s" %section)
  
              # If we have a section, and are adding it
              elif section is not None:
                  lines = [line] + lines
                  self._load_section(lines=lines,
                                     section=section)
  
              self.config['comments'] = comments