{"id":22901346,"url":"https://github.com/mooerslab/cctbxsnips-atom","last_synced_at":"2026-04-29T18:31:59.330Z","repository":{"id":165234110,"uuid":"593201959","full_name":"MooersLab/cctbxsnips-Atom","owner":"MooersLab","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-13T09:53:45.000Z","size":61,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-01T05:42:06.227Z","etag":null,"topics":["atom","cctbx-snippets","cctbx-snips","code-snippets","code-snippets-python","colab","colab-notebooks","colab-snippets","ghosttext","jupyter","jupyter-notebook","python","snippets"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MooersLab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-25T13:30:12.000Z","updated_at":"2023-01-31T08:29:09.000Z","dependencies_parsed_at":"2024-04-13T10:49:02.486Z","dependency_job_id":null,"html_url":"https://github.com/MooersLab/cctbxsnips-Atom","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MooersLab/cctbxsnips-Atom","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MooersLab%2Fcctbxsnips-Atom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MooersLab%2Fcctbxsnips-Atom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MooersLab%2Fcctbxsnips-Atom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MooersLab%2Fcctbxsnips-Atom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MooersLab","download_url":"https://codeload.github.com/MooersLab/cctbxsnips-Atom/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MooersLab%2Fcctbxsnips-Atom/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32439171,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T18:12:22.909Z","status":"ssl_error","status_checked_at":"2026-04-29T18:11:33.322Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["atom","cctbx-snippets","cctbx-snips","code-snippets","code-snippets-python","colab","colab-notebooks","colab-snippets","ghosttext","jupyter","jupyter-notebook","python","snippets"],"created_at":"2024-12-14T01:33:01.994Z","updated_at":"2026-04-29T18:31:59.312Z","avatar_url":"https://github.com/MooersLab.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# cctbxsnips for the Atom (and Pulsar) text editors\n\n![Version](https://img.shields.io/static/v1?label=cctbxsnips-Atoma\u0026message=0.2\u0026color=brightcolor)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n\n\n\n## Atom\nThis text editor is favored by many, but its development has been halted.\nIt has been replaced by [Pulsar](https://pulsar-edit.dev/).\nNonetheless, some diehards will continue to use Atom for many years.\nPulsar uses the same format for the snippets.\nThey are stored in  `~/.pulsar/snippets.cson`\n\n\n## CCTBX\n\n[CCTBX](https://github.com/cctbx/cctbx_project) is the Computational Crystallography Toolbox. \nIts development is based at Lawrence-Berkeley National Laboratory.\nIt provides code for computations with diffraction data and atomic coordinates of proteins and small molecules.\nIt has C++ and Python ports.\nIt is available in Anaconda in the conda-forge channel as `cctbx-base` for python3.8 through 3.11 for Windows, macOS, and Linux.\n\n### Blaine's cctbx install protocol\n\nI assume that Anaconda has already been installed. \nWe will create a conda env specifically for CCTBX. \nCCTBX has numerous dependencies. I\nt is best kept in an isolated environment. \nWe also make the corresponding Jupyter Notebook kernel while we are at it. \n\nExecute one line at a time: Wait for the execution to finish before executing the following line.\n\n```bash\nconda create --name cctbx39 python=3.9\nconda activate cctbx39\nconda install -c conda-forge cctbx-base -y\nconda install ipykernel -y\npython -m ipykernel install --user --name cctbx39 --display-name \"cctbx python3.9\"\n```\n\nThe second to last command triggers the installation of Jupyter in the cctbx39 env.\nThe last command creates and installs the Jupyter kernel in `~/Library/Jupyter/kernels/cctbx39` on the Mac.\nSelect **cctbx python3.9** from the list of kernels when opening a new notebook in Jupyter.\n\nReplace the *3.9* or *39* above with whatever version of Python you want to use (between 3.8 and 3.11).\n\n\n## The problems that this repo addresses\n\n1. ** Facilitation of code reuse **. Code snippets can save time by reusing existing code. The presence of tab stops in code snippets can help ensure that all parameters that need customization to a new problem are considered. Thus, tab stops can reduce subsequent debugging.\n\n2. **Use Atom to edit Jupyter and Colab code and markdown cells** The existing snippet formats for Jupyter and Colab notebooks do not support tab triggers and tab stops, which are standard features of code snippet systems in most text editors.\nWe can overcome these limitations by sending the active code cell to Atom via the browser's GhostText extension.\n\n\n## Installation of the snippets\n\n**1. Install the snippets for Atom.**\n\nYou will need the **snippets** package to use the cctbx snippets in Atom. \nThe package installer is very intuitive. \nGo to Packages → Settings View → Install packages/themes. Search for **snippets** and click the install button. It may already be installed, but you must ensure the **snippets** package is enabled (green bar along the button). \n\nThe snippets for all programming languages are stored in a single CoffeeScript file that is called **snippets.cson**. The snippets for different languages are separated by the first line of a snippet library for a specific language. This line contains a specification of the scope--the kinds of script files to which a set of snippets applies. The **snippets.cson** file is stored in a hidden folder on your home directory called `~.atom/snippets.cson`.\nYou can concatenate the file of cctbx snippets for Atom to your existing snippets.cson file.\nTo do this, Mac users enter: `cp -a ~/cctbxsnips-Atom/cctbxsnippets.cson ~/.atom/snippets.cson`. \n\n**2. Optional setup to edit live Jupyter and Colab cells.** \n\nIf you want to use these snippets from Atom to edit live cells in Jupyter or Colab notebooks, install [GhostText browser extension](https://ghosttext.fregante.com/) in your browser and the [GhostText package for Atom](https://github.com/GhostText/GhostText-for-Atom). \nThe GhostText package for Atom can be installed with Atom's command-line package manager (apm) by running the following command in your terminal:  `apm i GhostText/GhostText-for-Atom`\n\n## Related repositories\n- [cctbxsnips-Emacs](https://github.com/MooersLab/cctbxsnips-Emacs) CCTBX snippets for the yasnippet snippet system in for Emacs.\n- [cctbxsnips-SublimeText3](https://github.com/MooersLab/cctbxsnips-SublimeText3) CCTBX snippets for Sublime Text 3 (ST3).\n- [cctbxsnips-VSC](https://github.com/MooersLab/cctbxsnips-VSC) CCTBX snippets for Visual Studio Code (VSC).\n- [cctbxsnips-UltiSnips](https://github.com/MooersLab/cctbxsnips-Ultisnips) CCTBX snippets for Vim or NeoVim via UltiSnips plugin.\n- [cctbxsnips-neosnippets](https://github.com/MooersLab/cctbxsnips-neosnippets) CCTBX snippets for Vim or NeoVim via neosnippets plugin.\n- [cctbxsnips-Snipmate](https://github.com/MooersLab/cctbxsnips-snipmate) CCTBX snippets for Vim or NeoVim via snipmate plugin.\n- [Jupyterlab cctbx snippets](https://github.com/MooersLab/jupyterlabcctbxsnips) CCTBX snippets for JupyterLab with the jupyterlab-snippets extension or the jupyterlab-snippets-mutlimenus extension.\n- [Jupyterlab cctbx plus snippets](https://github.com/MooersLab/jupyterlabcctbxsnipsplus) The variant of the jupyterlabcctbxsnips library with comments to guide editing of the snippets.\n- [Colab cctbx snippets](https://github.com/MooersLab/colabcctbxsnips) Colab snippets.\n\n## Update History\n\n|Version      | Changes                                                                                                                                    | Date                 |\n|:-----------:|:------------------------------------------------------------------------------------------------------------------------------------------:|:--------------------:|\n| Version 0.2 |  Added badges and update table                                                                                                             | 2024 April 13        |\n\n\n## Sources of funding\n\n- NIH: R01 CA242845\n- NIH: R01 AI088011\n- NIH: P30 CA225520 (PI: R. Mannel)\n- NIH P20GM103640 and P30GM145423 (PI: A. West)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmooerslab%2Fcctbxsnips-atom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmooerslab%2Fcctbxsnips-atom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmooerslab%2Fcctbxsnips-atom/lists"}