Skip to content

Instantly share code, notes, and snippets.

@BjornFJohansson
Created February 3, 2023 12:07
Show Gist options
  • Save BjornFJohansson/d334dc74cdc79b203acc8283f62327c4 to your computer and use it in GitHub Desktop.
Save BjornFJohansson/d334dc74cdc79b203acc8283f62327c4 to your computer and use it in GitHub Desktop.
rotate circular sequence
# Now, for an example with features, we’ll use a GenBank file.
# Suppose you have a circular genome:
from pydna.genbank import genbank
record = genbank("NC_005816.1")
print(record.seq[:30])
# TGTAACGAACGGTGCAATAGTGATCCACAC
assert len(record) == 9609
assert record.circular
assert record.description == 'Yersinia pestis biovar Microtus str. 91001 plasmid pPCP1, complete sequence'
assert record.dbxrefs==['BioProject:PRJNA224116', 'BioSample:SAMN02602970', 'Assembly:GCF_000007885.1']
assert len(record.features) == 19
shifted_record = record.shifted(2000)
assert len(shifted_record.features) == 19
print(shifted_record.seq[:30])
# GATACGCAGTCATATTTTTTACACAATTCT
assert sorted(ft.extract(record).seq for ft in record.features) == sorted(ft.extract(shifted_record).seq for ft in shifted_record.features)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment