diff --git a/environment.yml b/environment.yml index 526cd10..beb0796 100644 --- a/environment.yml +++ b/environment.yml @@ -3,4 +3,10 @@ name: scadnano-test channels: - defaults dependencies: - - xlwt=1.3.0=py37_0 \ No newline at end of file + - python=3.7 + - xlwt=1.3.0=py37_0 + - pip + - pip: + - sphinx + - sphinx_rtd_theme + - openpyxl \ No newline at end of file diff --git a/readthedocs.yml b/readthedocs.yml index f8afd40..93377a5 100644 --- a/readthedocs.yml +++ b/readthedocs.yml @@ -16,10 +16,14 @@ formats: all # Optionally set the version of Python and requirements required to build your docs python: - version: 3.7 install: - method: setuptools path: . conda: - environment: environment.yml \ No newline at end of file + environment: environment.yml + +build: + os: "ubuntu-22.04" + tools: + python: "mambaforge-22.9" \ No newline at end of file diff --git a/scadnano/scadnano.py b/scadnano/scadnano.py index db2c903..3b2c531 100644 --- a/scadnano/scadnano.py +++ b/scadnano/scadnano.py @@ -54,7 +54,7 @@ # needed to use forward annotations: https://docs.python.org/3/whatsnew/3.7.html#whatsnew37-pep563 from __future__ import annotations -__version__ = "0.19.2" # version line; WARNING: do not remove or change this line or comment +__version__ = "0.19.3" # version line; WARNING: do not remove or change this line or comment import collections import dataclasses @@ -3916,7 +3916,7 @@ def set_linear(self) -> None: """ self.set_circular(False) - def set_domains(self, domains: Iterable[Union[Domain, Loopout]]) -> None: + def set_domains(self, domains: Iterable[Union[Domain, Loopout, Extension]]) -> None: """ Sets the :any:`Domain`'s/:any:`Loopout`'s/:any:`Extension`'s of this :any:`Strand` to be `domains`, which can contain a mix of :any:`Domain`'s, :any:`Loopout`'s, and :any:`Extension`'s, @@ -7840,8 +7840,8 @@ def to_oxview_format(self, warn_duplicate_strand_names: bool = True, for d1, d2 in zip(d1range, d2range): if ((sc_strand1.dna_sequence is not None) and (sc_strand2.dna_sequence is not None) and - (sc_strand1.dna_sequence[d1] != "?") and - (sc_strand2.dna_sequence[d2] != "?") and + (sc_strand1.dna_sequence[d1] != DNA_base_wildcard) and + (sc_strand2.dna_sequence[d2] != DNA_base_wildcard) and (wc(sc_strand1.dna_sequence[d1]) != sc_strand2.dna_sequence[d2])): continue @@ -9141,8 +9141,7 @@ def _convert_design_to_oxdna_system(design: Design) -> _OxdnaSystem: elif isinstance(domain, Loopout): # we place the loopout nucleotides at temporary nonsense positions and orientations # these will be updated later, for now we just need the base - for _ in range(domain.length): - base = seq[i] + for base in seq: center = _OxdnaVector() normal = _OxdnaVector(0, -1, 0) forward = _OxdnaVector(0, 0, 1)