Esempio n. 1
0
File: job.py Progetto: ajm/glutton
    def _run(self) :
        global DEBUG

        self.query_fname = tmpfasta(self.queries)
        self.out_fname = tmpfile()

        result = self.blastx.run(self.query_fname, self.database, self.out_fname)

        q = dict([ (q.id, len(q)) for q in self.input ])

        if DEBUG :
            for br in self.results :
                threadsafe_io('blastx_stats.txt', "%s %s %.3f %d %d %d %d %d %.3e %d %.3f" % \
                                                                          (br.qseqid, 
                                                                           br.sseqid, 
                                                                           br.pident, 
                                                                           br.length, 
                                                                           br.qstart,
                                                                           br.qend,
                                                                           br.sstart,
                                                                           br.send,
                                                                           br.evalue,
                                                                           q[br.qseqid],
                                                                           ((br.pident / 100.0) * (max(br.qstart, br.qend) - min(br.qstart, br.qend))) / float(q[br.qseqid])))

        return result
Esempio n. 2
0
File: job.py Progetto: ajm/glutton
    def _run(self) :
        global DEBUG

        self.query_fname     = tmpfasta_orfs(self._queries, strand=True)
        #self.query_fname     = tmpfasta(self._queries)
        self.out_fname       = tmpfile()
        self.alignment_fname = tmpfasta(self._alignment) # tmpfasta_kill_n(self._alignment)
        
        self.tree_fname = tmpfile(self._tree) if self._tree else None
        
        
        start_time = time.time()
        
        result = self.pagan.run(self.query_fname, 
                                self.out_fname, 
                                self.alignment_fname, 
                                self.tree_fname,
                                self.identity,
                                self.overlap)
        
        elapsed_time = time.time() - start_time
        q_count, q_sum, q_min, q_max, q_mean, q_sd = fasta_stats(self.query_fname)
        a_count, a_sum, a_min, a_max, a_mean, a_sd = fasta_stats(self.alignment_fname)

        if DEBUG :
            threadsafe_io('pagan_stats.txt', "%s %d %d %d %d %d %.3f %.3f %d %d %d %d %.3f %.3f %d" % \
                                            (self._genefamily, result, \
                                             q_count, q_sum, q_min, q_max, q_mean, q_sd, \
                                             a_count, a_sum, a_min, a_max, a_mean, a_sd, \
                                             elapsed_time))
        
        return result
Esempio n. 3
0
File: job.py Progetto: ajm/glutton
    def _run(self) :
        global DEBUG

        self.infile = tmpfasta(self.sequences)
        start_time = time.time()

        result = self.prank.run(self.infile, self.infile)

        elapsed_time = time.time() - start_time
        q_count, q_sum, q_min, q_max, q_mean, q_sd = fasta_stats(self.infile)

        if DEBUG :
            threadsafe_io('prank_stats.txt', "%d %d %d %d %d %.3f %.3f %d" % \
                                            (result, \
                                             q_count, q_sum, q_min, q_max, q_mean, q_sd, \
                                             elapsed_time))

        return result