Skip to content

Cjl #20

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

Cjl #20

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file modified bin/binTimes.py
100644 → 100755
Empty file.
Empty file modified bin/bootStrapFitFile.py
100644 → 100755
Empty file.
Empty file modified bin/bootStrapFits.py
100644 → 100755
Empty file.
Empty file modified bin/compressBarcodes.py
100644 → 100755
Empty file.
Empty file modified bin/evaluateBackgroundFitting.py
100644 → 100755
Empty file.
Empty file modified bin/findFmaxDist.py
100644 → 100755
Empty file.
Empty file modified bin/findSeqDistribution.py
100644 → 100755
Empty file.
Empty file modified bin/fitBackgroundTile.py
100644 → 100755
Empty file.
Empty file modified bin/fitOnOffRates.py
100644 → 100755
Empty file.
Empty file modified bin/fitRatesPerCluster.py
100644 → 100755
Empty file.
Empty file modified bin/normalizeSeries.py
100644 → 100755
Empty file.
Empty file modified bin/pickleToTabDelimited.py
100644 → 100755
Empty file.
Empty file modified bin/plotOffrateCurve.py
100644 → 100755
Empty file.
68 changes: 46 additions & 22 deletions bin/plotSingleClusterBindingCurve.py
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -35,41 +35,65 @@

#set up command line argument parser
parser = argparse.ArgumentParser(description='bootstrap fits')
parser.add_argument('-b', '--binding_curves', required=True, metavar=".CPseries.pkl",
parser.add_argument('-b', '--binding_curves', required=True, metavar='.CPseries.pkl',
help='file containining the binding curve information')
parser.add_argument('-f', '--single_cluster_fits', required=True, metavar=".CPfitted.pkl",
parser.add_argument('-f', '--single_cluster_fits', required=True, metavar='CPfitted.pkl',
help='file containining the single cluster fits')
parser.add_argument('-c', '--concentrations', required=True, metavar="concentrations.txt",
parser.add_argument('-c', '--concentrations', required=True, metavar='concentrations.txt',
help='text file giving the associated concentrations')
parser.add_argument('-i', '--cluster', required=True, metavar="clusterID",
help='cluster Id for which to plot')

parser.add_argument('-out', '--out_file',
help='output filename. default is "cluster_X.binding_curve.pdf"')

parser.add_argument('-i', '--cluster', required=False, metavar='clusterID', action='append',
help='individual clusterIDs to plot')
parser.add_argument('-if', '--cluster_file', required=False, metavar='clusterID file', help='text file containing clusterIDs to plot, one-per-line')
parser.add_argument('-out', '--out_dir', default='plots',
help='output directory. default is "plots"')


if __name__ == '__main__':
args = parser.parse_args()

if not len(sys.argv) > 1: # Print help if this script is called with no arguments (equivalent to -h)
parser.print_help()

bindingCurveFilename = args.binding_curves
singleClusterFilename = args.single_cluster_fits
cluster = args.cluster


# Read in cluster file
clusters = []
if args.cluster_file is not None:
with open(args.cluster_file) as f:
clusters = f.readlines()
clusters = [line.strip() for line in clusters] # Strip trailing newline characters and whitespace

# Add any individual clusterIDs that were passed in with -i
if args.cluster is not None:
clusters += args.cluster

if len(clusters) <= 0:
sys.exit('ERROR: No clusterIDs were passed in. Use -i or -if to indicate which clusterIDs should be plotted. Exiting...')

# load data
concentrations = np.loadtxt(args.concentrations)
bindingSeries = pd.read_pickle(bindingCurveFilename)
fittedSingles = pd.read_pickle(singleClusterFilename)

# plot
fig = plt.figure(figsize=(4,3))
ax = fig.add_subplot(111)
fitParameters = pd.DataFrame(columns=['fmax', 'dG', 'fmin'])
fitFun.plotFitCurve(concentrations,
bindingSeries.loc[cluster],
fittedSingles.loc[cluster],
fitParameters, ax=ax)
# Prepare the output directory
try:
os.makedirs(args.out_dir)
except OSError:
if not os.path.isdir(args.out_dir):
raise

if args.out_file is None:
args.out_file = 'cluster_%s.binding_curve.pdf'%cluster
plt.savefig( args.out_file)
# Iterate through each ClusterID
for currClusterID in clusters:

# plot
fig = plt.figure(figsize=(4,3))
ax = fig.add_subplot(111)
fitParameters = pd.DataFrame(columns=['fmax', 'dG', 'fmin'])
plotFun.plotFitCurve(concentrations,
bindingSeries.loc[currClusterID],
fittedSingles.loc[currClusterID],
fitParameters, ax=ax)

currOutputFilename = os.path.join(args.out_dir, 'cluster_%s.binding_curve.pdf'%currClusterID)
plt.savefig(currOutputFilename)
Empty file modified bin/plotVariantBindingCurve.py
100644 → 100755
Empty file.
Empty file modified bin/processData.py
100644 → 100755
Empty file.
Empty file modified bin/seqfun.py
100644 → 100755
Empty file.
Empty file modified bin/singleClusterFits.py
100644 → 100755
Empty file.