Skip to content

Instantly share code, notes, and snippets.

@rodoyle
Created March 11, 2017 14:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rodoyle/77fb1f9f8bc01b04c449f9c2ee2c5e4f to your computer and use it in GitHub Desktop.
Save rodoyle/77fb1f9f8bc01b04c449f9c2ee2c5e4f to your computer and use it in GitHub Desktop.
1928z-Knock-In
#!/usr/bin/python
import sys
#DNA PARTS
LITR = 'CCTGCAGGCAGCTGCGCGCTCGCTCGCTCACTGAGGCCGCCCGGGCAAAGCCCGGGCGTCGGGCGACCTTTGGTCGCCCGGCCTCAGTGAGCGAGCGAGCGCGCAGAGAGGGAGTGGCCAACTCCATCACTAGGGGTTCCT'
RITR = 'AGGAACCCCTAGTGATGGAGTTGGCCACTCCCTCTCTGCGCGCTCGCTCGCTCACTGAGGCCGGGCGACCAAAGGTCGCCCGACGCCCGGGCTTTGCCCGGGCGGCCTCAGTGAGCGAGCGAGCGCGCAGCTGCCTGCAGG'
POLYA = 'ACGGGTGGCATCCCTGTGACCCCTCCCCAGTGCCTCTCCTGGCCCTGGAAGTTGCCACTCCAGTGCCCACCAGCCTTGTCCTAATAAAATTAAGTTGCATCATTTTGTCTGACTAGGTGTCCTTCTATAATATTATGGGGTGGAGGGGGGTGGTATGGAGCAAGGGGCAAGTTGGGAAGACAACCTGTAGGGCCTGCGGGGTCTATTGGGAACCAAGCTGGAGTGCAGTGGCACAATCTTGGCTCACTGCAATCTCCGCCTCCTGGGTTCAAGCGATTCTCCTGCCTCAGCCTCCCGAGTTGTTGGGATTCCAGGCATGCATGACCAGGCTCAGCTAATTTTTGTTTTTTTGGTAGAGACGGGGTTTCACCATATTGGCCAGGCTGGTCTCCAACTCCTAATCTCAGGTGATCTACCCACCTTGGCCTCCCAAATTGCTGGGATTACAGGCGTGAACCACTGCTCCCTTCCCTGTCCTT'
CAR = 'ccatggctctcccagtgactgccctactgcttcccctagcgcttctcctgcatgcagaggtgaagctgcagcagtctggggctgagctggtgaggcctgggtcctcagtgaagatttcctgcaaggcttctggctatgcattcagtagctactggatgaactgggtgaagcagaggcctggacagggtcttgagtggattggacagatttatcctggagatggtgatactaactacaatggaaagttcaagggtcaagccacactgactgcagacaaatcctccagcacagcctacagcagctcagcggcctaacatctgaggactctgcggtctatttctgtgcaagaaagaccattagttcggtagtagatttctactttgacactggggccaagggaccacggtcaccgtctcctcaggtggaggtggatcaggtggaggtggatctggtggaggtggatctgacattgagctcacccagtctccaaaattcatgtccacatcagtaggagacagggtcagcgtcacctgcaaggccagtcagaatgtgggtactaatgtagcctggtatcaacagaaaccaggacaatctcctaaaccactgatttactcggcaacctaccggaacagtggagtccctgategcttcacaggcagtggatctgggacagatttcactctcaccatcactaacgtgcagtctaaagacttggcagactatttctgtcaacaatataacaggttccgtacacgtccggaggggggaccaagctggagatcaaacgggcggccgcaattgaagttatgtatcctcctccttacctagacaatgagaagagcaatggaaccaatccatgtgaaagggaaacacctttgtccaagtcccctatttcccggaccttctaagcccttttgggtgctggtggtggttggtggagtcctggcttgctatagcttgctagtaacagtggcctttattattttctgggtgaggagtaagaggagcaggctcctgcacagtgactacatgaacatgactccccgccgccccgggcccacccgcaagcattaccagccctatgccccaccacgcgacttcgcagcctatcgctccagagtgaagttcagcaggagcgcagagccccccgcgtaccagcagggccagaaccagctctataacgagctcaatctaggacgaagagaggagtacgatgttttggacaagagacgtggccgggaccctgagatggggggaaagccgagaaggaagaaccctcaggaaggcctgtacaatgaactgcagaaagataagatggcggaggcctacagtgagattgggatgaaaggcgagcgccggaggggcaaggggcacgatggcctttaccagggtctcagtacagccaccaaggacacctacgacgcccttcacatgcaggccctgccccctcgcg'.upper()
# Extracted from the UI, but easier to query DB in practice
TRAC_EXON_1 = 'TCCAGAACCCTGACCCTGCCGTGTACCAGCTGAGAGACTCTAAA'
SA = 'CAGAT'
PA = 'GGCGCCACCAACTTCTCCCTGCTGAAGCAGGCCGGCGACGTGGAGGAGAACCCCGGCCCC'
BGHPA_TERM = 'ATAAAAGATCTTTATTTTCATTAGATCTGTGTGTTGGTTTTTTGTGTG'
# to design
LHA_STOP = 'TAACCCTGATCCTCTTGT'
RHA_START = 'ATCCAGAAC'
PDHG = 'CCCA'
PAM = 'GGG'
PROTOSPACER = 'TCAGGGTTCTGGATATCTGT'
# 1900 bp sequence flanking start of target exon
DONOR = 'TGCTAATCCTCCGGCAAACCTCTGTTTCCTCCTCAAAAGGCAGGAGGTCGGAAAGAATAAACAATGAGAGTCACATTAAAAACACAAAATCCTACGGAAATACTGAAGAATGAGTCTCAGCACTAAGGAAAAGCCTCCAGCAGCTCCTGCTTTCTGAGGGTGAAGGATAGACGCTGTGGCTCTGCATGACTCACTAGCACTCTATCACGGCCATATTCTGGCAGGGTCAGTGGCTCCAACTAACATTTGTTTGGTACTTTACAGTTTATTAAATAGATGTTTATATGGAGAAGCTCTCATTTCTTTCTCAGAAGAGCCTGGCTAGGAAGGTGGATGAGGCACCATATTCATTTTGCAGGTGAAATTCCTGAGATGTAAGGAGCTGCTGTGACTTGCTCAAGGCCTTATATCGAGTAAACGGTAGTGCTGGGGCTTAGACGCAGGTGTTCTGATTTATAGTTCAAAACCTCTATCAATGAGAGAGCAATCTCCTGGTAATGTGATAGATTTCCCAACTTAATGCCAACATACCATAAACCTCCCATTCTGCTAATGCCCAGCCTAAGTTGGGGAGACCACTCCAGATTCCAAGATGTACAGTTTGCTTTGCTGGGCCTTTTTCCCATGCCTGCCTTTACTCTGCCAGAGTTATATTGCTGGGGTTTTGAAGAAGATCCTATTAAATAAAAGAATAAGCAGTATTATTAAGTAGCCCTGCATTTCAGGTTTCCTTGAGTGGCAGGCCAGGCCTGGCCGTGAACGTTCACTGAAATCATGGCCTCTTGGCCAAGATTGATAGCTTGTGCCTGTCCCTGAGTCCCAGTCCATCACGAGCAGCTGGTTTCTAAGATGCTATTTCCCGTATAAAGCATGAGACCGTGACTTGCCAGCCCCACAGAGCCCCGCCCTTGTCCATCACTGGCATCTGGACTCCAGCCTGGGTTGGGGCAAAGAGGGAAATGAGATCATGTCCTAACCCTGATCCTCTTGTCCCACAGATATCCAGAACCCTGACCCTGCCGTGTACCAGCTGAGAGACTCTAAATCCAGTGACAAGTCTGTCTGCCTATTCACCGATTTTGATTCTCAAACAAATGTGTCACAAAGTAAGGATTCTGATGTGTATATCACAGACAAAACTGTGCTAGACATGAGGTCTATGGACTTCAAGAGCAACAGTGCTGTGGCCTGGAGCAACAAATCTGACTTTGCATGTGCAAACGCCTTCAACAACAGCATTATTCCAGAAGACACCTTCTTCCCCAGCCCAGGTAAGGGCAGCTTTGGTGCCTTCGCAGGCTGTTTCCTTGCTTCAGGAATGGCCAGGTTCTGCCCAGAGCTCTGGTCAATGATGTCTAAAACTCCTCTGATTGGTGGTCTCGGCCTTATCCATTGCCACCAAAACCCTCTTTTTACTAAGAAACAGTGAGCCTTGTTCTGGCAGTCCAGAGAATGACACGGGAAAAAAGCAGATGAAGAGAAGGTGGCAGGAGAGGGCACGTGGCCCAGCCTCAGTCTCTCCAACTGAGTTCCTGCCTGCCTGCCTTTGCTCAGACTGTTTGCCCCTTACTGCTCTTCTAGGCCTCATTCTAAGCCCCTTCTCCAAGTTGCCTCTCCTTATTTCTCCCTGTCTGCCAAAAAATCTTTCCCAGCTCACTAAGTCAGTCTCACGCAGTCACTCATTAACCCACCAATCACTGATTGTGCCGGCACATGAATGCACCAGGTGTTGAAGTGGAGGAATTAAAAAGTCAGATGAGGGGTGTGCCCAGAGGAAGCACCATTCTAGTTGGGGGAGCCCATCTGTCAGCTGGGAAAAGTCCAAATAACTTCAGATTGGAATGTGTTTTAACTCAGGGTTGAGAAAACAGCTACCTTCAGGACAAAAGTCAGGGAAGGGCTCTCTGAAGAAATGCTACTTGAAGATACCAGCCCTACCAAGGGCAGGGAGAGGACCCTATAGAGGCCTGGGACAGGAGCTCAATGAGAAAGGAGAAGAGCAGCAGGCA'
if __name__ == '__main__':
index = DONOR.find(LHA_STOP)
LHA = DONOR[0:index+len(LHA_STOP)]
RHA = DONOR[DONOR.find(RHA_START):]
payload = ''.join([SA,PDHG,PA,CAR,BGHPA_TERM])
design = ''.join([LITR,LHA,PDHG,payload,RHA,RITR])
# Generate record
sys.stdout.write(design)
sys.exit()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment