8000 Refactor path handling to use pathlib in generate_model_info.py by AntonPetrov · Pull Request #191 · r2dt-bio/R2DT · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Refactor path handling to use pathlib in generate_model_info.py #191

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 17 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 10 additions & 7 deletions Readme.md
10000
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

**Version 2.1 (2025)**

**[See the R2DT documentation](https://r2dt.readthedocs.io/)** or read the [latest preprint](https://www.biorxiv.org/content/10.1101/2024.09.29.611006v1).
🚀 **[Read the R2DT documentation](https://r2dt.readthedocs.io/)** | 📄 [Latest paper](https://academic.oup.com/nar/article/53/4/gkaf032/8005627).

The [R2DT software](https://github.com/r2dt-bio/R2DT) automatically generates [RNA secondary structure](https://en.wikipedia.org/wiki/Nucleic_acid_secondary_structure) diagrams in consistent, reproducible and recongnisable layouts using a library of templates representing a wide range of RNAs.
[R2DT](https://r2dt.bio/) automatically generates [RNA secondary structure](https://en.wikipedia.org/wiki/Nucleic_acid_secondary_structure) diagrams in **consistent, reproducible and recongnisable layouts** using a library of templates representing a wide range of RNAs.

## Examples

Expand All @@ -14,17 +14,20 @@ The following example visualisations show LSU, SSU, and 5S rRNA, four tRNAs, two

## Getting started

R2DT can be used in a number of ways:
R2DT can be used in multiple ways:

* [Web application](https://rnacentral.org/r2dt) hosted by RNAcentral
* Web application at [r2dt.bio](https://r2dt.bio) or in [RNAcentral](https://rnacentral.org/r2dt)
* [API](https://www.ebi.ac.uk/Tools/common/tools/help/index.html?tool=r2dt) powered by EMBL-EBI Web Services
* As a command line tool with [Docker](https://www.docker.com), [Singularity](https://sylabs.io/docs/#singularity), or in a bare metal installation

You can also [![open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/RNAcentral/R2DT)
[![open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/RNAcentral/R2DT)

## Citation
## 📄 Citation

If you use R2DT in your work, please consider citing the following paper:
If you use R2DT in your work, please cite one of the following papers:

> **R2DT: a comprehensive platform for visualizing RNA secondary structure**
> [Nucleic Acids Research](https://academic.oup.com/nar/article/53/4/gkaf032/8005627)

> **R2DT is a framework for predicting and visualising RNA secondary structure using templates**
> [Nature Communications](https://www.nature.com/articles/s41467-021-23555-5)
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information

project = "R2DT"
copyright = "2023"
copyright = "2025"
author = "R2DT Team"

# -- General configuration ---------------------------------------------------
Expand Down
4 changes: 4 additions & 0 deletions docs/editors.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,10 @@ Watch RNAcanvas editing R2DT output in action:

<a href="https://ldwlab.github.io/XRNA-React/?source_url=https://raw.githubusercontent.com/RNAcentral/R2DT/develop/docs/files/URS000044DFF6.json" target="_blank" class="btn btn-primary btn-lg">Edit an example structure in xRNA React</a>

:::{tip}
Explore [User Manual](xrna-react-user-guide.md) to watch video tutorials and see it in action.
:::

### Constraint modes

Within a given mode, all nucleotides in a group are automatically selected, upon left-clicking a mouse over a particular nucleotide within the desired region of the RNA scene. Nucleotide positions can further be transformed (edited) according to certain rules specific to a given mode. For example, the position of a single nucleotide can be adjusted in x and y directions; positions of nucleotides in a selected single-stranded region can be adjusted to an equally spaced straight line, or an arch of a given radius; positions of a single base pair can be adjusted in x or y directions, as well as their rotational orientation can also be specified. All selected objects are transformed as rigid bodies, respecing the existing base pairing topology.
Expand Down
1 change: 1 addition & 0 deletions docs/files/5S_E_coli.json

Large diffs are not rendered by default.

127 changes: 127 additions & 0 deletions docs/files/5S_E_coli.xrna
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
<ComplexDocument Name="Unknown"><SceneNodeGeom CenterX="0" CenterY="0" Scale="1"/><Complex Name="complex"><RNAMolecule Name="molecule"><NucListData StartNucID="0" DataType="NucChar.NucID.XPos.YPos">5' 0 41.00 -7.89
U 1 41.29 -15.89
G 2 41.29 -23.90
C 3 41.29 -31.91
C 4 41.29 -39.91
U 5 41.29 -47.92
G 6 41.29 -55.93
G 7 41.29 -63.94
C 8 41.29 -71.94
G 9 42.84 -79.95
G 10 41.29 -87.96
C 11 46.53 -91.70
C 12 52.89 -95.12
G 13 56.92 -100.79
U 14 59.28 -107.33
A 15 59.81 -114.26
G 16 58.50 -120.80
C 17 66.51 -120.80
G 18 74.50 -119.26
C 19 82.51 -120.80
G 20 90.52 -120.80
G 21 98.52 -120.80
U 22 106.53 -119.26
G 23 114.54 -120.80
G 24 116.10 -112.69
U 25 122.70 -107.19
C 26 131.30 -107.19
C 27 137.90 -112.59
C 28 139.50 -120.80
A 29 147.51 -120.80
C 30 155.52 -120.80
C 31 164.50 -120.75
U 32 172.51 -120.75
G 33 180.52 -120.75
A 34 188.52 -120.75
C 35 193.70 -114.39
C 36 201.00 -110.09
C 37 209.50 -108.79
C 38 217.80 -110.79
A 39 224.70 -115.59
U 40 229.30 -122.89
G 41 230.90 -131.19
C 42 229.30 -139.59
C 43 224.60 -146.59
G 44 217.70 -151.59
A 45 209.40 -153.49
A 46 201.00 -152.19
C 47 193.60 -147.79
U 48 188.52 -141.33
C 49 180.52 -141.33
A 50 172.51 -141.33
G 51 164.50 -141.33
A 52 164.00 -149.09
A 53 156.00 -149.09
G 54 155.52 -141.38
U 55 147.51 -141.38
G 56 139.50 -141.38
A 57 135.00 -147.78
A 58 127.07 -150.31
A 59 119.13 -147.84
C 60 114.54 -141.38
G 61 106.53 -142.93
C 62 98.52 -141.38
C 63 90.52 -141.38
G 64 82.51 -141.38
U 65 74.50 -142.93
A 66 70.50 -148.09
G 67 66.51 -141.38
C 68 58.50 -141.38
G 69 49.73 -142.00
C 70 41.29 -146.09
C 71 41.29 -154.10
G 72 40.99 -162.09
A 73 41.29 -170.09
U 74 42.84 -178.10
G 75 40.99 -186.09
G 76 40.99 -194.09
U 77 48.06 -201.16
A 78 48.02 -211.11
G 79 41.25 -218.09
U 80 42.80 -226.10
G 81 42.80 -234.11
U 82 41.25 -242.11
G 83 41.25 -250.12
G 84 41.25 -258.13
G 85 41.25 -266.14
G 86 41.25 -274.14
U 87 38.88 -282.56
C 88 30.91 -286.30
U 89 23.08 -282.61
C 90 20.67 -274.14
C 91 20.67 -266.14
C 92 20.67 -258.13
C 93 20.67 -250.12
A 94 20.67 -242.11
U 95 19.12 -234.11
G 96 19.12 -226.10
C 97 20.67 -218.09
G 98 15.10 -210.71
A 99 15.11 -201.41
G 100 21.01 -194.09
A 101 21.01 -186.09
G 102 19.16 -178.10
U 103 20.71 -170.09
A 104 21.01 -162.09
G 105 20.71 -154.10
G 106 20.71 -146.09
G 107 5.73 -134.84
A 108 0.00 -116.91
A 109 7.96 -100.01
C 110 20.71 -87.96
U 111 19.16 -79.95
G 112 20.71 -71.94
C 113 20.71 -63.94
C 114 20.71 -55.93
A 115 20.71 -47.92
G 116 20.71 -39.91
G 117 20.71 -31.91
C 118 20.71 -23.90
A 119 20.71 -15.89
U 120 21.00 -7.89
3' 121 22.31 0.00</NucListData><Nuc RefIDs="0-121" Color="0" FontID="0" FontSize="8"/><Nuc RefID="0" Color="8000" FontID="2" FontSize="8.334300px"/><Nuc RefID="1" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="2" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="3" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="4" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="5" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="6" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="7" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="8" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="9" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="10" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="10"><LabelList>l 4.29 2.57 11.09 6.64 0.52 CCCCCC 0.0 0 0 0 0
s 16.09 9.64 0.0 8.334300px 2 0 "10"</LabelList></Nuc><Nuc RefID="11" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="12" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="13" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="14" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="15" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="16" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="17" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="18" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="19" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="20" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="20"><LabelList>l 0.00 5.00 0.00 14.59 0.52 CCCCCC 0.0 0 0 0 0
s 0.00 18.75 0.0 8.334300px 2 0 "20"</LabelList></Nuc><Nuc RefID="21" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="22" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="23" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="24" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="25" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="26" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="27" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="28" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="29" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="30" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="30"><LabelList>l 0.00 5.00 -0.00 14.59 0.52 CCCCCC 0.0 0 0 0 0
s 0.00 18.75 0.0 8.334300px 2 0 "30"</LabelList></Nuc><Nuc RefID="31" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="32" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="33" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="34" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="35" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="36" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="37" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="38" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="39" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="40" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="41" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="42" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="43" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="44" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="45" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="46" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="47" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="48" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="49" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="50" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="50"><LabelList>l 0.00 -5.00 0.00 -14.59 0.52 CCCCCC 0.0 0 0 0 0
s 0.00 -18.75 0.0 8.334300px 2 0 "50"</LabelList></Nuc><Nuc RefID="51" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="52" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="53" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="54" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="55" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="56" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="57" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="58" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="59" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="60" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="61" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="62" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="63" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="64" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="65" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="66" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="67" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="68" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="69" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="70" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="71" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="72" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="73" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="74" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="75" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="76" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="77" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="78" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="79" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="80" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="81" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="82" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="83" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="84" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="85" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="86" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="87" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="88" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="89" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="90" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="91" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="92" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="93" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="94" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="95" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="96" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="97" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="98" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="99" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="100" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="100"><LabelList>l -4.67 1.80 -10.00 3.85 0.52 CCCCCC 0.0 0 0 0 0
s -17.50 6.74 0.0 8.334300px 2 0 "100"</LabelList></Nuc><Nuc RefID="101" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="102" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="103" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="104" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="105" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="106" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="107" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="108" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="109" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="110" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="111" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="112" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="113" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="114" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="115" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="116" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="117" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="118" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="119" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="120" Color="0" FontID="2" FontSize="8.334300px"/><Nuc RefID="121" Color="8000" FontID="2" FontSize="8.334300px"/><BasePairs nucID="1" length="1" bpNucID="119" bpName="molecule"/><BasePairs nucID="2" length="1" bpNucID="118" bpName="molecule"/><BasePairs nucID="3" length="1" bpNucID="117" bpName="molecule"/><BasePairs nucID="4" length="1" bpNucID="116" bpName="molecule"/><BasePairs nucID="5" length="1" bpNucID="115" bpName="molecule"/><BasePairs nucID="6" length="1" bpNucID="114" bpName="molecule"/><BasePairs nucID="7" length="1" bpNucID="113" bpName="molecule"/><BasePairs nucID="8" length="1" bpNucID="112" bpName="molecule"/><BasePairs nucID="9" length="1" bpNucID="111" bpName="molecule"/><BasePairs nucID="10" length="1" bpNucID="110" bpName="molecule"/><BasePairs nucID="18" length="1" bpNucID="65" bpName="molecule"/><BasePairs nucID="19" length="1" bpNucID="64" bpName="molecule"/><BasePairs nucID="20" length="1" bpNucID="63" bpName="molecule"/><BasePairs nucID="21" length="1" bpNucID="62" bpName="molecule"/><BasePairs nucID="22" length="1" bpNucID="61" bpName="molecule"/><BasePairs nucID="23" length="1" bpNucID="60" bpName="molecule"/><BasePairs nucID="28" length="1" bpNucID="56" bpName="molecule"/><BasePairs nucID="29" length="1" bpNucID="55" bpName="molecule"/><BasePairs nucID="30" length="1" bpNucID="54" bpName="molecule"/><BasePairs nucID="31" length="1" bpNucID="51" bpName="molecule"/><BasePairs nucID="32" length="1" bpNucID="50" bpName="molecule"/><BasePairs nucID="33" length="1" bpNucID="49" bpName="molecule"/><BasePairs nucID="34" length="1" bpNucID="48" bpName="molecule"/><BasePairs nucID="70" length="1" bpNucID="106" bpName="molecule"/><BasePairs nucID="71" length="1" bpNucID="105" bpName="molecule"/><BasePairs nucID="73" length="1" bpNucID="103" bpName="molecule"/><BasePairs nucID="74" length="1" bpNucID="102" bpName="molecule"/><BasePairs nucID="79" length="1" bpNucID="97" bpName="molecule"/><BasePairs nucID="80" length="1" bpNucID="96" bpName="molecule"/><BasePairs nucID="81" length="1" bpNucID="95" bpName="molecule"/><BasePairs nucID="82" length="1" bpNucID="94" bpName="molecule"/><BasePairs nucID="83" length="1" bpNucID="93" bpName="molecule"/><BasePairs nucID="84" length="1" bpNucID="92" bpName="molecule"/><BasePairs nucID="85" length="1" bpNucID="91" bpName="molecule"/><BasePairs nucID="86" length="1" bpNucID="90" bpName="molecule"/></RNAMolecule></Complex></ComplexDocument>
Binary file added docs/images/r2dt-nar.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
0