RNApolis 0.4.2__py3-none-any.whl → 0.4.3__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.2
3
+ Version: 0.4.3
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
@@ -6,12 +6,12 @@ rnapolis/molecule_filter.py,sha256=hB6-nXgjmw7FAsQ3bj0cZ2FvuW2I1PXunEfcdwEUB1o,7
6
6
  rnapolis/motif_extractor.py,sha256=duHvpi9Ulcny9K60E6VBpz5RpJZw-KdTB4_Ph0iP478,774
7
7
  rnapolis/parser.py,sha256=wCA9rXqt51iLECgeBqOShFpuT8JwanNkHYD5uXYvLzU,13988
8
8
  rnapolis/rfam_folder.py,sha256=SjiiyML_T1__saruFwSMJEoQ7Y55GIU8ktS8ZUn5-fw,11111
9
- rnapolis/tertiary.py,sha256=ya7A2HyhPZSbA4rC8E43-mRIhR73-AeBuLE2GRpOTxk,20347
9
+ rnapolis/tertiary.py,sha256=kysCb3U93Cpxxsfq5uwFxvcI_biwMiRJgWsNZxrXcaA,20501
10
10
  rnapolis/transformer.py,sha256=V9nOQvdq4-p7yUWo0vQg0CDQMpmyxz9t4TMSRVEKHnw,1817
11
11
  rnapolis/util.py,sha256=IdquFO3PV1_KDqodjupzm0Rqvgy0CeSzxGHaGEHYXVU,543
12
- RNApolis-0.4.2.dist-info/LICENSE,sha256=ZGRu12MzCgbYA-Lt8MyBlmjvPZh7xfiD5u5wBx0enq4,1066
13
- RNApolis-0.4.2.dist-info/METADATA,sha256=1rZv7syiOsppxC9PAy0kYmgBXABKCX4gWZaqdtpbvis,54322
14
- RNApolis-0.4.2.dist-info/WHEEL,sha256=HiCZjzuy6Dw0hdX5R3LCFPDmFS4BWl8H-8W39XfmgX4,91
15
- RNApolis-0.4.2.dist-info/entry_points.txt,sha256=foN2Pn5e-OzEz0fFmNoX6PnFSZFQntOlY8LbognP5F0,308
16
- RNApolis-0.4.2.dist-info/top_level.txt,sha256=LcO18koxZcWoJ21KDRRRo_tyIbmXL5z61dPitZpy8yc,9
17
- RNApolis-0.4.2.dist-info/RECORD,,
12
+ RNApolis-0.4.3.dist-info/LICENSE,sha256=ZGRu12MzCgbYA-Lt8MyBlmjvPZh7xfiD5u5wBx0enq4,1066
13
+ RNApolis-0.4.3.dist-info/METADATA,sha256=24AO4oRKx840RqJLNOF_SrT4xHNtu26s0Nx3URw0NZI,54322
14
+ RNApolis-0.4.3.dist-info/WHEEL,sha256=HiCZjzuy6Dw0hdX5R3LCFPDmFS4BWl8H-8W39XfmgX4,91
15
+ RNApolis-0.4.3.dist-info/entry_points.txt,sha256=foN2Pn5e-OzEz0fFmNoX6PnFSZFQntOlY8LbognP5F0,308
16
+ RNApolis-0.4.3.dist-info/top_level.txt,sha256=LcO18koxZcWoJ21KDRRRo_tyIbmXL5z61dPitZpy8yc,9
17
+ RNApolis-0.4.3.dist-info/RECORD,,
rnapolis/tertiary.py CHANGED
@@ -497,24 +497,27 @@ class Mapping2D3D:
497
497
 
498
498
  @cached_property
499
499
  def strands_sequences(self) -> List[Tuple[str, str]]:
500
- result = defaultdict(list)
500
+ nucleotides = list(filter(lambda r: r.is_nucleotide, self.structure3d.residues))
501
501
 
502
- for i, residue in enumerate(
503
- filter(lambda r: r.is_nucleotide, self.structure3d.residues)
504
- ):
505
- if i > 0 and self.find_gaps:
506
- previous = self.structure3d.residues[i - 1]
502
+ if not nucleotides:
503
+ return []
507
504
 
508
- if (
509
- not previous.is_connected(residue)
510
- and previous.chain == residue.chain
511
- ):
512
- for k in range(residue.number - previous.number - 1):
513
- result[residue.chain].append("?")
505
+ result = [(nucleotides[0].chain, [nucleotides[0].one_letter_name])]
506
+
507
+ for i in range(1, len(nucleotides)):
508
+ previous = nucleotides[i - 1]
509
+ residue = nucleotides[i]
514
510
 
515
- result[residue.chain].append(residue.one_letter_name)
511
+ if residue.chain != previous.chain:
512
+ result.append((residue.chain, [residue.one_letter_name]))
513
+ else:
514
+ if self.find_gaps:
515
+ if not previous.is_connected(residue):
516
+ for k in range(residue.number - previous.number - 1):
517
+ result[-1][1].append("?")
518
+ result[-1][1].append(residue.one_letter_name)
516
519
 
517
- return [(chain, "".join(sequence)) for chain, sequence in result.items()]
520
+ return [(chain, "".join(sequence)) for chain, sequence in result]
518
521
 
519
522
  @cached_property
520
523
  def bpseq(self) -> BpSeq: