CloneSet12


Previous CloneSetNext CloneSetBack to Main Report
Clone
Mass
Clones in
CloneSet
Parameter
Count
Clone
Similarity
Syntax Category
[Sequence Length]
114210.999file_input_element_list[3]
Clone AbstractionParameter Bindings
Clone Instance
(Click to see clone)
Line CountSource Line
Source File
111413
Bio/MEME/Parser.py
2114103
Bio/Motif/Parsers/MEME.py
Clone Instance
1
Line Count
114
Source Line
13
Source File
Bio/MEME/Parser.py

class MEMERecord: 
     """A class for holding the results of a MEME run.
    
    A MEMERecord is an object that holds the results from running
    MEME. It implements no methods of its own.
        
    """ 

     def __init__ (self): 
          "__init__ (self)" 
          self.motifs = [ ] 
          self.version = "" 
          self.datafile = "" 
          self.command = "" 
          self.alphabet = None 
          self.sequence_names = [ ] 

     def get_motif_by_name (self,name): 
         for m in self.motifs: 
              if m.name==name:  
                  return m 
              

class MEMEParser(AbstractParser): 
    '''A parser for the text output of the MEME program.
    Parses the output into an object of the MEMERecord class.
    
    Methods:
    parse (handle): parses the contents of the file handle passed to it.
    
    Example:
    
    f = open("meme.output.txt")
    parser = MEMEParser()
    meme_record = parser.parse(f)
    for motif in meme_record.motifs:
        for instance in motif.instances:
            print instance.motif_name, instance.sequence_name, instance.strand, instance.pvalue
    
    ''' 

    def __init__ (self): 
         "__init__ (self)" 
         self._scanner = _MEMEScanner( ) 
         self._consumer = _MEMEConsumer( ) 

    def parse (self,handle): 
        "parse (self, handle)" 
        self._scanner.feed(handle,self._consumer) 
        return self._consumer.data 
    

class _MEMEScanner: 
     """Scanner for MEME output. 
    
    Methods:
    feed
        
    """ 

     def feed (self,handle,consumer):  
         """
        Feeds in MEME output for scanning. handle should
        implement the readline method. consumer is 
        a Consumer object that can receive the salient events.
        """ 
         if isinstance(handle,File.UndoHandle): 
             uhandle = handle 
         else: 
              uhandle = File.UndoHandle(handle) 

         self._scan_header(uhandle,consumer) 
         self._scan_motifs    (uhandle,consumer) 

     def _scan_header(self,uhandle,consumer):  
         try :
             
             read_and_call_until(uhandle,consumer.noevent,contains = "MEME version") 
         except ValueError: 
              raise ValueError("Improper input file. File should contain a line starting MEME version.") 
         read_and_call(uhandle,consumer._version,start = "MEME version") 
         read_and_call_until(uhandle,consumer.noevent,start = "TRAINING SET") 
         read_and_call(uhandle,consumer.noevent,start = "TRAINING SET") 
         read_and_call(uhandle,consumer.noevent,start = "****") 
         read_and_call(uhandle,consumer._datafile,start = "DATAFILE") 
         read_and_call(uhandle,consumer._alphabet,start = "ALPHABET") 
         read_and_call(uhandle,consumer.noevent,start = "Sequence name") 
         read_and_call(uhandle,consumer.noevent,start = "----") 
         read_and_call_until(uhandle,consumer._sequence_name,start = "***") 
         read_and_call_until(uhandle,consumer.noevent,start = "command:") 
         read_and_call(uhandle,consumer._commandline,start = "command:") 
         read_and_call_until(uhandle,consumer.noevent,start = "MOTIF  1") 

     def _scan_motifs(self,uhandle,consumer):  
         while 1: 
              read_and_call(uhandle,consumer._add_motif_with_info,start = "MOTIF") 
              read_and_call_until(uhandle,consumer.noevent,contains = "sorted by position p-value") 
              read_and_call(uhandle,consumer.motif_name,contains = "sorted by position p-value") 
              read_and_call(uhandle,consumer.noevent,start = "---") 
              read_and_call(uhandle,consumer.noevent,start = "Sequence name") 
              read_and_call(uhandle,consumer.noevent,start = "---") 
              read_and_call_until(uhandle,consumer.add_instance,start = "---") 
              read_and_call_until(uhandle,consumer.noevent,start = "log-odds matrix") 
              read_and_call(uhandle,consumer.noevent) 
              read_and_call_until(uhandle,consumer.add_to_logodds,start = "---") 
              read_and_call_until(uhandle,consumer.noevent,start = "letter-probability matrix") 
              read_and_call(uhandle,consumer.noevent,start = "letter-probability matrix") 
              read_and_call_until(uhandle,consumer.add_to_pssm,start = "---") 
              read_and_call_until(uhandle,consumer.noevent,start = "Time") 
              read_and_call(uhandle,consumer.noevent,start = "Time") 
              read_and_call(uhandle,consumer.noevent,blank = 1) 
              read_and_call(uhandle,consumer.noevent,start = "***") 
              read_and_call_while(uhandle,consumer.noevent,blank = 1) 
              read_and_call(uhandle,consumer.noevent,start = "***") 
              line = safe_peekline(uhandle) 
              if line.startswith("SUMMARY OF MOTIFS"): 
                   break 
              


