code: def remove_analysis_from_worksheet(analysis):
      
      worksheet = analysis.getWorksheet()
      if not worksheet:
          return
  
      analyses = filter(lambda an: an != analysis, worksheet.getAnalyses())
      worksheet.setAnalyses(analyses)
      worksheet.purgeLayout()
      if analyses:
          # Maybe this analysis was the only one that was not yet submitted or
          # verified, so try to submit or verify the Worksheet to be aligned
          # with the current states of the analyses it contains.
          doActionFor(worksheet, "submit")
          doActionFor(worksheet, "verify")
      else:
          # We've removed all analyses. Rollback to "open"
          doActionFor(worksheet, "rollback_to_open")
  
      # Reindex the Worksheet
      idxs = ["getAnalysesUIDs"]
      push_reindex_to_actions_pool(worksheet, idxs=idxs)
docs: Removes the analysis passed in from the worksheet, if assigned to any