123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- import pdb
- import atom
- import sys
- from structure import *
- from atom import *
-
- def print_dssp():
-
- empt_line=" " * 145
-
- if(len(sys.argv)<2):
- print("Not enough arguments! Run with --help to learn more about proper"
- "call structure and parameters.")
- else:
- pdb_file = pdb.PDBFile(sys.argv[1])
-
- #turns = get_turns(pdb_file.residues)
- #get_helix(pdb_file.residues, turns)
- #get_bends(pdb_file.residues)
- # get_chirality(pdb_file.residues)
-
-
- # print("NBRIDGES",len(bridges))
-
- # bridges = get_bridges(pdb_file.residues)
-
- # get_bonds(pdb_file.residues)
-
-
- # e_min = 0
- # for res in residues:
- # ene = residues[1].h_bond(res)
- # if ene <= e_min:
- # e_min = ene
- # best_res = res
- #print(residues[1].resid, best_res.resid,e_min)
-
- #get_phi_psi(residues)
- #print(residues[2].atoms, residues[0].resid, residues[1].resid)
- #print(get_TCO(residues[2],residues[3]))
-
-
- # for i,ladder in enumerate(ladders.values()):
- # print(chr(65+i))
-
- # for ind, sheet in sheets.items():
- # print(ind, sheet)
- # for ladder in sheet:
- # print(ladder['start'], ladder['end'])
-
-
- ################### OUTPUT ####################
- # print DSSP-style formatted header of PDB file
- for elem in pdb_file.get_header() :
- print(pdb_file.get_header()[elem], end="")
-
- # Get preliminary data for print loop
- residues = pdb_file.residues
- bridges = get_bridges(residues)
- ladders = get_ladders(bridges, residues)
- sheets = get_sheets(ladders)
- helix = build_helix_patterns(residues)
- # iterating over residues
-
-
- for i,res in enumerate(residues):
- #res.get_turns(residues, turns)
- kappa = res.get_bends(residues)[0]
- bend_symbol = res.get_bends(residues)[1]
- t_co = res.get_tco(residues)
- alpha = res.get_chirality(residues)[0]
- chirality = res.get_chirality(residues)[1]
- phi = res.get_phi_psi(residues)[0]
- psi = res.get_phi_psi(residues)[1]
- x_ca = res.atoms["CA"].coord_x
- y_ca = res.atoms["CA"].coord_y
- z_ca = res.atoms["CA"].coord_z
- turns = build_turns_patterns(residues)
- turn_3 = print_turn_pattern(residues, res, turns[0])
- turn_4 = print_turn_pattern(residues, res, turns[1])
- turn_5 = print_turn_pattern(residues, res, turns[2])
- helix_3 = print_helix_pattern(residues, res, helix[0])
- helix_4 = print_helix_pattern(residues, res, helix[1])
- helix_5 = print_helix_pattern(residues, res, helix[2])
- if i in bridges.keys():
- bp1 = bridges[i].j
- else:
- bp1 = 0
- print(i+1, res.resid, res.chain_id, res.res_letter, helix_3, helix_4, helix_5, turn_3, turn_4, turn_5, bend_symbol, chirality, bp1,round(t_co, 3), round(kappa,1),
- round(alpha, 1), round(phi, 1), round(psi,1), round(x_ca,1), round(y_ca,1), round(z_ca,1))
-
-
- for ladd1 in ladders:
- ladd_1 = ladders[ladd1]
- for ladd2 in ladders:
- ladd_2 = ladders[ladd2]
- for bridge in ladd_1['bridges']:
- if bridge.j in res_list(ladd_2):
- print("ladder", ladd_1['i'],"-",ladd_1['j'], "|", bridge.i, "...", bridge.j, "| ladder", ladd_2['i'], ladd_2['j'])
-
- # for ind, sheet in sheets.items():
- # print(ind, sheet)
- # for ladder in sheet:
- # print(ladder['start'], ladder['end'])
|