Clone Instance
2
Line Count
114
Source Line
103
Source File
Bio/Motif/Parsers/MEME.py

class MEMERecord: 
     """A class for holding the results of a MEME run.
    
    A MEMERecord is an object that holds the results from running
    MEME. It implements no methods of its own.
        
    """ 

     def __init__ (self): 
          "__init__ (self)" 
          self.motifs = [ ] 
          self.version = "" 
          self.datafile = "" 
          self.command = "" 
          self.alphabet = None 
          self.sequence_names = [ ] 

     def get_motif_by_name (self,name): 
         for m in self.motifs: 
              if m.name==name:  
                  return m 
              

class MEMEParser(AbstractParser): 
    '''A parser for the text output of the MEME program.
    Parses the output into an object of the MEMERecord class.
    
    Methods:
    parse (handle): parses the contents of the file handle passed to it.
    
    Example:
    
    >>>f = open("meme.output.txt")
    >>>parser = MEMEParser()
    >>>meme_record = parser.parse(f)
    >>>for motif in meme_record.motifs:
    ...    for instance in motif.instances:
    ...        print instance.motif_name, instance.sequence_name, instance.strand, instance.pvalue
    
    ''' 

    def __init__ (self): 
         "__init__ (self)" 
         self._scanner = _MEMEScanner( ) 
         self._consumer = _MEMEConsumer( ) 

    def parse (self,handle): 
        "parse (self, handle)" 
        self._scanner.feed(handle,self._consumer) 
        return self._consumer.data 
    

