public IActionResult Generate(GenerateSequenceViewModel Model) { if (Model.SequenceLength <= 0) { return(View("Error", new ErrorViewModel { Message = "You Can't generate a sequence with length of 0 or less", Solution = "You should use length greater than or equal to 1" })); } if (Model.ConsecutiveMatch >= Model.SequenceLength || Model.ConsecutiveMatch < 0) { return(View("Error", new ErrorViewModel { Message = "You Can't generate a sequence with Consecutive Match length equal to or greater than sequence length", Solution = "You should use length greater than or equal 1" })); } Tuple <string, string> CleanSequence; if (Model.Alphabet == "DNA") { CleanSequence = Helper.GenerateSequences(Model.SequenceLength, Helper.UnambiguousDNA, Model.ConsecutiveMatch, Model.Position); } else if (Model.Alphabet == "RNA") { CleanSequence = Helper.GenerateSequences(Model.SequenceLength, Helper.UnambiguousRNA, Model.ConsecutiveMatch, Model.Position); } else { CleanSequence = Helper.GenerateSequences(Model.SequenceLength, Helper.Protein, Model.ConsecutiveMatch, Model.Position); } return(File(Encoding.UTF8.GetBytes(new StringBuilder().Append(CleanSequence.Item1). Append(Environment.NewLine). Append(Environment.NewLine). Append(CleanSequence.Item2).ToString()), "text/plain", $"{Guid.NewGuid()}_GeneratedSequence{Model.SequenceLength}.txt")); }
public IActionResult Generate(GenerateSequenceViewModel Model) { Tuple <string, string> CleanSequence; if (Model.Alphabet == "DNA") { CleanSequence = Helper.GenerateSequences(Model.SequenceLength, Helper.UnambiguousDNA, Model.ConsecutiveMatch, Model.Position); } else if (Model.Alphabet == "RNA") { CleanSequence = Helper.GenerateSequences(Model.SequenceLength, Helper.UnambiguousRNA, Model.ConsecutiveMatch, Model.Position); } else { CleanSequence = Helper.GenerateSequences(Model.SequenceLength, Helper.Protein, Model.ConsecutiveMatch, Model.Position); } return(File(Encoding.UTF8.GetBytes(new StringBuilder().Append(CleanSequence.Item1). Append(Environment.NewLine). Append(Environment.NewLine). Append(CleanSequence.Item2).ToString()), "text/plain", $"{Guid.NewGuid()}_GeneratedSequence{Model.SequenceLength}.txt")); }