Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
else:
self._filename = filename = msa
if filename is not None:
self._filename = filename
title, ext = splitext(split(filename)[1])
if ext.lower() == '.gz':
title, ext = splitext(split(title)[1])
if format is None:
try:
self._format = format = MSAEXTMAP[ext.lower()]
except KeyError:
raise TypeError('format is not specified and could not be '
'determined from file extension')
self._title = title
self._stream = openFile(msa, mode)
else:
if self._format is None:
raise ValueError('format must be specified when msa is a '
'stream')
self._stream = msa
self._title = 'stream'
try:
closed = self._stream.closed
except AttributeError:
closed = self._stream.myfileobj.closed
if closed:
raise ValueError('msa stream must not be closed')
self._lenseq = None
if title is None:
title = pdb
kwargs['title'] = title
filename = fetchPDB(pdb, **kwargs)
if filename is None:
raise IOError('PDB file for {0} could not be downloaded.'
.format(pdb))
pdb = filename
if title is None:
title, ext = os.path.splitext(os.path.split(pdb)[1])
if ext == '.gz':
title, ext = os.path.splitext(title)
if len(title) == 7 and title.startswith('pdb'):
title = title[3:]
kwargs['title'] = title
pdb = openFile(pdb, 'rt')
if chain != '':
kwargs['chain'] = chain
result = parsePDBStream(pdb, **kwargs)
pdb.close()
return result
filename = emd + '.map'
elif os.path.isfile(emd + '.map.gz'):
filename = emd + '.map.gz'
else:
filename = fetchPDB(emd, report=True, format='emd',compressed=False)
if filename is None:
raise IOError('EMD map file for {0} could not be downloaded.'
.format(emd))
emd = filename
else:
raise IOError('EMD file {0} is not available in the directory {1}'
.format(emd, os.getcwd()))
if title is None:
kwargs['title'], ext = os.path.splitext(os.path.split(emd)[1])
emdStream = openFile(emd, 'rb')
if emd.endswith('.stk'):
result = parseSTKStream(emd, **kwargs)
else:
result = parseEMDStream(emdStream, **kwargs)
emdStream.close()
return result
def parseHeatmap(heatmap, **kwargs):
"""Returns a two dimensional array and a dictionary with information parsed
from *heatmap*, which may be an input stream or an :file:`.hm` file in VMD
plugin Heat Mapper format."""
try:
readline, close = heatmap.readline, lambda: None
except AttributeError:
heatmap = openFile(heatmap)
readline, close = heatmap.readline, heatmap.close
meta = {}
arrs = []
line = readline()
while line:
if line.startswith('-'):
label, data = line[1:].split(None, 1)
data = data.strip()
if data[0] == data[-1] == '"':
data = data[1:-1]
label = label.strip()
try:
meta[label] = HMTYPES[label](data)
except KeyError:
:type max: float
Other keyword arguments that are arrays with length equal to the y-axis
(second dimension of heatmap) will be considered as *numbering*."""
try:
ndim, shape = heatmap.ndim, heatmap.shape
except:
raise TypeError('heatmap must be an array object')
if ndim!= 2:
raise TypeError('heatmap must be a 2D array')
try:
write, close = filename.write, lambda: None
except AttributeError:
out = openFile(filename, 'wb')
write, close = out.write, out.close
write('-min "{0}"\n'.format(kwargs.pop('min', heatmap.min())))
write('-max "{0}"\n'.format(kwargs.pop('max', heatmap.max())))
for label, default in [
('title', 'unknown'),
('xlabel', 'unknown'),
('xorigin', 0),
('xstep', 1),
('ylabel', 'unknown'),
]:
write('-{0} "{1}"\n'.format(label, kwargs.pop(label, default)))
numbering = []
numlabels = []
for key, val in kwargs.items():
if not xml:
#'http://www.pdb.org/pdb/files/ligand/{0}.xml'
try:
inp = openURL(url)
except IOError:
raise IOError('XML file for ligand {0} is not found online'
.format(cci))
else:
xml = inp.read()
inp.close()
if filename:
out = openFile(filename, mode='w', folder=folder)
out.write(xml)
out.close()
if SETTINGS.get('ligand_xml_save'):
with openFile(xmlgz, 'w') as out:
out.write(xml)
import xml.etree.cElementTree as ET
root = ET.XML(xml)
if (root.get('{http://www.w3.org/2001/XMLSchema-instance}'
'schemaLocation') !=
'http://pdbml.pdb.org/schema/pdbx-v40.xsd pdbx-v40.xsd'):
LOGGER.warn('XML is not in PDBx/PDBML v 4.0 format, resulting '
'dictionary may not contain all data fields')
ns = root.tag[:root.tag.rfind('}')+1]
len_ns = len(ns)
dict_ = {'url': url, 'path': path}
for child in list(root.find(ns + 'chem_compCategory')[0]):
tag = child.tag[len_ns:]
raise TypeError('model must be a 3-dimensional NMA instance')
elif len(model) == 0:
raise ValueError('model must have normal modes calculated')
elif model.getStiffness() is None:
raise ValueError('model must have stiffness matrix calculated')
elif len(indices)==0:
raise ValueError('indices cannot be an empty array')
if len(indices)==1:
indices0=indices[0]-resnum_list[0]
indices1=indices[0]-resnum_list[0]
elif len(indices)==2:
indices0=indices[0]-resnum_list[0]
indices1=indices[1]-resnum_list[0]
out = openFile(addext(filename, '.tcl'), 'w')
out_txt = openFile(addext(filename,'.txt'), 'w')
writePDB(filename + '.pdb', pdb)
LOGGER.info('Creating VMD file.')
out.write('display rendermode GLSL \n')
out.write('display projection orthographic\n')
out.write('color Display Background white\n')
out.write('display shadows on\n')
out.write('display depthcue off\n')
out.write('axes location off\n')
out.write('stage location off\n')
out.write('light 0 on\n')
out.write('light 1 on\n')
out.write('light 2 off\n')
out.write('light 3 on\n')
if attr == '_modesets':
value = list(value)
value.append(None)
attr_dict[attr] = value
if filename is None:
filename = mode_ensemble.getTitle().replace(' ', '_')
suffix = '.modeens'
if not filename.lower().endswith('.npz'):
if not filename.lower().endswith(suffix):
filename += suffix + '.npz'
else:
filename += '.npz'
ostream = openFile(filename, 'wb', **kwargs)
np.savez_compressed(ostream, **attr_dict)
ostream.close()
return filename
extend + '.nmd'), *extended)
outall = kwargs.get('outall')
delim = kwargs.get('numdelim')
ext = kwargs.get('numext')
format = kwargs.get('numformat')
if outall or kwargs.get('outeig'):
prody.writeArray(join(outdir, prefix + '_evectors'+ext),
gnm.getArray(), delimiter=delim, format=format)
prody.writeArray(join(outdir, prefix + '_evalues'+ext),
gnm.getEigvals(), delimiter=delim, format=format)
if outall or kwargs.get('outbeta'):
from prody.utilities import openFile
fout = openFile(prefix + '_beta.txt', 'w', folder=outdir)
fout.write('{0[0]:1s} {0[1]:4s} {0[2]:4s} {0[3]:5s} {0[4]:5s}\n'
.format(['C', 'RES', '####', 'Exp.', 'The.']))
for data in zip(select.getChids(), select.getResnames(),
select.getResnums(), select.getBetas(),
prody.calcTempFactors(gnm, select)):
fout.write('{0[0]:1s} {0[1]:4s} {0[2]:4d} {0[3]:5.2f} {0[4]:5.2f}\n'
.format(data))
fout.close()
if outall or kwargs.get('outcov'):
prody.writeArray(join(outdir, prefix + '_covariance'+ext),
gnm.getCovariance(), delimiter=delim, format=format)
if outall or kwargs.get('outcc') or kwargs.get('outhm'):
cc = prody.calcCrossCorr(gnm)
if outall or kwargs.get('outcc'):
if matrices:
attr_dict['_project'] = nma._project
if isinstance(nma, imANM):
attr_dict['type'] = 'imANM'
if isinstance(nma, exANM):
attr_dict['type'] = 'exANM'
suffix = '.' + attr_dict['type'].lower()
if not filename.lower().endswith('.npz'):
if not filename.lower().endswith(suffix):
filename += suffix + '.npz'
else:
filename += '.npz'
ostream = openFile(filename, 'wb', **kwargs)
np.savez(ostream, **attr_dict)
ostream.close()
return filename