Bio-MUST-Apps-FortyTwo

 view release on metacpan or  search on metacpan

lib/Bio/MUST/Apps/FortyTwo/OrgProcessor.pm  view on Meta::CPAN

    my $parser = $blastdb->blast($orthologous_seqs, $args);
    ##### [ORG] XML BLASTX (or BLASTP/N): 'TOL ' . $parser->filename

    # abort if no hit
    my $bo = $parser->blast_output;
    return unless $bo;

    my %tol_score_for;

    ORTHOLOGUE:
    for my $orthologue ($bo->all_iterations) {
        next ORTHOLOGUE unless $orthologue->count_hits;
        # Note: this should never happen...

        my $query_def = $orthologue->query_def;
        my $transcript_acc = $orthologous_seqs->long_id_for($query_def);
        ######## [DEBUG] orthologue: $transcript_acc

        TOL_HIT:
        for my $hit ($orthologue->all_hits) {

lib/Bio/MUST/Apps/FortyTwo/OrgProcessor.pm  view on Meta::CPAN

    my $parser = $blastdb->blast($orthologous_seqs, $args);
    ##### [ORG] XML BLASTX (or BLASTP/N): $parser->filename

    my $aligned_seqs = Ali->new();

    # abort if no hit
    my $bo = $parser->blast_output;
    return $aligned_seqs unless $bo;

    ORTHOLOGUE:
    for my $orthologue ($bo->all_iterations) {
        unless ($orthologue->count_hits) {
            ###### [ORG] skipped orthologue due to lack of significant template
            next ORTHOLOGUE;
        }   # TODO: investigate why this should happen at all...

        # fetch tax_line from orthologue
        # Note: .para check is also done in this sub (hence the next below)
        my $tax_line = $self->_fetch_tax_line_for_transcript($orthologue);
        next ORTHOLOGUE unless $tax_line;

lib/Bio/MUST/Apps/Leel/OrgProcessor.pm  view on Meta::CPAN

        my $parser = $blastdb->tblastn($self->protein_seqs, $args);
        ###### [ORG] XML TBLASTN: $bank . q{ } . $parser->filename
        my $bo = $parser->blast_output;

        # collect transcript ids and ranges covered by proteins
        # tie might help making 1331 completely deterministic
        tie my %mask_for, 'Tie::IxHash';
        my %hit_for;

        PROTEIN:
        for my $protein ($bo->all_iterations) {

            # get protein accession
            my $protein_acc = $self->accession_for( $protein->query_def );

            TRANSCRIPT:
            for my $transcript ($protein->all_hits) {

                # get (corresponding?) transcript accession
                my @fields = split /\|/xms, $transcript->id;
                my $transcript_acc = pop @fields;



( run in 1.168 second using v1.01-cache-2.11-cpan-96521ef73a4 )