You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Because of what is described in #161 , previously when fp.position is equal to rp.position, this used to return an empty string for all values except when equal to zero (see below former behaviour of Dseqrecord.getitem).
Now, in a circular sequence if both indexes are equal, the whole linearised sequence is returned, which is not what you want in this case. This what happens with the following anneal below because of this
cacatacgatttaggtgacactatagaac
CACATCCGAACATAAACAACCCACATACGATTTAGGTGACACTATAGAAC
ggttgtttatgttcggatgtg
> What you would want: cacatacgatttaggtgacactatagaaccacatccgaacataaacaacc
> What you get: cacatacgatttaggtgacactatagaacCACATCCGAACATAAACAACCCACATACGATTTAGGTGACACTATAGAACcacatccgaacataaacaacc
To fix this, I have added an extra if statement in this case:
iffp.position==rp.position:
prd=_Dseqrecord(fp) +_Dseqrecord(rp).reverse_complement()
else:
# as before
The text was updated successfully, but these errors were encountered:
Hi @BjornFJohansson this is related to #191. Documenting it here just in case you can think of other places where similar things could happen.
In
Anneal.products
, this is the line that produces a new sequence based on where the primers annealBecause of what is described in #161 , previously when fp.position is equal to rp.position, this used to return an empty string for all values except when equal to zero (see below former behaviour of
Dseqrecord.getitem
).Now, in a circular sequence if both indexes are equal, the whole linearised sequence is returned, which is not what you want in this case. This what happens with the following anneal below because of this
To fix this, I have added an extra if statement in this case:
The text was updated successfully, but these errors were encountered: