def test_cluster_with_reactions(self): """ Test that isotope partitioning algorithm works with Reaction objects """ eth = Species().from_adjacency_list(""" 1 C u0 p0 c0 {2,S} {3,S} {4,S} {5,S} 2 C u0 p0 c0 {1,S} {6,S} {7,S} {8,S} 3 H u0 p0 c0 {1,S} 4 H u0 p0 c0 {1,S} 5 H u0 p0 c0 {1,S} 6 H u0 p0 c0 {2,S} 7 H u0 p0 c0 {2,S} 8 H u0 p0 c0 {2,S} """) ethi = Species().from_adjacency_list(""" 1 C u0 p0 c0 {2,S} {3,S} {4,S} {5,S} 2 C u0 p0 c0 i13 {1,S} {6,S} {7,S} {8,S} 3 H u0 p0 c0 {1,S} 4 H u0 p0 c0 {1,S} 5 H u0 p0 c0 {1,S} 6 H u0 p0 c0 {2,S} 7 H u0 p0 c0 {2,S} 8 H u0 p0 c0 {2,S} """) meth = Species().from_adjacency_list(""" 1 C u0 p0 c0 {2,S} {3,S} {4,S} {5,S} 2 H u0 p0 c0 {1,S} 3 H u0 p0 c0 {1,S} 4 H u0 p0 c0 {1,S} 5 H u0 p0 c0 {1,S} """) rxn0 = Reaction(reactants=[ethi, ethi], products=[ethi, eth]) rxn1 = Reaction(reactants=[eth, ethi], products=[eth, eth]) rxn2 = Reaction(reactants=[ethi, meth], products=[meth, ethi]) rxn3 = Reaction(reactants=[eth, meth], products=[eth, meth]) rxn4 = Reaction(reactants=[meth], products=[meth]) rxn5 = Reaction(reactants=[ethi], products=[eth]) same_cluster_list = [rxn0, rxn1] clusters = cluster(same_cluster_list) self.assertEquals(len(clusters), 1) self.assertEquals(len(clusters[0]), 2) same_cluster_list = [rxn2, rxn3] clusters = cluster(same_cluster_list) self.assertEquals(len(clusters), 1) self.assertEquals(len(clusters[0]), 2) multi_cluster_list = [rxn0, rxn1, rxn2, rxn3, rxn4, rxn5] clusters = cluster(multi_cluster_list) self.assertEquals(len(clusters), 4) self.assertEquals(len(clusters[0]), 1)
def testClusterWithSpecies(self): """ Test that isotope partitioning algorithm work with Reaction Objects. """ eth = Species().fromAdjacencyList( """ 1 C u0 p0 c0 {2,S} {3,S} {4,S} {5,S} 2 C u0 p0 c0 {1,S} {6,S} {7,S} {8,S} 3 H u0 p0 c0 {1,S} 4 H u0 p0 c0 {1,S} 5 H u0 p0 c0 {1,S} 6 H u0 p0 c0 {2,S} 7 H u0 p0 c0 {2,S} 8 H u0 p0 c0 {2,S} """ ) ethi = Species().fromAdjacencyList( """ 1 C u0 p0 c0 {2,S} {3,S} {4,S} {5,S} 2 C u0 p0 c0 i13 {1,S} {6,S} {7,S} {8,S} 3 H u0 p0 c0 {1,S} 4 H u0 p0 c0 {1,S} 5 H u0 p0 c0 {1,S} 6 H u0 p0 c0 {2,S} 7 H u0 p0 c0 {2,S} 8 H u0 p0 c0 {2,S} """ ) meth = Species().fromAdjacencyList( """ 1 C u0 p0 c0 {2,S} {3,S} {4,S} {5,S} 2 H u0 p0 c0 {1,S} 3 H u0 p0 c0 {1,S} 4 H u0 p0 c0 {1,S} 5 H u0 p0 c0 {1,S} """ ) spcList = [eth, ethi] clusters = cluster(spcList) self.assertEquals(len(clusters), 1) self.assertEquals(len(clusters[0]), 2) spcList = [meth, ethi] clusters = cluster(spcList) self.assertEquals(len(clusters), 2) self.assertEquals(len(clusters[0]), 1)
def test_cluster_with_species(self): """ Test that isotope partitioning algorithm work with Reaction Objects. """ eth = Species().from_adjacency_list(""" 1 C u0 p0 c0 {2,S} {3,S} {4,S} {5,S} 2 C u0 p0 c0 {1,S} {6,S} {7,S} {8,S} 3 H u0 p0 c0 {1,S} 4 H u0 p0 c0 {1,S} 5 H u0 p0 c0 {1,S} 6 H u0 p0 c0 {2,S} 7 H u0 p0 c0 {2,S} 8 H u0 p0 c0 {2,S} """) ethi = Species().from_adjacency_list(""" 1 C u0 p0 c0 {2,S} {3,S} {4,S} {5,S} 2 C u0 p0 c0 i13 {1,S} {6,S} {7,S} {8,S} 3 H u0 p0 c0 {1,S} 4 H u0 p0 c0 {1,S} 5 H u0 p0 c0 {1,S} 6 H u0 p0 c0 {2,S} 7 H u0 p0 c0 {2,S} 8 H u0 p0 c0 {2,S} """) meth = Species().from_adjacency_list(""" 1 C u0 p0 c0 {2,S} {3,S} {4,S} {5,S} 2 H u0 p0 c0 {1,S} 3 H u0 p0 c0 {1,S} 4 H u0 p0 c0 {1,S} 5 H u0 p0 c0 {1,S} """) spc_list = [eth, ethi] clusters = cluster(spc_list) self.assertEquals(len(clusters), 1) self.assertEquals(len(clusters[0]), 2) spc_list = [meth, ethi] clusters = cluster(spc_list) self.assertEquals(len(clusters), 2) self.assertEquals(len(clusters[0]), 1)
def testClusterWithReactions(self): """ Test that isotope partitioning algorithm works with Reaction objects """ eth = Species().fromAdjacencyList( """ 1 C u0 p0 c0 {2,S} {3,S} {4,S} {5,S} 2 C u0 p0 c0 {1,S} {6,S} {7,S} {8,S} 3 H u0 p0 c0 {1,S} 4 H u0 p0 c0 {1,S} 5 H u0 p0 c0 {1,S} 6 H u0 p0 c0 {2,S} 7 H u0 p0 c0 {2,S} 8 H u0 p0 c0 {2,S} """ ) ethi = Species().fromAdjacencyList( """ 1 C u0 p0 c0 {2,S} {3,S} {4,S} {5,S} 2 C u0 p0 c0 i13 {1,S} {6,S} {7,S} {8,S} 3 H u0 p0 c0 {1,S} 4 H u0 p0 c0 {1,S} 5 H u0 p0 c0 {1,S} 6 H u0 p0 c0 {2,S} 7 H u0 p0 c0 {2,S} 8 H u0 p0 c0 {2,S} """ ) meth = Species().fromAdjacencyList( """ 1 C u0 p0 c0 {2,S} {3,S} {4,S} {5,S} 2 H u0 p0 c0 {1,S} 3 H u0 p0 c0 {1,S} 4 H u0 p0 c0 {1,S} 5 H u0 p0 c0 {1,S} """ ) rxn0 = Reaction(reactants=[ethi,ethi], products=[ethi,eth]) rxn1 = Reaction(reactants=[eth,ethi], products=[eth,eth]) rxn2 = Reaction(reactants=[ethi,meth], products=[meth,ethi]) rxn3 = Reaction(reactants=[eth,meth], products=[eth,meth]) rxn4 = Reaction(reactants=[meth], products=[meth]) rxn5 = Reaction(reactants=[ethi], products=[eth]) sameClusterList = [rxn0,rxn1] clusters = cluster(sameClusterList) self.assertEquals(len(clusters), 1) self.assertEquals(len(clusters[0]), 2) sameClusterList = [rxn2,rxn3] clusters = cluster(sameClusterList) self.assertEquals(len(clusters), 1) self.assertEquals(len(clusters[0]), 2) multiClusterList = [rxn0, rxn1, rxn2, rxn3, rxn4, rxn5] clusters = cluster(multiClusterList) self.assertEquals(len(clusters), 4) self.assertEquals(len(clusters[0]), 1)