def test_scn_write(): intervals = np.hstack((np.arange(1,501),np.arange(1,501))) amplitudes = np.ones(1000)*-1 amplitudes[::2] = 0 amplitudes = amplitudes.astype('int') flags = np.zeros(1000) flags = flags.astype('int') dcio.scn_write(intervals, amplitudes, flags, filename='./test.SCN') new_patch = Patch('./test.SCN') new_patch.read_scn(tres=0, tcrit=500) new_patch.write_scn() new_patch = Patch('./modified_test.SCN') new_patch.read_scn(tres=0, tcrit=np.inf) period = new_patch[1].period print(sum(intervals[3:-1]-period))
from info import Cluster,Patch from dcpyps import dataset from PlotAnalysis import PlotSingle from batch_analysis import BatchAnalysis import matplotlib.pyplot as plt import numpy as np maxopen = 1 maxshut = float('inf') def rule(cluster, maxopen, maxshut): if (cluster.mean_open > maxopen) or (cluster.mean_shut > maxshut): return False else: return True patch_G = Patch('/Users/zhiyiwu/Documents/pharmfit/raw trace/1/15080500.SCN') patch_G.read_scn(tres=20, tcrit=300) patch_H = Patch('/Users/zhiyiwu/Documents/pharmfit/raw trace/1/15080705.SCN') patch_H.read_scn(tres=20, tcrit=300) patch_G.filter_cluster(rule, maxopen, maxshut) patch_G.write_scn() patch_H.filter_cluster(rule, maxopen, maxshut) patch_H.write_scn()
] tres = [ 20, 30, 20 ] tcrit = [ 100, 70, 100 ] popen =[] for index, name in enumerate(name_list): patch = Patch('/Users/zhiyiwu/Documents/pharmfit/raw trace/3/{}.SCN'.format(name)) patch.read_scn(tres=tres[index], tcrit=tcrit[index]) maxopen = 1 maxshut = float('inf') def rule(cluster, maxopen, maxshut): if (cluster.mean_open > maxopen) or (cluster.mean_shut > maxshut): return False else: return True for i in range(3): patch = Patch('/Users/zhiyiwu/Documents/pharmfit/raw trace/3/{}.SCN'.format(name_list[i])) patch.read_scn(tres=tres[i], tcrit=tcrit[i]) patch.filter_cluster(rule, maxopen, maxshut) patch.write_scn()
def change(name, tres, tcrit, minPopen = 0, maxPopen = 1.1): new_patch = Patch('./set/{}.SCN'.format(name)) new_patch.read_scn(tres=tres, tcrit=tcrit) new_patch.filter_cluster(rule, minPopen, maxPopen) new_patch.write_scn()