Beispiel #1
0
 def sequence(self, per_exon=False):
     """
     if per-exon is True, return an array of exon sequences
     NOTE: this is never reverse-complemented. TODO??
     """
     db = self.db
     if not per_exon:
         start = self.txStart + 1
         return _sequence(db, self.chrom, start, self.txEnd)
     else:
         # TODO: use same strategy as cds_sequence to reduce # of requests.
         seqs = []
         for start, end in self.exons:
             seqs.append(_sequence(db, self.chrom, start + 1, end))
         return seqs
Beispiel #2
0
 def sequence(self, per_exon=False):
     """
     if per-exon is True, return an array of exon sequences
     NOTE: this is never reverse-complemented. TODO??
     """
     db = self.db
     if not per_exon:
         start = self.txStart + 1
         return _sequence(db, self.chrom, start, self.txEnd)
     else:
         # TODO: use same strategy as cds_sequence to reduce # of requests.
         seqs = []
         for start, end in self.exons:
             seqs.append(_sequence(db, self.chrom, start + 1, end))
         return seqs
Beispiel #3
0
 def cds_sequence(self):
     seqs = []
     cds = self.cds
     # grab all the sequences at once to reduce number of requests.
     all_seq = _sequence(self.db, self.chrom, cds[0][0] + 1, cds[-1][1])
     lowest = cds[0][0]
     cds0 = [(s - lowest, e - lowest) for s, e in cds]
     for cstart, cend in cds0:
         seqs.append(all_seq[cstart:cend])
     return seqs
Beispiel #4
0
 def _cds_sequence(self, cds):
     seqs = []
     if len(cds) == 0: return []
     # grab all the sequences at once to reduce number of requests.
     all_seq = _sequence(self.db, self.chrom, cds[0][0] + 1, cds[-1][1])
     if len(cds) == 1:
         return all_seq
     lowest = cds[0][0]
     cds0 = [(s - lowest, e - lowest) for s, e in cds]
     for cstart, cend in cds0:
         seqs.append(all_seq[cstart:cend])
     return seqs
Beispiel #5
0
 def _cds_sequence(self, cds):
     seqs = []
     if len(cds) == 0: return []
     # grab all the sequences at once to reduce number of requests.
     all_seq = _sequence(self.db, self.chrom, cds[0][0] + 1, cds[-1][1])
     if len(cds) == 1:
         return all_seq
     lowest = cds[0][0]
     cds0 = [(s - lowest, e - lowest) for s, e in cds]
     for cstart, cend in cds0:
         seqs.append(all_seq[cstart:cend])
     return seqs