def analyze_construct(self, filenames=None): self.logger.info("ANALYZING CONSTRUCT STRUCTURES") # read source files if not filenames: filenames = os.listdir(self.construct_data_dir) for filename in filenames: if filename[-3:] != 'pdb' and filename[-3:] != 'ent': continue root, ext = os.path.splitext(os.path.basename(filename)) print(filename) print(root) filepath = os.sep.join([self.construct_data_dir, filename]) self.logger.info("Working on a file: {}".format(filename)) header = parse_pdb_header(filepath) parser = SequenceParser(filepath) json_data = OrderedDict() json_data["header"] = header json_data.update(parser.get_fusions()) json_data.update(parser.get_mutations()) json_data.update(parser.get_deletions()) json.dump(json_data, open( os.sep.join( [settings.DATA_DIR, "{}_auto.json".format(root)]), 'w'), indent=4, separators=(',', ': '))
def handle(self, *args, **options): print("Working on file {}".format(options['pdb_file'])) header = parse_pdb_header(options['pdb_file']) print(header['compound']) sp = SequenceParser(options['pdb_file']) c = list(sp.mapping.keys())[0] poly = sp.get_chain_peptides(c) for peptide in poly: print("Start: {} Stop: {} Len: {}".format(peptide[0].id[1], peptide[-1].id[1], len(peptide))) sp.map_to_wt_blast(c, peptide, None, int(peptide[0].id[1])) sp.map_seqres() sp.save_excel_report("test.xlsx") #sp.get_report()
def post(self, request): # root, ext = os.path.splitext(request._request.FILES['pdb_file'].name) pdb_file = StringIO( request._request.FILES['pdb_file'].file.read().decode( 'UTF-8', "ignore")) header = parse_pdb_header(pdb_file) parser = SequenceParser(pdb_file) json_data = OrderedDict() json_data["header"] = header json_data.update(parser.get_fusions()) json_data.update(parser.get_mutations()) json_data.update(parser.get_deletions()) return Response(json_data)
def handle(self, *args, **options): q = QueryPDB() q.list_xtals(verbose=False) for record in q.new_structures: pdb_code = record[0] wt_id = Protein.objects.get(entry_name=record[1]).id if not os.path.exists( os.sep.join([self.pdb_data_dir, "{}.pdb".format(pdb_code) ])): self.download_pdb(pdb_code) self.parser = SequenceParser(os.sep.join( [self.pdb_data_dir, "{}.pdb".format(pdb_code)]), wt_protein_id=wt_id) header = parse_pdb_header( os.sep.join([self.pdb_data_dir, "{}.pdb".format(pdb_code)])) self.create_yaml(pdb_code, record[1], header)
def handle(self, *args, **options): root, ext = os.path.splitext(os.path.basename(options['pdb_file'])) print("Working on file {}".format(options['pdb_file'])) header = parse_pdb_header(options['pdb_file']) sp = SequenceParser(options['pdb_file']) print(sp.get_fusions()) print(sp.get_mutations()) print(sp.get_deletions()) json_data = {} json_data["header"] = header json_data.update(sp.get_fusions()) json_data.update(sp.get_mutations()) json_data.update(sp.get_deletions()) json.dump( json_data, open(os.sep.join([settings.DATA_DIR, "{}_auto.json".format(root)]), 'w'), indent=4, separators=(',', ': '))