if pnames is not None:
        samples = samples.loc[samples.patient.isin(pnames)]
    elif samplenames is not None:
        samples = samples.loc[samples.index.isin(samplenames)]

    if VERBOSE >= 2:
        print 'samples', samples.index.tolist()

    for protein in proteins:
        for samplename, sample in samples.iterrows():
            sample = SamplePat(sample)

            if VERBOSE >= 1:
                print protein, samplename

            count = sample.get_allele_counts_aa(protein, qual_min=qual_min)

            if use_plot:
                x = np.tile(np.arange(count.shape[1]), (count.shape[0], 1))
                color = np.tile(np.arange(count.shape[0]),
                                (count.shape[1], 1)).T

                fig, ax = plt.subplots(figsize=(12, 6))

                ax.scatter(x, count + 0.1, lw=2, c=color)
                ax.set_xlabel('Position [aa]')
                ax.set_ylabel('Coverage')
                ax.set_xlim(-1, count.shape[-1])
                ax.set_ylim(ymin=0.09)
                ax.set_yscale('log')
                ax.grid(True)
    if pnames is not None:
        samples = samples.loc[samples.patient.isin(pnames)]
    elif samplenames is not None:
        samples = samples.loc[samples.index.isin(samplenames)]

    if VERBOSE >= 2:
        print 'samples', samples.index.tolist()

    for protein in proteins:
        for samplename, sample in samples.iterrows():
            sample = SamplePat(sample)

            if VERBOSE >= 1:
                print protein, samplename

            count = sample.get_allele_counts_aa(protein, qual_min=qual_min)

            if use_plot:
                x = np.tile(np.arange(count.shape[1]), (count.shape[0], 1))
                color = np.tile(np.arange(count.shape[0]), (count.shape[1], 1)).T

                fig, ax = plt.subplots(figsize=(12, 6))
                
                ax.scatter(x, count + 0.1, lw=2, c=color)
                ax.set_xlabel('Position [aa]')
                ax.set_ylabel('Coverage')
                ax.set_xlim(-1, count.shape[-1])
                ax.set_ylim(ymin=0.09)
                ax.set_yscale('log')
                ax.grid(True)
                ax.set_title(samplename+', '+protein)