Ejemplo n.º 1
0
        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"));
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
 public IRamachandranPlotGradientDistribution GetDistribution(AminoAcidName aminoAcidName)
 {
     return(distribution);
 }
Ejemplo n.º 4
0
        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;
 }
Ejemplo n.º 6
0
 public AminoAcidCannotBePositionedException(AminoAcidName aminoAcidName,
                                             int sequenceNumber)
 {
     AminoAcidName  = aminoAcidName;
     SequenceNumber = sequenceNumber;
 }
Ejemplo n.º 7
0
 public static string ToThreeLetterCode(this AminoAcidName aminoAcidName)
 {
     return(AminoAcidThreeLetterMap[aminoAcidName]);
 }
Ejemplo n.º 8
0
 public static char ToOneLetterCode(this AminoAcidName aminoAcidName)
 {
     return(AminoAcidOneLetterCodeMap[aminoAcidName]);
 }
Ejemplo n.º 9
0
 public AminoAcidReference(AminoAcidName aminoAcidName, int sequenceNumber, MoleculeReference moleculeReference)
     : this(aminoAcidName, sequenceNumber, moleculeReference.Molecule, moleculeReference.VertexIds, moleculeReference.FirstAtomId, moleculeReference.LastAtomId)
 {
 }
Ejemplo n.º 10
0
 public AminoAcidReference(AminoAcidName name, int sequenceNumber, Molecule molecule, IEnumerable <uint> vertexIds, uint firstAtomId, uint lastAtomId)
     : base(molecule, vertexIds, firstAtomId, lastAtomId)
 {
     Name           = name;
     SequenceNumber = sequenceNumber;
 }
Ejemplo n.º 11
0
 public RamachandranPlot Get(AminoAcidName aminoAcidName)
 {
     return(ramachandranPlots[aminoAcidName]);
 }
Ejemplo n.º 12
0
 private ApproximatedAminoAcid(long id, AminoAcidName aminoAcidName, int sequenceNumber)
 {
     Id             = id;
     Name           = aminoAcidName;
     SequenceNumber = sequenceNumber;
 }
Ejemplo n.º 13
0
 public ApproximatedAminoAcid(AminoAcidName aminoAcidName, int sequenceNumber)
 {
     Id             = Interlocked.Increment(ref lastId);
     Name           = aminoAcidName;
     SequenceNumber = sequenceNumber;
 }