public static AminoAcidReference Arginine(int sequenceNumber) { var sideChain1Builder = new MoleculeBuilder(); var sideChain11Builder = new MoleculeBuilder(); sideChain11Builder.Start .Add(ElementName.Nitrogen).AddToCurrentAtom(ElementName.Hydrogen, ElementName.Hydrogen); var sideChain12Builder = new MoleculeBuilder(); sideChain12Builder.Start .Add(ElementName.Nitrogen).AddToCurrentAtom(ElementName.Hydrogen); sideChain1Builder.Start .Add(ElementName.Carbon).AddToCurrentAtom(ElementName.Hydrogen, ElementName.Hydrogen) .Add(ElementName.Carbon).AddToCurrentAtom(ElementName.Hydrogen, ElementName.Hydrogen) .Add(ElementName.Carbon).AddToCurrentAtom(ElementName.Hydrogen, ElementName.Hydrogen) .Add(ElementName.Nitrogen).AddToCurrentAtom(ElementName.Hydrogen) .Add(ElementName.Carbon) .AddSideChain(sideChain11Builder.Start) .AddSideChain(sideChain12Builder.Start, BondMultiplicity.Double); var moduleBuilder = new MoleculeBuilder(); var moleculeReference = moduleBuilder.Start .Add(ElementName.Nitrogen).AddToCurrentAtom(ElementName.Hydrogen) .Add(ElementName.Carbon).AddSideChain(sideChain1Builder.Start) .Add(ElementName.Carbon).AddToCurrentAtom(ElementName.Oxygen, BondMultiplicity.Double); return(new AminoAcidReference(AminoAcidName.Arginine, sequenceNumber, moleculeReference)); }
public static AminoAcidReference Tyrosine(int sequenceNumber) { var sideChain1Builder = new MoleculeBuilder(); var benzolReferences = sideChain1Builder.Start .Add(ElementName.Carbon).AddToCurrentAtom(ElementName.Hydrogen, ElementName.Hydrogen) .AddBenzolRing(3); benzolReferences.Single().Add(ElementName.Oxygen, ElementName.Hydrogen); var moduleBuilder = new MoleculeBuilder(); var moleculeReference = moduleBuilder.Start .Add(ElementName.Nitrogen).AddToCurrentAtom(ElementName.Hydrogen) .Add(ElementName.Carbon).AddSideChain(sideChain1Builder.Start).AddToCurrentAtom(ElementName.Hydrogen) .Add(ElementName.Carbon).AddToCurrentAtom(ElementName.Oxygen, BondMultiplicity.Double); return(new AminoAcidReference(AminoAcidName.Tyrosine, sequenceNumber, moleculeReference)); }
public static AminoAcidReference Histidine(int sequenceNumber) { var sideChain1Builder = new MoleculeBuilder(); var ringBuilder = new MoleculeBuilder(); var ringEnd = ringBuilder.Start .Add(ElementName.Carbon) .Add(ElementName.Nitrogen) .Add(ElementName.Carbon, BondMultiplicity.Double) .Add(ElementName.Nitrogen).AddToCurrentAtom(ElementName.Hydrogen) .Add(ElementName.Carbon).AddToCurrentAtom(ElementName.Hydrogen); ringBuilder.Start.ConnectTo(ringEnd, BondMultiplicity.Double); sideChain1Builder.Start .Add(ElementName.Carbon).AddToCurrentAtom(ElementName.Hydrogen) .AddSideChain(ringBuilder.Start); var moduleBuilder = new MoleculeBuilder(); var moleculeReference = moduleBuilder.Start .Add(ElementName.Nitrogen).AddToCurrentAtom(ElementName.Hydrogen) .Add(ElementName.Carbon).AddSideChain(sideChain1Builder.Start) .Add(ElementName.Carbon).AddToCurrentAtom(ElementName.Oxygen, BondMultiplicity.Double); return(new AminoAcidReference(AminoAcidName.Histidine, sequenceNumber, moleculeReference)); }
public Peptide GetBackbone() { var aminoAcids = new List <AminoAcidReference>(); foreach (var approximatedAminoAcid in approximatePeptide.AminoAcids) { var moleculeBuilder = new MoleculeBuilder(); var aminoAcidReference = moleculeBuilder.Start .Add(ElementName.Nitrogen, ElementName.Carbon, ElementName.Carbon); var aminoAcid = new AminoAcidReference(approximatedAminoAcid.Name, approximatedAminoAcid.SequenceNumber, aminoAcidReference); var nitrogen = aminoAcid.VertexIds .Select(aminoAcid.Molecule.GetAtom) .Single(atom => atom.Element == ElementName.Nitrogen); nitrogen.Position = approximatedAminoAcid.NitrogenPosition; nitrogen.IsPositionFixed = true; var carbonAlpha = aminoAcid.VertexIds .Select(aminoAcid.Molecule.GetAtom) .First(atom => atom.Element == ElementName.Carbon); carbonAlpha.Position = approximatedAminoAcid.CarbonAlphaPosition; carbonAlpha.IsPositionFixed = true; var carbon = aminoAcid.VertexIds .Select(aminoAcid.Molecule.GetAtom) .Last(atom => atom.Element == ElementName.Carbon); carbon.Position = approximatedAminoAcid.CarbonPosition; carbon.IsPositionFixed = true; aminoAcids.Add(aminoAcid); } var peptide = PeptideBuilder.PeptideFromAminoAcids(aminoAcids); return(peptide); }