Home - this site is powered by TWiki(R)
JBrowse > WishList > FeatureUploadDesign
TWiki webs: Main | TWiki | Sandbox   Log In or Register

Changes | Index | Search | Go
based on FeatureUploadRequirements

Browser has "upload" button

User clicks on upload button, gets page with:

  • track name field
  • file input field (for choosing a file to upload from the local filesystem)
  • URL field (for getting data from a URL)
  • submit button

User clicks submit button, upload script on server:

  • checks validity (possibly future)
  • checks if user has uploaded features for this track before
    • how does server know who the user is? do we, by any happy chance, have an authentication mechanism already in place? IH

if file is not valid, user gets an error page explaining the problem

  • future: for common problems, provide automatic means for fixing them, if possible. The error page could have things like:
    • a "generate unique IDs" button
    • a "ignore problem rows" button

if user has uploaded features for this track before, user gets a page giving them the choice to:

  • merge new data with existing data
    • ID collisions--replace current record or barf?
  • delete old data and replace with new data
    • removes all data uploaded by this user for this track
      • for all reference seqs, or just the ones in the current upload file?

Once problems are resolved and choices made, upload script:

  • renders tiles

interface between upload code and feature store:

overlaps

 Title   : overlaps
 Usage   : $overlaps = $s->overlaps($featSource, $user, $trackName)
 Function: indicates whether or not uploaded features overlap 
           with previously uploaded features
 Returns : true if the upload contains features on a reference
           sequence and track that this user has previously uploaded to
 Args    : $featSource - feature source (e.g., GFF file)
           $user - user performing the upload
           $trackName - name of the track
 Status  : Public

storeFeatures

 Title   : storeFeatures
 Usage   : $s->storeFeatures($featSource, $user, $trackName, $merge)
 Function: saves the features from the given source
 Returns : 
 Args    : $featSource - feature source (e.g., GFF file)
           $user - user performing the upload
           $trackName - name of the track
           $merge - true to combine this upload with existing
                    features from this user/track, false to
                    delete existing features for this user/track
 Status  : Public

getFeatures

 Title   : getFeatures
 Usage   : @features = $s->getFeatures($user, $trackName, $reference)
 Function: gets features for a particular user/track/refseq combination
 Returns : 
 Args    : $user - user who uploaded the features
           $trackName - name of the track
           $reference - reference sequence that features are on
 Status  : Public

getUploads

 Title   : getUploads
 Usage   : @uploads = $s->getUploads($reference)
 Function: gets all of the uploads against the given refseq
 Returns : a list of [$user, $trackName] pairs
 Args    : $reference - reference sequence that features are on
 Status  : Public
-- MitchSkinner - 22 Mar 2007
Edit | Attach | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions


Parents: WishList
This site is powered by the TWiki collaboration platformCopyright © 2008-2014 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
TWiki Appliance - Powered by TurnKey Linux