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)); }
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 } }