original_docstring: 
          Removes compounds from the reaction
        
          INPUTS:
          -------
          compounds_list: A list of compound objects that must be removed from the reaction 
          
docstring: Removes compounds from the reaction
  INPUTS.
  
  A list of compound objects that must be removed from the reaction
docstring_tokens: Removes compounds from the reaction INPUTS . A list of compound objects that must be removed from the reaction
code: def remove_compounds(self,compounds_list):
          """
          Removes compounds from the reaction
        
          INPUTS:
          -------
          compounds_list: A list of compound objects that must be removed from the reaction 
          """
          for cmp in compounds_list:
              if cmp not in set([c for c in self.compounds or c in self.reactants or c in self.products or c in self.stoichiometry.keys()]) and self.warnings:
                  print 'WARNING! Compound {} not in the reaction {} compounds and cannot be removed from this reaction reaction'.format(cmp.id,self.id)
         
              if cmp in self.compounds:
                  del self.compounds[self.compounds[cmp]]
                  del cmp.reactions[cmp.reactions.index(self)]
              if cmp in self.reactants:
                  del self.reactants[self.reactants[cmp]]
                  del cmp.reactant_reactions[cmp.reactant_reactions.index(self)]
              if cmp in self.products:
                  del self.products[self.products[cmp]]
                  del cmp.product_reactions[cmp.product_reactions.index(self)]
              if cmp in self.stoichiometry.keys():
                  del self.stoichiometry[cmp]
  
              if len(cmp.reactions) == 0:
                  self.model.remove_compounds([cmp])
  
          self.compounds = sorted([c for c in self.stoichiometry.keys() if self.stoichiometry[c] < 0 ],key=lambda x:x.id) + sorted([c for c in self.stoichiometry.keys() if self.stoichiometry[c] > 0 ],key=lambda x:x.id) 
          self.reactants = sorted(self.reactants,key=lambda x:x.id) 
          self.products = sorted(self.products,key=lambda x:x.id)
code_tokens: def remove_compounds ( self , compounds_list ) : for cmp in compounds_list : if cmp not in set ( [ c for c in self . compounds or c in self . reactants or c in self . products or c in self . stoichiometry . keys ( ) ] ) and self . warnings : print 'WARNING! Compound {} not in the reaction {} compounds and cannot be removed from this reaction reaction' . format ( cmp . id , self . id ) if cmp in self . compounds : del self . compounds [ self . compounds [ cmp ] ] del cmp . reactions [ cmp . reactions . index ( self ) ] if cmp in self . reactants : del self . reactants [ self . reactants [ cmp ] ] del cmp . reactant_reactions [ cmp . reactant_reactions . index ( self ) ] if cmp in self . products : del self . products [ self . products [ cmp ] ] del cmp . product_reactions [ cmp . product_reactions . index ( self ) ] if cmp in self . stoichiometry . keys ( ) : del self . stoichiometry [ cmp ] if len ( cmp . reactions ) == 0 : self . model . remove_compounds ( [ cmp ] ) self . compounds = sorted ( [ c for c in self . stoichiometry . keys ( ) if self . stoichiometry [ c ] < 0 ] , key = lambda x : x . id ) + sorted ( [ c for c in self . stoichiometry . keys ( ) if self . stoichiometry [ c ] > 0 ] , key = lambda x : x . id ) self . reactants = sorted ( self . reactants , key = lambda x : x . id ) self . products = sorted ( self . products , key = lambda x : x . id )
short_docstring: Removes compounds from the reaction
  INPUTS:
short_docstring_tokens: Removes compounds from the reaction INPUTS :
comment: """
          Removes compounds from the reaction
        
          INPUTS:
          -------
          compounds_list: A list of compound objects that must be removed from the reaction 
          """