Skip to content
Snippets Groups Projects
structurefactors_model.py 1.21 KiB
Newer Older
root's avatar
root committed
# Python imports
from uuid import uuid4
root's avatar
root committed
# Third-party imports
from neomodel import StructuredNode, StringProperty, IntegerProperty, UniqueIdProperty, RelationshipTo

# Models imports
# from api.models.dpstep_model import DPStep
# from api.models.mtzfile_model import MTZfile
# from api.models.scalepackfile_model import ScalepackFile
# from api.models.reference_model import Reference
# from api.models.construct_model import Construct

class StructureFactors(StructuredNode):
root's avatar
root committed
	
	"""
	Defines node properties and relationships
	Provides data serializer
	"""

	# Properties
root's avatar
root committed
	rsf_source=StringProperty()
	rsf_filesize=StringProperty()
	rsf_filepath=StringProperty()
root's avatar
root committed
	# Relationships
	input_as_ref=RelationshipTo('DPStep', 'INPUT_AS_REFERENCE')
	input_of=RelationshipTo('DPStep', 'INPUT')
	generates_mtz=RelationshipTo('MTZfile', 'GENERATES')
	generates_scalepack=RelationshipTo('ScalepackFile', 'GENERATES')
	labelled=RelationshipTo('Reference', 'LABELLED')
	belongs=RelationshipTo('Construct', 'BELONGS')
root's avatar
root committed
	@property
	def serialize(self):
root's avatar
root committed
		"""
		Serializer for node properties
		"""
		
		return {
		'node_properties': {
		'rsf_source': self.rsf_source,
		'rsf_filesize': self.rsf_filesize,
		'rsf_filepath': self.rsf_filepath,
		},
root's avatar
root committed
		}