Example #1
0
        public void GeneratePdbForPeptide()
        {
            var peptide = PeptideBuilder.PeptideFromString(
                "MQRSPLEKASVVSKLFFSWTRPILRKGYRQRLELSDIYQIPSVDSADNLSEKLEREWDRE"
                + "LASKKNPKLINALRRCFFWRFMFYGIFLYLGEVTKAVQPLLLGRIIASYDPDNKEERSIA"
                + "IYLGIGLCLLFIVRTLLLHPAIFGLHHIGMQMRIAMFSLIYKKTLKLSSRVLDKISIGQL"
                + "VSLLSNNLNKFDEGLALAHFVWIAPLQVALLMGLIWELLQASAFCGLGFLIVLALFQAGL"
                + "GRMMMKYRDQRAGKISERLVITSEMIENIQSVKAYCWEEAMEKMIENLRQTELKLTRKAA"
                + "YVRYFNSSAFFFSGFFVVFLSVLPYALIKGIILRKIFTTISFCIVLRMAVTRQFPWAVQT"
                + "WYDSLGAINKIQDFLQKQEYKTLEYNLTTTEVVMENVTAFWEEGFGELFEKAKQNNNNRK"
                + "TSNGDDSLFFSNFSLLGTPVLKDINFKIERGQLLAVAGSTGAGKTSLLMVIMGELEPSEG"
                + "KIKHSGRISFCSQFSWIMPGTIKENIIFGVSYDEYRYRSVIKACQLEEDISKFAEKDNIV"
                + "LGEGGITLSGGQRARISLARAVYKDADLYLLDSPFGYLDVLTEKEIFESCVCKLMANKTR"
                + "ILVTSKMEHLKKADKILILHEGSSYFYGTFSELQNLQPDFSSKLMGCDSFDQFSAERRNS"
                + "ILTETLHRFSLEGDAPVSWTETKKQSFKQTGEFGEKRKNSILNPINSIRKFSIVQKTPLQ"
                + "MNGIEEDSDEPLERRLSLVPDSEQGEAILPRISVISTGPTLQARRRQSVLNLMTHSVNQG"
                + "QNIHRKTTASTRKVSLAPQANLTELDIYSRRLSQETGLEISEEINEEDLKECFFDDMESI"
                + "PAVTTWNTYLRYITVHKSLIFVLIWCLVIFLAEVAASLVVLWLLGNTPLQDKGNSTHSRN"
                + "NSYAVIITSTSSYYVFYIYVGVADTLLAMGFFRGLPLVHTLITVSKILHHKMLHSVLQAP"
                + "MSTLNTLKAGGILNRFSKDIAILDDLLPLTIFDFIQLLLIVIGAIAVVAVLQPYIFVATV"
                + "PVIVAFIMLRAYFLQTSQQLKQLESEGRSPIFTHLVTSLKGLWTLRAFGRQPYFETLFHK"
                + "ALNLHTANWFLYLSTLRWFQMRIEMIFVIFFIAVTFISILTTGEGEGRVGIILTLAMNIM"
                + "STLQWAVNSSIDVDSLMRSVSRVFKFIDMPTEGKPTKSTKPYKNGQLSKVMIIENSHVKK"
                + "DDIWPSGGQMTVKDLTAKYTEGGNAILENISFSISPGQRVGLLGRTGSGKSTLLSAFLRL"
                + "LNTEGEIQIDGVSWDSITLQQWRKAFGVIPQKVFIFSGTFRKNLDPYEQWSDQEIWKVAD"
                + "EVGLRSVIEQFPGKLDFVLVDGGCVLSHGHKQLMCLARSVLSKAKILLLDEPSAHLDPVT"
                + "YQIIRRTLKQAFADCTVILCEHRIEAMLECQQFLVIEENKVRQYDSIQKLLNERSLFRQA"
                + "ISPSDRVKLFPHRNSSKCKSKPQIAALKEETEEEVQDTRL");

            peptide.Molecule.PositionAtoms(peptide.MoleculeReference.FirstAtomId, peptide.MoleculeReference.LastAtomId);
            File.WriteAllText(@"G:\Projects\HumanGenome\cftr.pdb", PdbSerializer.Serialize("cftr", peptide));
        }
Example #2
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 Psi90PlusMeasuredCorrectly()
        {
            var peptide        = PeptideBuilder.PeptideFromString("GG");
            var firstAminoAcid = peptide.AminoAcids.First();
            var lastAminoAcid  = peptide.AminoAcids.Last();

            PdbAminoAcidAtomNamer.AssignNames(firstAminoAcid);
            PdbAminoAcidAtomNamer.AssignNames(lastAminoAcid);
            var N1  = firstAminoAcid.GetAtomFromName("N");
            var Ca1 = firstAminoAcid.GetAtomFromName("CA");
            var C1  = firstAminoAcid.GetAtomFromName("C");
            var N2  = lastAminoAcid.GetAtomFromName("N");
            var Ca2 = lastAminoAcid.GetAtomFromName("CA");
            var C2  = lastAminoAcid.GetAtomFromName("C");

            N1.Position        = new UnitPoint3D(SIPrefix.Pico, Unit.Meter, 0, 0, 0);
            N1.IsPositionFixed = true;

            Ca1.Position        = new UnitPoint3D(SIPrefix.Pico, Unit.Meter, 100, 0, 0);
            Ca1.IsPositionFixed = true;

            C1.Position        = new UnitPoint3D(SIPrefix.Pico, Unit.Meter, 100, 100, 0);
            C1.IsPositionFixed = true;

            N2.Position        = new UnitPoint3D(SIPrefix.Pico, Unit.Meter, 100, 100, 100);
            N2.IsPositionFixed = true;

            Ca2.Position        = new UnitPoint3D(SIPrefix.Pico, Unit.Meter, 200, 100, 100);
            Ca2.IsPositionFixed = true;

            C2.Position        = new UnitPoint3D(SIPrefix.Pico, Unit.Meter, 200, 200, 100);
            C2.IsPositionFixed = true;

            var measurements = AminoAcidAngleMeasurer.MeasureAngles(peptide);

            Assert.That(measurements.ContainsKey(firstAminoAcid));
            Assert.That(measurements.ContainsKey(lastAminoAcid));

            var firstAngles = measurements[firstAminoAcid];
            var lastAngles  = measurements[lastAminoAcid];

            Assert.That(firstAngles.Omega, Is.Null);
            Assert.That(firstAngles.Phi, Is.Null);
            Assert.That(firstAngles.Psi, Is.Not.Null);
            Assert.That(firstAngles.Psi.In(Unit.Degree), Is.EqualTo(90));

            Assert.That(lastAngles.Omega, Is.Not.Null);
            Assert.That(lastAngles.Omega.In(Unit.Degree), Is.EqualTo(90));
        }
        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();
        }
Example #5
0
        public static Peptide ReadFile(string filename)
        {
            var aminoAcidSequence = File.ReadAllLines(filename).Aggregate((a, b) => a + b);

            return(PeptideBuilder.PeptideFromString(aminoAcidSequence));
        }