@rnacanvas/draw 14.5.3 → 14.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +61 -0
- package/dist/Drawing.d.ts +11 -0
- package/dist/Drawing.d.ts.map +1 -1
- package/dist/TertiaryBondsDrawing.d.ts +15 -0
- package/dist/TertiaryBondsDrawing.d.ts.map +1 -0
- package/dist/index.js +1 -1
- package/package.json +3 -3
package/README.md
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Installation
|
|
2
|
+
|
|
3
|
+
With `npm`:
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
npm install @rnacanvas/draw
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
# Usage
|
|
10
|
+
|
|
11
|
+
All exports of this package can be accessed as named imports.
|
|
12
|
+
|
|
13
|
+
```javascript
|
|
14
|
+
// an example import
|
|
15
|
+
import { Drawing } from '@rnacanvas/draw';
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## `class Drawing`
|
|
19
|
+
|
|
20
|
+
A 2D nucleic acid structure drawing.
|
|
21
|
+
|
|
22
|
+
```javascript
|
|
23
|
+
var drawing = new Drawing();
|
|
24
|
+
|
|
25
|
+
// a drawing is just an SVG element
|
|
26
|
+
drawing.domNode instanceof SVGSVGElement; // true
|
|
27
|
+
|
|
28
|
+
// necessary for bounding box calculations to work
|
|
29
|
+
document.body.append(drawing.domNode);
|
|
30
|
+
|
|
31
|
+
var base1 = drawing.addBase('A');
|
|
32
|
+
var base2 = drawing.addBase('U');
|
|
33
|
+
|
|
34
|
+
base1.centerPoint.x = 0;
|
|
35
|
+
base1.centerPoint.y = 0;
|
|
36
|
+
|
|
37
|
+
base2.centerPoint.x = 20;
|
|
38
|
+
base2.centerPoint.y = 0;
|
|
39
|
+
|
|
40
|
+
var secondaryBond = drawing.addSecondaryBond(base1, base2);
|
|
41
|
+
|
|
42
|
+
// increase the size of the drawing to make everything visible
|
|
43
|
+
drawing.setPadding(100);
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### `addTertiaryBond()`
|
|
47
|
+
|
|
48
|
+
Creates a new tertiary bond (e.g., a curved bond)
|
|
49
|
+
between the two specified bases,
|
|
50
|
+
adds it to the drawing
|
|
51
|
+
and returns it.
|
|
52
|
+
|
|
53
|
+
```javascript
|
|
54
|
+
var base1 = drawing.addBase('G');
|
|
55
|
+
var base2 = drawing.addBase('C');
|
|
56
|
+
|
|
57
|
+
var tertiaryBond = drawing.addTertiaryBond(base1, base2);
|
|
58
|
+
|
|
59
|
+
tertiaryBond.base1 === base1; // true
|
|
60
|
+
tertiaryBond.base2 === base2; // true
|
|
61
|
+
```
|
package/dist/Drawing.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type { BaseOutline } from './BaseOutline';
|
|
|
4
4
|
import { StraightBond } from '@rnacanvas/draw.bases.bonds';
|
|
5
5
|
import { PrimaryBond } from './PrimaryBondsDrawing';
|
|
6
6
|
import { SecondaryBond } from './SecondaryBondsDrawing';
|
|
7
|
+
import type { TertiaryBond } from './TertiaryBondsDrawing';
|
|
7
8
|
import { Box } from '@rnacanvas/boxes';
|
|
8
9
|
/**
|
|
9
10
|
* The minimum and maximum X and Y coordinates of a drawing.
|
|
@@ -298,6 +299,11 @@ export declare class Drawing {
|
|
|
298
299
|
* Returns the newly added secondary bond.
|
|
299
300
|
*/
|
|
300
301
|
addSecondaryBond(base1: Nucleobase, base2: Nucleobase): SecondaryBond;
|
|
302
|
+
get tertiaryBonds(): Iterable<TertiaryBond>;
|
|
303
|
+
/**
|
|
304
|
+
* Creates a new tertiary bond between the two bases, adds it to the drawing and returns it.
|
|
305
|
+
*/
|
|
306
|
+
addTertiaryBond(base1: Nucleobase, base2: Nucleobase): TertiaryBond;
|
|
301
307
|
/**
|
|
302
308
|
* Rotates the bases by the given angle.
|
|
303
309
|
*
|
|
@@ -382,6 +388,11 @@ export declare class Drawing {
|
|
|
382
388
|
baseID1: string;
|
|
383
389
|
baseID2: string;
|
|
384
390
|
}[];
|
|
391
|
+
tertiaryBonds: {
|
|
392
|
+
id: string;
|
|
393
|
+
baseID1: string;
|
|
394
|
+
baseID2: string;
|
|
395
|
+
}[];
|
|
385
396
|
};
|
|
386
397
|
/**
|
|
387
398
|
* Recreates a saved drawing from its serialized form.
|
package/dist/Drawing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Drawing.d.ts","sourceRoot":"","sources":["../src/Drawing.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMnD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAMjD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAuB,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAyB,aAAa,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"Drawing.d.ts","sourceRoot":"","sources":["../src/Drawing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CurvedBond } from '@rnacanvas/draw.bases.bonds';
|
|
2
|
+
import type { Nucleobase } from '@rnacanvas/draw.bases';
|
|
3
|
+
export declare class TertiaryBondsDrawing {
|
|
4
|
+
#private;
|
|
5
|
+
readonly domNode: SVGSVGElement;
|
|
6
|
+
constructor(domNode: SVGSVGElement);
|
|
7
|
+
get tertiaryBonds(): CurvedBond[];
|
|
8
|
+
set tertiaryBonds(tertiaryBonds: CurvedBond[]);
|
|
9
|
+
/**
|
|
10
|
+
* Adds a tertiary bond between the two bases.
|
|
11
|
+
*/
|
|
12
|
+
addTertiaryBond(base1: Nucleobase, base2: Nucleobase): TertiaryBond;
|
|
13
|
+
}
|
|
14
|
+
export type TertiaryBond = CurvedBond;
|
|
15
|
+
//# sourceMappingURL=TertiaryBondsDrawing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TertiaryBondsDrawing.d.ts","sourceRoot":"","sources":["../src/TertiaryBondsDrawing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAIxD,qBAAa,oBAAoB;;IAMnB,QAAQ,CAAC,OAAO,EAAE,aAAa;gBAAtB,OAAO,EAAE,aAAa;IAI3C,IAAI,aAAa,iBAEhB;IAED,IAAI,aAAa,CAAC,aAAa,cAAA,EAE9B;IAED;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,YAAY;CASpE;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC"}
|