CoTwins
Welcome to CoTwins!
About the study
Hi there! Welcome to the CoTwins Lab page. We are a team of researchers at the University of Minnesota and the University of Colorado-Boulder who study behavior genetics, psychology, and computer science.
The goal of our study is to understand better how young adults change, in their personality, their friendships, their activities, and their environments. We are also interested in how young adults may use substances during this time, including nicotine, alcohol, and marijuana, and ultimately this information can be used to prevent and treat addiction disorders. Our study uses novel smartphone technology to assess these factors in twin participants over the course of several years.
No one has ever conducted a study like CoTwins, and we hope you enjoy learning more about our study! This primary purpose of this webpage is to serve as a way for our team to document and track our progress over the course of this 4-year longitudinal study.
Meet the CoTwins team
We are a team of researchers at the University of Minnesota (UMN) and University of Colorado-Boulder (UCB). We primarily work out of the Minnesota Center for Twin and Family Research (MCTFR, UMN), the Computer Science Department at UMN, and the Institute of Behavior Genetics (IBG, UCB). The Principal Investigators of this study are Dr. Scott Vrieze, Dr. Naomi Friedman, and Dr. Catherine Zhao.
Study Milestones and Major Events
PROJECT EVENT AND MILESTONE DATES
- 10/1/2018: Rachel Schneider started as CoTwins Coordinator
- 10/12/2018: First day of recruitment
- 10/12/2018: First re-recruit enrolled
- 1/18/2019: First new-recruit enrolled
- 2/3/2020: Rio Hindami started as CoTwins Coordinator
- 2/11/2020: Rachel Schneider left as CoTwins Coordinator
- 4/29/2020: Consent forms updated to remove Audio feature
- 4/29/2020: New iOS App update released
- 7/13/2020: Image acquisition feature released for iOS users
- 10/12/2020: First set of twins to complete their participation
- 10/16/2020: First re-recruit enrolled for an additional year
- 10/27/2020: New Android App released
Software Development
In the initial NIAAA phase of CoTwins we worked with Anvil8, a software development company. At that time, we used agile software development principles and track our progress on https://youtracker.anvileight.com. This relationship ended with the end of the NIAAA support.
A refactored version of the iOS app, with essentially the same functionality as the previous app but rewritten in swift programming language, was release to the Apple app store. Scott (talk) 12:15, 30 April 2020 (CDT).
Software Issues and Bug Reports
The timeline to the right shows major software development events and issues that have impacted data over the course of the study.
Software was originally maintained in bitbucket. Bug reports were recorded in BitBucket's issue tracker. As of early 2020, the app engine software is maintained in GitLab. EF and iOS code are maintained at github.umn.edu.
UNRESOLVED
Time Travel Error
In UserStatus, some participants' "last location" dates are in the future (i.e. the date of last location logged is a date that has not happened yet). This appears to have affected participants who enrolled in November 2017.
Android Location
Several participants with Android devices do not have current location showing, even though they have it turned "on" in their phone settings.
A new Android app was released on October 27, 2020 with improved location tracking for participants.
RESOLVED
The following document details software and bug reports about the CoTwins app and servers which have been resolved over the duration of the study. This document is meant to serve as both a log of the reports and a reference for resolving any future software or bug errors of like-manner.
File:Resolved Software and Bug Reports CoTwins.docx
EF Data Analysis
As of 07/06/2020
Lab-based EF Data has been coded and analyzed through March 15th, 2020 (811 Subjects total) by Sam Freis. 786 participants have data on all 3 in lab EF tasks. All data and scripts are in the EF Analyses - 2020-05-25 folder on Delta. Detailed notes on processing issues and file modifications are in the word document ProcessingNotesFreis052520. I added several scripts to the existing step 3 and 4 folders. PreCombineSanityChecks.R in the 3_Ranalysis folder checks for duplicate IDs in the trimmed data files and should be run before the final MASTER_EF_Ranalysis script. I modified the existing antisaccade processing script to keep the correct subject number and data together after an ID merge issue in my first round of processing. I added EFsTroubleShooting.R and EFmissing.R scripts to the step 4 folder to identify missing data and inconsistent scoring across processing batches. I also added some code in the combined R output script to double-check that the correct IDs are retained after the merge step.
As of 08/17/2016
EF Data has been coded and analyzed through August 17th, 2016 (577 Subjects) by Daniel Gustavson. The EF task scripts, data, and most recent upload, can be found on the delta server (delta.colorado.edu\COTwins\EF Analyses). There are ReadMe files inside the folders for each of the four steps for data analysis (start there for instruction on how to add future subjects to the data), and an archive of Dan's last upload (delta.colorado.edu\COTwins).
Follow up note from Andrew Reineberg on 05/15/2017:
I added a new folder to cotwins on delta (EF Analyses - 2017-05-13) containing the analyses using Dan's scripts as well as a python script for calculating descriptives and reliability (andrew_ef.{ipynb,html,pdf} inside the 4_Final EF Data directory). About 100 participants were added since the last analysis in August of '16 for a final n of 654 (cases where we have all three EF tasks). The reliability and interrelationship of EF tasks is consistent with the summaries Dan provided of previous time points. FYI, we noticed split half reliability of the task set switching task is low compared to other samples. One other oddity I found is the modification of participant 23521's keep track data file. I'll document the issue here in case you want to forward this to someone who can fill us in on the details: There appear to be several modifications of the file, so I am not sure which one is appropriate to use. All comparisons are to the raw data file (20160609ApaperdataCCW.xlsx). Mod 1 - 20160609ApaperdataCCW_cleanedlaterIS_MS.xlsx - incorrect participant number was changed to the correct participant number. Response to a practice trial was changed. These modifications should not affect keep track score. I used this file in my analysis. Mod 2 - 20160609ApaperdataCCW_cleanedlater_IS_MS.xlsx - incorrect participant number was changed to the correct participant number. Response to the first real trial was changed. The latter modification will affect keep track score. At this point, the EF variables can be put into whatever higher level analyses you had in mind. I suppose that is something you'll be discussing with Naomi. Do let me know if there is anything I can do to facilitate those analyses or access to the work Dan and I did. -Andrew"
Instructions for Updating Email Addresses in UserStatus
Email from Paul Resnick in December 2017 describing how to update an email address in the production database.
Here's what I did, in case someone else ever has to do this again. But be very careful; you could really do damage if, for example, you left off the where clause from the SQL update queries.
1) First, I went to the google cloud console, for the project Co-twins Users, https://console.cloud.google.com/sql/instances/user-db/overview?project=co-twins-users
2) Go to the SQL (under storage) on the main menu
3) Click on the only instance, user-db
4) Click on "Connect Using Cloud Shell". Now you'll get a unix command prompt, with a command line ready to run. But you will want --user=admin rather than --user=root. So, something like this:
presnick@co-twins-users:~$ gcloud beta sql connect user-db --user=admin
For password, you'll need to get it from the password file. It's the thing after mysql://admin: and before the @
5) Now you'll be at an SQL prompt. I entered the following:
use user_schema;
select * from users where email_id = 'original_email@original_email.com';
/*(should get back 1 row for a correct email address)*/
update users set email_id = 'new_email@email.com' where email_id = 'original_email@original_email.com';
/*(changes all rows for that email address, in our case just 1)*/
Updating the openshift server that serves the EF tasks
In December 2017 Alejandro dlV changed the hosting server for the EF tasks from an old openshift platform to a new one in response to some major changes in OpenShift products. On Dec 26th, Paul R. made the following change to the Co-Twins server to point to the new openshift instance.
<---- Begin Paul's Email ---->
I have completed this now.
Here's what I did:
- logged into CloudSQL instance via google cloud console, as per password change I made previously
- ran the following SQL queries to change all not-yet-completed surveyentries to point to the new URL:
update surveyentries set url = 'http://assesment-cotwins.b9ad.pro-us-east-1.openshiftapps.com/exp/task/keep_track' where url = 'http://assesment-cotwins.rhcloud.com/exp/task/keep_track' and completed = 0;
update surveyentries set url = 'http://assesment-cotwins.b9ad.pro-us-east-1.openshiftapps.com/exp/task/category_switch' where url = 'http://assesment-cotwins.rhcloud.com/exp/task/category_switch' and completed = 0;
- updated surveyconfig.xml so that new entries would be created using the new url from here on out
- tested on my test user account
- the existing surveyentry points to the new server and works
- deleted it and recreated it; the new url points to the new server and also works
<---- End Paul's Email ---->