class _MEMEScanner: 
     """Scanner for MEME output. 
    
    Methods:
    feed
        
    """ 

     def feed (self,handle,consumer):  
         """
        Feeds in MEME output for scanning. handle should
        implement the readline method. consumer is 
        a Consumer object that can receive the salient events.
        """ 
         if isinstance(handle,File.UndoHandle): 
             uhandle = handle 
         else: 
              uhandle = File.UndoHandle(handle) 

         self._scan_header(uhandle,consumer) 
         self._scan_motifs    (uhandle,consumer) 

     def _scan_header(self,uhandle,consumer):  
         try :
             
             read_and_call_until(uhandle,consumer.noevent,contains = "MEME version") 
         except ValueError: 
              raise ValueError("Improper input file. File should contain a line starting MEME version.") 
         read_and_call(uhandle,consumer._version,start = "MEME version") 
         read_and_call_until(uhandle,consumer.noevent,start = "TRAINING SET") 
         read_and_call(uhandle,consumer.noevent,start = "TRAINING SET") 
         read_and_call(uhandle,consumer.noevent,start = "****") 
         read_and_call(uhandle,consumer._datafile,start = "DATAFILE") 
         read_and_call(uhandle,consumer._alphabet,start = "ALPHABET") 
         read_and_call(uhandle,consumer.noevent,start = "Sequence name") 
         read_and_call(uhandle,consumer.noevent,start = "----") 
         read_and_call_until(uhandle,consumer._sequence_name,start = "***") 
         read_and_call_until(uhandle,consumer.noevent,start = "command:") 
         read_and_call(uhandle,consumer._commandline,start = "command:") 
         read_and_call_until(uhandle,consumer.noevent,start = "MOTIF  1") 

     def _scan_motifs(self,uhandle,consumer):  
         while 1: 
              read_and_call(uhandle,consumer._add_motif_with_info,start = "MOTIF") 
              read_and_call_until(uhandle,consumer.noevent,contains = "sorted by position p-value") 
              read_and_call(uhandle,consumer.motif_name,contains = "sorted by position p-value") 
              read_and_call(uhandle,consumer.noevent,start = "---") 
              read_and_call(uhandle,consumer.noevent,start = "Sequence name") 
              read_and_call(uhandle,consumer.noevent,start = "---") 
              read_and_call_until(uhandle,consumer.add_instance,start = "---") 
              read_and_call_until(uhandle,consumer.noevent,start = "log-odds matrix") 
              read_and_call(uhandle,consumer.noevent) 
              read_and_call_until(uhandle,consumer.add_to_logodds,start = "---") 
              read_and_call_until(uhandle,consumer.noevent,start = "letter-probability matrix") 
              read_and_call(uhandle,consumer.noevent,start = "letter-probability matrix") 
              read_and_call_until(uhandle,consumer.add_to_pssm,start = "---") 
              read_and_call_until(uhandle,consumer.noevent,start = "Time") 
              read_and_call(uhandle,consumer.noevent,start = "Time") 
              read_and_call(uhandle,consumer.noevent,blank = 1) 
              read_and_call(uhandle,consumer.noevent,start = "***") 
              read_and_call_while(uhandle,consumer.noevent,blank = 1) 
              read_and_call(uhandle,consumer.noevent,start = "***") 
              line = safe_peekline(uhandle) 
              if line.startswith("SUMMARY OF MOTIFS"): 
                   break 
              


Clone AbstractionParameter Count: 1Parameter Bindings

class MEMERecord:
  """A class for holding the results of a MEME run.
    
    A MEMERecord is an object that holds the results from running
    MEME. It implements no methods of its own.
        
    """ 

  def __init__(self):
  
    "__init__ (self)" 
    self.motifs = [ ] 
    self.version = "" 
    self.datafile = "" 
    self.command = "" 
    self.alphabet = None 
    self.sequence_names = [ ] 

  def get_motif_by_name(self,name):
  
    for m in self.motifs:
    
      if m.name==name:
      
        return m 
      

