RNApolis 0.4.8__py3-none-any.whl → 0.4.10__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: RNApolis
3
- Version: 0.4.8
3
+ Version: 0.4.10
4
4
  Summary: A Python library containing RNA-related bioinformatics functions and classes
5
5
  Home-page: https://github.com/tzok/rnapolis-py
6
6
  Author: Tomasz Zok
@@ -0,0 +1,17 @@
1
+ rnapolis/annotator.py,sha256=_hsSX2VHFvIQ47l_EA7lwGFXLiVLbhFPEsOQzBKbjRk,22100
2
+ rnapolis/clashfinder.py,sha256=i95kp0o6OWNqmJDBr-PbsZd7RY2iJtBDr7QqolJSuAQ,8513
3
+ rnapolis/common.py,sha256=LY6Uz96Br8ki_gA8LpfatgtvVbt9jOTkwgagayqTgf8,31251
4
+ rnapolis/metareader.py,sha256=I1-cXc2YNBPwa3zihAnMTjEsAo79tEKzSmWu5yvN1Pk,2071
5
+ rnapolis/molecule_filter.py,sha256=hB6-nXgjmw7FAsQ3bj0cZ2FvuW2I1PXunEfcdwEUB1o,7389
6
+ rnapolis/motif_extractor.py,sha256=Lfn1iEkhkP9eZD3GPEWNAfy00QO7QPCc8wM_XS1ory8,1147
7
+ rnapolis/parser.py,sha256=2pQYy0sh8TCpeluMmmSJ7C5dudK_bsfstTWCdpwwpNU,15193
8
+ rnapolis/rfam_folder.py,sha256=SjiiyML_T1__saruFwSMJEoQ7Y55GIU8ktS8ZUn5-fw,11111
9
+ rnapolis/tertiary.py,sha256=6t9ZB4w33-5n_M3sns1RoFXCOTgVAgGH4WDNG5OG9Kg,23426
10
+ rnapolis/transformer.py,sha256=V9nOQvdq4-p7yUWo0vQg0CDQMpmyxz9t4TMSRVEKHnw,1817
11
+ rnapolis/util.py,sha256=IdquFO3PV1_KDqodjupzm0Rqvgy0CeSzxGHaGEHYXVU,543
12
+ RNApolis-0.4.10.dist-info/LICENSE,sha256=ZGRu12MzCgbYA-Lt8MyBlmjvPZh7xfiD5u5wBx0enq4,1066
13
+ RNApolis-0.4.10.dist-info/METADATA,sha256=AiTwfWTRaaJ_Zd_E1UIYMu54Hi0vu9WN8dYA67x3SLk,54323
14
+ RNApolis-0.4.10.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
15
+ RNApolis-0.4.10.dist-info/entry_points.txt,sha256=foN2Pn5e-OzEz0fFmNoX6PnFSZFQntOlY8LbognP5F0,308
16
+ RNApolis-0.4.10.dist-info/top_level.txt,sha256=LcO18koxZcWoJ21KDRRRo_tyIbmXL5z61dPitZpy8yc,9
17
+ RNApolis-0.4.10.dist-info/RECORD,,
rnapolis/annotator.py CHANGED
@@ -9,6 +9,7 @@ from typing import Dict, List, Optional, Set, Tuple
9
9
 
10
10
  import numpy
11
11
  import numpy.typing
12
+ import orjson
12
13
  from ordered_set import OrderedSet
