A computerized method for designing a multi-epitope construct having multiple epitope nucleic acids, the method comprising the steps of: storing a plurality of input parameters in a memory of a computer system, said input parameters comprising a plurality of epitopes, at least one motif identifying junctional epitopes, a plurality of amino acid insertions and at least one enhancement weight value for each insertion, where said enhancement weight value reflects the immunogenicity or antigenicity enhancement effect of an amino acid when it is placed in the C+1 or N-1 position of a polypeptide; generating a list of epitope pairs from said plurality of epitopes; determining for each of said epitope pairs at least one optimum combination of amino acid insertions based on said at least one motif, said plurality of insertions, and said at least one enhancement weight value for each insertion; and identifying at least one optimum arrangement of said plurality of epitopes, wherein a respective one of said at least one optimum combination of amino acid insertions is inserted at a respective junction of two epitopes, so as to provide an optimized multi-epitope construct wherein said plurality of input parameters includes a maximum number of insertions (MaxInsertions) value, and said step of determining for each epitope pair at least one optimum combination of amino acid insertions comprises calculating a function value for each possible combination of insertions for each epitope pair, wherein the number of insertions in a combination is in the range of 0 to MaxInsertions, said function value being calculated in accordance with the equation F = (C+N)/J, when J > 0, and F = 2(C+N), when J = 0, wherein C equals the enhancement weight value of a C+1 flanking amino acid, N equals the enhancement weight value of an N-1 flanking amino acid, and J equals the number of junctional epitopes detected for each respective combination of insertions in an epitope pair based on said at least one motif. storing a plurality of input parameters in a memory of a computer system, said input parameters comprising a plurality of epitopes, at least one motif identifying junctional epitopes, a plurality of amino acid insertions and at least one enhancement weight value for each insertion, where said enhancement weight value reflects the immunogenicity or antigenicity enhancement effect of an amino acid when it is placed in the C+1 or N-1 position of a polypeptide; generating a list of epitope pairs from said plurality of epitopes; determining for each of said epitope pairs at least one optimum combination of amino acid insertions based on said at least one motif, said plurality of insertions, and said at least one enhancement weight value for each insertion; and identifying at least one optimum arrangement of said plurality of epitopes, wherein a respective one of said at least one optimum combination of amino acid insertions is inserted at a respective junction of two epitopes, so as to provide an optimized multi-epitope construct wherein said plurality of input parameters includes a maximum number of insertions (MaxInsertions) value, and said step of determining for each epitope pair at least one optimum combination of amino acid insertions comprises calculating a function value for each possible combination of insertions for each epitope pair, wherein the number of insertions in a combination is in the range of 0 to MaxInsertions, said function value being calculated in accordance with the equation F = (C+N)/J, when J > 0, and F = 2(C+N), when J = 0, wherein C equals the enhancement weight value of a C+1 flanking amino acid, N equals the enhancement weight value of an N-1 flanking amino acid, and J equals the number of junctional epitopes detected for each respective combination of insertions in an epitope pair based on said at least one motif.