class MEMEParser(AbstractParser):
   [[#variable6afd02e0]]

  def __init__(self):
  
    "__init__ (self)" 
    self._scanner = _MEMEScanner( ) 
    self._consumer = _MEMEConsumer( ) 

  def parse(self,handle):
  
    "parse (self, handle)" 
    self._scanner.feed(handle,self._consumer) 
    return self._consumer.data 
  

class _MEMEScanner:
  """Scanner for MEME output. 
    
    Methods:
    feed
        
    """ 

  def feed(self,handle,consumer):
  
    """
        Feeds in MEME output for scanning. handle should
        implement the readline method. consumer is 
        a Consumer object that can receive the salient events.
        """ 
    if isinstance(handle,File.UndoHandle):
    
      uhandle = handle 
    else:
    
      uhandle = File.UndoHandle(handle) 
    self._scan_header(uhandle,consumer) 
    self._scan_motifs(uhandle,consumer) 

  def _scan_header(self,uhandle,consumer):
  
    try :
    
      read_and_call_until(uhandle,consumer.noevent,contains = "MEME version") 
    except ValueError:
    
      raise ValueError("Improper input file. File should contain a line starting MEME version.") 
    read_and_call(uhandle,consumer._version,start = "MEME version") 
    read_and_call_until(uhandle,consumer.noevent,start = "TRAINING SET") 
    read_and_call(uhandle,consumer.noevent,start = "TRAINING SET") 
    read_and_call(uhandle,consumer.noevent,start = "****") 
    read_and_call(uhandle,consumer._datafile,start = "DATAFILE") 
    read_and_call(uhandle,consumer._alphabet,start = "ALPHABET") 
    read_and_call(uhandle,consumer.noevent,start = "Sequence name") 
    read_and_call(uhandle,consumer.noevent,start = "----") 
    read_and_call_until(uhandle,consumer._sequence_name,start = "***") 
    read_and_call_until(uhandle,consumer.noevent,start = "command:") 
    read_and_call(uhandle,consumer._commandline,start = "command:") 
    read_and_call_until(uhandle,consumer.noevent,start = "MOTIF  1") 

  def _scan_motifs(self,uhandle,consumer):
  
    while 1:
    
      read_and_call(uhandle,consumer._add_motif_with_info,start = "MOTIF") 
      read_and_call_until(uhandle,consumer.noevent,contains = "sorted by position p-value") 
      read_and_call(uhandle,consumer.motif_name,contains = "sorted by position p-value") 
      read_and_call(uhandle,consumer.noevent,start = "---") 
      read_and_call(uhandle,consumer.noevent,start = "Sequence name") 
      read_and_call(uhandle,consumer.noevent,start = "---") 
      read_and_call_until(uhandle,consumer.add_instance,start = "---") 
      read_and_call_until(uhandle,consumer.noevent,start = "log-odds matrix") 
      read_and_call(uhandle,consumer.noevent) 
      read_and_call_until(uhandle,consumer.add_to_logodds,start = "---") 
      read_and_call_until(uhandle,consumer.noevent,start = "letter-probability matrix") 
      read_and_call(uhandle,consumer.noevent,start = "letter-probability matrix") 
      read_and_call_until(uhandle,consumer.add_to_pssm,start = "---") 
      read_and_call_until(uhandle,consumer.noevent,start = "Time") 
      read_and_call(uhandle,consumer.noevent,start = "Time") 
      read_and_call(uhandle,consumer.noevent,blank = 1) 
      read_and_call(uhandle,consumer.noevent,start = "***") 
      read_and_call_while(uhandle,consumer.noevent,blank = 1) 
      read_and_call(uhandle,consumer.noevent,start = "***") 
      line = safe_peekline(uhandle) 
      if line.startswith("SUMMARY OF MOTIFS"):
      
        break 
      
 

CloneAbstraction
Parameter Bindings
Parameter
Index
Clone
Instance
Parameter
Name
Value
11[[#6afd02e0]]
'''A parser for the text output of the MEME program.
    Parses the output into an object of the MEMERecord class.
    
    Methods:
    parse (handle): parses the contents of the file handle passed to it.
    
    Example:
    
    >>>f = open("meme.output.txt")
    >>>parser = MEMEParser()
    >>>meme_record = parser.parse(f)
    >>>for motif in meme_record.motifs:
    ...    for instance in motif.instances:
    ...        print instance.motif_name, instance.sequence_name, instance.strand, instance.pvalue
    
    ''' 
12[[#6afd02e0]]
'''A parser for the text output of the MEME program.
    Parses the output into an object of the MEMERecord class.
    
    Methods:
    parse (handle): parses the contents of the file handle passed to it.
    
    Example:
    
    f = open("meme.output.txt")
    parser = MEMEParser()
    meme_record = parser.parse(f)
    for motif in meme_record.motifs:
        for instance in motif.instances:
            print instance.motif_name, instance.sequence_name, instance.strand, instance.pvalue
    
    '''