13
14
  from rnapolis.common import (
14
15
  BR,
rnapolis/common.py CHANGED
@@ -940,6 +940,27 @@ class BpSeq:
940
940
  solutions.add(self.__make_dot_bracket(regions, orders))
941
941
  return list(solutions)
942
942
 
943
+ def without_pseudoknots(self):
944
+ return BpSeq.from_dotbracket(self.dot_bracket.without_pseudoknots())
945
+
946
+ def without_isolated(self):
947
+ stems, _, _, _ = self.elements
948
+ to_unpair = []
949
+
950
+ for stem in stems:
951
+ if stem.strand5p.first == stem.strand5p.last:
952
+ to_unpair.append(stem.strand5p.first - 1)
953
+ to_unpair.append(stem.strand3p.first - 1)
954
+
955
+ if not to_unpair:
956
+ return self
957
+
958
+ entries = self.entries.copy()
959
+ for i in to_unpair:
960
+ entries[i].pair = 0
961
+
962
+ return BpSeq(entries)
963
+
943
964
 
944
965
  @dataclass
945
966
  class DotBracket:
@@ -990,6 +1011,10 @@ class DotBracket:
990
1011
  def __hash__(self) -> int:
991
1012
  return hash((self.sequence, self.structure))
992
1013
 
1014
+ def without_pseudoknots(self):
1015
+ structure = re.sub(r"[\[\]\{\}\<\>A-Za-z]", ".", self.structure)
1016
+ return DotBracket(self.sequence, structure)
1017
+
993
1018
 
994
1019
  @dataclass
995
1020
  class MultiStrandDotBracket(DotBracket):
@@ -9,6 +9,12 @@ def main():
9
9
  parser = argparse.ArgumentParser()
10
10
  parser.add_argument("--dbn", help="path to DotBracket file")
11
11
  parser.add_argument("--bpseq", help="path to BpSeq file")
12
+ parser.add_argument(
13
+ "--remove-pseudoknots", action="store_true", help="remove pseudoknots"
14
+ )
15
+ parser.add_argument(
16
+ "--remove-isolated", action="store_true", help="remove isolated base pairs"
17
+ )
12
18
  args = parser.parse_args()
13
19
 
14
20
  if args.dbn:
@@ -19,6 +25,12 @@ def main():
19
25
  parser.print_help()
20
26
  return
21
27
 
28
+ if args.remove_isolated:
29
+ bpseq = bpseq.without_isolated()
30
+
31
+ if args.remove_pseudoknots:
32
+ bpseq = bpseq.without_pseudoknots()
33
+
22
34
  print(f"Full dot-bracket:\n{bpseq.dot_bracket}")
23
35
  stems, single_strands, hairpins, loops = bpseq.elements
24
36
 
@@ -1,17 +0,0 @@
1
- rnapolis/annotator.py,sha256=7U3f0gchKdIGc6FwJx0UAc_95HJI5SgECj-b7-1yBhc,22086
2
- rnapolis/clashfinder.py,sha256=i95kp0o6OWNqmJDBr-PbsZd7RY2iJtBDr7QqolJSuAQ,8513
3
- rnapolis/common.py,sha256=7KSWZzqR7ntpaS6VRDYgpP2pC1dnBttOzYB06hQzWEI,30499
4
- rnapolis/metareader.py,sha256=I1-cXc2YNBPwa3zihAnMTjEsAo79tEKzSmWu5yvN1Pk,2071
5
- rnapolis/molecule_filter.py,sha256=hB6-nXgjmw7FAsQ3bj0cZ2FvuW2I1PXunEfcdwEUB1o,7389
6
- rnapolis/motif_extractor.py,sha256=duHvpi9Ulcny9K60E6VBpz5RpJZw-KdTB4_Ph0iP478,774
7
- rnapolis/parser.py,sha256=2pQYy0sh8TCpeluMmmSJ7C5dudK_bsfstTWCdpwwpNU,15193
8
- rnapolis/rfam_folder.py,sha256=SjiiyML_T1__saruFwSMJEoQ7Y55GIU8ktS8ZUn5-fw,11111
9
- rnapolis/tertiary.py,sha256=6t9ZB4w33-5n_M3sns1RoFXCOTgVAgGH4WDNG5OG9Kg,23426
10
- rnapolis/transformer.py,sha256=V9nOQvdq4-p7yUWo0vQg0CDQMpmyxz9t4TMSRVEKHnw,1817
11
- rnapolis/util.py,sha256=IdquFO3PV1_KDqodjupzm0Rqvgy0CeSzxGHaGEHYXVU,543
12
- RNApolis-0.4.8.dist-info/LICENSE,sha256=ZGRu12MzCgbYA-Lt8MyBlmjvPZh7xfiD5u5wBx0enq4,1066
13
- RNApolis-0.4.8.dist-info/METADATA,sha256=FZsizaaGYKRz7ndlAySWt8mPfpjjHUoP-OzXaO3LBv8,54322
14
- RNApolis-0.4.8.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
15
- RNApolis-0.4.8.dist-info/entry_points.txt,sha256=foN2Pn5e-OzEz0fFmNoX6PnFSZFQntOlY8LbognP5F0,308
16
- RNApolis-0.4.8.dist-info/top_level.txt,sha256=LcO18koxZcWoJ21KDRRRo_tyIbmXL5z61dPitZpy8yc,9
17
- RNApolis-0.4.8.dist-info/RECORD,,