public static ApproximatePeptideFoldingSimulator Create(ApproximatePeptide peptide,
                                                                ApproximatePeptideSimulationSettings simulationSettings,
                                                                string ramachadranDataDirectory)
        {
            var compactnessForceCalculator = new CompactingForceCalculator();

            var ramachandranPlotDistributionSource = new RamachandranPlotGradientDistributionFileSource(ramachadranDataDirectory);
            var ramachadranForceCalculator         = new RamachandranForceCalculator(ramachandranPlotDistributionSource);
            var bondForceCalculator = new BondForceCalculator();

            return(new ApproximatePeptideFoldingSimulator(peptide,
                                                          simulationSettings,
                                                          compactnessForceCalculator,
                                                          ramachadranForceCalculator,
                                                          bondForceCalculator));
        }
示例#2
0
        public ApproximatePeptideFoldingSimulator(ApproximatePeptide peptide,
                                                  ApproximatePeptideSimulationSettings simulationSettings,
                                                  CompactingForceCalculator compactnessForceCalculator,
                                                  RamachandranForceCalculator ramachandranForceCalculator,
                                                  BondForceCalculator bondForceCalculator)
        {
            this.simulationSettings          = simulationSettings;
            this.compactnessForceCalculator  = compactnessForceCalculator;
            this.ramachandranForceCalculator = ramachandranForceCalculator;
            this.bondForceCalculator         = bondForceCalculator;
            Peptide = peptide;

            if (peptide.AminoAcids.Count <= 3)
            {
                simulationSettings.UseCompactingForce = false; // Cannot be done
            }
        }