Skip to content. | Skip to navigation

Sections
Personal tools
You are here: Home Forum Using data sets hc-3 ec016.234

hc-3 ec016.234

Up to Using data sets

hc-3 ec016.234

Posted by Pranav Singla at April 15. 2015

Hello, I have been working with a this data set for quite some time.  The other day I was curious about how many cells were in CA 1 and CA 3 and I noticed that in the session cell count spreadsheet, it shows a total of 48 cells that were recorded that met the quality guidelines and 61 cells that were recorded if quality guidelines were not necessarily checked.

The Map variable within matlab has a 100 clusters for this data set so my question is are these 100 clusters independent (cells) or do some overlap because if not, it does not make sense with what is contained in the session cell count spreadsheet; the 100 clusters whereas 48 cells were recorded.

Thank You

Re: hc-3 ec016.234

Posted by Kenji Mizuseki at April 18. 2015

Hi Pranav,

 

Thanks for your interest in our data set.

 

As you wrote, ec016.234 has 61 CA1 cells (or 48 CA1 cells if we use our quality guidelines). On the other hand, the Map variable is based on topdir (in this case, ec016.17). ec016.17 consists of several sessions (ec016.228, ec016.229, ec016.230, ec016.231, ec016.233, ec016,234, ec016.236, ec016.237, ec016.238, ec016.239, and ec016.240. please see hc3-session_a.csv) and has 102 CA1 cells, which is more than 61 cells. This is because not all cells recorded and clustered using all sessions within ec016.17 fired in ec016.234, because some cells were just silent during the maze behavior and/or because the electrode drifted spontaneously during the ec016.17.

 

Hope my explanation helps.

Thank you.

 

Kenji Mizuseki

 

Re: hc-3 ec016.234

Posted by Pranav Singla at April 18. 2015

I am sorry, I don't understand.

Loading the ec016.234 dataset using LoadCluRes gives me a Cluster variable with a min of 1 and a max of 100.  Furthermore, assigning times for when each cluster fired gives me spike times for each cluster 1 - 100.

Am I doing something wrong?

Re: hc-3 ec016.234

Posted by Kenji Mizuseki at April 18. 2015

Please use "unique" function in matlab, and you should see that the number of unique clusters should be less than 100.

Kenji

Re: hc-3 ec016.234

Posted by Pranav Singla at April 18. 2015

unique(Cluster) gives me an array numbering from 1 to 100.

You said ec016.17 contains many sessions: ec016.228, ec016.229, ec016.230, ec016.231, ec016.236, ec016.237, ec016.238, ec016.239, and ec016.240 are not available to download.

Only .233 and .234 can be downloaded. Are the other sessions corrupt?

Re: hc-3 ec016.234

Posted by Jeff Teeters at April 20. 2015
Hi Pranav,
Thanks for your questions.  Kenji and I went over this more.  The explanation follows:

To be included in the sess-cells.csv, the cell had to generate at least 50 spikes in the session.  (This is described in file "00_README.txt" which is included with the sess-cells.csv).  Session ec016.234 has 98 cells that were considered "good quality" with at least one spike but only 61 cells with at least 50 spikes.  The queries that show this are included later in this post.

As you determined, there are actually 100 cells (not 98).  The reason is that two of the cells (with id's 4732 and 4736) are not included in the SQLite table proving cell information (e.g. table"cell") because they are flagged as bad cells in the MatLab "Clean" array.  The query I used to find that is also shown below.

There were eleven recording sessions associated with topdir "ec016.17".  The reason that only two of these (ec016.233 and ec016.234) were made available for download is that during the other 9 sessions, the animal was sleeping, and the decision was made, for this data set, to prioritize making available data during which the animal was awake and behaving.  Otherwise the dataset would be much larger (there are 1095 sleep sessions, total duration 347 hours; vs. 'only' 443 sessions with an awake behavior, total duration 200 hours).  Note:  The "hc-4" data set at CRCNS.org is a supplement to the hc-3 data set.  It contains a complete set of sessions (including raw data files) for topdir "'ec014.39'".   There are plans to add more topdir's along with all data recorded from them to the hc-4 data set.
 
Below are the SQLite queries used to determine the information given above.
 
Thanks again for your questions.  Don't hesitate to ask more if something is still not clear.
Jeff & Kenji
 
 
cd hc3-metadata-tables
$ ls
00-README.txt        hc3-file.csv        hc3-spike_count.csv    hc3-tables.xlsx
hc3-cell.csv        hc3-session.csv        hc3-tables.db        old
hc3-epos.csv        hc3-session_a.csv    hc3-tables.sql        whl-list.txt
$ sqlite3 hc3-tables.db
SQLite version 3.8.0.2 2013-09-03 17:11:13
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
cell         file         session_a    whl_file  
epos         session      spike_count

--Number of cells with 50 or more spikes (what is in hc3-cells.csv):
sqlite> select count(*)
   from session s, spike_count k, cell c
   where c.id = k.cellId and s.id = k.sessId and k.nSpikes > 49
   and s.session = 'ec016.234';
61
(Matches what is in sess-cells.csv).

-- Number of cells with one or more spikes:
sqlite> select count(*)
   from session s, spike_count k, cell c
   where c.id = k.cellId and s.id = k.sessId and k.nSpikes > 0
   and s.session = 'ec016.234';
98
(Close to 100 but still does not match number of clusters which is 100).
 
-- Go to SQLite table (hc3.db) which is a direct copy of original MatLab structures:
 
cd ./hc3-original-docs
$ ls
DecidePyrIntRegion.m    KenjiData.mat        hc3.db
ElePosition.txt        README.txt        tables.sql
$ sqlite3 hc3.db

sqlite> .schema clean
CREATE TABLE clean (
-- from MatLab Clean matrix.
  id integer,  -- row in Beh  -- SHOULD BE ROW in pmMap (see below)
  good integer -- ==0 if bad cell
);
sqlite> select count(*) from clean;
8569
sqlite> select count(*) from pmMap;
8569
sqlite> select id, good from clean where id in (4732, 4736);
id    good
4732    0   -- (value zero indicates these cells are bad)
4736    0
 
-- Back to using the main SQLite database for the data set
 
$ sqlite3 hc3-tables.db 
sqlite> select s.session, s.behavior from session_a s where topdir='ec016.17';  -- Note: "session_a" not "session".
session behavior
ec016.228 sleep
ec016.229 sleep
ec016.230 sleep
ec016.231 sleep
ec016.233 linear
ec016.234 linear
ec016.236 sleep
ec016.237 sleep
ec016.238 sleep
ec016.239 sleep
ec016.240 sleep
 
-- Shows that ec016.233 and ec016.234 have behavior "linear".  All others in 'ec016.17' have behavior sleep.
 
-- Get count and total duration of sleep sessions:
sqlite> select count(*), round(sum(s.duration)/3600.0, 1) hours from session_a s where s.behavior = 'sleep' group by s.behavior;
count(*) hours
1095    347.3
 
-- Get count and total duration of non-sleep sessions:
select count(*), round(sum(s.duration)/3600.0, 1) hours from session_a s where s.behavior != 'sleep' group by '*';
count(*) hours
443  199.8
 
 
Powered by Ploneboard
Document Actions