def load_custom_reference(reference, format='fasta', region=None): '''Load a custom reference''' if region is not None: format = 'gb' record = SeqIO.read(get_custom_reference_filename(reference, format=format), format) # BUG: feature id is lost during write, fake it with the 'note' qualifier if format in ['gb' , 'genbank']: correct_genbank_features_load(record) if region is not None: for feature in record.features: if feature.id == region: return feature.extract(record) return record
def get_reference(self, region, format='fasta'): '''Get the reference for a genomic region''' from Bio import SeqIO fragments = ['F' + str(i) for i in xrange(1, 7)] + ['genomewide'] if region in fragments: fragment = region else: (fragment, start, end) = self.get_fragmented_roi( (region, 0, '+oo'), include_genomewide=True) refseq = SeqIO.read( self.get_reference_filename(fragment, format=format), format) if format in ('gb', 'genbank'): from hivwholeseq.utils.sequence import correct_genbank_features_load correct_genbank_features_load(refseq) if region not in fragments: refseq = refseq[start:end] return refseq
def get_reference(self, region, format='fasta'): '''Get the reference for a genomic region''' from Bio import SeqIO fragments = ['F'+str(i) for i in xrange(1, 7)] + ['genomewide'] if region in fragments: fragment = region else: (fragment, start, end) = self.get_fragmented_roi((region, 0, '+oo'), include_genomewide=True) refseq = SeqIO.read(self.get_reference_filename(fragment, format=format), format) if format in ('gb', 'genbank'): from hivwholeseq.utils.sequence import correct_genbank_features_load correct_genbank_features_load(refseq) if region not in fragments: refseq = refseq[start: end] return refseq