Example #1
0
        private static Peptide ExtractChain(
            IList <string> modelLines,
            IList <string> annotationLines,
            char chainId,
            PdbReaderOptions options)
        {
            var aminoAcidSequence = ExtractSequence(modelLines, chainId);

            if (!aminoAcidSequence.Any())
            {
                return(new Peptide(new MoleculeReference(new Molecule()), new List <AminoAcidReference>()));
            }
            var peptide = PeptideBuilder.PeptideFromSequence(aminoAcidSequence, new PeptideBuilderOptions {
                BuildMolecule = options.BuildMolecule
            });

            peptide.ChainId = chainId;
            var annotations = ExtractAnnotations(annotationLines, chainId, peptide);

            peptide.Annotations.AddRange(annotations);
            if (options.BuildMolecule)
            {
                ReadAtomPositions(modelLines, chainId, peptide);
            }
            return(peptide);
        }
        public void RunSimulation()
        {
            var molecule = PeptideBuilder.PeptideFromSequence(new[]
            {
                AminoAcidName.Proline,
                AminoAcidName.Tyrosine,
                AminoAcidName.Alanine,
                AminoAcidName.Glutamine,
                AminoAcidName.Glutamine,
                AminoAcidName.Lysine
            }).Molecule;
            var customForces = new List <CustomAtomForce>();
            var settings     = new MoleculeDynamicsSimulationSettings
            {
                SimulationTime = 10.To(SIPrefix.Nano, Unit.Second),
                TimeStep       = 4.To(SIPrefix.Femto, Unit.Second)
            };
            var simulator = new MoleculeDynamicsSimulator(molecule, customForces, settings);

            simulator.SimulationCompleted += Simulator_SimulationCompleted;
            simulationCompletedEvent.Reset();
            simulator.StartSimulation();
            simulationCompletedEvent.WaitOne();
        }