def plot_quality_along_reads(data_folder, adaID, title, quality, VERBOSE=0, savefig=False): """Plot the results of the quality scores along reads""" import matplotlib.pyplot as plt from matplotlib import cm fig, axs = plt.subplots(1, 2, figsize=(16, 9)) for i, (ax, qual) in enumerate(izip(axs, quality)): for j, qpos in enumerate(qual): x = qpos y = np.linspace(0, 1, len(x))[::-1] ax.plot(x, y, color=cm.jet(int(255.0 * j / len(qual))), alpha=0.5, lw=2) ax.set_xlabel("Phred quality", fontsize=14) ax.set_ylabel("Fraction of bases above quality x", fontsize=14) ax.set_title("Read" + str(i + 1), fontsize=16) ax.text(2, 0.03, "blue to red: 0 to " + str(len(qual)) + " base", fontsize=18) fig.suptitle(title, fontsize=20) if savefig: from hivwholeseq.utils.generic import mkdirs from hivwholeseq.sequencing.filenames import get_figure_folder, get_quality_along_reads_filename fig_folder = get_figure_folder(data_folder, adaID) fig_filename = get_quality_along_reads_filename(data_folder, adaID) mkdirs(fig_folder) fig.savefig(fig_filename) else: plt.tight_layout() plt.ion() plt.show()
def plot_quality_along_reads(data_folder, adaID, title, quality, VERBOSE=0, savefig=False): '''Plot the results of the quality scores along reads''' import matplotlib.pyplot as plt from matplotlib import cm fig, axs = plt.subplots(1, 2, figsize=(16, 9)) for i, (ax, qual) in enumerate(izip(axs, quality)): for j, qpos in enumerate(qual): x = qpos y = np.linspace(0, 1, len(x))[::-1] ax.plot(x, y, color=cm.jet(int(255.0 * j / len(qual))), alpha=0.5, lw=2) ax.set_xlabel('Phred quality', fontsize=14) ax.set_ylabel('Fraction of bases above quality x', fontsize=14) ax.set_title('Read'+str(i+1), fontsize=16) ax.text(2, 0.03, 'blue to red: 0 to '+str(len(qual))+' base', fontsize=18) fig.suptitle(title, fontsize=20) if savefig: from hivwholeseq.utils.generic import mkdirs from hivwholeseq.sequencing.filenames import get_figure_folder, \ get_quality_along_reads_filename fig_folder = get_figure_folder(data_folder, adaID) fig_filename = get_quality_along_reads_filename(data_folder, adaID) mkdirs(fig_folder) fig.savefig(fig_filename) else: plt.tight_layout() plt.ion() plt.show()
def plot_cuts_quality_along_reads(data_folder, adaID, quality, title='', VERBOSE=0, savefig=False): '''Plot some cuts of the quality along the read''' from scipy.stats import percentileofscore as pof import matplotlib.pyplot as plt from matplotlib import cm fig, axs = plt.subplots(1, 2, figsize=(14, 8)) qthreshs = [10, 20, 30, 35] for i, (ax, qual) in enumerate(izip(axs, quality)): for j, qthresh in enumerate(qthreshs): x = np.arange(len(qual)) y = np.array( [100 - pof(qual[k], qthresh) for k in xrange(len(qual))]) ax.plot(x, y, color=cm.jet(int(255.0 * j / len(qthreshs))), alpha=0.8, lw=2, label='Q = ' + str(qthresh)) ax.set_xlabel('Position [bp]', fontsize=14) ax.set_ylabel('Percentage of bases above quality x', fontsize=14) ax.set_title('Read' + str(i + 1), fontsize=16) ax.set_ylim(-1, 101) ax.set_xlim(-1, len(qual) + 1) ax.legend(loc='best') if title: fig.suptitle(title, fontsize=20) if savefig: from hivwholeseq.utils.generic import mkdirs if savefig == True: from hivwholeseq.sequencing.filenames import get_figure_folder, \ get_quality_along_reads_filename fig_folder = get_figure_folder(data_folder, adaID) fig_filename = get_quality_along_reads_filename(data_folder, adaID, simple=True) elif isinstance(savefig, basestring): import os fig_filename = savefig fig_folder = os.path.dirname(fig_filename) else: raise ValueError( 'savefig must be a bool or a figure filename (string)') mkdirs(fig_folder) fig.savefig(fig_filename) else: plt.tight_layout() plt.ion() plt.show()
def plot_cuts_quality_along_reads(data_folder, adaID, quality, title="", VERBOSE=0, savefig=False): """Plot some cuts of the quality along the read""" from scipy.stats import percentileofscore as pof import matplotlib.pyplot as plt from matplotlib import cm fig, axs = plt.subplots(1, 2, figsize=(14, 8)) qthreshs = [10, 20, 30, 35] for i, (ax, qual) in enumerate(izip(axs, quality)): for j, qthresh in enumerate(qthreshs): x = np.arange(len(qual)) y = np.array([100 - pof(qual[k], qthresh) for k in xrange(len(qual))]) ax.plot(x, y, color=cm.jet(int(255.0 * j / len(qthreshs))), alpha=0.8, lw=2, label="Q = " + str(qthresh)) ax.set_xlabel("Position [bp]", fontsize=14) ax.set_ylabel("Percentage of bases above quality x", fontsize=14) ax.set_title("Read" + str(i + 1), fontsize=16) ax.set_ylim(-1, 101) ax.set_xlim(-1, len(qual) + 1) ax.legend(loc="best") if title: fig.suptitle(title, fontsize=20) if savefig: from hivwholeseq.utils.generic import mkdirs if savefig == True: from hivwholeseq.sequencing.filenames import get_figure_folder, get_quality_along_reads_filename fig_folder = get_figure_folder(data_folder, adaID) fig_filename = get_quality_along_reads_filename(data_folder, adaID, simple=True) elif isinstance(savefig, basestring): import os fig_filename = savefig fig_folder = os.path.dirname(fig_filename) else: raise ValueError("savefig must be a bool or a figure filename (string)") mkdirs(fig_folder) fig.savefig(fig_filename) else: plt.tight_layout() plt.ion() plt.show()
def plot_cuts_quality_along_reads(data_folder, adaID, title, quality, VERBOSE=0, savefig=False): '''Plot some cuts of the quality along the read''' from scipy.stats import percentileofscore as pof import matplotlib.pyplot as plt from matplotlib import cm fig, axs = plt.subplots(1, 2, figsize=(14, 8)) qthreshs = [10, 20, 30, 35] for i, (ax, qual) in enumerate(izip(axs, quality)): for j, qthresh in enumerate(qthreshs): x = np.arange(len(qual)) y = np.array([100 - pof(qual[k], qthresh) for k in xrange(len(qual))]) ax.plot(x, y, color=cm.jet(int(255.0 * j / len(qthreshs))), alpha=0.8, lw=2, label='Q = '+str(qthresh)) ax.set_xlabel('Position [bp]', fontsize=14) ax.set_ylabel('Percentage of bases above quality x', fontsize=14) ax.set_title('Read'+str(i+1), fontsize=16) ax.set_ylim(-1, 101) ax.set_xlim(-1, len(qual) + 1) ax.legend(loc='best') fig.suptitle(title, fontsize=20) if savefig: from hivwholeseq.utils.generic import mkdirs from hivwholeseq.sequencing.filenames import get_figure_folder, \ get_quality_along_reads_filename fig_folder = get_figure_folder(data_folder, adaID) fig_filename = get_quality_along_reads_filename(data_folder, adaID, simple=True) mkdirs(fig_folder) fig.savefig(fig_filename) else: plt.tight_layout() plt.ion() plt.show()