summaryrefslogtreecommitdiffstats
path: root/2021/talks/molecular.md
blob: f311e2b7cb394e0cff88a7512d5344f1c87df692 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
[[!meta title="Reproducible molecular graphics with Org-mode"]]
[[!meta copyright="Copyright © 2021 Blaine Mooers"]]
[[!inline pages="internal(2021/info/molecular-nav)" raw="yes"]]

<!-- You can manually edit this file to update the abstract, add links, etc. --->


# Reproducible molecular graphics with Org-mode
Blaine Mooers

[[!inline pages="internal(2021/info/molecular-schedule)" raw="yes"]]

Research papers in structural biology should include the code used to make 
the images of molecules in the article in the supplemental materials. 
Some structural bioinformaticists have started to include
their computer code in the supplemental materials to allow readers
to reproduce their analyses. However, authors of papers reporting new
molecular structures often overlook the inclusion of the code that makes 
the images of the molecules reported in their articles. Nonetheless, 
this aspect of reproducible research needs to become the standard practice 
to improve the rigor of the science.

In a literate programming document, the author interleaves blocks 
of explanatory prose between code blocks that make the images of molecules. 
The document allows the reader to reproduce the images in the manuscript by running the code. 
The reader can also explore the effect of altering the parameters in the 
code. Org files are one alternative for making such literate programming 
documents.

We developed a **yasnippet** snippet library called **orgpymolpysnips** for 
structural biologists (<https://github.com/MooersLab/orgpymolpysnips>). 
This library facilitates the assembly of literate programming documents
with molecular images made by PyMOL. PyMOL is the most popular
molecular graphics program for creating images for publication; it has
over 100,000 users, which is a lot of users in molecular biology. PyMOL 
has been used to make many of the images of biological molecules found 
on the covers of many Cell, Nature, and Science issues. 

We used the **jupyter** language in **org-babel** to send commands from 
code blocks in Org files to PyMOL's Python API. PyMOL returns the 
molecular image to the output block below the code block. An Emacs 
user can convert the Org file into a PDF, `tangle' the code blocks 
into a script file, and submit these for non-Emacs users. We describe 
the content of the library and provide examples of the running PyMOL 
from Org-mode documents. 


# Outline

-   5-10 minutes: (brief description/outline)
    -   Title slide
    -   Structural Biolog Workflow in the Mooers Lab
    -   Cover images made with PyMOL
    
    -   Why develop a snippet library for your field?
    -   PyMOL in Org: kernel specification
    -   Creating a conda env and installing PyMOL
    -   Example code block in Org to make DSSR block model of tRNA
    -   Resulting image
    -   Summary
    -   Acknowledgements

<!--
-   20 minutes: (brief description/outline)
    
    I would prefer to give a 20-minute talk because this allows time to develop the context.

-   Title slide
-   Structural Biology Workflow in the Mooers Lab
-   Cover images made with PyMOL
-   Bar graph of PyMOL's popularity
-   Origin story of PyMOL
-   PyMOL's hybrid open-source model
-   PyMOL's GIU
-   Default molecular representations in PyMOL
-   Example of the PyMOL macro language
-   Same commands in Python
-   Corresponding code in yasnippet snippet
-   Extension of molecular representations with orgpymolpysnips
-   Hermann Ebbinghaus's Forgetting Curve
-   Why develop a snippet library for your field?
-   PyMOL in Org: kernel specification
-   Anatomy of kernel file
-   Creating a conda env and installing PyMOL
-   Example code block to make DSSR block model of tRNA
-   Resulting image
-   Org vs. JuptyerNotebook, Juptyer Lab, and RStudio
-   Summary
-   Acknowledgements

-->

[[!inline pages="internal(2021/info/molecular-nav)" raw="yes"]]