public string UpdateAntigen(Antigen antigen) { try { var antigenToUpdate = App.dbcontext.Antigens.FirstOrDefault(a => a.AntigenId == antigen.AntigenId); if (antigenToUpdate.AntigenName != antigen.AntigenName) { var auditRecord = new Audit { RecordId = antigen.AntigenId, Type = AuditTypes.Antigen.ToString(), Description = AuditEvents.AntigenUpdated.ToString(), UpdatedBy = App.LoggedInUser.UserId, UpdatedDt = DateTime.Now }; App.dbcontext.Audits.Add(auditRecord); antigenToUpdate.AntigenName = antigen.AntigenName; App.dbcontext.SaveChanges(); } return(null); } catch (Exception ex) { var logNumber = Logger.Log(nameof(CreateAntigen), new Dictionary <string, object> { { LogConsts.Exception, ex } }); return($"{ Messages.Exception} - log: {logNumber}"); } }
public AntigenResponse CreateAntigen(Antigen antigen) { try { var existingAntigen = App.dbcontext.Antigens.FirstOrDefault(a => a.AntigenName == antigen.AntigenName); if (existingAntigen != null) { return(new AntigenResponse { ErrorMessage = Messages.AlreadyExists }); } antigen.AntigenId = Guid.NewGuid().ToString(); antigen.CreatedBy = App.LoggedInUser.UserId; antigen.CreatedDt = DateTime.Now; App.dbcontext.Antigens.Add(antigen); App.dbcontext.SaveChanges(); return(new AntigenResponse { Antigen = antigen }); } catch (Exception ex) { var logNumber = Logger.Log(nameof(CreateAntigen), new Dictionary <string, object> { { LogConsts.Exception, ex } }); return(new AntigenResponse { ErrorMessage = $"{ Messages.Exception} - log: {logNumber}" }); } }
protected virtual MolecularPattern ProcessAntigen(Antigen <T> antigen) { var e = new ProcessAntigenEventArgs <T>(antigen.RawData); OnProcessAntigen(e); return(e.Peptide); }
static void Main(string[] args) { // описали антигены, составляющие обучающую выборку. Antigen[] trainingSet = new Antigen[] { //new Antigen(new int[,] { { 0, 1, 0 }, { 0, 1, 0 }, { 0, 1, 0 }, { 0, 1, 0 } }, 1), //new Antigen(new int[,] { { 1, 0, 1 }, { 1, 0, 1 }, { 1, 1, 1 }, { 0, 0, 1 } }, 4), //new Antigen(new int[,] { { 1, 1, 1 }, { 0, 0, 1 }, { 0, 0, 1 }, { 0, 0, 1 } }, 7) new Antigen(new bool[, ] { { false, true, false }, { false, true, false }, { false, true, false }, { false, true, false } }, 1), new Antigen(new bool[, ] { { true, false, true }, { true, false, true }, { true, true, true }, { false, false, true } }, 4), new Antigen(new bool[, ] { { true, true, true }, { false, false, true }, { false, false, true }, { false, false, true } }, 7) }; foreach (Antigen ag in trainingSet) { ag.ShowCell(); } AISRecognition ais = new AISRecognition(PopulationAbSize, PopulationMCellSize); ais.Training(trainingSet, (double)(Cell.PixelCount - 1) / Cell.PixelCount, SelectionForCloningAmount, MutationProbability); Console.WriteLine(); Console.WriteLine("Test set:"); Console.WriteLine(); // набор тестовых антигенов, потом вместо него будет функция для запроса ввода антигена от пользователя Antigen[] testAg = { new Antigen(new bool[, ] { { false, true, false },{ true, true, false }, { false, true, false }, { false, true, false } }, 1), new Antigen(new bool[, ] { { true, false, true },{ true, true, true }, { false, false, true }, { false, false, true } }, 4), new Antigen(new bool[, ] { { true, false, true },{ true, true, true }, { false, true, false }, { false, true, false } }, 4), new Antigen(new bool[, ] { { true, true, true },{ true, false, true }, { false, false, true }, { false, false, true } }, 7), new Antigen(new bool[, ] { { true, true, true },{ false, false, true }, { false, false, true }, { false, false, true } }, 7) }; foreach (Antigen ag in testAg) { ag.ShowCell(); ais.GetResult(ag); Console.WriteLine(); Console.WriteLine(); } }
private bool IsPAMP(Antigen <T> antigen, out double level) { var e = new ProcessSpampEventArgs(antigen.Spamp); OnProcessSpamp(e); level = e.Level; return(e.IsPamp); }
// Use this for initialization void Start() { health = 100; bulletDamage = 50; speed = 5; duplicationTime = 5f; offset = new Vector3(3f, 0f, 3f); antigen = (Antigen)Random.Range(0, 3); gameObject.tag = "Virus " + ((int)antigen).ToString(); }
// Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.Q)) { Rigidbody clone = (Rigidbody)Instantiate(projectile, transform.position, transform.rotation); // Add force to the cloned object in the object's forward direction clone.velocity = transform.TransformDirection(Vector3.forward * acceleration); } if (Input.GetKeyDown(KeyCode.E)) { antigen = (Antigen)((int)(antigen + 1) % numAntigens); //Debug.Log(antigen); } }
protected Signal[] GetSignals(T eventBlock) { var signals = new List <Signal>(); // compute Antigen signal var spamp = GetSpamp(eventBlock); if (spamp != null) { var antigen = new Antigen <T>(Address.Unknown, spamp, eventBlock); signals.Add(antigen); } var dangerPattern = GetSdamp(eventBlock); if (dangerPattern != null) { var sdamp = new Sdamp(Address.Unknown, dangerPattern); signals.Add(sdamp); } /*if (ITH >= 0 && LBP >= 0 && OHD >= 0) * { * var dangerDistance = * -0.131203973036663 * ITH + * 7.899539817161498 * LBP - * 0.203824367425025 * OHD - * 2.916552222394642; * * if (dangerDistance < 0) * { * signal.Type = SignalType.DAMP; * signal.Concentration = Math.Abs(dangerDistance); * } * else * { * signal.Type = SignalType.Safe; * signal.Concentration = dangerDistance; // TODO: Unknwon value * } * } * else * { * signal.Type = SignalType.Safe; * signal.Concentration = 0; * }*/ return(signals.ToArray()); }