def get_fasta_object(self, pdb_id, acceptable_sequence_percentage_match = 90.0): self.log_lookup('FASTA object {0}'.format(pdb_id)) pdb_id = pdb_id.upper() if not self.fasta_objects.get(pdb_id): if not self.fasta_contents.get(pdb_id): if self.cache_dir: self.add_fasta_contents(pdb_id, download_fasta(pdb_id, self.cache_dir, silent = True)) else: self.add_fasta_contents(pdb_id, retrieve_fasta(pdb_id, silent = True)) self.add_fasta_object(pdb_id, FASTA.retrieve(pdb_id, cache_dir = self.cache_dir, bio_cache = self)) return self.fasta_objects[pdb_id]