Skip to content
0
  • Recent
  • Tags
  • Popular
  • SAMSON Connect
  • Get SAMSON
  • Recent
  • Tags
  • Popular
  • SAMSON Connect
  • Get SAMSON
Collapse
SAMSON Forum
  1. Home
  2. Develop
  3. Modeling
  4. Serialization/Unserialization issues

Serialization/Unserialization issues

Scheduled Pinned Locked Moved Modeling
17 Posts 3 Posters 12.3k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E
    E
    Elisa
    wrote on last edited by Elisa
    #6

    Sorry for the double posting,

    I have now done very basic serialization in my model, basically every element calls the parent function serialize or unserialize methods. I get all the nodes back, except for the atoms belonging to classes inheriting from SBBackbone and SBSideChain.

    void MyBackbone::serialize(SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber, const SBVersionNumber & classVersionNumber) const
    {
      SBBackbone::serialize(serializer, nodeIndexer, sdkVersionNumber, classVersionNumber);
    }
    
    void MyBackbone::unserialize(SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber, const SBVersionNumber & classVersionNumber)
    {
      SBBackbone::unserialize(serializer, nodeIndexer, sdkVersionNumber, classVersionNumber);
    
      SB_FOR(SBNode* n, *getChildren()) {
        SBPointer<MyAtom> at = static_cast<MyAtom*>(n);
        //at->create();
      }
    }
    

    I can check in this way that the atoms are correctly added as children to MyBackbone, but they are not created in the Datagraph. I don't have this problem with classes deriving from SBStructuralGroup, where atoms are correctly created in the data graph.

    Thanks and best regards!

    Elisa

    1 Reply Last reply
    0
    • StephaneS
      StephaneS
      Stephane
      wrote on last edited by
      #7

      Hi Elisa,

      if this is not confidential, could you please post the contents of the simplest .samx file that creates an issue with a backbone?

      Stephane

      1 Reply Last reply
      0
      • E
        E
        Elisa
        wrote on last edited by Elisa
        #8

        The file is quite long, so I will post the relevant parts:

        <SAMSON>
        	<majorVersionNumber> 0 </majorVersionNumber>
        	<minorVersionNumber> 7 </minorVersionNumber>
        	<patchVersionNumber> 0 </patchVersionNumber>
        	<numberOfNodeTypes> 15 </numberOfNodeTypes>
        	<nodeTypes>
        		<nodeType>
        			<nodeTypeIndex> 0 </nodeTypeIndex>
        			<className> MySidechain </className>
        			<elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID>
        			<sdkVersionNumber> 0.7.0 </sdkVersionNumber>
        			<classVersionNumber> 1.0.0 </classVersionNumber>
        		</nodeType>
        		<nodeType>
        			<nodeTypeIndex> 1 </nodeTypeIndex>
        			<className> MyBackbone </className>
        			<elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID>
        			<sdkVersionNumber> 0.7.0 </sdkVersionNumber>
        			<classVersionNumber> 1.0.0 </classVersionNumber>
        		</nodeType>
        		
        		...
        		
        		<nodeType>
        			<nodeTypeIndex> 4 </nodeTypeIndex>
        			<className> MyStructuralGroup </className>
        			<elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID>
        			<sdkVersionNumber> 0.7.0 </sdkVersionNumber>
        			<classVersionNumber> 1.0.0 </classVersionNumber>
        		</nodeType>
        		
        		...
        		
        		<nodeType>
        			<nodeTypeIndex> 11 </nodeTypeIndex>
        			<className> SBMStructuralModelNodeRoot </className>
        			<elementUUID> 5A3CE002-9368-1EAF-7DBA-66567958AB1F </elementUUID>
        			<sdkVersionNumber> 0.7.0 </sdkVersionNumber>
        			<classVersionNumber> 0.7.0 </classVersionNumber>
        		</nodeType>
        		<nodeType>
        			<nodeTypeIndex> 12 </nodeTypeIndex>
        			<className> SBDDocumentCamera </className>
        			<elementUUID> 131D70CF-3B19-61A8-B67C-BBDA93776B38 </elementUUID>
        			<sdkVersionNumber> 0.7.0 </sdkVersionNumber>
        			<classVersionNumber> 0.7.0 </classVersionNumber>
        		</nodeType>
        		<nodeType>
        			<nodeTypeIndex> 13 </nodeTypeIndex>
        			<className> SBDDocumentLayer </className>
        			<elementUUID> 131D70CF-3B19-61A8-B67C-BBDA93776B38 </elementUUID>
        			<sdkVersionNumber> 0.7.0 </sdkVersionNumber>
        			<classVersionNumber> 0.7.0 </classVersionNumber>
        		</nodeType>
        		<nodeType>
        			<nodeTypeIndex> 14 </nodeTypeIndex>
        			<className> SBDDocument </className>
        			<elementUUID> 131D70CF-3B19-61A8-B67C-BBDA93776B38 </elementUUID>
        			<sdkVersionNumber> 0.7.0 </sdkVersionNumber>
        			<classVersionNumber> 0.7.0 </classVersionNumber>
        		</nodeType>
        	</nodeTypes>
        
        	...
        	
        	<nodeContents>
        		<node>
        			<index> 0 </index>
        			<expandedFlag> 1 </expandedFlag>
        			<visibilityFlag> 1 </visibilityFlag>
        			<hasMaterial> 0 </hasMaterial>
        			<numberOfCameras> 1 </numberOfCameras>
        			<nodeIndex> 1 </nodeIndex>
        			<numberOfLayers> 1 </numberOfLayers>
        			<nodeIndex> 2 </nodeIndex>
        			<numberOfGroups> 0 </numberOfGroups>
        			<numberOfStoredConformations> 0 </numberOfStoredConformations>
        			<numberOfStoredPaths> 0 </numberOfStoredPaths>
        			<activeCameraIndex> 1 </activeCameraIndex>
        			<activeLayerIndex> 2 </activeLayerIndex>
        		</node>
        		<node>
        			<index> 1 </index>
        			<expandedFlag> 0 </expandedFlag>
        			<visibilityFlag> 1 </visibilityFlag>
        			<hasMaterial> 0 </hasMaterial>
        			<name> Camera 1 </name>
        			<eyePosition>
        				<v[0]> -49817.3 </v[0]>
        				<v[1]> -37448.3 </v[1]>
        				<v[2]> -27528.1 </v[2]>
        			</eyePosition>
        			<targetPosition>
        				<v[0]> -2.47394 </v[0]>
        				<v[1]> -0.57391 </v[1]>
        				<v[2]> -5.94904 </v[2]>
        			</targetPosition>
        			<upVector>
        				<v[0]> -0.569802 </v[0]>
        				<v[1]> 0.166545 </v[1]>
        				<v[2]> 0.804729 </v[2]>
        			</upVector>
        			<nearPlane> 100 </nearPlane>
        			<farPlane> 2e+06 </farPlane>
        			<aspectRatio> 1.41675 </aspectRatio>
        			<fieldOfViewAngleY> 19 </fieldOfViewAngleY>
        			<inertiaFlag> 0 </inertiaFlag>
        		</node>
        		<node>
        			<index> 2 </index>
        			<expandedFlag> 1 </expandedFlag>
        			<visibilityFlag> 1 </visibilityFlag>
        			<hasMaterial> 0 </hasMaterial>
        			<name> Layer 1 </name>
        			<numberOfModels> 1 </numberOfModels>
        			<nodeIndex> 3 </nodeIndex>
        			<numberOfSimulators> 0 </numberOfSimulators>
        			<numberOfControllers> 0 </numberOfControllers>
        			<numberOfLabels> 0 </numberOfLabels>
        			<hasActiveModel> 0 </hasActiveModel>
        		</node>
        		<node>
        			<index> 3 </index>
        			<expandedFlag> 0 </expandedFlag>
        			<visibilityFlag> 1 </visibilityFlag>
        			<hasMaterial> 0 </hasMaterial>
        			<name> 01_tetrahedron </name>
        			<rootIndex> 4 </rootIndex>
        			<propertyFlags> 0 </propertyFlags>
        			<backboneNeighborGridInitialized> 0 </backboneNeighborGridInitialized>
        		</node>
        		<node>
        			<index> 4 </index>
        			<expandedFlag> 0 </expandedFlag>
        			<visibilityFlag> 1 </visibilityFlag>
        			<hasMaterial> 0 </hasMaterial>
        			<mobilityFlag> 1 </mobilityFlag>
        			<name> Nodes </name>
        			<numberOfChildren> 26 </numberOfChildren>
        			<nodeIndex> 5 </nodeIndex>
        			<nodeIndex> 137 </nodeIndex>
        			<nodeIndex> 269 </nodeIndex>
        			<nodeIndex> 401 </nodeIndex>
        			<nodeIndex> 533 </nodeIndex>
        			<nodeIndex> 665 </nodeIndex>
        			<nodeIndex> 797 </nodeIndex>
        			<nodeIndex> 929 </nodeIndex>
        			<nodeIndex> 1061 </nodeIndex>
        			<nodeIndex> 1193 </nodeIndex>
        			<nodeIndex> 1325 </nodeIndex>
        			<nodeIndex> 1457 </nodeIndex>
        			<nodeIndex> 1589 </nodeIndex>
        			<nodeIndex> 4110 </nodeIndex>
        			<nodeIndex> 4321 </nodeIndex>
        			<nodeIndex> 4427 </nodeIndex>
        			<nodeIndex> 4533 </nodeIndex>
        			<nodeIndex> 4639 </nodeIndex>
        			<nodeIndex> 4745 </nodeIndex>
        			<nodeIndex> 4956 </nodeIndex>
        			<nodeIndex> 5062 </nodeIndex>
        			<nodeIndex> 5168 </nodeIndex>
        			<nodeIndex> 5379 </nodeIndex>
        			<nodeIndex> 5770 </nodeIndex>
        			<nodeIndex> 6161 </nodeIndex>
        			<nodeIndex> 6552 </nodeIndex>
        			<propertyFlags> 0 </propertyFlags>
        		</node>
        		
        		 ...
        		 
        		<node>
        			<index> 6 </index>
        			<expandedFlag> 0 </expandedFlag>
        			<visibilityFlag> 1 </visibilityFlag>
        			<hasMaterial> 0 </hasMaterial>
        			<mobilityFlag> 1 </mobilityFlag>
        			<name> My Structural Group </name>
        			<numberOfChildren> 2 </numberOfChildren>
        			<nodeIndex> 7 </nodeIndex>
        			<nodeIndex> 8 </nodeIndex>
        			<propertyFlags> 0 </propertyFlags>
        		</node>
        		...
        		<node>
        			<index> 8 </index>
        			<expandedFlag> 0 </expandedFlag>
        			<visibilityFlag> 0 </visibilityFlag>
        			<hasMaterial> 0 </hasMaterial>
        			<mobilityFlag> 1 </mobilityFlag>
        			<position>
        				<v[0]> -1485.23 </v[0]>
        				<v[1]> 172.5 </v[1]>
        				<v[2]> 9081.48 </v[2]>
        			</position>
        			<element> 109 </element>
        			<propertyFlags> 0 </propertyFlags>
        		</node>
        		...
        		<node>
        			<index> 6552 </index>
        			<expandedFlag> 0 </expandedFlag>
        			<visibilityFlag> 1 </visibilityFlag>
        			<hasMaterial> 0 </hasMaterial>
        			<mobilityFlag> 1 </mobilityFlag>
        			<name> Chain </name>
        			<numberOfChildren> 78 </numberOfChildren>
        			<nodeIndex> 6553 </nodeIndex>
        			...
        			<propertyFlags> 0 </propertyFlags>
        		</node>
        		<node>
        			<index> 6553 </index>
        			<expandedFlag> 0 </expandedFlag>
        			<visibilityFlag> 1 </visibilityFlag>
        			<hasMaterial> 0 </hasMaterial>
        			<mobilityFlag> 1 </mobilityFlag>
        			<name> Nucleotide </name>
        			<numberOfChildren> 2 </numberOfChildren>
        			<nodeIndex> 6554 </nodeIndex>
        			<nodeIndex> 6556 </nodeIndex>
        			<propertyFlags> 0 </propertyFlags>
        			<residueType> 34 </residueType>
        			<residueTypeString>  </residueTypeString>
        		</node>
        		<node>
        			<index> 6554 </index>
        			<expandedFlag> 0 </expandedFlag>
        			<visibilityFlag> 1 </visibilityFlag>
        			<hasMaterial> 0 </hasMaterial>
        			<mobilityFlag> 1 </mobilityFlag>
        			<name> Backbone </name>
        			<numberOfChildren> 1 </numberOfChildren>
        			<nodeIndex> 6555 </nodeIndex>
        			<propertyFlags> 0 </propertyFlags>
        		</node>
        		<node>
        			<index> 6555 </index>
        			<expandedFlag> 0 </expandedFlag>
        			<visibilityFlag> 0 </visibilityFlag>
        			<hasMaterial> 0 </hasMaterial>
        			<mobilityFlag> 1 </mobilityFlag>
        			<position>
        				<v[0]> 5569.81 </v[0]>
        				<v[1]> 2913.26 </v[1]>
        				<v[2]> -3182.39 </v[2]>
        			</position>
        			<element> 99 </element>
        			<propertyFlags> 0 </propertyFlags>
        		</node>
        		<node>
        			<index> 6556 </index>
        			<expandedFlag> 0 </expandedFlag>
        			<visibilityFlag> 1 </visibilityFlag>
        			<hasMaterial> 0 </hasMaterial>
        			<mobilityFlag> 1 </mobilityFlag>
        			<name>Sidechain </name>
        			<numberOfChildren> 1 </numberOfChildren>
        			<nodeIndex> 6557 </nodeIndex>
        			<propertyFlags> 0 </propertyFlags>
        		</node>
        		<node>
        			<index> 6557 </index>
        			<expandedFlag> 0 </expandedFlag>
        			<visibilityFlag> 0 </visibilityFlag>
        			<hasMaterial> 0 </hasMaterial>
        			<mobilityFlag> 1 </mobilityFlag>
        			<position>
        				<v[0]> 5667.77 </v[0]>
        				<v[1]> 2915.8 </v[1]>
        				<v[2]> -2721.34 </v[2]>
        			</position>
        			<element> 100 </element>
        			<propertyFlags> 0 </propertyFlags>
        		</node>
        		...
        	</nodeContents>
        </SAMSON>
        

        Everything is in the data graph except for the atoms belonging to the backbone and sidechain.

        1 Reply Last reply
        0
        • StephaneS
          StephaneS
          Stephane
          wrote on last edited by Stephane
          #9

          I might need more information from the file but a quick check indicates that the visibility flag of the atoms is set to false:

          <visibilityFlag> 0 </visibilityFlag>
          

          Is this normal? Also, do you have a MyAtom class or you use the SBAtom class? There are also Einsteinium and Meitnerium atoms?

          1 Reply Last reply
          0
          • E
            E
            Elisa
            wrote on last edited by Elisa
            #10

            It is normal, we hide them on purpose.

            MyAtom class inherits from SBAtom, yes. I will try to produce a very small example so I can paste the entire file.

            Edit: This is a small full sample

            <SAMSON>
            	<majorVersionNumber> 0 </majorVersionNumber>
            	<minorVersionNumber> 7 </minorVersionNumber>
            	<patchVersionNumber> 0 </patchVersionNumber>
            	<numberOfNodeTypes> 13 </numberOfNodeTypes>
            	<nodeTypes>
            		<nodeType>
            			<nodeTypeIndex> 0 </nodeTypeIndex>
            			<className> MySidechain </className>
            			<elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID>
            			<sdkVersionNumber> 0.7.0 </sdkVersionNumber>
            			<classVersionNumber> 1.0.0 </classVersionNumber>
            		</nodeType>
            		<nodeType>
            			<nodeTypeIndex> 1 </nodeTypeIndex>
            			<className> MyBackbone </className>
            			<elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID>
            			<sdkVersionNumber> 0.7.0 </sdkVersionNumber>
            			<classVersionNumber> 1.0.0 </classVersionNumber>
            		</nodeType>
            		<nodeType>
            			<nodeTypeIndex> 2 </nodeTypeIndex>
            			<className> MyChain </className>
            			<elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID>
            			<sdkVersionNumber> 0.7.0 </sdkVersionNumber>
            			<classVersionNumber> 1.0.0 </classVersionNumber>
            		</nodeType>
            		<nodeType>
            			<nodeTypeIndex> 3 </nodeTypeIndex>
            			<className> MyStructuralModel </className>
            			<elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID>
            			<sdkVersionNumber> 0.7.0 </sdkVersionNumber>
            			<classVersionNumber> 1.0.0 </classVersionNumber>
            		</nodeType>
            		<nodeType>
            			<nodeTypeIndex> 4 </nodeTypeIndex>
            			<className> MyStructuralGroup </className>
            			<elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID>
            			<sdkVersionNumber> 0.7.0 </sdkVersionNumber>
            			<classVersionNumber> 1.0.0 </classVersionNumber>
            		</nodeType>
            		<nodeType>
            			<nodeTypeIndex> 5 </nodeTypeIndex>
            			<className> MyResidue </className>
            			<elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID>
            			<sdkVersionNumber> 0.7.0 </sdkVersionNumber>
            			<classVersionNumber> 1.0.0 </classVersionNumber>
            		</nodeType>
            		<nodeType>
            			<nodeTypeIndex> 6 </nodeTypeIndex>
            			<className> MyAtom </className>
            			<elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID>
            			<sdkVersionNumber> 0.7.0 </sdkVersionNumber>
            			<classVersionNumber> 1.0.0 </classVersionNumber>
            		</nodeType>
            		<nodeType>
            			<nodeTypeIndex> 7 </nodeTypeIndex>
            			<className> MyStructuralGroup2 </className>
            			<elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID>
            			<sdkVersionNumber> 0.7.0 </sdkVersionNumber>
            			<classVersionNumber> 1.0.0 </classVersionNumber>
            		</nodeType>
            		<nodeType>
            			<nodeTypeIndex> 8 </nodeTypeIndex>
            			<className> MyStructuralGroup3 </className>
            			<elementUUID> DDA2A078-1AB6-96BA-0D14-EE1717632D7A </elementUUID>
            			<sdkVersionNumber> 0.7.0 </sdkVersionNumber>
            			<classVersionNumber> 1.0.0 </classVersionNumber>
            		</nodeType>
            		<nodeType>
            			<nodeTypeIndex> 9 </nodeTypeIndex>
            			<className> SBMStructuralModelNodeRoot </className>
            			<elementUUID> 5A3CE002-9368-1EAF-7DBA-66567958AB1F </elementUUID>
            			<sdkVersionNumber> 0.7.0 </sdkVersionNumber>
            			<classVersionNumber> 0.7.0 </classVersionNumber>
            		</nodeType>
            		<nodeType>
            			<nodeTypeIndex> 10 </nodeTypeIndex>
            			<className> SBDDocumentCamera </className>
            			<elementUUID> 131D70CF-3B19-61A8-B67C-BBDA93776B38 </elementUUID>
            			<sdkVersionNumber> 0.7.0 </sdkVersionNumber>
            			<classVersionNumber> 0.7.0 </classVersionNumber>
            		</nodeType>
            		<nodeType>
            			<nodeTypeIndex> 11 </nodeTypeIndex>
            			<className> SBDDocumentLayer </className>
            			<elementUUID> 131D70CF-3B19-61A8-B67C-BBDA93776B38 </elementUUID>
            			<sdkVersionNumber> 0.7.0 </sdkVersionNumber>
            			<classVersionNumber> 0.7.0 </classVersionNumber>
            		</nodeType>
            		<nodeType>
            			<nodeTypeIndex> 12 </nodeTypeIndex>
            			<className> SBDDocument </className>
            			<elementUUID> 131D70CF-3B19-61A8-B67C-BBDA93776B38 </elementUUID>
            			<sdkVersionNumber> 0.7.0 </sdkVersionNumber>
            			<classVersionNumber> 0.7.0 </classVersionNumber>
            		</nodeType>
            	</nodeTypes>
            	<numberOfNodes> 21 </numberOfNodes>
            	<nodes>
            		<nodeTypeIndex> 12 </nodeTypeIndex>
            		<nodeTypeIndex> 10 </nodeTypeIndex>
            		<nodeTypeIndex> 11 </nodeTypeIndex>
            		<nodeTypeIndex> 3 </nodeTypeIndex>
            		<nodeTypeIndex> 9 </nodeTypeIndex>
            		<nodeTypeIndex> 7 </nodeTypeIndex>
            		<nodeTypeIndex> 4 </nodeTypeIndex>
            		<nodeTypeIndex> 8 </nodeTypeIndex>
            		<nodeTypeIndex> 6 </nodeTypeIndex>
            		<nodeTypeIndex> 2 </nodeTypeIndex>
            		<nodeTypeIndex> 5 </nodeTypeIndex>
            		<nodeTypeIndex> 1 </nodeTypeIndex>
            		<nodeTypeIndex> 6 </nodeTypeIndex>
            		<nodeTypeIndex> 0 </nodeTypeIndex>
            		<nodeTypeIndex> 6 </nodeTypeIndex>
            		<nodeTypeIndex> 2 </nodeTypeIndex>
            		<nodeTypeIndex> 5 </nodeTypeIndex>
            		<nodeTypeIndex> 1 </nodeTypeIndex>
            		<nodeTypeIndex> 6 </nodeTypeIndex>
            		<nodeTypeIndex> 0 </nodeTypeIndex>
            		<nodeTypeIndex> 6 </nodeTypeIndex>
            	</nodes>
            	<nodeContents>
            		<node>
            			<index> 0 </index>
            			<expandedFlag> 1 </expandedFlag>
            			<visibilityFlag> 1 </visibilityFlag>
            			<hasMaterial> 0 </hasMaterial>
            			<numberOfCameras> 1 </numberOfCameras>
            			<nodeIndex> 1 </nodeIndex>
            			<numberOfLayers> 1 </numberOfLayers>
            			<nodeIndex> 2 </nodeIndex>
            			<numberOfGroups> 0 </numberOfGroups>
            			<numberOfStoredConformations> 0 </numberOfStoredConformations>
            			<numberOfStoredPaths> 0 </numberOfStoredPaths>
            			<activeCameraIndex> 1 </activeCameraIndex>
            			<activeLayerIndex> 2 </activeLayerIndex>
            		</node>
            		<node>
            			<index> 1 </index>
            			<expandedFlag> 0 </expandedFlag>
            			<visibilityFlag> 1 </visibilityFlag>
            			<hasMaterial> 0 </hasMaterial>
            			<name> Camera 1 </name>
            			<eyePosition>
            				<v[0]> 0 </v[0]>
            				<v[1]> 0 </v[1]>
            				<v[2]> 10000 </v[2]>
            			</eyePosition>
            			<targetPosition>
            				<v[0]> 0 </v[0]>
            				<v[1]> 0 </v[1]>
            				<v[2]> 0 </v[2]>
            			</targetPosition>
            			<upVector>
            				<v[0]> 0 </v[0]>
            				<v[1]> 1 </v[1]>
            				<v[2]> 0 </v[2]>
            			</upVector>
            			<nearPlane> 100 </nearPlane>
            			<farPlane> 2e+06 </farPlane>
            			<aspectRatio> 1.41675 </aspectRatio>
            			<fieldOfViewAngleY> 19 </fieldOfViewAngleY>
            			<inertiaFlag> 0 </inertiaFlag>
            		</node>
            		<node>
            			<index> 2 </index>
            			<expandedFlag> 1 </expandedFlag>
            			<visibilityFlag> 1 </visibilityFlag>
            			<hasMaterial> 0 </hasMaterial>
            			<name> Layer 1 </name>
            			<numberOfModels> 1 </numberOfModels>
            			<nodeIndex> 3 </nodeIndex>
            			<numberOfSimulators> 0 </numberOfSimulators>
            			<numberOfControllers> 0 </numberOfControllers>
            			<numberOfLabels> 0 </numberOfLabels>
            			<hasActiveModel> 0 </hasActiveModel>
            		</node>
            		<node>
            			<index> 3 </index>
            			<expandedFlag> 1 </expandedFlag>
            			<visibilityFlag> 1 </visibilityFlag>
            			<hasMaterial> 0 </hasMaterial>
            			<name> Structural model </name>
            			<rootIndex> 4 </rootIndex>
            			<propertyFlags> 0 </propertyFlags>
            			<backboneNeighborGridInitialized> 0 </backboneNeighborGridInitialized>
            		</node>
            		<node>
            			<index> 4 </index>
            			<expandedFlag> 1 </expandedFlag>
            			<visibilityFlag> 1 </visibilityFlag>
            			<hasMaterial> 0 </hasMaterial>
            			<mobilityFlag> 1 </mobilityFlag>
            			<name> Nodes </name>
            			<numberOfChildren> 3 </numberOfChildren>
            			<nodeIndex> 5 </nodeIndex>
            			<nodeIndex> 9 </nodeIndex>
            			<nodeIndex> 15 </nodeIndex>
            			<propertyFlags> 0 </propertyFlags>
            		</node>
            		<node>
            			<index> 5 </index>
            			<expandedFlag> 0 </expandedFlag>
            			<visibilityFlag> 1 </visibilityFlag>
            			<hasMaterial> 0 </hasMaterial>
            			<mobilityFlag> 1 </mobilityFlag>
            			<name> Double Strand 1 </name>
            			<numberOfChildren> 1 </numberOfChildren>
            			<nodeIndex> 6 </nodeIndex>
            			<propertyFlags> 0 </propertyFlags>
            		</node>
            		<node>
            			<index> 6 </index>
            			<expandedFlag> 0 </expandedFlag>
            			<visibilityFlag> 1 </visibilityFlag>
            			<hasMaterial> 0 </hasMaterial>
            			<mobilityFlag> 1 </mobilityFlag>
            			<name> Base Segment 4099 </name>
            			<numberOfChildren> 2 </numberOfChildren>
            			<nodeIndex> 7 </nodeIndex>
            			<nodeIndex> 8 </nodeIndex>
            			<propertyFlags> 0 </propertyFlags>
            		</node>
            		<node>
            			<index> 7 </index>
            			<expandedFlag> 0 </expandedFlag>
            			<visibilityFlag> 1 </visibilityFlag>
            			<hasMaterial> 0 </hasMaterial>
            			<mobilityFlag> 1 </mobilityFlag>
            			<name> Base Pair 4100 </name>
            			<numberOfChildren> 0 </numberOfChildren>
            			<propertyFlags> 0 </propertyFlags>
            		</node>
            		<node>
            			<index> 8 </index>
            			<expandedFlag> 0 </expandedFlag>
            			<visibilityFlag> 0 </visibilityFlag>
            			<hasMaterial> 0 </hasMaterial>
            			<mobilityFlag> 1 </mobilityFlag>
            			<position>
            				<v[0]> -877.886 </v[0]>
            				<v[1]> 516.92 </v[1]>
            				<v[2]> 0.0153761 </v[2]>
            			</position>
            			<element> 109 </element>
            			<propertyFlags> 0 </propertyFlags>
            		</node>
            		<node>
            			<index> 9 </index>
            			<expandedFlag> 0 </expandedFlag>
            			<visibilityFlag> 1 </visibilityFlag>
            			<hasMaterial> 0 </hasMaterial>
            			<mobilityFlag> 1 </mobilityFlag>
            			<name> Single Strand 1 </name>
            			<numberOfChildren> 1 </numberOfChildren>
            			<nodeIndex> 10 </nodeIndex>
            			<propertyFlags> 0 </propertyFlags>
            		</node>
            		<node>
            			<index> 10 </index>
            			<expandedFlag> 0 </expandedFlag>
            			<visibilityFlag> 1 </visibilityFlag>
            			<hasMaterial> 0 </hasMaterial>
            			<mobilityFlag> 1 </mobilityFlag>
            			<name> N4102 </name>
            			<numberOfChildren> 2 </numberOfChildren>
            			<nodeIndex> 11 </nodeIndex>
            			<nodeIndex> 13 </nodeIndex>
            			<propertyFlags> 0 </propertyFlags>
            			<residueType> 36 </residueType>
            			<residueTypeString>  </residueTypeString>
            		</node>
            		<node>
            			<index> 11 </index>
            			<expandedFlag> 0 </expandedFlag>
            			<visibilityFlag> 1 </visibilityFlag>
            			<hasMaterial> 0 </hasMaterial>
            			<mobilityFlag> 1 </mobilityFlag>
            			<name> N4102 Backbone </name>
            			<numberOfChildren> 1 </numberOfChildren>
            			<nodeIndex> 12 </nodeIndex>
            			<propertyFlags> 0 </propertyFlags>
            		</node>
            		<node>
            			<index> 12 </index>
            			<expandedFlag> 0 </expandedFlag>
            			<visibilityFlag> 0 </visibilityFlag>
            			<hasMaterial> 0 </hasMaterial>
            			<mobilityFlag> 1 </mobilityFlag>
            			<position>
            				<v[0]> -970.453 </v[0]>
            				<v[1]> -85.8914 </v[1]>
            				<v[2]> 538.434 </v[2]>
            			</position>
            			<element> 99 </element>
            			<propertyFlags> 0 </propertyFlags>
            		</node>
            		<node>
            			<index> 13 </index>
            			<expandedFlag> 0 </expandedFlag>
            			<visibilityFlag> 1 </visibilityFlag>
            			<hasMaterial> 0 </hasMaterial>
            			<mobilityFlag> 1 </mobilityFlag>
            			<name> N4102 Sidechain </name>
            			<numberOfChildren> 1 </numberOfChildren>
            			<nodeIndex> 14 </nodeIndex>
            			<propertyFlags> 0 </propertyFlags>
            		</node>
            		<node>
            			<index> 14 </index>
            			<expandedFlag> 0 </expandedFlag>
            			<visibilityFlag> 0 </visibilityFlag>
            			<hasMaterial> 0 </hasMaterial>
            			<mobilityFlag> 1 </mobilityFlag>
            			<position>
            				<v[0]> -880.731 </v[0]>
            				<v[1]> 352.262 </v[1]>
            				<v[2]> 220.392 </v[2]>
            			</position>
            			<element> 100 </element>
            			<propertyFlags> 0 </propertyFlags>
            		</node>
            		<node>
            			<index> 15 </index>
            			<expandedFlag> 0 </expandedFlag>
            			<visibilityFlag> 1 </visibilityFlag>
            			<hasMaterial> 0 </hasMaterial>
            			<mobilityFlag> 1 </mobilityFlag>
            			<name> Single Strand 2 </name>
            			<numberOfChildren> 1 </numberOfChildren>
            			<nodeIndex> 16 </nodeIndex>
            			<propertyFlags> 0 </propertyFlags>
            		</node>
            		<node>
            			<index> 16 </index>
            			<expandedFlag> 0 </expandedFlag>
            			<visibilityFlag> 1 </visibilityFlag>
            			<hasMaterial> 0 </hasMaterial>
            			<mobilityFlag> 1 </mobilityFlag>
            			<name> N4108 </name>
            			<numberOfChildren> 2 </numberOfChildren>
            			<nodeIndex> 17 </nodeIndex>
            			<nodeIndex> 19 </nodeIndex>
            			<propertyFlags> 0 </propertyFlags>
            			<residueType> 36 </residueType>
            			<residueTypeString>  </residueTypeString>
            		</node>
            		<node>
            			<index> 17 </index>
            			<expandedFlag> 0 </expandedFlag>
            			<visibilityFlag> 1 </visibilityFlag>
            			<hasMaterial> 0 </hasMaterial>
            			<mobilityFlag> 1 </mobilityFlag>
            			<name> N4108 Backbone </name>
            			<numberOfChildren> 1 </numberOfChildren>
            			<nodeIndex> 18 </nodeIndex>
            			<propertyFlags> 0 </propertyFlags>
            		</node>
            		<node>
            			<index> 18 </index>
            			<expandedFlag> 0 </expandedFlag>
            			<visibilityFlag> 0 </visibilityFlag>
            			<hasMaterial> 0 </hasMaterial>
            			<mobilityFlag> 1 </mobilityFlag>
            			<position>
            				<v[0]> -788.488 </v[0]>
            				<v[1]> 1018.95 </v[1]>
            				<v[2]> -570.406 </v[2]>
            			</position>
            			<element> 99 </element>
            			<propertyFlags> 0 </propertyFlags>
            		</node>
            		<node>
            			<index> 19 </index>
            			<expandedFlag> 0 </expandedFlag>
            			<visibilityFlag> 1 </visibilityFlag>
            			<hasMaterial> 0 </hasMaterial>
            			<mobilityFlag> 1 </mobilityFlag>
            			<name> N4108 Sidechain </name>
            			<numberOfChildren> 1 </numberOfChildren>
            			<nodeIndex> 20 </nodeIndex>
            			<propertyFlags> 0 </propertyFlags>
            		</node>
            		<node>
            			<index> 20 </index>
            			<expandedFlag> 0 </expandedFlag>
            			<visibilityFlag> 0 </visibilityFlag>
            			<hasMaterial> 0 </hasMaterial>
            			<mobilityFlag> 1 </mobilityFlag>
            			<position>
            				<v[0]> -874.781 </v[0]>
            				<v[1]> 804.363 </v[1]>
            				<v[2]> -159.697 </v[2]>
            			</position>
            			<element> 100 </element>
            			<propertyFlags> 0 </propertyFlags>
            		</node>
            	</nodeContents>
            </SAMSON>
            

            The atoms below the Sidechain and Backbone are not created when reading the same, but the atom below the structural group is.

            Thanks!

            1 Reply Last reply
            0
            • StephaneS
              StephaneS
              Stephane
              wrote on last edited by
              #11

              This looks perfect. Could you please try the following things:

              • load the short file above, and send me the log (Edit / Show log / Submit).
              • in the document view, select a MyAtom in a MyBackbone, and press Ctrl+C, Ctrl+V. Do you see a copy of the MyAtom appear in the document view? Serialization is also used for copy/paste, so issues should appear at that moment too.

              Thanks,

              Stephane

              E 1 Reply Last reply
              0
              • StephaneS Stephane

                This looks perfect. Could you please try the following things:

                • load the short file above, and send me the log (Edit / Show log / Submit).
                • in the document view, select a MyAtom in a MyBackbone, and press Ctrl+C, Ctrl+V. Do you see a copy of the MyAtom appear in the document view? Serialization is also used for copy/paste, so issues should appear at that moment too.

                Thanks,

                Stephane

                E
                E
                Elisa
                wrote on last edited by Elisa
                #12

                @stephane-redon

                The log doesn't seem to show anything, I submitted it.

                In the document view of the original system you can see the atoms in the document view. I attach two pictures showing the system I save and the system after loading the samx file.

                1_1553508805909_test_samx_before.PNG 0_1553508805908_test_samx_after.PNG

                Thanks!

                PS: The element is now on the samson store, we are still debugging a lot but I could give you access if you want.

                PS2: Copy and paste seems to work fine.

                And another edit: I assumed the error would be on the atom, but I tried copy and pasting the Backbone or Sidechain and this time it didn't work. Could this be the problem?

                1 Reply Last reply
                0
                • StephaneS
                  StephaneS
                  Stephane
                  wrote on last edited by
                  #13

                  Could you please add developer [(at)] oneangstrom.com as a collaborator and send me a samx so I can test here?

                  1 Reply Last reply
                  0
                  • E
                    E
                    Elisa
                    wrote on last edited by
                    #14

                    I did some checks in the code like:

                    void MyBackbone::unserialize(SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber, const SBVersionNumber & classVersionNumber)
                    {
                    SBBackbone::unserialize(serializer, nodeIndexer, sdkVersionNumber, classVersionNumber);

                    auto test = getNumberOfAtoms();
                    int here = 1;
                    }

                    And the number of atoms there looks correct. I tried also with more than one atom, and all the number is still fine, but they are not produced in the data graph. I will try to create a mock project to test this, just in case.

                    1 Reply Last reply
                    0
                    • DmitriyMarinD
                      DmitriyMarinD
                      DmitriyMarin
                      wrote on last edited by
                      #15

                      You can also check an updated Developer guide: Serialization.

                      Dmitriy,
                      The SAMSON Team, https://s-c.io

                      1 Reply Last reply
                      1
                      • StephaneS
                        StephaneS
                        Stephane
                        wrote on last edited by
                        #16

                        @Elisa could you please pack the debug version as well in your SAMSON Element ? (before using the packager, you would need to build both the debug and release version). Thanks!

                        1 Reply Last reply
                        0
                        • E
                          E
                          Elisa
                          wrote on last edited by
                          #17

                          Hi,

                          I think I found the problem. Some initialization functions in the constructor of my class were overriding the unserialization. I tried to make a quick fix but when I do static casts in the unserialize function, SAMSON is crashing, so I will modify my constructor and check, it will take a bit though.

                          Thanks for your help!

                          1 Reply Last reply
                          0

                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                          With your input, this post could be even better 💗

                          Register Login
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          • Login

                          • Login or register to search.
                          • First post
                            Last post