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"));
        }