Computational procedure for designing a vaccine for a disease that starting:- from a plurality of amino acid S1...Sk chains obtained from patients infected with such disease and,- from a T set of target epitopes, each epitope being an amino acid chain comprises the steps of:i) obtaining by means of a combinatory optimization method a plurality of amino acid chains as short as possible with respect to the combinatory optimization method used having as sub-chains at least a λ integer of epitopes of the T set in each one of the Si sequences, λ having a value such that the length of the resulting chain is long enough for eliciting an immune response, but not too long so as to elicit an autoimmune responseii) choosing from the plurality of chains obtained in the previous step at least one final immunogen candidate by at least one standard experimental methodiii) developing the vaccine from said immunogen.