Mercurial > repos > jay > pdaug_addclasslabel
annotate PDAUG_Fishers_Plot/PDAUG_Fishers_Plot.py @ 6:190aa29a6fbb draft
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit e8c8198105af7eab636fb2405e5ff335539ca14b"
| author | jay | 
|---|---|
| date | Sun, 31 Jan 2021 02:48:54 +0000 | 
| parents | 2df11ea23f10 | 
| children | 
| rev | line source | 
|---|---|
| 0 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 1 import matplotlib | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 2 matplotlib.use('Agg') | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 3 import os | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 4 import sys | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 5 sys.path.insert(0, os.path.abspath('..')) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 6 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 7 import quantiprot | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 8 from quantiprot.utils.io import load_fasta_file | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 9 from quantiprot.utils.feature import Feature, FeatureSet | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 10 from quantiprot.metrics.aaindex import get_aa2volume, get_aa2hydropathy | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 11 from quantiprot.metrics.basic import average | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 12 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 13 from matplotlib import pyplot as plt | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 14 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 15 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 16 from math import log10, floor | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 17 import numpy as np | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 18 from matplotlib import pyplot as plt | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 19 from scipy.stats import fisher_exact | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 20 from quantiprot.utils.sequence import SequenceSet, compact | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 21 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 22 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 23 def _count_frame(data, frame_range, num_bins): | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 24 """ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 25 Count instances in a 2D frame | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 26 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 27 The function discretizes the feature space into a grid of cells. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 28 Then it counts the number of instances that fall into each cell. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 29 An efficient method for counting instances is used. It performs parallel | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 30 logical comparisons of data instances to vectors that hold information on | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 31 grid lines. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 32 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 33 Args: | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 34 data (numpy.matrix): a Nx2 data matrix | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 35 frame_range (numpy.matrix): a 2x2 matrix which defines feature ranges | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 36 num_bins (list): a pair defining the resolution of the 2D grid | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 37 Returns: | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 38 cell_counts (numpy.matrix): a matrix holding counts of instances in | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 39 each grid cell | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 40 bin_ranges (tuple): a pair of numpy matrices holding information on | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 41 bin(grid_cell) ranges | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 42 """ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 43 grid_x = np.linspace(start=frame_range[0, 0], stop=frame_range[1, 0],\ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 44 num=num_bins[0]+1, endpoint=True) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 45 grid_y = np.linspace(start=frame_range[0, 1], stop=frame_range[1, 1],\ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 46 num=num_bins[1]+1, endpoint=True) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 47 # copy because we add ones in the next lines | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 48 bin_ranges = (np.copy(grid_x), np.copy(grid_y)) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 49 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 50 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 51 #Count points in each grid cell | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 52 grid_x[-1] += 1 # the last cell has to contain data at the border | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 53 grid_y[-1] += 1 # the last cell has to contain data at the border | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 54 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 55 gte_x = np.matrix(data[:, 0] >= grid_x, dtype='float64') | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 56 lt_x = np.matrix(data[:, 0] < grid_x, dtype='float64') | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 57 gte_y = np.matrix(data[:, 1] >= grid_y, dtype='float64') | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 58 lt_y = np.matrix(data[:, 1] < grid_y, dtype='float64') | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 59 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 60 dif_x = gte_x - lt_x | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 61 dif_y = gte_y - lt_y | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 62 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 63 bins_x = dif_x.argmin(axis=1) - 1 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 64 bins_y = dif_y.argmin(axis=1) - 1 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 65 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 66 coords = np.concatenate((bins_x, bins_y), axis=1) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 67 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 68 cell_counts = np.zeros(shape=(len(grid_x)-1, len(grid_y)-1)) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 69 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 70 for i in range(coords.shape[0]): | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 71 cell_counts[coords[i, 0], coords[i, 1]] += 1 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 72 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 73 return cell_counts, bin_ranges | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 74 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 75 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 76 def local_fisher_2d(set1, set2, features=None, \ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 77 windows_per_frame=10, overlap_factor=1, frame_range=None): | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 78 """ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 79 Compare local and global distribution of samples from two populations | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 80 in the 2d feature space using the Fisher's exact test. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 81 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 82 The function performs the Fisher Exact Test for comparing local and global | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 83 ratia of instance counts from two different populations. It uses the | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 84 '_count_frame' function to discretize the feature space and get instance | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 85 counts. Then it scans the 2d feature space with a sliding window and | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 86 performs the Fisher Exact test. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 87 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 88 Args: | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 89 set1 (SequenceSet or numpy.matrix): the first set with at least | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 90 2 sequence features. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 91 set2 (SequenceSet or numpy.matrix): the second set with at least | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 92 2 sequence features. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 93 features (tuple or list): strings with feature names for running | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 94 the 2d Fisher test. If None then the first two features are | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 95 used. Relevant only if 'set1' or 'set2' are SequenceSets. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 96 windows_per_frame (int): ratio between the whole feature space and | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 97 the sliding window (default 10). | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 98 overlap_factor (int):ratio between the size of a sliding window | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 99 and a discretization grid cell (default 1). | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 100 frame_range(numpy.matrix): 2x2 matrix with range of features | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 101 in both dimensions. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 102 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 103 Returns final_res (dict): a dictionary including: | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 104 'odds_ratio' (numpy.matrix): a matrix of odds_ratios obtained | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 105 in each sliding window position. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 106 'p_value' (numpy.matrix): a matrix containing Fisher test outcome | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 107 pvalues in each sliding window position. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 108 'w_counts1' (numpy.matrix): a matrix with first population instance | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 109 counts in each sliding window position. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 110 'w_counts2' (numpy.matrix): a matrix with second population instance | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 111 counts in each sliding window position. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 112 'w_center_x' (numpy.matrix): matrix containing coordinates of window | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 113 centers in the X dimension. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 114 'w_center_y' (numpy.matrix): matrix containing coordinates of window | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 115 centers in the Y dimension. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 116 '_bin_ranges_x' (numpy.matrix): matrix containing bin(grid_cell) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 117 ranges in the X dimension. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 118 '_bin_ranges_y' (numpy.matrix): matrix containing bin(grid_cell) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 119 ranges in the Y dimension. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 120 """ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 121 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 122 if isinstance(set1, SequenceSet): | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 123 mat1 = np.transpose(np.matrix(compact(set1, | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 124 features=features).columns())) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 125 if isinstance(set2, SequenceSet): | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 126 mat2 = np.transpose(np.matrix(compact(set2, | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 127 features=features).columns())) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 128 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 129 #Deal with window_per_frame and overlap_factor | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 130 #given either as a scalar or as a list-like | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 131 if not hasattr(windows_per_frame, "__len__"): | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 132 w_per_frame = (windows_per_frame, windows_per_frame) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 133 else: | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 134 w_per_frame = (windows_per_frame[0], windows_per_frame[1]) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 135 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 136 if not hasattr(overlap_factor, "__len__"): | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 137 w_size = (overlap_factor, overlap_factor) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 138 else: | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 139 w_size = (overlap_factor[0], overlap_factor[1]) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 140 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 141 num_bins = (w_per_frame[0]*w_size[0], w_per_frame[1]*w_size[1]) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 142 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 143 if frame_range is None: | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 144 #Evaluate the range of features in both populations. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 145 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 146 frame_range = np.concatenate((np.minimum(mat1.min(0), mat2.min(0)),\ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 147 np.maximum(mat1.max(0), mat2.max(0)))) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 148 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 149 margin_x = (frame_range[1, 0] - frame_range[0, 0])/w_per_frame[0] | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 150 margin_y = (frame_range[1, 1] - frame_range[0, 1])/w_per_frame[1] | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 151 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 152 frame_range[0, 0] -= margin_x | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 153 frame_range[1, 0] += margin_x | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 154 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 155 frame_range[0, 1] -= margin_y | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 156 frame_range[1, 1] += margin_y | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 157 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 158 #Discretize feature space into NxM grid, | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 159 #where N = w_per_frame[0]*w_size[0]. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 160 # M = w_per_frame[1]*w_size[1]. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 161 #count instances of population1 and population2 in each grid cell. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 162 #both bin ranges are always the same because the frame range is common. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 163 cell_counts1, bin_ranges = _count_frame(mat1, frame_range=frame_range,\ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 164 num_bins=num_bins) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 165 cell_counts2, _ = _count_frame(mat2, frame_range=frame_range,\ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 166 num_bins=num_bins) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 167 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 168 #Number of windows that fit in a single row/column of a frame | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 169 w_number = (cell_counts1.shape[0]-w_size[0]+1, | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 170 cell_counts1.shape[1]-w_size[1]+1) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 171 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 172 #Initialize matrices holding counts at scanning window positions. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 173 window_counts1 = np.zeros(shape=w_number) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 174 window_counts2 = np.zeros(shape=w_number) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 175 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 176 #Initialize matrices holding window coordinates | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 177 window_center_x = np.zeros(shape=w_number[0]) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 178 window_center_y = np.zeros(shape=w_number[1]) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 179 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 180 #Initialize matrices holding Fisher Exact test results | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 181 fisher_pv = np.ones(shape=w_number) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 182 odds_ratio = np.ones(shape=w_number) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 183 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 184 #Calculate population totals in the whole feature space | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 185 all1 = cell_counts1.sum() | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 186 all2 = cell_counts2.sum() | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 187 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 188 #Calculate window centers | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 189 for start_x in range(0, w_number[0]): | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 190 window_center_x[start_x] = (bin_ranges[0][start_x]+ \ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 191 bin_ranges[0][start_x+w_size[0]])/2 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 192 for start_y in range(0, w_number[1]): | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 193 window_center_y[start_y] = (bin_ranges[1][start_y]+ \ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 194 bin_ranges[1][start_y+w_size[1]])/2 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 195 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 196 #Scan the feature space with a step of 1 cell. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 197 for start_x in range(0, w_number[0]): | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 198 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 199 for start_y in range(0, w_number[1]): | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 200 #Count instances of each population in the window | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 201 window_counts1[start_x, start_y] = \ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 202 cell_counts1[start_x:(start_x+w_size[0]), \ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 203 start_y:(start_y+w_size[1])].sum() | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 204 window_counts2[start_x, start_y] = \ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 205 cell_counts2[start_x:(start_x+w_size[0]), \ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 206 start_y:(start_y+w_size[1])].sum() | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 207 #Perform the Fisher Exact Test against | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 208 #h0: population ratio in the window the same as in the whole space. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 209 odds_ratio[start_x, start_y], fisher_pv[start_x, start_y] =\ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 210 fisher_exact([[all1, window_counts1[start_x, start_y]],\ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 211 [all2, window_counts2[start_x, start_y]]]) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 212 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 213 fisher_res = {'p_value':fisher_pv, 'odds_ratio':odds_ratio,\ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 214 'w_counts1':window_counts1, 'w_counts2':window_counts2,\ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 215 'w_center_x':window_center_x, 'w_center_y':window_center_y,\ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 216 '_bin_ranges_x':bin_ranges[0], '_bin_ranges_y':bin_ranges[1]} | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 217 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 218 return fisher_res | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 219 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 220 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 221 def _plot_local_fisher_2d(fisher_res, xlabel="feat_1", ylabel="feat_2", | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 222 pop1_label="pop_1", pop2_label="pop_2", out_file_path=None, fig_width=8, fig_hight=8, fig_hspace=0.35, fig_wspace=0.25): | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 223 """ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 224 Plot results of the local Fisher's extact test in the 2d space. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 225 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 226 Args: | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 227 fisher_res (dict): output from 'fisher_local_2d'. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 228 xlabel (str): name of the 1st feature to appear in the plots | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 229 (default: "feat_1") | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 230 ylabel (str): name of the 2nd feature to appear in the plots | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 231 (default: "feat_2") | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 232 pop1_label (str): name of the 1st population to appear in the plots | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 233 (default: "pop_1") | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 234 pop2_label (str): name of the 2nd population to appear in the plots | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 235 (default: "pop_2") | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 236 """ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 237 fisher_or = fisher_res["odds_ratio"] | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 238 fisher_c1 = fisher_res["w_counts1"] | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 239 fisher_c2 = fisher_res["w_counts2"] | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 240 fisher_pv = fisher_res["p_value"] | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 241 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 242 for pos_x in range(len(fisher_or)): | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 243 for pos_y in range(len(fisher_or[0])): | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 244 if fisher_c1[pos_x][pos_y] == 0 and fisher_c2[pos_x][pos_y] == 0: | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 245 fisher_or[pos_x][pos_y] = np.nan | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 246 elif fisher_c1[pos_x][pos_y] == 0: | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 247 fisher_or[pos_x][pos_y] = np.inf | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 248 elif fisher_c2[pos_x][pos_y] == 0: | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 249 fisher_or[pos_x][pos_y] = -np.inf | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 250 elif fisher_or[pos_x][pos_y] < 1: | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 251 fisher_or[pos_x][pos_y] = -1.0/fisher_or[pos_x][pos_y] | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 252 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 253 vmax_abs = np.nanmax(np.abs([x for x in np.array(fisher_or).flatten() | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 254 if x > -np.inf and x < np.inf])) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 255 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 256 for pos_x in range(len(fisher_or)): | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 257 for pos_y in range(len(fisher_or[0])): | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 258 if abs(fisher_or[pos_x][pos_y]) == np.inf: | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 259 fisher_or[pos_x][pos_y] = np.sign(fisher_or[pos_x][pos_y])*vmax_abs | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 260 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 261 ##### Extra Fig perimeters added ################################ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 262 plt.figure(figsize=(fig_width, fig_hight)) # Figure size | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 263 plt.subplots_adjust(hspace = fig_hspace, wspace = fig_wspace) # space between the subplots. | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 264 ################################################################## | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 265 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 266 plt.subplot(221) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 267 plt.pcolormesh(fisher_res["w_center_x"], fisher_res["w_center_y"], | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 268 np.ma.masked_invalid(fisher_c1).T, cmap="Reds") | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 269 plt.colorbar() | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 270 plt.xlabel(xlabel) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 271 plt.ylabel(ylabel) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 272 plt.title("Counts "+pop1_label) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 273 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 274 plt.subplot(222) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 275 plt.pcolormesh(fisher_res["w_center_x"], fisher_res["w_center_y"], | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 276 np.ma.masked_invalid(fisher_c2).T, cmap="Reds") | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 277 plt.colorbar() | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 278 plt.xlabel(xlabel) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 279 plt.ylabel(ylabel) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 280 plt.title("Counts "+pop2_label) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 281 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 282 cmap = plt.get_cmap('RdBu') | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 283 cmap.set_bad(color='k', alpha=1.) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 284 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 285 cbar_lo = 1.0/vmax_abs | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 286 cbar_lo_places = max(0, -floor(log10(cbar_lo))+1) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 287 cbar_hi = vmax_abs | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 288 cbar_hi_places = max(0, -floor(log10(cbar_hi))+1) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 289 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 290 plt.subplot(223) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 291 plt.pcolormesh(fisher_res["w_center_x"], fisher_res["w_center_y"], | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 292 np.ma.masked_invalid(fisher_or).T, cmap=cmap, | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 293 vmin=-vmax_abs, vmax=vmax_abs) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 294 cbar = plt.colorbar(ticks=([-vmax_abs, 0, vmax_abs])) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 295 cbar.ax.set_yticklabels(['< '+str(round(cbar_lo, int(cbar_lo_places))), '1', | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 296 '> '+str(round(cbar_hi, int(cbar_hi_places)))]) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 297 plt.xlabel(xlabel) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 298 plt.ylabel(ylabel) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 299 plt.title("Odds ratio") | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 300 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 301 plt.subplot(224) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 302 plt.pcolormesh(fisher_res["w_center_x"], fisher_res["w_center_y"], | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 303 np.log10(np.ma.masked_invalid(fisher_pv)).T, cmap="RdGy") | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 304 plt.colorbar() | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 305 plt.xlabel(xlabel) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 306 plt.ylabel(ylabel) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 307 plt.title("Fisher test\np-value (logarithm of 10)") | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 308 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 309 #Savefig function added with preserving default behavior | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 310 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 311 if out_file_path==None: | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 312 plt.show() | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 313 else: | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 314 plt.savefig(out_file_path,dpi=300) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 315 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 316 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 317 def HTML_Gen(html): | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 318 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 319 out_html = open(html,'w') | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 320 part_1 = """ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 321 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 322 <!DOCTYPE html> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 323 <html lang="en"> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 324 <head> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 325 <title>Bootstrap Example</title> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 326 <meta charset="utf-8"> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 327 <meta name="viewport" content="width=device-width, initial-scale=1"> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 328 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css"> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 329 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 330 <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 331 <body> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 332 <style> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 333 div.container_1 { | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 334 width:600px; | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 335 margin: auto; | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 336 padding-right: 10; | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 337 } | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 338 div.table { | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 339 width:600px; | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 340 margin: auto; | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 341 padding-right: 10; | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 342 } | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 343 </style> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 344 </head> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 345 <div class="jumbotron text-center"> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 346 <h1> Fisher's Plot </h1> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 347 </div> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 348 <div class="container"> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 349 <div class="row"> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 350 <div class="col-sm-4"> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 351 <img src="1.png" alt="Smiley face" height="800" width="800"> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 352 </div> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 353 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 354 </div> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 355 </div> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 356 </body> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 357 </html> | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 358 """ | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 359 out_html.write(part_1) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 360 out_html.close() | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 361 # Load sets of amyloidogenic and non-amyloidogenic peptides: | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 362 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 363 def run(Fasta1, Fasta2, windows_per_frame, overlap_factor, xlabel, ylabel, pop1_label, pop2_label, htmlOutDir, htmlFname, Workdirpath): | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 364 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 365 if not os.path.exists(htmlOutDir): | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 366 os.makedirs(htmlOutDir) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 367 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 368 amyload_pos_seq = load_fasta_file(Fasta1) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 369 amyload_neg_seq = load_fasta_file(Fasta2) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 370 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 371 # Calculate quantitive features: volume and hydropathy | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 372 mean_volume = Feature(get_aa2volume()).then(average) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 373 mean_hydropathy = Feature(get_aa2hydropathy()).then(average) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 374 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 375 fs = FeatureSet("volume'n'hydropathy") | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 376 fs.add(mean_volume) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 377 fs.add(mean_hydropathy) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 378 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 379 amyload_pos_conv_seq = fs(amyload_pos_seq) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 380 amyload_neg_conv_seq = fs(amyload_neg_seq) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 381 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 382 # Do local Fisher: | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 383 result = local_fisher_2d(amyload_pos_conv_seq, amyload_neg_conv_seq, | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 384 windows_per_frame=int(windows_per_frame), overlap_factor=int(overlap_factor)) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 385 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 386 # Plot local Fisher: | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 387 _plot_local_fisher_2d(result, xlabel=xlabel, | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 388 ylabel=ylabel, | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 389 pop1_label=pop1_label, | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 390 pop2_label=pop2_label, | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 391 out_file_path =os.path.join(os.getcwd(), "out.png") | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 392 ) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 393 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 394 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 395 # plt.savefig(os.path.join(Workdirpath, htmlOutDir, "1.png")) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 396 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 397 HTML_Gen(os.path.join(Workdirpath, htmlOutDir, htmlFname)) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 398 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 399 if __name__=="__main__": | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 400 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 401 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 402 import argparse | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 403 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 404 parser = argparse.ArgumentParser() | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 405 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 406 parser.add_argument("-f1", "--Fasta1", required=True, default=None, help="First fasta file ") | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 407 parser.add_argument("-f2", "--Fasta2", required=True, default=None, help="Second fasta file") | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 408 parser.add_argument("-o", "--overlap_factor", required=False, default=5, help="Overlap factor") | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 409 parser.add_argument("-w", "--windows_per_frame", required=False, default=5, help="Windows per frame") | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 410 parser.add_argument("-x", "--xlabel", required=True, default=None, help="X label") | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 411 parser.add_argument("-y", "--ylabel", required=True, default=None, help="Y label") | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 412 parser.add_argument("-p1", "--pop1_label", required=True, default=None, help="First population label") | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 413 parser.add_argument("-p2", "--pop2_label", required=True, default=None, help="Second population label") | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 414 parser.add_argument("--htmlOutDir", required=False, default=os.path.join(os.getcwd(),'report_dir'), help="Path to html dir") | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 415 parser.add_argument("--htmlFname", required=False, help="html output file", default="report.html") | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 416 parser.add_argument("--Workdirpath", required=False, default=os.getcwd(), help="Path to output Working Directory") | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 417 args = parser.parse_args() | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 418 | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 419 run(args.Fasta1, args.Fasta2, args.windows_per_frame, args.overlap_factor, args.xlabel, args.ylabel, args.pop1_label, args.pop2_label, args.htmlOutDir, args.htmlFname, args.Workdirpath) | 
| 
2df11ea23f10
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
 jay parents: diff
changeset | 420 | 
