Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download
Views: 139
def read_mousedata(filename, column_number): import csv with open(filename, "rU") as csvfile: csvreader = csv.reader(csvfile) mylist = [] for row in csvreader: try: mylist.append(float(row[column_number])) except: pass return mylist
from circadian import read_mousedata
from circadian import mouseFFT
import numpy as np
BT=read_mousedata('Wt7247.csv',0)
BT=[float('NaN') if val==0 else val for val in BT]
BTarray=np.array(BT)
def nan_helper(y): return np.isnan(y), lambda z: z.nonzero()[0]
nanPositions, x = nan_helper(BTarray)
BTarray[nanPositions] = np.interp(x(nanPositions), \ x(~nanPositions), \ BTarray[~nanPositions])
YoungBT=[] for i in BTarray: YoungBT.append(i)
t=[x*20./60/60/24 for x in srange(0,len(YoungBT))]
list_plot(zip(t,YoungBT),plotjoined=True)
FPlot,Finverse,Ffreqs,Fpadlen=mouseFFT(YoungBT,1/20)
from sage.plot.bar_chart import BarChart
bar_chart(FPlot,xmax=100,color='black',width=0.3)
len(Ffreqs)
21776
PlotFreqs=Ffreqs[0:len(Ffreqs)/2]
list_plot(Finverse)
list_plot(zip(PlotFreqs,FPlot),xmax=0.0002)
def dampharmonics(fSeries,fFreqs,fInverse): harmonicilist=[] harmonicfreqs=[] for i in srange(0, len(fSeries)): if fSeries[i]==max(fSeries): for m in srange(0,5): harmonicfreqs.append(2^(m)*fFreqs[i]) for n in harmonicfreqs: for i in srange(0,len(fFreqs)): if fFreqs[i]==n: harmonicilist.append(i) negharmonicilist=[val*-1 for val in harmonicilist] for i in negharmonicilist: harmonicilist.append(i) filtInverse=fInverse filtSeries=fSeries for i in harmonicilist: filtInverse[i]=0 if i>0: filtSeries[i]=0 return filtInverse, filtSeries
filteredF,filteredFseries=dampharmonics(FPlot,Ffreqs,Finverse)
bar_chart(filteredFseries,xmax=100,color='black',width=0.3)
filteredF2,filteredFseries2=dampharmonics(filteredFseries,Ffreqs,filteredF)
bar_chart(filteredFseries2,xmax=100,color='black',width=0.3)
from numpy.fft import ifft
timeseries_fourier_real = [real(val*conjugate(val)) for val in filtered] timeseries_fourier_subset = timeseries_fourier_real[0:len(timeseries_fourier_real)]
Error in lines 1-1 Traceback (most recent call last): File "/projects/sage/sage-7.5/local/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 989, in execute exec compile(block+'\n', '', 'single') in namespace, locals File "", line 1, in <module> NameError: name 'filtered' is not defined
bar_chart(timeseries_fourier_subset,xmax=100,color='black',width=0.3)
Error in lines 1-1 Traceback (most recent call last): File "/projects/sage/sage-7.5/local/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 989, in execute exec compile(block+'\n', '', 'single') in namespace, locals File "", line 1, in <module> NameError: name 'timeseries_fourier_subset' is not defined
inversets=ifft(filteredF2)
import numpy as np
list_plot(zip(t,inversets[Fpadlen[0]+np.arange(1,len(YoungBT))]),plotjoined=True)
/projects/sage/sage-7.5/local/lib/python2.7/site-packages/sage/plot/plot.py:791: ComplexWarning: Casting complex values to real discards the imaginary part ydata = [float(z[1]) for z in points]
len(BT)
21776
len(inversets)
32768
Fpadlen
[5496, 5496]
iplot,iinverse,ifreqs,ipadlen=mouseFFT(inversets,1/20)
from circadian import bootstrapFFT
BTboot=bootstrapFFT(inversets,100,1/20)
BTboot[0]
array([ 2.80259693e-43, 5.29986680e-43])
inversets[0]
(-6.6738247964289825e-06+2.6888332991648718e-20j)
list_plot([BTboot[0][1],BTboot[100][1],BTboot[101][1],BTboot[102][1]])
Error in lines 1-1 Traceback (most recent call last): File "/projects/sage/sage-7.5/local/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 989, in execute exec compile(block+'\n', '', 'single') in namespace, locals File "", line 1, in <module> NameError: name 'BTboot' is not defined
top_bottom=BTboot bottom = list(top_bottom[:,0]) top = list(top_bottom[:,1])
Error in lines 1-1 Traceback (most recent call last): File "/projects/sage/sage-7.5/local/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 989, in execute exec compile(block+'\n', '', 'single') in namespace, locals File "", line 1, in <module> NameError: name 'BTboot' is not defined
BTboot[100]
array([ 4.23837006e-16, 6.97841503e-14])
bottomlist=[] toplist=[] for i in srange(0,len(BTboot)): bottomlist.append(BTboot[i][0]) toplist.append(BTboot[i][1]) bar_chart(iplot,xmax=100,color='black',width=0.3)+list_plot(toplist,plotjoined=True,xmax=100) + list_plot(bottomlist,plotjoined=True,xmax=100)
pts
Error in lines 1-1 Traceback (most recent call last): File "/projects/sage/sage-7.5/local/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 989, in execute exec compile(block+'\n', '', 'single') in namespace, locals File "", line 1, in <module> NameError: name 'pts' is not defined