示例#1
0
 public void addSecondaryStructure(sbyte type, char startChainID, int startSeqcode, char endChainID, int endSeqcode)
 {
     for (int i = polymerCount; --i >= 0;)
     {
         Polymer polymer = polymers[i];
         polymer.addSecondaryStructure(type, startChainID, startSeqcode, endChainID, endSeqcode);
     }
 }
示例#2
0
 public void addPolymer(Polymer polymer)
 {
     if (polymerCount == polymers.Length)
     {
         polymers = (Polymer[])Util.doubleLength(polymers);
     }
     polymers[polymerCount++] = polymer;
 }
示例#3
0
 private void BuildPolymers()
 {
     for (int i = 0; i < groupCount; ++i)
     {
         Group group = groups[i];
         if (group is Monomer)
         {
             Monomer monomer = (Monomer)group;
             if (monomer.polymer == null)
             {
                 Polymer.allocatePolymer(groups, i);
             }
         }
     }
 }
示例#4
0
 public override void calcHydrogenBonds(BitArray bsA, BitArray bsB)
 {
     for (int i = model.PolymerCount; --i >= 0;)
     {
         Polymer otherPolymer = model.getPolymer(i);
         if (otherPolymer == this)
         {
             // don't look at self
             continue;
         }
         if (otherPolymer == null || !(otherPolymer is NucleicPolymer))
         {
             continue;
         }
         lookForHbonds((NucleicPolymer)otherPolymer, bsA, bsB);
     }
 }
        public Org.Jmol.Viewer.Polymer TranslateCDKPolymer(Org.OpenScience.CDK.Polymer polymer)
        {
            // translate all monomers
            ICollection monomers = polymer.MonomerNames;

            Group[] groups = new Group[monomers.Count];

            IEnumerator iter = monomers.GetEnumerator();
            int         idx  = 0;

            while (iter.MoveNext())
            {
                groups[idx++] = TranslateCDKMonomer((Org.OpenScience.CDK.Interfaces.IMonomer)iter.Current);
            }

            Org.Jmol.Viewer.Polymer lPolymer = Org.Jmol.Viewer.Polymer.allocatePolymer(groups, 0);
            return(lPolymer);
        }
示例#6
0
            public Mpspolymer(Polymer polymer, int madOn, int madHelixSheet, int madTurnRandom, int madDnaRna)
            {
                this.polymer       = polymer;
                this.madOn         = (short)madOn;
                this.madHelixSheet = (short)madHelixSheet;
                this.madTurnRandom = (short)madTurnRandom;
                this.madDnaRna     = (short)madDnaRna;

                // FIXME
                // I don't think that polymer can ever be null for this thing
                // so stop checking for null and see if it explodes
                monomerCount = polymer == null?0:polymer.monomerCount;
                if (monomerCount > 0)
                {
                    colixes  = new short[monomerCount];
                    mads     = new short[monomerCount + 1];
                    monomers = polymer.monomers;

                    leadMidpoints = polymer.LeadMidpoints;
                    wingVectors   = polymer.WingVectors;
                }
            }
示例#7
0
        public void addPolymer(Polymer polymer)
		{
			if (polymerCount == polymers.Length)
				polymers = (Polymer[]) Util.doubleLength(polymers);
			polymers[polymerCount++] = polymer;
		}
示例#8
0
 public Cchain(Polymer polymer)
     : base(polymer, -2, 3000, 500, 1000)
 {
 }
示例#9
0
            public Mpspolymer(Polymer polymer, int madOn, int madHelixSheet, int madTurnRandom, int madDnaRna)
			{
				this.polymer = polymer;
				this.madOn = (short) madOn;
				this.madHelixSheet = (short) madHelixSheet;
				this.madTurnRandom = (short) madTurnRandom;
				this.madDnaRna = (short) madDnaRna;
				
				// FIXME
				// I don't think that polymer can ever be null for this thing
				// so stop checking for null and see if it explodes
				monomerCount = polymer == null?0:polymer.monomerCount;
				if (monomerCount > 0)
				{
					colixes = new short[monomerCount];
					mads = new short[monomerCount + 1];
					monomers = polymer.monomers;
					
					leadMidpoints = polymer.LeadMidpoints;
					wingVectors = polymer.WingVectors;
				}
			}
示例#10
0
 public abstract Mpspolymer allocateMpspolymer(Polymer polymer);
示例#11
0
 public override Mps.Mpspolymer allocateMpspolymer(Polymer polymer)
 {
     return(new Cchain(/*this, */ polymer));
 }
示例#12
0
		public override Mps.Mpspolymer allocateMpspolymer(Polymer polymer)
		{
			return new Schain(this, polymer);
		}
示例#13
0
 public Schain(Ribbons enclosingInstance, Polymer polymer)
     : base(polymer, -2, 3000, 800, 5000)
 { }
示例#14
0
 public abstract Mpspolymer allocateMpspolymer(Polymer polymer);
示例#15
0
		public override Mps.Mpspolymer allocateMpspolymer(Polymer polymer)
		{
			return new Cchain(/*this, */polymer);
		}
示例#16
0
 public Schain(Ribbons enclosingInstance, Polymer polymer)
     : base(polymer, -2, 3000, 800, 5000)
 {
 }
示例#17
0
 public override Mps.Mpspolymer allocateMpspolymer(Polymer polymer)
 {
     return(new Schain(this, polymer));
 }
示例#18
0
			public Cchain(Polymer polymer)
                :base(polymer, - 2, 3000, 500, 1000)
			{ }