Changeset 261

Show
Ignore:
Timestamp:
12/19/07 02:57:38 (1 year ago)
Author:
t
Message:

start of a server-side motif library/searching interface

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/cartwheel-server/data-model/load-website.sql

    r4 r261  
    2828-- access log 
    2929\i website/access-log.sql 
     30 
     31-- motifs 
     32\i website/motifs.sql 
  • trunk/cartwheel-server/lib/cartwheel/dsl.py

    r73 r261  
    9797 
    9898    return group.id 
     99 
     100def add_iupac_motif(folder_id, name, motif_string, mismatches=0): 
     101    from cartwheel.website.IUPACMotif import IUPACMotif 
     102 
     103    m = _get_object_manager() 
     104    folder = m.load(folder_id, LeafFolder) 
     105 
     106    motif = m.create(IUPACMotif, name=name, 
     107                     motif=str(motif_string), 
     108                     mismatches=int(mismatches)) 
     109 
     110    return motif.id 
  • trunk/cartwheel-server/lib/cartwheel/website/LeafFolder.py

    r4 r261  
    4545 
    4646    def is_empty(self): 
    47         if len(self.get_sequences()) or len(self.get_analysis_groups()): 
     47        if len(self.get_sequences()) or len(self.get_analysis_groups()) or \ 
     48               len(self.get_motifs()): 
    4849            return 0 
    4950 
     
    5253    def get_printable_type(self): 
    5354        return "analysis folder" 
     55 
     56    def get_motifs(self): 
     57        from cartwheel.website.NamedMotif import NamedMotif 
     58         
     59        m = self.manager 
     60 
     61        limits = [] 
     62#        limits = ['folder_id = %d' % (self.id,), 'visible'] 
     63             
     64        c = m.createCatalog(NamedMotif, limits, 
     65                            "ORDER BY UPPER(named_motifs.name)") 
     66 
     67        return c 
    5468 
    5569    # 
  • trunk/cartwheel-server/website/canal/folder/leaf.py

    r4 r261  
    1313import canal.group 
    1414import canal.sequence 
     15import canal.motif 
    1516 
    1617from handler import BaseFolderHandler 
     
    3738        self.group = canal.group              # URLs ./group/ go here! 
    3839        self.sequence = canal.sequence        # URLs ./sequence/ go here! 
    39  
     40        self.motif = canal.motif              # URLs ./motif/ go here! 
     41 
     42        self._q_exports = list(self._q_exports) 
    4043        self._q_exports.extend(['group',                    # view group 
    4144                                'sequence',                 # list sequences 
     45                                'motif',                    # motif management 
    4246                                'search_folder'])           # seach folders 
    4347    # __init__ 
     
    127131<p> 
    128132 <a href="sequence/">manage sequences</a> | 
     133 <a href="motif/">manage motifs</a> | 
    129134 <a href="group/create">create an analysis group</a> 
    130135<p>