Bio.NMR.xpktools module¶
Tools to manipulate data from nmrview .xpk peaklist files.
- class Bio.NMR.xpktools.XpkEntry(entry, headline)¶
Bases:
object
Provide dictonary access to single entry from nmrview .xpk file.
This class is suited for handling single lines of non-header data from an nmrview .xpk file. This class provides methods for extracting data by the field name which is listed in the last line of the peaklist header.
- Parameters
- xpkentrystr
The line from an nmrview .xpk file.
- xpkheadlinestr
The line from the header file that gives the names of the entries. This is typically the sixth line of the header, 1-origin.
- Attributes
- fieldsdict
Dictionary of fields where key is in header line, value is an entry. Variables are accessed by either their name in the header line as in self.field[“H1.P”] will return the H1.P entry for example. self.field[“entrynum”] returns the line number (1st field of line)
- __init__(self, entry, headline)¶
Initialize the class.
- class Bio.NMR.xpktools.Peaklist(infn)¶
Bases:
object
Provide access to header lines and data from a nmrview xpk file.
Header file lines and file data are available as attributes.
- Parameters
- infnstr
The input nmrview filename.
Examples
>>> from Bio.NMR.xpktools import Peaklist >>> peaklist = Peaklist('../Doc/examples/nmr/noed.xpk') >>> peaklist.firstline 'label dataset sw sf ' >>> peaklist.dataset 'test.nv' >>> peaklist.sf '{599.8230 } { 60.7860 } { 60.7860 }' >>> peaklist.datalabels ' H1.L H1.P H1.W H1.B H1.E H1.J 15N2.L 15N2.P 15N2.W 15N2.B 15N2.E 15N2.J N15.L N15.P N15.W N15.B N15.E N15.J vol int stat '
- Attributes
- firstlinestr
The first line in the header.
- axislabelsstr
The axis labels.
- datasetstr
The label of the dataset.
- swstr
The sw coordinates.
- sfstr
The sf coordinates.
- datalabelsstr
The labels of the entries.
- datalist
File data after header lines.
- __init__(self, infn)¶
Initialize the class.
- residue_dict(self, index)¶
Return a dict of lines in ‘data’ indexed by residue number or a nucleus.
The nucleus should be given as the input argument in the same form as it appears in the xpk label line (H1, 15N for example)
- Parameters
- indexstr
The nucleus to index data by.
- Returns
- resdictdict
Mappings of index nucleus to data line.
Examples
>>> from Bio.NMR.xpktools import Peaklist >>> peaklist = Peaklist('../Doc/examples/nmr/noed.xpk') >>> residue_d = peaklist.residue_dict('H1') >>> sorted(residue_d.keys()) ['10', '3', '4', '5', '6', '7', '8', '9', 'maxres', 'minres'] >>> residue_d['10'] ['8 10.hn 7.663 0.021 0.010 ++ 0.000 10.n 118.341 0.324 0.010 +E 0.000 10.n 118.476 0.324 0.010 +E 0.000 0.49840 0.49840 0']
- write_header(self, outfn)¶
Write header lines from input file to handle
outfn
.
- Bio.NMR.xpktools.replace_entry(line, fieldn, newentry)¶
Replace an entry in a string by the field number.
No padding is implemented currently. Spacing will change if the original field entry and the new field entry are of different lengths.
- Bio.NMR.xpktools.data_table(fn_list, datalabel, keyatom)¶
Generate a data table from a list of input xpk files.
- Parameters
- fn_listlist
List of .xpk file names.
- datalabelstr
The data element reported.
- keyatomstr
The name of the nucleus used as an index for the data table.
- Returns
- outlistlist
List of table rows indexed by
keyatom
.