Beispiel #1
0
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
Beispiel #2
0
    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
Beispiel #3
0
    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