Skip to content

DaveCumin/ancir_svelte

Repository files navigation

Analysis of Circadian Rhythms (AnCir)

This is our 'AnCir' to the need for a simple-to-use (GUI; no coding) tool for analysis of circadian rhythms. Currently, the tool only allows for import of csv data and plotting of actograms.

This has been rewritten in Svelte (see previous incarnation at https://github.com/DaveCumin/ancir) to make it more extensible, faster, and fix a bunch of bugs. With help from @korur and @khromov - thank you!

For users

If you want to generate sample data, just click on Data>Create and a new Sample set should appear. Similarly, if you have your own .csv file, then you can import it and it should show up in the list.

Clicking on the icon next to the name of the data table should display the contents in the bottom viewer, so you can see what the data look like

To create an actogram, click on Plot>Actogram. You can change the data that is used by using the dropdown lists under Data for this plot on the right hand panel. You can add multiple data sources and change their colours. To see the post-processed data useed in the plot, click on the hyperlinked data for each source and see it appear in the data tabs below.

The other controls for the actogram should be self-explanatory.

The Periodogram plot is what it says it is, and raw is just a plot of the data - with similar controls to the actogram.

Have fun.

For developers

Any advice or offers of support will be welcommed - email d.cumin@auckland.ac.nz.

The following packages code was used in this project:

  • Svelte is used as the framework/library/compiler of the code.
  • D3 is used for plotting.
  • Papaparse is used for importing the data.
  • In-place editing is used for updating items.
  • Moment-guess was adapted to guess the time format of data.
  • Tippy was used in this project.
  • Stats functions from @ytliu0 were used.
  • Spinner was taken to use for the spinner.
  • Luxon is used for date manipulation and caluclations.