-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathAtomCategory.cs
133 lines (122 loc) · 4.23 KB
/
AtomCategory.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
using System;
using System.Collections;
namespace betaBarrelProgram.AtomParser
{
/// <summary>
/// category for atoms of each asymmetric chains
/// </summary>
public class AtomCategory
{
public ArrayList chainAtomsList = new ArrayList ();
internal double resolution = new double();
public ChainAtoms[] ChainAtomList
{
get
{
ChainAtoms [] chainList = new ChainAtoms [chainAtomsList.Count];
chainAtomsList.CopyTo (chainList);
return chainList;
}
set
{
if (value == null) return;
chainAtomsList.Clear ();
chainAtomsList.AddRange ((ChainAtoms[])value);
}
}
public double Resolution
{
get
{
return resolution;
}
set
{
resolution = value;
}
}
/// <summary>
/// chains and their Calpha atoms
/// </summary>
/// <returns></returns>
public ChainAtoms[] CalphaAtomList ()
{
ChainAtoms[] calphaChainList = new ChainAtoms [chainAtomsList.Count];
for (int i = 0; i < chainAtomsList.Count; i ++)
{
ChainAtoms chainCalphaAtoms = new ChainAtoms ();
chainCalphaAtoms.CartnAtoms = ((ChainAtoms)chainAtomsList[i]).CalphaAtoms();
chainCalphaAtoms.AsymChain = ((ChainAtoms)chainAtomsList[i]).AsymChain;
chainCalphaAtoms.AuthAsymChain = ((ChainAtoms)chainAtomsList[i]).AuthAsymChain;
chainCalphaAtoms.EntityID = ((ChainAtoms)chainAtomsList[i]).EntityID;
chainCalphaAtoms.PolymerType = ((ChainAtoms)chainAtomsList[i]).PolymerType;
calphaChainList[i] = chainCalphaAtoms;
}
return calphaChainList;
}
/// <summary>
/// chains and their Cbeta atoms
/// </summary>
/// <returns></returns>
public ChainAtoms[] CbetaAtomList ()
{
ChainAtoms[] cbetaChainList = new ChainAtoms [chainAtomsList.Count];
for (int i = 0; i < chainAtomsList.Count; i ++)
{
ChainAtoms chainCbetaAtoms = new ChainAtoms ();
chainCbetaAtoms.CartnAtoms = ((ChainAtoms)chainAtomsList[i]).CbetaAtoms ();
chainCbetaAtoms.AsymChain = ((ChainAtoms)chainAtomsList[i]).AsymChain;
chainCbetaAtoms.AuthAsymChain = ((ChainAtoms)ChainAtomList[i]).AuthAsymChain;
chainCbetaAtoms.EntityID = ((ChainAtoms)chainAtomsList[i]).EntityID;
chainCbetaAtoms.PolymerType = ((ChainAtoms)chainAtomsList[i]).PolymerType;
cbetaChainList[i] = chainCbetaAtoms;
}
return cbetaChainList;
}
/// <summary>
/// chains and their Calpha and Cbeta atoms
/// </summary>
/// <returns></returns>
public ChainAtoms[] CalphaCbetaAtomList ()
{
ChainAtoms[] calphaCbetaChainList = new ChainAtoms [chainAtomsList.Count];
for (int i = 0; i < chainAtomsList.Count; i ++)
{
ChainAtoms chainCalphaCbetaAtoms = new ChainAtoms ();
chainCalphaCbetaAtoms.CartnAtoms = ((ChainAtoms)chainAtomsList[i]).CalphaCbetaAtoms ();
chainCalphaCbetaAtoms.AsymChain = ((ChainAtoms)chainAtomsList[i]).AsymChain;
chainCalphaCbetaAtoms.AuthAsymChain = ((ChainAtoms)chainAtomsList[i]).AuthAsymChain;
chainCalphaCbetaAtoms.EntityID = ((ChainAtoms)chainAtomsList[i]).EntityID;
chainCalphaCbetaAtoms.PolymerType = ((ChainAtoms)chainAtomsList[i]).PolymerType;
calphaCbetaChainList[i] = chainCalphaCbetaAtoms;
}
return calphaCbetaChainList;
}
/// <summary>
/// chains and their backbone atoms
/// </summary>
public ChainAtoms[] BackboneAtomList ()
{
ChainAtoms[] backboneChainList = new ChainAtoms [chainAtomsList.Count];
for (int i = 0; i < chainAtomsList.Count; i ++)
{
ChainAtoms backboneChainAtoms = new ChainAtoms ();
backboneChainAtoms.CartnAtoms = ((ChainAtoms)chainAtomsList[i]).BackboneAtoms ();
backboneChainAtoms.AsymChain = ((ChainAtoms)chainAtomsList[i]).AsymChain;
backboneChainAtoms.AuthAsymChain = ((ChainAtoms)chainAtomsList[i]).AuthAsymChain;
backboneChainAtoms.EntityID = ((ChainAtoms)chainAtomsList[i]).EntityID;
backboneChainAtoms.PolymerType = ((ChainAtoms)chainAtomsList[i]).PolymerType;
backboneChainList[i] = backboneChainAtoms;
}
return backboneChainList;
}
/// <summary>
/// add asymmetry chain
/// </summary>
/// <param name="chainAtoms"></param>
public void AddChainAtoms(ChainAtoms chainAtoms)
{
chainAtomsList.Add (chainAtoms);
}
}
}