Exemplo n.º 1
0
for input_file in range(0, len(input_files)):
	input_extension = settings.getInputType(input_file)
	output_extension = settings.getOutputType()
	
	# Call appropriate input parser
	if input_extension == 'pdb':
		new_molecule = parser.parsePDB(input_files[input_file])
		topology.addMolecule(new_molecule)
	elif input_extension == 'gro':
		parser.parseGRO(input_file)
	else:
		print("File extension not supported.")
		exit()

# Process topology
topology = processor.findAtomicDistances(topology)
topology = processor.findBonds(topology, settings)
topology = processor.findAngles(topology, settings)

# Call appropriate output generator
if output_extension == 'top':
	generator.GROMACSDefaults()
	generator.GROMACSAtomtypes(topology.getAtomTypes(), settings)
	generator.GROMACSNonbonded(topology.getAtomTypes(), settings)
	for molecule in topology.getMolecules():
		generator.GROMACSMoleculetype(molecule, settings)
		generator.GROMACSAtoms(molecule, settings)
		generator.GROMACSBonds(molecule.getBonds(), settings)
		generator.GROMACSAngles(molecule.getAngles(), settings)
	generator.GROMACSSystem(settings)
	generator.GROMACSMolecules(topology, settings)
Exemplo n.º 2
0
	def test_findAtomicDistances(self):
		atomic_distances = processor.findAtomicDistances(atom_list)
		for dist in range(0, len(atomic_distances)):	
			self.assertAlmostEqual(atomic_distances[dist][0], distances[dist][0], 2)
			self.assertAlmostEqual(atomic_distances[dist][1], distances[dist][1], 2)
			self.assertAlmostEqual(atomic_distances[dist][2], distances[dist][2], 2)