split apart dependencies of vaccine peptide selection

* added unit tests for individual ranking components
* vaccine peptide sorting by four criteria (mutant epitope score, negative wildtype epitope score, number mutated residues, distance of mutation start the edge of vaccine peptide)
* print and write FASTA of vaccine peptides with a little mutation metadata
* print epitopes associated with each mutation
Oh, I had that and then flattened the commits! I guess I should do the
rebase after the PR is done.
On Nov 12, 2014 9:28 PM, "Tavi Nathanson" <notifications@github.com> wrote:

> In immuno/mutation_report.py:
>
> > +        for epitope in sorted(
> > +                record['Epitopes'], key=lambda e: e['EpitopeStart']):
> > +            overlap_start = epitope['EpitopeStart'] < mut_end
> > +            overlap_end = epitope['EpitopeEnd'] > mut_start
> > +            mutant = overlap_start and overlap_end
> > +            print "\t", epitope['Epitope'], ("<-- MUTANT" if mutant else "")
> > +            for prediction in sorted(
> > +                    epitope["MHC_Allele_Scores"],
> > +                    key=lambda p: p['Allele']):
> > +                print "\t\t", "allele = %s, IC50=%0.4f" % (
> > +                    prediction['Allele'],
> > +                    prediction[IC50_FIELD_NAME],
> > +                )
> > +
> > +
> > +def mhc_binding_prediction(mutated_regions, alleles):
>
> I'd separate the pulling-out from the modifying. E.g. a commit for "moved
> this function to this other place" and another commit for "modified this
> function after moving it." Otherwise, it's just really hard to keep track
> of what actually changed in the contents of the function?
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/hammerlab/immuno/pull/164/files#r20269176>.
>