diff --git a/.github/workflows/build_docs.yaml b/.github/workflows/build_docs.yaml index 7783993b5..500a74dcd 100644 --- a/.github/workflows/build_docs.yaml +++ b/.github/workflows/build_docs.yaml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install dependencies @@ -18,9 +18,9 @@ jobs: texlive-latex-extra latexmk tex-gyre \ --no-install-recommends - name: Set up Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: - python-version: 3.7 + python-version: 3.12 - name: Install Python dependencies run: pip install -r requirements.txt - name: Build documentation and deploy diff --git a/docs/bootcamp/iap/software_tips_and_tricks.rst b/docs/bootcamp/iap/software_tips_and_tricks.rst index 5b9568ae7..5e3b4b32f 100644 --- a/docs/bootcamp/iap/software_tips_and_tricks.rst +++ b/docs/bootcamp/iap/software_tips_and_tricks.rst @@ -114,7 +114,6 @@ There are several built-in features of Zotero that make paper reading more effic .. image:: img/zotero_tablet.png :align: center -| Better Quartzy @@ -148,7 +147,7 @@ or in the Tampermonkey Utilities tab, you can use the **install from URL** optio .. image:: img/tampermonkey_install_from_url.png :align: center -| + Regex help ---------- @@ -173,7 +172,7 @@ you are using. .. image:: img/fira_code.png :align: center -| + Activate SnapGene remotely ---------------------------- diff --git a/docs/conf.py b/docs/conf.py index f5e250c35..fa646a898 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -64,7 +64,6 @@ import rushd as rd import scipy import seaborn as sns -from statannotations.Annotator import Annotator from matplotlib import ticker as mticker sns.set_theme(style="ticks") diff --git a/docs/general/repairing_deli_fridge.rst b/docs/general/repairing_deli_fridge.rst index 4e885bf88..779eb5970 100644 --- a/docs/general/repairing_deli_fridge.rst +++ b/docs/general/repairing_deli_fridge.rst @@ -4,7 +4,7 @@ Deli fridge starter replacement When the deli fridge refuses to start, it is possibly due to the starter components. The starter components are responsible for getting the initial burst of energy needed to turn over the compressor motor. Luckily, both of these parts are easy to replace! Background -========== +---------- The starter consists of two parts: 1. A current-sensitive starter relay: `this video `__ discusses the details, but this is effectively a relay that turns on when it senses current above a certain threshold, entirely mechanically. @@ -20,7 +20,7 @@ We can reorder the parts for relatively cheap: Disassembly -=========== +----------- 1. Unplug the deli fridge from the wall. Wait about 5 minutes for capacitors to discharge. 2. Take the front grill off. It just pops off if you pull it horizontally out. @@ -65,7 +65,7 @@ Disassembly Debugging -========== +--------- You don't need to disconnect any wires between the capacitor and relay to test it. 1. Check if the relay is bad or not. The relay switches via a metal piece that gets pulled up into the @@ -86,7 +86,8 @@ You don't need to disconnect any wires between the capacitor and relay to test i If the relay resistance is fine and switches when you invert it, then try swapping the capacitor. Assembly -======== +-------- + 1. After deciding which part to replace (possibly both!) connect the replacement capacitor and relay by using the existing connectors. This should not require any wire stripping; just reuse the wires with the push-on connectors. Assemble it as in the picture. It is **important which terminals you connect the white and black wires to**, but it does not matter which orientation you attach the capacitor (it's an AC capacitor so no polarity). .. figure:: ../img/deli_starter_connections.jpg @@ -109,6 +110,7 @@ Assembly Replacements: -======== +------------- + - 2023.11.10 - Capacitor - 2024.06.24 - Capacitor \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst index 16a057712..4da8dc873 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -30,6 +30,6 @@ Click `here `_ to access the PDF version. Contributing ============= -See the :doc:`Repository setup guide ` if you are interested in how the continuous build system works, or you'd like to fork this repository to make it your own. +See the :doc:`Repository setup guide ` if you are interested in how the continuous build system works, or you'd like to fork this repository to make it your own. See the :doc:`Contributor guide ` for a more detailed walkthrough of how to contribute to this protocols repository. diff --git a/docs/plot_gallery/index.rst b/docs/plot_gallery/index.rst index 2d025b8a1..68248097c 100644 --- a/docs/plot_gallery/index.rst +++ b/docs/plot_gallery/index.rst @@ -21,7 +21,6 @@ and setup code that runs before any given code examples: import pandas as pd import scipy import seaborn as sns - from statannotations.Annotator import Annotator from matplotlib import ticker as mticker sns.set_theme(style="ticks") diff --git a/docs/protocols/biochem_and_analytics/sci_ATAC_seq.rst b/docs/protocols/biochem_and_analytics/sci_ATAC_seq.rst index cd65f808f..1ba3873bd 100644 --- a/docs/protocols/biochem_and_analytics/sci_ATAC_seq.rst +++ b/docs/protocols/biochem_and_analytics/sci_ATAC_seq.rst @@ -477,7 +477,7 @@ Transposase assembly .. note:: - If you are doing an entire plate, then you can use :math:`Z = 3.5`μL for the sci.AD1 primers and :math:`Z = 3.0`μL for sci.AD2. + If you are doing an entire plate, then you can use :math:`Z = 3.5` μL for the sci.AD1 primers and :math:`Z = 3.0` μL for sci.AD2. 3. Prepare the unloaded D1 dilution of Tn5 by diluting Tn5 with dilution buffer. Using the Diagenode 2 mg/mL Tn5, the dilution ratio can be at least 1:10 (e.g. 9.0 μL Tn5 diluted to 90 μL). This has been verified to work at 1:10. diff --git a/docs/protocols/tc/cell_line_creation.rst b/docs/protocols/tc/cell_line_creation.rst index 9c829191a..6e57cf352 100644 --- a/docs/protocols/tc/cell_line_creation.rst +++ b/docs/protocols/tc/cell_line_creation.rst @@ -15,43 +15,35 @@ Cell Line Creation For CRISPR, Deon has developed a robust modRNA-based delivery method that is capable of single and multiplex HDR-based insertions. - For TALEN, (insert here Chris) - - Each method possesses their unique cell plating, transfection, and selection timelines. After the selection period, the methods converge on universal enirichment and single-cell cloning protocols (ie., limiting dilution or cell sorting) -PiggyBac (Sneha) -~~~~~~~~~~~~~~~~ -Day -1 +PiggyBac +-------- +Day 0 ~~~~~~ -Seed your cells such that they will be around 30-40% confluent on the next day. There is an +Seed your cells such that they will be around 20-30% confluent on the next day. There is an extended selection outgrowth period required, which means we should start with lower confluence. Recommended rough seeding counts are: ========= ============================ -Cell type Seeding amount (per 96 well) +Cell type Seeding amount (per 24 well) ========= ============================ -293T 12.5k cells -U2-OS 7.5k cells +293T 40k cells +U2-OS 10k cells ========= ============================ -Day 0 +Day 1 ~~~~~~ -Follow the step for the cell line type to generate - - PiggyBac - - Co-transfect the PiggyBac plasmid alongside your plasmid containing PB recognition sites at a 3:1, template:transposase mass ratio. - - Crispr - - Co-transfect the Crispr/guide plasmid alongside your plasmid containing locus-specific recognition sites at a 1:1 mass ratio. - - TALEN - - Co-transfect the TALEN-R and TALEN-L plasmids alongside your plasmid containing locus-specific recognition sites at a 1:1:1 mass ratio. +- Co-transfect the PiggyBac plasmid alongside your plasmid containing PB recognition sites at a 3:1, template:transposase mass ratio. +- If you are doing markerless integration, then co-transfect a plasmid containing your resistance gene and an unused fluorescent marker. .. note:: When transfecting, leave some untransfected wells where you just add the KO-DMEM/PEI master mix, without plasmids. This allows you to tell if your selection is working as expected, and also gives you a proxy for how much PEI-mediated cell death you are seeing. -Day 1 +Day 2 ~~~~~~ Media change into selection media. Tested concentrations for PiggyBac are: @@ -62,16 +54,24 @@ Cell type Puro U2-OS 0.25 μg/mL (40,000x) ========= ==================== -Day 2-4 -~~~~~~~ -Continue selecting the cells until decent cell death occurs, or the cells are too dense. +Day 4 +~~~~~ +Replace the selection media and continue selecting until sufficient cell death occurs. .. note:: Puromycin at the given concentration should decidedly kill your untransfected wells. If you do not see sufficient cell death, try using a different aliquot. +Day 7 +~~~~~ +Passage the remaining cells to 6-well scale. + +Day 9 +~~~~~ +Sort! + CRISPR (Deon) -~~~~~~~~~~~~~ +------------- Day -1 ~~~~~~ Deon recommends CRISPR at 12-well scale, as this is the smallest scale that yielded a workable number of surviving cells after multiple transfections, CRISPR genotoxicity, and drug selection. @@ -129,7 +129,7 @@ Remove selection and let cells recover/expand. During your next passage, take a TALENS (Chris) -~~~~~~~~~~~~~~ +-------------- Day -1 ~~~~~~ Seed your cells such that they will be around 30-40% confluent on the next day. There is an @@ -351,4 +351,4 @@ RMCE integration of payloads into V2 line Day -1 -~~~~~~ \ No newline at end of file +------- \ No newline at end of file diff --git a/docs/protocols/tc/ipsc_transfection.rst b/docs/protocols/tc/ipsc_transfection.rst index b40bf0019..3978e4822 100644 --- a/docs/protocols/tc/ipsc_transfection.rst +++ b/docs/protocols/tc/ipsc_transfection.rst @@ -29,6 +29,8 @@ Empirically determined reagent amounts to use: =============================================================================================================================================== ========================================== .. note:: Not all reagent amounts have been rigorously optimized. +.. note:: These amounts can be scaled to various plate sizes and DNA amounts. +.. note:: The protocol for Lipofectamine 3000 can be applied to transfection of Jurkat cells in suspension at low efficiency (1-3%). Protocol diff --git a/docs/protocols/tc/tc-basics/img/BMDMs_isolation.png b/docs/protocols/tc/tc-basics/img/BMDMs_isolation.png new file mode 100644 index 000000000..64c6aaa3c Binary files /dev/null and b/docs/protocols/tc/tc-basics/img/BMDMs_isolation.png differ diff --git a/docs/protocols/tc/tc-basics/img/BMDMs_isolation1.png b/docs/protocols/tc/tc-basics/img/BMDMs_isolation1.png new file mode 100644 index 000000000..c762ad7f2 Binary files /dev/null and b/docs/protocols/tc/tc-basics/img/BMDMs_isolation1.png differ diff --git a/docs/protocols/tc/tc-basics/img/BMDMs_isolation2.png b/docs/protocols/tc/tc-basics/img/BMDMs_isolation2.png new file mode 100644 index 000000000..3755c4f48 Binary files /dev/null and b/docs/protocols/tc/tc-basics/img/BMDMs_isolation2.png differ diff --git a/docs/protocols/tc/tc-basics/img/BMDMs_isolation3.png b/docs/protocols/tc/tc-basics/img/BMDMs_isolation3.png new file mode 100644 index 000000000..cc9774a34 Binary files /dev/null and b/docs/protocols/tc/tc-basics/img/BMDMs_isolation3.png differ diff --git a/docs/protocols/tc/tc-basics/index.rst b/docs/protocols/tc/tc-basics/index.rst index 44cce4a62..f362519b8 100644 --- a/docs/protocols/tc/tc-basics/index.rst +++ b/docs/protocols/tc/tc-basics/index.rst @@ -14,4 +14,6 @@ TC Basics platE_MEF_reprogramming human_reprogramming glass_slide + murine_bone_marrow + splenocyte * \ No newline at end of file diff --git a/docs/protocols/tc/tc-basics/murine_bone_marrow.rst b/docs/protocols/tc/tc-basics/murine_bone_marrow.rst new file mode 100644 index 000000000..8de2ccf39 --- /dev/null +++ b/docs/protocols/tc/tc-basics/murine_bone_marrow.rst @@ -0,0 +1,203 @@ +Murine Bone Marrow Isolation +============================ + +This protocol details the isolation of bone marrow from mice along with culturing techniques for bone marrow derived macrophages (BMDMs). + +The BMDM differentiation protocol takes 7 days before the cells are fully differentiated into macrophages and can be used for downstream experiments. Make sure to take this into account before planning out experiments. + + +**Materials/Reagents** +---------------------- + +The dissection is by far the most time consuming part of this isolation. Below are materials that you will need: + +==================== ==================== +Dissection Materials Isolation/Culturing +==================== ==================== +Surgical scissors DMEM + 10% FBS +Tweezers MCSF1 +Scalpels Pen/Strep +10 mL syringes 40 um cell strainer +25 gauge needles Pestle +==================== ==================== + + +**Protocol - Dissection** +-------------------------- + +.. time:: + + 30 minutes per mouse + + +1. Sacrifice the mouse and bring it back to 66-219, place down paper towels or pads from the mouse facility and lay out the mouse. +2. Heavily spray the outside of the mouse with 70% ethanol. If a MEF isolation is occurring, allow the embyros to be isolated before moving on to the bone marrow. +3. Cut away the skin from the two hind legs of the mouse. Begin to cut back the muscle with scissors to expose the femur-pelvic joint. See below for image examples. +4. Cut away as much muscle and skin as possible from the hind legs before cutting through the femur-pelvic joint. + +.. note:: + + It is important that you be very careful when removing the muscle. Mouse bones are very easy to cut with the scissors. + +5. Once the legs have been removed from the mouse, return the mouse to the carcass bag. +6. Remove any remaining muscle with the scalpel, being careful to not cut yourself. +7. Once the majority of the muscle has been removed from the bone, place the bones in a petri dish with 1x PBS. + +.. note:: + + If you will not be harvesting the bone marrow for more than 30 minutes, place the petri dish on ice. + +8. Before moving into the hood, try to remove any last bits of muscle that were loosened up with the PBS soak. + +Bone Isolation with Images +========================== + +.. image:: img/BMDMs_isolation.png + :width: 80% + :align: center + +.. image:: img/BMDMs_isolation1.png + :width: 80% + :align: center + +.. image:: img/BMDMs_isolation2.png + :width: 80% + :align: center + +.. image:: img/BMDMs_isolation3.png + :width: 80% + :align: center + + + +**Protocol - Isolation & Processing** +------------------------------------- + +.. time:: + 1 hour + + +1. Bring the petri dish with the bones, tweezers and scissors into the hood +2. You will need to cut off the ends of the femur and tibia to create ends for the bone marrow be washed out of the bones. + + - Pick up the bones using the tweezers and carefully cut just the end of each of the bones. + +.. note:: + + Be careful when cutting the ends of the bones. Try not to cut too much of the bone and beware of the small bits one bone flying + +3. Prepare a 50 mL conical and an aliquot of 1x PBS. The bone marrow will be flushed into this conical. +4. Place the needle onto the end of the syringe and take up 2-3 mL of PBS +5. Pick up the bone with the tweezers and insert the needle into the center of the bone. You should be able to feel a hollow area inside of the bone. Hold the bone over the conical, slowly flush PBS through the bone. + +.. note:: + + When the bone marrow is flushed from the bone, you should see a red clump expel into the tube. The bone should appear clear/transluscent at this point. + + Do NOT flush the PBS too quickly through the bone. It is possible that the PBS will backflow and this will cause liquid to spray outside of the conical. + + +6. Repeat with the remaining bones. +7. Spin down the cells for 5 mins at 1600g. +8. Aspirate off the PBS and resuspend the cells in DMEM + 10% FBS +9. Place a strainer on another clean 50 mL conical and ready a pestle +10. Prime the strainer with 1 mL of DMEM + 10% FBS and then pass through the resuspended bone marrow +11. Use the pestle to mash the cell suspension through the strainer and wash it through with DMEM + 10% FBS + +.. note:: + + At this point you can also use a clean pipette tip to pull liquid through the bottom of the strainer if it is clogged + +12. If you have a large volume of media, you can spin down the cells for 5 mins at 1600g and resuspend in a smaller volume. + - If you spun down the cell suspension, aspirate off the media and resuspend into a smaller volume +13. Seed cells into desired plate for downstream experiments. If your desired cell type is BMDMs, culture in DMEM + 10% FBS with 1x Pen/Strep and 10 ng/mL M-CSF. + +.. note:: + + If you plan to use the cells in TC, be sure to seed a plate of cells for myco testing. + + +**Culturing Tips** +------------------ + +Differentiation of bone marrow cells into bone marrow derived macrophages takes 7 days. Bone marrow cells should be cultured in macrophage colony stimulating factor 1 (MCSF1) at a concentration ranging from 1-50 ng/mL. Currently, 10 ng/mL has achieved acceptable yield and purity of BMDMs. + +.. time:: + + 7 days + +===================== =============== +Differentiation Media Concentration +===================== =============== +DMEM + 10% FBS N/A +Pen/Strep 1 ng/mL +MCSF1 1-50 ng/mL +===================== =============== + +.. note:: + + MCSF1 aliquots can be found in the -20C TC freezer in the "Microglia Small Molecules" box. Aliquots are at a concentration of 10 kx (i.e. for 10 mL of media, add 10 uL of MCSF1 to achieve 10 ng/mL) + +1. Seed cells in differentiation media. + +.. note:: + + If you are planning to remove the cells from the current plate, be sure to seed them on un-treated plates. These plates are labeled in 66-219. BMDMs are very sticky once fully differentiated and seeding on gelatin coated plates or treated plate will make removal very difficult. + + If your experiment is terminal in the current plate, the plate type and coating is less important even though it could impact the transcriptome of the cells. + +2. After 4-days, carefully aspirate half of the media from the cells and replenish with freshly made differentiation media. +3. After 7-days of culturing in MCSF, remove the media and perform a PBS wash before replenishing the media. + +.. note:: + + At 7-days into the differentiation, all BMDMs should be adherent to the plate. Cells that are floating are either masses of dead cells or undifferentiated cells. + +Dissociation Methods +==================== + +Seeding cells that need to be dissociated on un-treated plates is highly recommended. Dissociation protocols differ greatly between different papers and labs. + +Option #1: Trypsin +------------------ + +1. Add a 1:1 dilution of trypsin in PBS to the cells +2. Allow cells to incubate for 8-10 minutes until there are visible cells lifting off the plates + +.. note:: + + It may take a significantly long time to dissociate the BMDMs if they are well adhered, so do not worry if after 10 minutes they are still attached. + +3. Add an equal amount of DMEM + 10% FBS to quench the trypsinization and place into a conical. +4. Spin down the cells for 5 mins at 1600 g +5. Aspirate off the media and seed cells for downstream experiments. + +Option #2: Scraping +------------------- + +1. Use a cell scraper to gently scrape the bottom of the plate for 2-5 minutes. + +.. note:: + + Scrape the bottom of the plate in a circular motion. DO NOT just lightly scrape, you will need to push hard to get the cells off. + +2. Add additional DMEM + 10% FBS to the plate and pipette up and down, washing the bottom of the plate with the liquid. +3. Place the cell suspension into a conical. +4. Spin down the cells for 5 mins at 1600 g +5. Aspirate off the media and seed cells for downstream experiments + +Freezing BMDMs +============== + +BMDMs and bone marrow cells can be frozen down for later use. Freezing media should be used to freeze down both cell types. A mixture of 90% FBS and 10% DMSO is preferred. + +1. Obtain a cell pellet using the dissociation methods listed above. +2. Resuspend cells in freezing media + +.. note:: + + It is very important to keep the cell count in the freezing suspension very high as this will help with recovery later. A recommended density if 4x10^6 cells/mL. + +3. Place the cell suspension in a cyrovial. +4. Label the vial and place into the styrofoam boxes in the -80C. +5. After 1-2 days in the -80C, move the cells into liquid nitrogen storage diff --git a/docs/protocols/tc/tc-basics/splenocyte.rst b/docs/protocols/tc/tc-basics/splenocyte.rst new file mode 100644 index 000000000..4e9268505 --- /dev/null +++ b/docs/protocols/tc/tc-basics/splenocyte.rst @@ -0,0 +1,82 @@ +Murine Splenocyte Isolation +=========================== + +Splenocytes is a blanket term for a large subset of cells that are present within the spleen (T-cells, B-cells, macrophages, fibroblasts, etc.). In this protocol, we are specifically interested in the macrophages. Additional purification methods, such as antibody or bead pull down, could be used to isolate specific cell types. + +Splencoyte Dissection +--------------------- + +.. time:: + + 15 minutes per mouse + + +1. Sacrifice the animal. +2. Generously spray the animal with 70% ethanol. + +.. note:: + + If a MEF isolation is happening, allow the embyros to be isolated before proceeding to isolate the spleen. + +3. Make an incision in the abdomen of the animal and cut about half way up the animal. +4. The spleen will be a long, slender, reddish organ on the left-side of the abdomen, below the stomach (Left-side here is from the point of view of the animal, if the animal is on the back for dissection, it will be on your right). The kidney will also be in this area, but it should have a rounder, bean-like shape. +5. Excise the tissue and remove any additional tissue connected to the organ. +6. Place the spleen into a petri dish with PBS until ready for downstream processing. + +.. note:: + + If the downstream processing will be more than 10 minutes, keep the petri dish with the spleen on ice. + +Splenocyte Isolation/Preparation: +--------------------------------- + +.. time:: + + 30 minutes + + +1. Place the spleen into a clean petri dish and using 2 razor blades, mince the spleen into a paste. +2. Once the spleen has been thoroughly minced, add 5-10 mL of DMEM + 10% FBS to the dish +3. Prime a 40 um strainer with 1 mL of DMEM + 10% FBS into a 50 mL conical tube +4. Pipette up the suspension and pass through the primed strainer into the tube. +5. Add additional DMEM + 10 % FBS to the dish to get up any remaining cell matter +6. Using a pestle or the plunger of a syringe, mash the cell matter through the strainer +7. Wash the strainer 2-3 times with 1 mL of DMEM + 10% FBS. + +.. note:: + + If liquid is not moving through the strainer, carefully lift up the mesh strainer and using a P1000 with a clean tip, pull the media through the strainer and dispense into the conical tube + +8. Discard the strainer and syringe +9. Centrifuge down the cell suspension at 1600 rpm for 5 minutes +10. Aspirate the supernatant +11. Resuspend the cell pellet in 2 mL of prewarmed RBC lysing solution + +.. note:: + + I use 2 mL of RBC lysing solution per spleen + +12. Incubate the cells at 37C for 2 minutes +13. Add 20-30 mL of PBS to the suspension and centrifuge at 1,600 rpm for 5 minutes +14. Aspirate off the supernatant and resuspend the cells in DMEM + 10% FBS + +.. note:: + + The cells will be very sticky here and hard to resuspend, but try to break up some of the clumps + +15. Prime another 70 um strainer and pass through the resuspended pellet. You will need to use a pestle here and wash the strainer at least 2-3 times. + +.. note:: + + There will likely be a gooey mass that will not make it through the strainer and that is fine. This is likely most of the lysed RBCs + +16. At this point you can either directly count the cells via a hemacytometer or centrifuge down the cells again and resuspend into a small volume to plate + +.. note:: + + Depending on the downstream processing steps the number of cells can differ greatly. I usually plate 1 spleen per 10 cm dish and then after 3-4 days, seed cells for my experiments. + + +.. note:: + + For culturing techniques and dissociation methods, take a look at the :doc:`methods ` under bone marrow isolation diff --git a/docs/tech/frequent_problems.rst b/docs/tech/frequent_problems.rst new file mode 100644 index 000000000..c4f7ea2eb --- /dev/null +++ b/docs/tech/frequent_problems.rst @@ -0,0 +1,54 @@ +Possible build/install errors +============================= + +Virtual environment install errors +---------------------------------- +When doing ``pip install -r requirements.txt``, you might (after a long time "collecting build dependencies") get an error +saying that it is unable to compile / build a wheel. What's happening here? + +There are two ways to distribute Python packages: + +- As source code, which requires a working compiler if there are any non-Python code + included (like C++ code). This is the same on all computers and operating systems. +- As a "binary wheel", e.g. a pre-compiled version of the package. Separate "wheels" + have to build for every combination of Python version, operating system, and computer architecture. + +Likely what happened is you are trying to install version-pinned packages that are **too old for your version of Python**. Because +the package developer has to make wheels for all Python versions, this means that old package versions will not have wheels for versions +of Python released after the package version. + +The solution is generally simple; just update those packages that are trying to install from source code. Newer packages are typically +backwards compatible to older versions of Python. + +E.g, if `pandas` is trying to install from source and failing, you can do: + +.. code-block:: console + + $ pip install -U pandas # update pandas + $ pip freeze > requirements.txt # re-freeze dependencies + +No PDF is generated when I push +------------------------------- + +If the PDF link is broken in the protocols page, then something broke the LaTeX build. + +There are two ways to fix this: + +1. Find someone with LaTeX locally installed (e.g. TeX Live). Have them run: + + .. code-block:: console + + $ python build.py --latex + + This should show you the LaTeX error. +2. Go to the build logs. You get to it by going to the `"Actions" tab `__ in the Github repo, + finding the latest "CI" run, and then scrolling through the logs to find the LaTeX error. + +My screenshots aren't visible +----------------------------- +Check that you don't have an uppercase ``.PNG`` either in the actual filename or wherever +you are loading the image. + +On Windows, filenames are case-insensitive, that is ``some_file.txt`` is "the same file" as ``sOmE_fiLe.TXT``. +This is not true on MacOS or Linux, which means if there is a mismatch between the filename case, +the website build (which runs on Linux) will fail. \ No newline at end of file diff --git a/docs/tech/index.rst b/docs/tech/index.rst index 7d9130d17..ced2e5202 100644 --- a/docs/tech/index.rst +++ b/docs/tech/index.rst @@ -8,8 +8,4 @@ Tech documentation * -See the :doc:`ci_builder_config` if you are interested in how the continuous build system works, or you'd like to fork this repository to make it your own. - -.. admonition:: TODO - - Add info about labbot, repo setup, git, a more detailed RST primer, etc. \ No newline at end of file +See the :doc:`ci_builder_config` if you are interested in how the continuous build system works, or you'd like to fork this repository to make it your own. \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index fa83f4d6b..8ab1eda92 100644 Binary files a/requirements.txt and b/requirements.txt differ