Source code for pbxplore.io.write

#! /usr/bin/env python
# -*- coding: utf-8 -*-

from __future__ import print_function, absolute_import

# Standard modules
# import os

# Local modules
from .. import PB
from ..analysis import utils


[docs]def write_count_matrix(pb_count, outfile, first=1): """ Write a PB occurence matrix in a file. Parameters ---------- pb_count: an occurence matrix as a 2D numpy array. outfile: an open file where to write the matrix. first: the residue number of the first position. """ # write the header (PB names) print(" " + "".join(["%6s" % name for name in PB.NAMES]), file=outfile) # write the data table for residue_idx, residue_pb in enumerate(pb_count): print("%-5d" % (residue_idx + first) + " ".join("%5d" % i for i in residue_pb), file=outfile)
[docs]def write_neq(outfile, neq_array, idx_first_residue=1, residue_min=1, residue_max=None): """ Write the Neq matrix in an open file Parameters ---------- outfile : file descriptor The file descriptor to write in. It must allow writing. neq_array : numpy array a 1D array containing the neq values. idx_first_residue: int the index of the first residue in the array residue_min: int the lower bound of residue frame residue_max: int the upper bound of residue frame """ # Slice neq = utils._slice_matrix(neq_array, idx_first_residue, residue_min, residue_max) print("%-6s %8s " % ("resid", "Neq"), file=outfile) for (res, neq) in enumerate(neq): print("%-6d %8.2f " % (res + residue_min, neq), file=outfile)