For details on the protocol, please refer to our paper on using the ARC (Murphy et al. (2017) Nat. Protoc.).
Instructions for software installations and a video describing the ARC running procedure can be found here
Below, please find answers to the questions that we've received thus far.
A. You can run JavaGrinders on Linux installed on a Windows PC. There are instructions for installation on Linux systems on the JavaGrinders blog.
A. You are correct in that the energy saver function should be turned off.
A. Yes. Latest versions of JavaGrinders can be found on the JavaGrinders blog and Noah can be found on our GitHub repository.
A. Noah and the ARC... Keith must have been in a biblical mood.
A. We have used a number of different 3D printers over the years for printing the ARC parts, but have recently been using the Rostock Max V2 with HE280 hotend. Any printer that can print an unwarped PLA or ABS chamber will do just fine. You can also use online printing services which will print the parts well at a low cost.
A. It's hard to put an exact value on this, since it depends on the materials used. I would say it only needs to minimize error enough to allow the parts to fit together. If they don't, you can always sand them down.
A. There's no consensus on which material is better for ARC experiments, although they certainly have different hardness and possibly surface texture. We would recommend PLA because of the limited warping compared with ABS printing.
A. We are currently printing the thin gates with NinjaTek's Cheetah flexible 3D printing filament. It's awesome. The old gates used to break periodically, especially while washing them. The flexible gates are bendable, like rubber, but hardy enough to still be used as a solid gate. We are still in the process of developing another improved gate that won't require the individual pipette tips to be inserted. Stay tuned!
A. If you're using the capillaries with the black bands, make sure the top of the dye oil is sufficiently (~5 mm) separated from (and below) the black bands. And when setting up JavaGrinders tracking region, ensure that none of the bands on the capillaries are captured in the region of interest.
Alternatively, you can remove the black bands from the capillaries. We find that with a little bit of acetone and some scrubbing action, the bands can be removed easily. This also allows you to fill the capillaries up higher, reducing the frequency of needed capillary changes. Be aware that some low viscosity diets may drip if the capillaries are overfilled too much.
A. For our Canton-S males, 5% sucrose or 2.5% yeast extract + 2.5% sucrose is sufficient for 24 hours. For Canton-S females or Dahomey, we usually need 5% yeast extract + 5% sucrose to reliably last 24 hours. Filling the capillaries up higher (and removing any external markings on the capillaries) also greatly extends possible recording time. See the previous question for more details.
A. It is critical that once you chloroform the Plexiglas onto the chamber, you wash the chamber thoroughly and get rid of all remaining chloroform!
A. We do wash and reuse the capillaries. The following steps work well for us:
Depending on the liquid food used, a 10-20 minute soak in 70% ethanol or acetone after step #1 or repeating step #2 with fresh distilled water can help.
We have been able to use capillaries indefinitely using these procedures.
A. Our colorimetric evaporation analysis shows that on standard diets such as 5% sucrose or 5% sucrose + 5% yeast extract, flies feed frequently enough that the concentration of food does not substantially change.
A. Yup. We just use the Noah analysis software to retrospectively fill in the coordinates. Basically, the initial frame when you started up the software acts as a reference background. ARCController subtracts the reference background from the current frame and looks for the fly. So if the fly has not moved from the original position, ARCController won't be able to see it. But this is okay because even a slight movement/twitch will make the fly "visible"; to the ARCController—even if it doesn't actually move—and when you run the data file in Noah, it deduces the missed initial reads from the first actual read.
A. Yes, please find it here as a Google Doc. Feel free to comment on the document, since we will be updating the file periodically.
A. We don't have a function written for trimming data yet, but could include it in future Noah versions. You should also feel free to customize Noah to your needs. Alternatively, you could manually delete the 1800 rows of data from the raw file. Or if you are binning activity, feeding, etc. you could use 30 minute bins and discard the first bin. When there's 15 min missing, we just analyze those files separately and later combine them in Excel or your favorite analysis software.
A. You should adjust them based on how noisy or clean your data is. To do so, open Noah in your favorite text editor (I personally like Sublime Text) and look for the following line:
feedData.append(dataVector)
After feedData.append(dataVector), in a new line, write
toExcelNamed(feedData,“cleanedFeedTrack”)
(Make sure that the indentation matches that of print(“”))
In the file “cleanedFeedTrack.csv”, each row will be a fly and each column represents the dye position at a time point.
And you can look at the food tracking data by selecting each row and inserting a line graph,
like this:
In this case, you’d be looking at feeding data from fly #4. Now, insert a line chart:
And you’ll get a chart that looks something like this:
Here, each bump up would be considered a feeding event and the gradual slope evaporation. I would count about 9 feeding events, when I inspect it visually.
Now, if your output file from the stats_( ) file (output from option 3: Analyze/Synthesize Data) counts a similar number as when you inspected it visually (which also depends on whether or not you decided to combine feeding bouts for a meal…), then your MEALPULL_SD and FINAL_SD values are probably good. If it counts far fewer meals, it probably means that the set SD value makes it not sensitive enough to detect a feeding bout, so you’d want to decrease the values. If it counts far more of meals, it probably means that the set SD value is counting noise in the feeding data as feeding bouts, so you'd want to increase the values.
As you can imagine, the SD values would differ based on the setup, and you’d want to play around with the values until you find an appropriate cutoff for your setup.