App-Mimosa

 view release on metacpan or  search on metacpan

MANIFEST  view on Meta::CPAN

t/006_model_BCS.t
t/007_schema.t
t/009_download_raw.t
t/010_post_index.t
t/010_submit_invalid.t
t/011_config_min_seq_length.t
t/012_config_temp_dir.t
t/013_grid_json.t
t/014_submit_multiple_sequence_sets.t
t/015_mimosa_database.t
t/016_validate.t
t/017_config_default_seq.t
t/018_chado.t
t/020_auth.t
t/025_sequence_api.t
t/026_abs_path_data_dir.t
t/030_download_html_report.t
t/099_pod.t
t/100_podcoverage.t
t/data/.gitignore
t/data/archaeopteryx_protein.seq

MANIFEST.bak  view on Meta::CPAN

App-Mimosa-0.01/t/002_basic_routes.t
App-Mimosa-0.01/t/003_aligner.t
App-Mimosa-0.01/t/005_submit_route.t
App-Mimosa-0.01/t/007_schema.t
App-Mimosa-0.01/t/009_download_raw.t
App-Mimosa-0.01/t/010_post_index.t
App-Mimosa-0.01/t/012_config_temp_dir.t
App-Mimosa-0.01/t/013_grid_json.t
App-Mimosa-0.01/t/014_submit_multiple_sequence_sets.t
App-Mimosa-0.01/t/015_mimosa_database.t
App-Mimosa-0.01/t/016_validate.t
App-Mimosa-0.01/t/017_config_default_seq.t
App-Mimosa-0.01/t/018_chado.t
App-Mimosa-0.01/t/020_auth.t
App-Mimosa-0.01/t/025_sequence_api.t
App-Mimosa-0.01/t/026_abs_path_data_dir.t
App-Mimosa-0.01/t/030_download_html_report.t
App-Mimosa-0.01/t/099_pod.t
App-Mimosa-0.01/t/data/blastdb_test.nucleotide.seq
App-Mimosa-0.01/t/data/config.yml
App-Mimosa-0.01/t/data/extra/cyclops.fasta

MANIFEST.bak  view on Meta::CPAN

t/006_model_BCS.t
t/007_schema.t
t/009_download_raw.t
t/010_post_index.t
t/010_submit_invalid.t
t/011_config_min_seq_length.t
t/012_config_temp_dir.t
t/013_grid_json.t
t/014_submit_multiple_sequence_sets.t
t/015_mimosa_database.t
t/016_validate.t
t/017_config_default_seq.t
t/018_chado.t
t/020_auth.t
t/025_sequence_api.t
t/026_abs_path_data_dir.t
t/030_download_html_report.t
t/099_pod.t
t/100_podcoverage.t
t/data/.gitignore
t/data/archaeopteryx_protein.seq

lib/App/Mimosa/Controller/Root.pm  view on Meta::CPAN


sub _temp_file {
    my $self = shift;
    my $tmp_base = dir( $self->_app->config->{tmp_dir} );
    $tmp_base->mkpath unless -d $tmp_base;
    my $file = $tmp_base->file( @_ );

    return "$file";
}

sub validate : Private {
    my ( $self, $c ) = @_;

    if( $c->req->param('program') eq 'none' ) {
        $c->stash->{error} = "You must select a BLAST program to generate your report with.";
        $c->detach('/input_error');
    }

    my $min_length = $self->_app->config->{min_sequence_input_length};
    my $program    = $c->req->param('program');

lib/App/Mimosa/Controller/Root.pm  view on Meta::CPAN

        -format   => 'fasta',
        -file     => $c->stash->{input_file},
    );
    while ( my $s = $i->next_seq ) {
        unless (length($s->seq()) >= $min_length) {
            $c->stash->{error} = "Sequence input too short. Must have a length of at least $min_length";
            $c->detach('/input_error');
        }
        $c->stash->{sequence} = $s;
        $c->stash->{program}  = $program;
        $c->forward('validate_sequence');
    }
}

sub validate_sequence : Private {
    my ($self, $c) = @_;
    my $sequence = $c->stash->{sequence};
    my $program  = $c->stash->{program};

    try {
        $sequence->validate_seq();
    } catch {
        $c->stash->{error} = "Sequence is not a valid BioPerl sequence";
        $c->detach('/input_error');
    };

    unless ($program) {
        $c->stash->{error} = "Invalid program";
        $c->detach('/input_error');
    }

    my %validate   = (
        blastn  => qr/^([ACGTURYKMSWBDHVN]+)$/i,
        tblastx => qr/^([GAVLIPFYCMHKRWSTDENQBZ\.X\*]+)$/i,
        tblastn => qr/^([GAVLIPFYCMHKRWSTDENQBZ\.X\*]+)$/i,
    );
    my $seq = $sequence->seq();
    unless ($seq =~ $validate{$program}){
        my $encseq = encode_entities($seq);
        $c->stash->{error} = "Sequence $encseq contains illegal characters for $program";
        $c->detach('/input_error');
    }

}

sub compose_sequence_sets : Private {
    my ( $self, $c) = @_;
    my (@ss_ids)       = sort @{ $c->stash->{sequence_set_ids} };

lib/App/Mimosa/Controller/Root.pm  view on Meta::CPAN

    write_file $input_file, $sequence;

    # we create a file to keep track of what kind raw report format is being generated,
    # so later on we can tell Bio::SearchIO which format to parse

    $c->stash->{report_format} = $alignment_view;

    # prevent race conditions
    stat $input_file;

    $c->forward('validate');

    my @ss_ids;

    if ($ids =~ m/,/){
        (@ss_ids) = split /,/, $ids;
    } else {
        @ss_ids = ($ids);
    }
    $c->stash->{sequence_set_ids} = [ @ss_ids ];
    my $db_basename;

root/js/ext-3.3.1/ext-all.js  view on Meta::CPAN

/*
 * Ext JS Library 3.3.1
 * Copyright(c) 2006-2010 Sencha Inc.
 * licensing@sencha.com
 * http://www.sencha.com/license
 */
(function(){var h=Ext.util,k=Ext.each,g=true,i=false;h.Observable=function(){var l=this,m=l.events;if(l.listeners){l.on(l.listeners);delete l.listeners}l.events=m||{}};h.Observable.prototype={filterOptRe:/^(?:scope|delay|buffer|single)$/,fireEvent:fu...
/* SWFObject v2.2 <http://code.google.com/p/swfobject/> 
    is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 
*/
var swfobject=function(){var F="undefined",t="object",U="Shockwave Flash",Y="ShockwaveFlash.ShockwaveFlash",s="application/x-shockwave-flash",T="SWFObjectExprInst",z="onreadystatechange",Q=window,l=document,v=navigator,V=false,W=[i],q=[],P=[],K=[],n,...



( run in 0.260 second using v1.01-cache-2.11-cpan-4d50c553e7e )