Splicer Processor Task¶
The Splicer Processor Task, also known as ProcessPDBTask accepts a PDB file and processes it into PGD Protein Models.
Running From the command line¶
- Like all splicer components ProcessPDBTask can be run from the commandline to simplify debugging the task. It requires the follow arguments:
- PDB Code - 4 character alphanumeric code for a protein.
- Threshold - Float
- Resolution - Float
- Rfactor - Float
- Rfree - Float
When debugging only the PDB code need be a real value. The other values are required, but not validated.
Parsing Geometric Properties¶
- Geometric properties must be calculated from raw atom data. BioPython supplies several functions for calculating functions between atom vectors.
These functions require vectors which can be retrieved using Atom.get_vector()
N = residue[‘N’].get_vector() CA = residue[‘CA’].get_vector() C = residue[‘C’].get_vector()
a3 = calc_angle(N,CA,C)
oldCA = prev_residue[‘CA’].get_vector() oldC = prev_residue[‘C’].get_vector() N = residue[‘N’].get_vector() CA = residue[‘CA’].get_vector()
ome = calc_dihedral(oldCA,oldC,N,CA)
Parsing Averaged Properties¶
Several properties are presented as averages across the Main-Chain, *Side-Chain, and Carbon Gamma atoms.
- Main-Chain - atoms N, C-alpha, C, O, OXT
- Side-Chain - all other atoms excluding Main-Chain, C-gamma, and HETs (water)
- Carbon-gamma - also known as C-gamma or Cg. A single atom.
This properties are calculated as the average of an atom level property across the atoms in this group.
Example B-factor: Bm, Bs, Bg¶
""" Other B Averages Bm - Average of bfactors in main chain. Bm - Average of bfactors in side chain. """ main_chain =  side_chain =  for a in res.child_list: if a.name in ('N', 'CA', 'C', 'O','OXT'): main_chain.append(a.get_bfactor()) elif a.name in ('H'): continue else: side_chain.append(a.get_bfactor()) if main_chain != : res_dict['bm'] = sum(main_chain)/len(main_chain) if side_chain != : res_dict['bs'] = sum(side_chain)/len(side_chain)
Parsing Side Chain Properties¶
Side chains are different for each type of atom. They require a map of connections to determine which atoms require angles, lengths, and dihedral angles calculated.
Currently Chi1, Chi2, Chi3, and Chi4*are calculated using a map in *chi.py. Sidechain lengths and angles will be added later, requiring an additional map of connections between atoms.