private string GetCachedFilename(string distributionFilePath) { var directory = Path.GetDirectoryName(distributionFilePath); if (directory == null) { return(Path.Combine("Cache", AminoAcidName.ToThreeLetterCode() + ".csv")); } return(Path.Combine( directory, "Cache", AminoAcidName.ToThreeLetterCode() + ".csv")); }
public RamachandranPlotGridGradientDistribution(AminoAcidName aminoAcidName, string distributionFilePath, int gridSteps = 360) { AminoAcidName = aminoAcidName; this.gridSteps = gridSteps; var distributionCacheFilename = GetCachedFilename(distributionFilePath); try { GradientPlot = LoadGradientGrid(distributionCacheFilename); } catch (Exception) { var angles = RamachandranPlotFileSource.ParseRamachadranPlotFile(distributionFilePath); GradientPlot = GenerateGradientPlot(angles); StoreDistibutionPlot(distributionCacheFilename); } }
public IRamachandranPlotGradientDistribution GetDistribution(AminoAcidName aminoAcidName) { return(distribution); }
public static AminoAcidReference Get(AminoAcidName aminoAcidCode, int sequenceNumber) { switch (aminoAcidCode) { case AminoAcidName.Isoleucine: return(Isoleucine(sequenceNumber)); case AminoAcidName.Leucine: return(Leucine(sequenceNumber)); case AminoAcidName.Valine: return(Valine(sequenceNumber)); case AminoAcidName.Phenylalanine: return(Phenylalanine(sequenceNumber)); case AminoAcidName.Methionine: return(Methionine(sequenceNumber)); case AminoAcidName.Cysteine: return(Cysteine(sequenceNumber)); case AminoAcidName.Alanine: return(Alanine(sequenceNumber)); case AminoAcidName.Glycine: return(Glycine(sequenceNumber)); case AminoAcidName.Proline: return(Proline(sequenceNumber)); case AminoAcidName.Threonine: return(Threonine(sequenceNumber)); case AminoAcidName.Serine: return(Serine(sequenceNumber)); case AminoAcidName.Tyrosine: return(Tyrosine(sequenceNumber)); case AminoAcidName.Tryptophan: return(Tryptophan(sequenceNumber)); case AminoAcidName.Glutamine: return(Glutamine(sequenceNumber)); case AminoAcidName.Asparagine: return(Asparagine(sequenceNumber)); case AminoAcidName.Histidine: return(Histidine(sequenceNumber)); case AminoAcidName.GlutamicAcid: return(GlutamicAcid(sequenceNumber)); case AminoAcidName.AsparticAcid: return(AsparticAcid(sequenceNumber)); case AminoAcidName.Lysine: return(Lysine(sequenceNumber)); case AminoAcidName.Arginine: return(Arginine(sequenceNumber)); default: throw new ArgumentOutOfRangeException(nameof(aminoAcidCode), $"Unknown amino acid code '{aminoAcidCode}'"); } }
public RamachandranPlotFixedDistribution(AminoAcidName aminoAcidName, UnitPoint2D targetPhiPsi) { targetPhi = targetPhiPsi.In(Unit.Degree).X.To(Unit.Degree); targetPsi = targetPhiPsi.In(Unit.Degree).Y.To(Unit.Degree); AminoAcidName = aminoAcidName; }
public AminoAcidCannotBePositionedException(AminoAcidName aminoAcidName, int sequenceNumber) { AminoAcidName = aminoAcidName; SequenceNumber = sequenceNumber; }
public static string ToThreeLetterCode(this AminoAcidName aminoAcidName) { return(AminoAcidThreeLetterMap[aminoAcidName]); }
public static char ToOneLetterCode(this AminoAcidName aminoAcidName) { return(AminoAcidOneLetterCodeMap[aminoAcidName]); }
public AminoAcidReference(AminoAcidName aminoAcidName, int sequenceNumber, MoleculeReference moleculeReference) : this(aminoAcidName, sequenceNumber, moleculeReference.Molecule, moleculeReference.VertexIds, moleculeReference.FirstAtomId, moleculeReference.LastAtomId) { }
public AminoAcidReference(AminoAcidName name, int sequenceNumber, Molecule molecule, IEnumerable <uint> vertexIds, uint firstAtomId, uint lastAtomId) : base(molecule, vertexIds, firstAtomId, lastAtomId) { Name = name; SequenceNumber = sequenceNumber; }
public RamachandranPlot Get(AminoAcidName aminoAcidName) { return(ramachandranPlots[aminoAcidName]); }
private ApproximatedAminoAcid(long id, AminoAcidName aminoAcidName, int sequenceNumber) { Id = id; Name = aminoAcidName; SequenceNumber = sequenceNumber; }
public ApproximatedAminoAcid(AminoAcidName aminoAcidName, int sequenceNumber) { Id = Interlocked.Increment(ref lastId); Name = aminoAcidName; SequenceNumber = sequenceNumber; }