Next changeset 1:cc1d22357daf (2018-12-20) |
Commit message:
planemo upload for repository https://github.com/galaxycomputationalchemistry/galaxy-tools-compchem/ commit c32fe331f438df7760084b27bafad9f78f01edde |
added:
angle.py dihedrals.py dihedrals.xml distance.py macros.xml rdf.py test-data/Angle_Analysis_Plot.png test-data/Angle_Analysis_raw_data.csv test-data/Dihedral_Analysis_Plot.png test-data/Dihedral_analysis_raw_data.csv test-data/Distance_Analysis_Plot.png test-data/Distance_Analysis_raw_data.csv test-data/RDF_Analysis_Plot.png test-data/RDF_raw_data.csv test-data/Ramachandran_Plot.png test-data/test.dcd test-data/test.pdb |
b |
diff -r 000000000000 -r f95d4348ed7c angle.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/angle.py Mon Oct 08 13:16:46 2018 -0400 |
[ |
@@ -0,0 +1,72 @@ +#!/usr/bin/env python + +import argparse +import csv +import sys + +import MDAnalysis as mda + +import matplotlib +import matplotlib.pyplot as plt + +import numpy as np +from numpy.linalg import norm + +matplotlib.use('Agg') + + +def parse_command_line(argv): + parser = argparse.ArgumentParser() + parser.add_argument('--idcd', help='input dcd') + parser.add_argument('--ipdb', help='input pdb') + parser.add_argument('--isegid1', help='segid 1') + parser.add_argument('--iresid1', help='resid 1') + parser.add_argument('--iname1', help='name 1') + parser.add_argument('--isegid2', help='segid 2') + parser.add_argument('--iresid2', help='resid 2') + parser.add_argument('--iname2', help='name 2') + parser.add_argument('--isegid3', help='segid 3') + parser.add_argument('--iresid3', help='resid 3') + parser.add_argument('--iname3', help='name 3') + parser.add_argument('--output', help='output') + parser.add_argument('--oangle_plot', help='angle plot') + return parser.parse_args() + + +args = parse_command_line(sys.argv) + +atom1 = "(segid %s and resid %s and name %s)" % \ + (args.isegid1, args.iresid1, args.iname1) +atom2 = "(segid %s and resid %s and name %s)" % \ + (args.isegid2, args.iresid2, args.iname2) +atom3 = "(segid %s and resid %s and name %s)" % \ + (args.isegid3, args.iresid3, args.iname3) + + +def theta(u): + A = u.select_atoms(atom1).center_of_geometry() + B = u.select_atoms(atom2).center_of_geometry() + C = u.select_atoms(atom3).center_of_geometry() + BA = A - B + BC = C - B + theta = np.arccos(np.dot(BA, BC)/(norm(BA)*norm(BC))) + return np.rad2deg(theta) + + +u = mda.Universe(args.ipdb, args.idcd, topology_format="PDB", format="DCD") +data = np.array([(u.trajectory.frame, theta(u)) for ts in u.trajectory]) +frame, theta = data.T + +with open(args.output, 'w') as f: + writer = csv.writer(f, delimiter='\t') + writer.writerows(zip(frame, theta)) + +with open(args.output) as f: + g = [xtmp.strip() for xtmp in f] + data = [tuple(map(float, xtmp.split())) for xtmp in g[0:]] + time = [xtmp[0] for xtmp in data] + angle = [xtmp[1] for xtmp in data] + plt.plot(time, angle) + plt.xlabel('Frame No.') + plt.ylabel('Angle (degrees)') + plt.savefig(args.oangle_plot, format='png') |
b |
diff -r 000000000000 -r f95d4348ed7c dihedrals.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dihedrals.py Mon Oct 08 13:16:46 2018 -0400 |
[ |
@@ -0,0 +1,78 @@ +#!/usr/bin/env python + +import argparse +import csv +import sys + +import MDAnalysis as mda +from MDAnalysis.lib.distances import calc_dihedrals + +import matplotlib +import matplotlib.pyplot as plt + +import numpy as np + +matplotlib.use('Agg') + + +def parse_command_line(argv): + parser = argparse.ArgumentParser() + parser.add_argument('--idcd', help='input dcd') + parser.add_argument('--ipdb', help='input pdb') + parser.add_argument('--isegid1', help='segid 1') + parser.add_argument('--iresid1', help='resid 1') + parser.add_argument('--iname1', help='name 1') + parser.add_argument('--isegid2', help='segid 2') + parser.add_argument('--iresid2', help='resid 2') + parser.add_argument('--iname2', help='name 2') + parser.add_argument('--isegid3', help='segid 3') + parser.add_argument('--iresid3', help='resid 3') + parser.add_argument('--iname3', help='name 3') + parser.add_argument('--isegid4', help='segid 4') + parser.add_argument('--iresid4', help='resid 4') + parser.add_argument('--iname4', help='name 4') + parser.add_argument('--output', help='output') + parser.add_argument('--odihedral_plot', help='dihedral plot') + return parser.parse_args() + + +args = parse_command_line(sys.argv) + +atom1 = "(segid %s and resid %s and name %s)" % \ + (args.isegid1, args.iresid1, args.iname1) +atom2 = "(segid %s and resid %s and name %s)" % \ + (args.isegid2, args.iresid2, args.iname2) +atom3 = "(segid %s and resid %s and name %s)" % \ + (args.isegid3, args.iresid3, args.iname3) +atom4 = "(segid %s and resid %s and name %s)" % \ + (args.isegid4, args.iresid4, args.iname4) + + +def psi(u): + A = u.select_atoms(atom1).positions + B = u.select_atoms(atom2).positions + C = u.select_atoms(atom3).positions + D = u.select_atoms(atom4).positions + psi = calc_dihedrals(A, B, C, D) + return np.rad2deg(psi) + + +u = mda.Universe(args.ipdb, args.idcd, topology_format="PDB", format="DCD") +data = np.array([(u.trajectory.frame, psi(u)) for ts in u.trajectory]) +frame, psi = data.T + +zip(frame, psi) + +with open(args.output, 'w') as f: + writer = csv.writer(f, delimiter='\t') + writer.writerows(zip(frame, psi)) + +with open(args.output) as f: + g = [xtmp.strip() for xtmp in f] + data = [tuple(map(float, xtmp.split())) for xtmp in g[0:]] + time = [xtmp[0] for xtmp in data] + dihedral = [xtmp[1] for xtmp in data] + plt.plot(time, dihedral) + plt.xlabel('Frame No.') + plt.ylabel('Dihedral (degrees)') + plt.savefig(args.odihedral_plot, format='png') |
b |
diff -r 000000000000 -r f95d4348ed7c dihedrals.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dihedrals.xml Mon Oct 08 13:16:46 2018 -0400 |
[ |
@@ -0,0 +1,99 @@ +<tool id="mdanalysis_dihedral" name="Dihedral Analysis" version="@VERSION@"> + <description>Time series of dihedrals</description> + <macros> + <import>macros.xml</import> + </macros> + <expand macro="requirements" /> + <command detect_errors="exit_code"> +<![CDATA[ + python '$__tool_directory__/dihedrals.py' + --idcd '$dcdin' + --ipdb '$pdbin' + --isegid1 '$segid1' + --iresid1 '$resid1' + --iname1 '$name1' + --isegid2 '$segid2' + --iresid2 '$resid2' + --iname2 '$name2' + --isegid3 '$segid3' + --iresid3 '$resid3' + --iname3 '$name3' + --isegid4 '$segid4' + --iresid4 '$resid4' + --iname4 '$name4' + --output '$output' + --odihedral_plot '$dihedral_plot' + 2>&1 +]]></command> + <inputs> + <expand macro="analysis_inputs"/> + <param name="segid1" type="text" value="PRO" label="Segid of atom 1"/> + <param name="resid1" type="text" value="212" label="Resid of atom 1"/> + <param name="name1" type="text" value="OE2" label="Atom name of atom 1"/> + <param name="segid2" type="text" value="HET" label="Segid of atom 2"/> + <param name="resid2" type="text" value="3" label="Resid of atom 2"/> + <param name="name2" type="text" value="C1" label="Atom name of atom 2"/> + <param name="segid3" type="text" value="HET" label="Segid of atom 3"/> + <param name="resid3" type="text" value="3" label="Resid of atom 3"/> + <param name="name3" type="text" value="C2" label="Atom name of atom 3"/> + <param name="segid4" type="text" value="HET" label="Segid of atom 4"/> + <param name="resid4" type="text" value="3" label="Resid of atom 4"/> + <param name="name4" type="text" value="C3" label="Atom name of atom 4"/> + </inputs> + <outputs> + <data format="tabular" name="output" label="Dihedral analysis raw data"/> + <data format="png" name="dihedral_plot" label="Dihedral Analysis Plot"/> + </outputs> + <tests> + <test> + <expand macro="tests_inputs"/> + <param name="segid1" value="PRO"/> + <param name="resid1" value="212"/> + <param name="name1" value="OE2"/> + <param name="segid2" value="HET"/> + <param name="resid2" value="3"/> + <param name="name2" value="C1"/> + <param name="segid3" value="HET"/> + <param name="resid3" value="3"/> + <param name="name3" value="C2"/> + <param name="segid3" value="HET"/> + <param name="resid3" value="3"/> + <param name="name3" value="C3"/> + <output name="output"> + <assert_contents> + <has_n_columns n="2" /> + </assert_contents> + </output> + </test> + </tests> + <help><![CDATA[ +.. class:: infomark + +**What it does** + +This tool calculates and plots dihedral angles (angle between two intersecting planes) between four atoms. + +_____ + + +.. class:: infomark + +**Input** + + - Trajectory file (DCD). + - PDB file. + - Segids, resids and names of the four atoms to calculate dihedral angle. + +_____ + + +.. class:: infomark + +**Output** + + - Tab-separated file of raw data of the dihedral angle between two intersecting planes calculated for each frame. + - Image (as png) of the time series graph. + + ]]></help> + <expand macro="citations" /> +</tool> |
b |
diff -r 000000000000 -r f95d4348ed7c distance.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/distance.py Mon Oct 08 13:16:46 2018 -0400 |
[ |
@@ -0,0 +1,57 @@ +#!/usr/bin/env python + +import argparse +import sys + +import MDAnalysis as mda + +import matplotlib +import matplotlib.pyplot as plt + +import numpy as np + +matplotlib.use('Agg') + + +def parse_command_line(argv): + parser = argparse.ArgumentParser() + parser.add_argument('--idcd', help='input dcd') + parser.add_argument('--ipdb', help='input pdb') + parser.add_argument('--isegid1', help='segid 1') + parser.add_argument('--iresid1', help='resid 1') + parser.add_argument('--iname1', help='name 1') + parser.add_argument('--isegid2', help='segid 2') + parser.add_argument('--iresid2', help='resid 2') + parser.add_argument('--iname2', help='name 2') + parser.add_argument('--output', help='output') + parser.add_argument('--odistance_plot', help='odistance plot') + return parser.parse_args() + + +args = parse_command_line(sys.argv) + +atom1 = "(segid %s and resid %s and name %s)" % \ + (args.isegid1, args.iresid1, args.iname1) +atom2 = "(segid %s and resid %s and name %s)" % \ + (args.isegid2, args.iresid2, args.iname2) + +u = mda.Universe(args.ipdb, args.idcd, topology_format="PDB", format="DCD") +x = u.select_atoms(atom1) +y = u.select_atoms(atom2) + +with open(args.output, 'w') as f: + for t in u.trajectory: + r = x.positions - y.positions + d = np.linalg.norm(r) + f.write(str(t.frame) + '\t ') + f.write(str(d) + '\n') + +with open(args.output) as f: + g = [xtmp.strip() for xtmp in f] + data = [tuple(map(float, xtmp.split())) for xtmp in g[0:]] + time = [xtmp[0] for xtmp in data] + distance = [xtmp[1] for xtmp in data] + plt.plot(time, distance) + plt.xlabel('Frame No.') + plt.ylabel('Distance ($\AA$)') + plt.savefig(args.odistance_plot, format='png') |
b |
diff -r 000000000000 -r f95d4348ed7c macros.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/macros.xml Mon Oct 08 13:16:46 2018 -0400 |
b |
@@ -0,0 +1,23 @@ +<macros> + <token name="@VERSION@">0.18</token> + <xml name="requirements"> + <requirements> + <requirement type="package" version="0.18.0">mdanalysis</requirement> + </requirements> + </xml> + <xml name="analysis_inputs"> + <param format="dcd" name="dcdin" type="data" label="dcd trajectory input"/> + <param format="pdb" name="pdbin" type="data" label="pdb input"/> + <yield/> + </xml> + <xml name="tests_inputs"> + <param name="dcdin" value="test.dcd" /> + <param name="pdbin" value="test.pdb" /> + <yield/> + </xml> + <xml name="citations"> + <citations> + <citation type="doi">10.1002/jcc.21787</citation> + </citations> + </xml> +</macros> |
b |
diff -r 000000000000 -r f95d4348ed7c rdf.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rdf.py Mon Oct 08 13:16:46 2018 -0400 |
[ |
@@ -0,0 +1,69 @@ +#!/usr/bin/env python + +import argparse +import csv +import sys + +import MDAnalysis as mda +from MDAnalysis.analysis.rdf import InterRDF + +import matplotlib +import matplotlib.pyplot as plt + +import numpy as np + +matplotlib.use('Agg') + + +def parse_command_line(argv): + parser = argparse.ArgumentParser() + parser.add_argument('--idcd', help='input dcd') + parser.add_argument('--ipdb', help='input pdb') + parser.add_argument('--isegid1', help='segid 1') + parser.add_argument('--iresid1', help='resid 1') + parser.add_argument('--iname1', help='name 1') + parser.add_argument('--isegid2', help='segid 2') + parser.add_argument('--iresid2', help='resid 2') + parser.add_argument('--iname2', help='name 2') + parser.add_argument('--inbins', help='Number of bins in the histogram') + parser.add_argument('--istart', help='Starting Point') + parser.add_argument('--iend', help='End point') + parser.add_argument('--output', help='output') + parser.add_argument('--ordf_plot', help='RDF plot') + return parser.parse_args() + + +args = parse_command_line(sys.argv) + +atom1 = "(segid %s and resid %s and name %s)" % \ + (args.isegid1, args.iresid1, args.iname1) +atom2 = "(segid %s and resid %s and name %s)" % \ + (args.isegid2, args.iresid2, args.iname2) +bins = int(args.inbins) +start = float(args.istart) +end = float(args.iend) + +u = mda.Universe(args.ipdb, args.idcd, topology_format="PDB", format="DCD") +x = u.select_atoms(atom1) +y = u.select_atoms(atom2) + +rdf = InterRDF(x, y, nbins=bins, range=(start, end)) +rdf.run() +bins = rdf.bins +bins = np.around(bins, decimals=3) +RDF = rdf.rdf +zip(bins, RDF) + +with open(args.output, 'w') as f: + writer = csv.writer(f, delimiter='\t') + writer.writerows(zip(bins, RDF)) + +with open(args.output) as f: + g = [xtmp.strip() for xtmp in f] + data = [tuple(map(float, xtmp.split())) for xtmp in g[0:]] + time = [xtmp[0] for xtmp in data] + rdf = [xtmp[1] for xtmp in data] + plt.plot(time, rdf) + plt.xlabel('r ($\AA$)') + plt.ylabel('g(r)') + plt.savefig(args.ordf_plot, format='png') |
b |
diff -r 000000000000 -r f95d4348ed7c test-data/Angle_Analysis_Plot.png |
b |
Binary file test-data/Angle_Analysis_Plot.png has changed |
b |
diff -r 000000000000 -r f95d4348ed7c test-data/Angle_Analysis_raw_data.csv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/Angle_Analysis_raw_data.csv Mon Oct 08 13:16:46 2018 -0400 |
b |
@@ -0,0 +1,15 @@ +0.0 70.84918975830078 +1.0 70.97154998779297 +2.0 70.3709716796875 +3.0 70.12692260742188 +4.0 71.15946197509766 +5.0 71.91361999511719 +6.0 71.91268920898438 +7.0 71.97418212890625 +8.0 72.15215301513672 +9.0 72.30829620361328 +10.0 71.52912139892578 +11.0 81.56575775146484 +12.0 73.46330261230469 +13.0 67.04185485839844 +14.0 70.07105255126953 |
b |
diff -r 000000000000 -r f95d4348ed7c test-data/Dihedral_Analysis_Plot.png |
b |
Binary file test-data/Dihedral_Analysis_Plot.png has changed |
b |
diff -r 000000000000 -r f95d4348ed7c test-data/Dihedral_analysis_raw_data.csv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/Dihedral_analysis_raw_data.csv Mon Oct 08 13:16:46 2018 -0400 |
b |
@@ -0,0 +1,15 @@ +0.0 -61.75347431106646 +1.0 -63.57940223575045 +2.0 -64.3468375822089 +3.0 -64.2932006449013 +4.0 -66.17815780069928 +5.0 -64.57418410935712 +6.0 -63.95470182210953 +7.0 -63.215898370961455 +8.0 -63.05227933072821 +9.0 -63.350881174296354 +10.0 -64.12889787645014 +11.0 -59.11099982465991 +12.0 -76.10678081593274 +13.0 -74.55530125465415 +14.0 -71.01850912317343 |
b |
diff -r 000000000000 -r f95d4348ed7c test-data/Distance_Analysis_Plot.png |
b |
Binary file test-data/Distance_Analysis_Plot.png has changed |
b |
diff -r 000000000000 -r f95d4348ed7c test-data/Distance_Analysis_raw_data.csv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/Distance_Analysis_raw_data.csv Mon Oct 08 13:16:46 2018 -0400 |
b |
@@ -0,0 +1,15 @@ +0 3.8900816 +1 3.7835152 +2 3.7693398 +3 3.7851017 +4 3.6331043 +5 3.6525044 +6 3.684632 +7 3.7285593 +8 3.7090275 +9 3.6880326 +10 3.7261977 +11 3.4300115 +12 3.3902843 +13 3.3456264 +14 3.2583153 |
b |
diff -r 000000000000 -r f95d4348ed7c test-data/RDF_Analysis_Plot.png |
b |
Binary file test-data/RDF_Analysis_Plot.png has changed |
b |
diff -r 000000000000 -r f95d4348ed7c test-data/RDF_raw_data.csv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/RDF_raw_data.csv Mon Oct 08 13:16:46 2018 -0400 |
b |
@@ -0,0 +1,100 @@ +0.025 0.0 +0.075 0.0 +0.125 0.0 +0.175 0.0 +0.225 0.0 +0.275 0.0 +0.325 0.0 +0.375 0.0 +0.425 0.0 +0.475 0.0 +0.525 0.0 +0.575 0.0 +0.625 0.0 +0.675 0.0 +0.725 0.0 +0.775 0.0 +0.825 0.0 +0.875 0.0 +0.925 0.0 +0.975 0.0 +1.025 0.0 +1.075 0.0 +1.125 0.0 +1.175 0.0 +1.225 0.0 +1.275 0.0 +1.325 0.0 +1.375 0.0 +1.425 0.0 +1.475 0.0 +1.525 0.0 +1.575 0.0 +1.625 0.0 +1.675 0.0 +1.725 0.0 +1.775 0.0 +1.825 0.0 +1.875 0.0 +1.925 0.0 +1.975 0.0 +2.025 0.0 +2.075 0.0 +2.125 0.0 +2.175 0.0 +2.225 0.0 +2.275 0.0 +2.325 0.0 +2.375 0.0 +2.425 0.0 +2.475 0.0 +2.525 0.0 +2.575 0.0 +2.625 0.0 +2.675 0.0 +2.725 0.0 +2.775 0.0 +2.825 0.0 +2.875 0.0 +2.925 0.0 +2.975 0.0 +3.025 0.0 +3.075 0.0 +3.125 0.0 +3.175 0.0 +3.225 0.0 +3.275 6336.434022284689 +3.325 6147.300995012225 +3.375 5966.511251797981 +3.425 5793.58118212878 +3.475 0.0 +3.525 0.0 +3.575 0.0 +3.625 5171.934954710286 +3.675 15096.484661102078 +3.725 14693.935913907942 +3.775 14307.27600154838 +3.825 0.0 +3.875 4526.124773895681 +3.925 0.0 +3.975 0.0 +4.025 0.0 +4.075 0.0 +4.125 0.0 +4.175 0.0 +4.225 0.0 +4.275 0.0 +4.325 0.0 +4.375 0.0 +4.425 0.0 +4.475 0.0 +4.525 0.0 +4.575 0.0 +4.625 0.0 +4.675 0.0 +4.725 0.0 +4.775 0.0 +4.825 0.0 +4.875 0.0 +4.925 0.0 +4.975 0.0 |
b |
diff -r 000000000000 -r f95d4348ed7c test-data/Ramachandran_Plot.png |
b |
Binary file test-data/Ramachandran_Plot.png has changed |
b |
diff -r 000000000000 -r f95d4348ed7c test-data/test.dcd |
b |
Binary file test-data/test.dcd has changed |
b |
diff -r 000000000000 -r f95d4348ed7c test-data/test.pdb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/test.pdb Mon Oct 08 13:16:46 2018 -0400 |
b |
b'@@ -0,0 +1,61655 @@\n+REMARK FILENAME: MINIMIZE.INP \n+REMARK PURPOSE: SETUP PERIODIC BOUNDARY CONDITIONS AND ENERGY MINIMIZATION \n+REMARK AUTHOR: THARINDU SENAPATHI \n+REMARK DATE: 9/25/18 11:16:58 CREATED BY USER: galaxy \n+ATOM 1 N SER 2 23.711 4.396 5.292 1.00 0.00 PRO \n+ATOM 2 HT1 SER 2 22.774 4.012 5.048 1.00 0.00 PRO \n+ATOM 3 HT2 SER 2 23.993 4.056 6.233 1.00 0.00 PRO \n+ATOM 4 HT3 SER 2 24.412 4.016 4.606 1.00 0.00 PRO \n+ATOM 5 CA SER 2 23.692 5.909 5.232 1.00 0.00 PRO \n+ATOM 6 HA SER 2 23.045 6.255 6.026 1.00 0.00 PRO \n+ATOM 7 CB SER 2 25.129 6.479 5.468 1.00 0.00 PRO \n+ATOM 8 HB1 SER 2 25.502 6.112 6.451 1.00 0.00 PRO \n+ATOM 9 HB2 SER 2 25.108 7.590 5.522 1.00 0.00 PRO \n+ATOM 10 OG SER 2 26.032 6.062 4.445 1.00 0.00 PRO \n+ATOM 11 HG1 SER 2 26.928 6.382 4.649 1.00 0.00 PRO \n+ATOM 12 C SER 2 23.087 6.445 3.945 1.00 0.00 PRO \n+ATOM 13 O SER 2 22.287 5.741 3.315 1.00 0.00 PRO \n+ATOM 14 N ALA 3 23.417 7.674 3.515 1.00 0.00 PRO \n+ATOM 15 HN ALA 3 24.112 8.236 3.961 1.00 0.00 PRO \n+ATOM 16 CA ALA 3 22.937 8.280 2.293 1.00 0.00 PRO \n+ATOM 17 HA ALA 3 22.421 7.554 1.681 1.00 0.00 PRO \n+ATOM 18 CB ALA 3 22.012 9.476 2.583 1.00 0.00 PRO \n+ATOM 19 HB1 ALA 3 22.509 10.220 3.241 1.00 0.00 PRO \n+ATOM 20 HB2 ALA 3 21.086 9.125 3.082 1.00 0.00 PRO \n+ATOM 21 HB3 ALA 3 21.718 9.984 1.638 1.00 0.00 PRO \n+ATOM 22 C ALA 3 24.147 8.753 1.509 1.00 0.00 PRO \n+ATOM 23 O ALA 3 25.174 9.077 2.073 1.00 0.00 PRO \n+ATOM 24 N CYS 4 24.005 8.749 0.169 1.00 0.00 PRO \n+ATOM 25 HN CYS 4 23.142 8.478 -0.258 1.00 0.00 PRO \n+ATOM 26 CA CYS 4 25.025 9.149 -0.766 1.00 0.00 PRO \n+ATOM 27 HA CYS 4 25.769 9.761 -0.272 1.00 0.00 PRO \n+ATOM 28 CB CYS 4 25.700 7.948 -1.484 1.00 0.00 PRO \n+ATOM 29 HB1 CYS 4 26.256 8.290 -2.382 1.00 0.00 PRO \n+ATOM 30 HB2 CYS 4 24.907 7.257 -1.851 1.00 0.00 PRO \n+ATOM 31 SG CYS 4 26.887 7.076 -0.411 1.00 0.00 PRO \n+ATOM 32 C CYS 4 24.341 10.034 -1.774 1.00 0.00 PRO \n+ATOM 33 O CYS 4 23.104 10.106 -1.853 1.00 0.00 PRO \n+ATOM 34 N THR 5 25.135 10.817 -2.507 1.00 0.00 PRO \n+ATOM 35 HN THR 5 26.125 10.731 -2.426 1.00 0.00 PRO \n+ATOM 36 CA THR 5 24.625 11.886 -3.343 1.00 0.00 PRO \n+ATOM 37 HA THR 5 23.595 11.683 -3.608 1.00 0.00 PRO \n+ATOM 38 CB THR 5 24.715 13.266 -2.674 1.00 0.00 PRO \n+ATOM 39 HB THR 5 24.358 14.060 -3.371 1.00 0.00 PRO \n+ATOM 40 OG1 THR 5 26.051 13.580 -2.272 1.00 0.00 PRO \n+ATOM 41 HG1 THR 5 26.535 13.523 -3.104 1.00 0.00 PRO \n+ATOM 42 CG2 THR 5 23.787 13.298 -1.447 1.00 0.00 PRO \n+ATOM 43 HG21 THR 5 24.126 12.589 -0.663 1.00 0.00 PRO \n+ATOM 44 HG22 THR 5 22.759 13.003 -1.749 1.00 0.00 PRO \n+ATOM 45 HG23 THR 5 23.752 14.313 -1.003 1.00 0.00 PRO \n+ATOM 46 C THR 5 25.385 11.902 -4.645 1.00 0.00 PRO \n+ATOM 47 O THR 5 25.810'..b' CLA CLA 2 5.975 -34.097 -14.115 1.00 0.00 CLA \n+ATOM 61600 CLA CLA 3 3.049 -40.330 0.268 1.00 0.00 CLA \n+ATOM 61601 CLA CLA 4 -29.182 -19.908 -21.287 1.00 0.00 CLA \n+ATOM 61602 CLA CLA 5 32.119 26.809 -14.613 1.00 0.00 CLA \n+ATOM 61603 CLA CLA 6 -12.762 38.902 39.703 1.00 0.00 CLA \n+ATOM 61604 CLA CLA 7 -41.352 -6.310 -21.092 1.00 0.00 CLA \n+ATOM 61605 CLA CLA 8 -40.105 19.915 21.883 1.00 0.00 CLA \n+ATOM 61606 CLA CLA 9 -37.875 -10.640 -26.651 1.00 0.00 CLA \n+ATOM 61607 CLA CLA 10 -22.511 41.548 12.784 1.00 0.00 CLA \n+ATOM 61608 CLA CLA 11 35.216 33.731 -35.093 1.00 0.00 CLA \n+ATOM 61609 CLA CLA 12 -40.102 5.647 -2.397 1.00 0.00 CLA \n+ATOM 61610 CLA CLA 13 39.024 -12.398 -40.371 1.00 0.00 CLA \n+ATOM 61611 CLA CLA 14 18.261 -39.450 23.742 1.00 0.00 CLA \n+ATOM 61612 CLA CLA 15 6.178 41.435 -35.101 1.00 0.00 CLA \n+ATOM 61613 CLA CLA 16 24.358 15.109 39.388 1.00 0.00 CLA \n+ATOM 61614 CLA CLA 17 6.888 21.632 -18.643 1.00 0.00 CLA \n+ATOM 61615 CLA CLA 18 21.744 6.136 36.952 1.00 0.00 CLA \n+ATOM 61616 CLA CLA 19 37.313 -8.363 36.386 1.00 0.00 CLA \n+ATOM 61617 CLA CLA 20 -2.999 -20.832 23.104 1.00 0.00 CLA \n+ATOM 61618 CLA CLA 21 2.857 18.626 -27.815 1.00 0.00 CLA \n+ATOM 61619 CLA CLA 22 4.436 -15.917 42.798 1.00 0.00 CLA \n+ATOM 61620 CLA CLA 23 -36.824 -9.651 27.515 1.00 0.00 CLA \n+ATOM 61621 CLA CLA 24 30.595 -26.534 -13.854 1.00 0.00 CLA \n+ATOM 61622 CLA CLA 25 2.683 14.798 30.965 1.00 0.00 CLA \n+ATOM 61623 CLA CLA 26 29.848 -11.446 -12.895 1.00 0.00 CLA \n+ATOM 61624 CLA CLA 27 42.574 -16.385 39.148 1.00 0.00 CLA \n+ATOM 61625 CLA CLA 28 21.090 22.680 27.072 1.00 0.00 CLA \n+ATOM 61626 CLA CLA 29 31.477 21.841 -9.460 1.00 0.00 CLA \n+ATOM 61627 CLA CLA 30 -42.789 33.106 -42.003 1.00 0.00 CLA \n+ATOM 61628 CLA CLA 31 41.212 26.460 28.038 1.00 0.00 CLA \n+ATOM 61629 CLA CLA 32 31.330 -23.211 30.873 1.00 0.00 CLA \n+ATOM 61630 CLA CLA 33 -11.882 24.746 17.676 1.00 0.00 CLA \n+ATOM 61631 CLA CLA 34 42.509 41.966 29.673 1.00 0.00 CLA \n+ATOM 61632 CLA CLA 35 -21.155 -25.909 40.988 1.00 0.00 CLA \n+ATOM 61633 CLA CLA 36 -16.645 33.397 -20.493 1.00 0.00 CLA \n+ATOM 61634 CLA CLA 37 24.008 16.848 3.761 1.00 0.00 CLA \n+ATOM 61635 CLA CLA 38 -3.042 -26.229 -6.954 1.00 0.00 CLA \n+ATOM 61636 CLA CLA 39 -25.242 -29.525 -14.531 1.00 0.00 CLA \n+ATOM 61637 CLA CLA 40 34.942 -28.883 -36.691 1.00 0.00 CLA \n+ATOM 61638 CLA CLA 41 -35.913 -6.707 3.266 1.00 0.00 CLA \n+ATOM 61639 CLA CLA 42 -30.968 4.607 -32.953 1.00 0.00 CLA \n+ATOM 61640 CLA CLA 43 -5.809 15.242 42.418 1.00 0.00 CLA \n+ATOM 61641 CLA CLA 44 39.399 18.809 -13.827 1.00 0.00 CLA \n+ATOM 61642 CLA CLA 45 -15.805 29.210 -37.376 1.00 0.00 CLA \n+ATOM 61643 CLA CLA 46 0.091 -36.491 -34.859 1.00 0.00 CLA \n+ATOM 61644 CLA CLA 47 -12.875 -40.099 38.366 1.00 0.00 CLA \n+ATOM 61645 CLA CLA 48 -24.191 19.188 36.959 1.00 0.00 CLA \n+ATOM 61646 CLA CLA 49 16.215 -18.186 -29.406 1.00 0.00 CLA \n+ATOM 61647 CLA CLA 50 34.647 -7.708 -32.869 1.00 0.00 CLA \n+ATOM 61648 CLA CLA 51 -20.320 -38.996 6.847 1.00 0.00 CLA \n+ATOM 61649 CLA CLA 52 -28.453 0.614 -25.838 1.00 0.00 CLA \n+TER 61650 CLA 52\n+END\n' |