supplementary data - eprints.iisc.ac.ineprints.iisc.ac.in/63869/2/bty1021_supplementary_data.pdf ·...
TRANSCRIPT
Supplementary Data
ALK wild type
BRAF wild type
ERBB2 wild type
KRAS wild type
NTRK1 wild type
PXN wild type
ROS1 wild type
EGFR L858R
EGFR T790M
EGFR G719A
EGFR S768I
EGFR P373L (VUS)
EGFR V441F (VUS)
EGFR c.2572C>T L858L
EGFR c.2574G>T L858L
EGFR c.2574G>A L858L
EGFR c.2574G>C L858L
MET 2888-5_2944del62
KIF5B-MET fusion: KIF5Bexon1-24_METexon14-21
KRAS G12C
KRAS G12D
KRAS G12V Python Script for single DNA walk: # -*- coding: utf-8 -*-
"""
Created on Tue Aug 8 10:59:55 2017
@author: hali
This code reads the DNA sequeunce in FASTA format and plot DNA walk
diagram.
For A, set path blue color and move west
For T, set path red color and move east
For C, set path green color and move south
For G, set path black color and move north
for each letter, move 10 turtle distance
"""
import turtle
import canvasvg
import re
from Bio import SeqIO
turtle.screensize(12000,8000)
wn = turtle.Screen() # create the screen to plot the DNA walk
turtle1 = turtle.Turtle()
turtle1.speed(0)
turtle1.hideturtle()
turtle1.color("black")
turtle1.pencolor("red")
count = 0
noATCG = 0
stepsize = 2
item = input('input fastq file name : ')
for record in SeqIO.parse(item, "fasta"):
while count < len(record):
#print(record[count])
if re.search(record[count],"ATCG"):
turtle1.pencolor("black")
if record[count]=="A":
#move A
turtle1.setheading(180)
turtle1.forward(stepsize)
elif record[count]=="T":
#move T
turtle1.setheading(0)
turtle1.forward(stepsize)
elif record[count]=="C":
#move C
turtle1.setheading(270)
turtle1.forward(stepsize)
elif record[count]=="G":
#move G
turtle1.setheading(90)
turtle1.forward(stepsize)
else:
#do nothing
noATCG = noATCG+1
else:
turtle1.pencolor("red")
if record[count]=="a":
#move A
turtle1.setheading(180)
turtle1.forward(stepsize)
elif record[count]=="t":
#move T
turtle1.setheading(0)
turtle1.forward(stepsize)
elif record[count]=="c":
#move C
turtle1.setheading(270)
turtle1.forward(stepsize)
elif record[count]=="g":
#move G
turtle1.setheading(90)
turtle1.forward(stepsize)
else:
#do nothing
noATCG = noATCG+1
count = count +1
print("unknow sequence count (such as N) = ",noATCG)
print("Done")
ts = turtle1.getscreen()
try:
canvasvg.saveall(item+".svg",ts.getcanvas())
except IOError:
print("save svg error")
try:
ts.getcanvas().postscript(file=item+".eps")
except IOError:
print("save eps error")
wn.mainloop() # Wait for user to close window
Python Script for multiple DNA walks in a single plot Diagram: # -*- coding: utf-8 -*-
"""
Created on Tue Aug 8 10:59:55 2017
@author: hali
This code reads the DNA sequeunce in FASTA format and plot DNA walk
diagram.
For A, set path blue color and move west
For T, set path red color and move east
For C, set path green color and move south
For G, set path black color and move north
for each letter, move 10 turtle distance
"""
import turtle
import canvasvg
from Bio import SeqIO
turtle.screensize(12000,8000)
wn = turtle.Screen() # create the screen to plot the DNA walk
turtle1 = turtle.Turtle()
turtle1.speed(0)
turtle1.hideturtle()
turtle1.color("black")
turtle1.pencolor("black")
turtle2 = turtle.Turtle()
turtle2.speed(0)
turtle2.hideturtle()
turtle2.color("black")
turtle2.pencolor("red")
turtle3 = turtle.Turtle()
turtle3.speed(0)
turtle3.hideturtle()
turtle3.color("black")
turtle3.pencolor("blue")
turtle4 = turtle.Turtle()
turtle4.speed(0)
turtle4.hideturtle()
turtle4.color("black")
turtle4.pencolor("brown")
turtle5 = turtle.Turtle()
turtle5.speed(0)
turtle5.hideturtle()
turtle5.color("black")
turtle5.pencolor("orange")
turtle6 = turtle.Turtle()
turtle6.speed(0)
turtle6.hideturtle()
turtle6.color("black")
turtle6.pencolor("green")
turtle7 = turtle.Turtle()
turtle7.speed(0)
turtle7.hideturtle()
turtle7.color("black")
turtle7.pencolor("magenta")
turtle8 = turtle.Turtle()
turtle8.speed(0)
turtle8.hideturtle()
turtle8.color("black")
turtle8.pencolor("cyan")
turtle9 = turtle.Turtle()
turtle9.speed(0)
turtle9.hideturtle()
turtle9.color("black")
turtle9.pencolor("grey")
count = 0
noATCG = 0
stepsize = 2
for record in SeqIO.parse("EGFR_NM_005228_4.fa", "fasta"):
len1=len(record)
for record2 in SeqIO.parse("ROS1_NM_002944_2.fa", "fasta"):
len2=len(record2)
for record3 in SeqIO.parse("NTRK1_NM_001012331_1.fa", "fasta"):
len3=len(record3)
for record4 in SeqIO.parse("PXN_NM_001243756.fa", "fasta"):
len4=len(record4)
for record5 in SeqIO.parse("NM_000245.fa", "fasta"): #MET
len5=len(record5)
for record6 in SeqIO.parse("KARS_NM_004985.fa", "fasta"):
len6=len(record6)
for record7 in SeqIO.parse("ERBB2_NM_001005862_2.fa", "fasta"):
len7=len(record7)
for record8 in SeqIO.parse("BRAF_NM_004333_5.fa", "fasta"):
len8=len(record8)
for record9 in SeqIO.parse("ALK_NM_004304.fa", "fasta"):
len9=len(record9)
while count < len1:
#print(record[count])
if record[count]=="A":
#move A
turtle1.setheading(180)
turtle1.forward(stepsize)
elif record[count]=="T":
#move T
turtle1.setheading(0)
turtle1.forward(stepsize)
elif record[count]=="C":
#move C
turtle1.setheading(270)
turtle1.forward(stepsize)
elif record[count]=="G":
#move G
turtle1.setheading(90)
turtle1.forward(stepsize)
else:
#do nothing
noATCG = noATCG+1
if count < len2:
if record2[count]=="A":
#move A
turtle2.setheading(180)
turtle2.forward(stepsize)
elif record2[count]=="T":
#move T
turtle2.setheading(0)
turtle2.forward(stepsize)
elif record2[count]=="C":
#move C
turtle2.setheading(270)
turtle2.forward(stepsize)
elif record2[count]=="G":
#move G
turtle2.setheading(90)
turtle2.forward(stepsize)
else:
#do nothing
noATCG = noATCG+1
if count <len3:
if record3[count]=="A":
#move A
turtle3.setheading(180)
turtle3.forward(stepsize)
elif record3[count]=="T":
#move T
turtle3.setheading(0)
turtle3.forward(stepsize)
elif record3[count]=="C":
#move C
turtle3.setheading(270)
turtle3.forward(stepsize)
elif record3[count]=="G":
#move G
turtle3.setheading(90)
turtle3.forward(stepsize)
else:
#do nothing
noATCG = noATCG+1
if count <len4:
if record4[count]=="A":
#move A
turtle4.setheading(180)
turtle4.forward(stepsize)
elif record4[count]=="T":
#move T
turtle4.setheading(0)
turtle4.forward(stepsize)
elif record4[count]=="C":
#move C
turtle4.setheading(270)
turtle4.forward(stepsize)
elif record4[count]=="G":
#move G
turtle4.setheading(90)
turtle4.forward(stepsize)
else:
#do nothing
noATCG = noATCG+1
if count <len5:
if record5[count]=="A":
#move A
turtle5.setheading(180)
turtle5.forward(stepsize)
elif record5[count]=="T":
#move T
turtle5.setheading(0)
turtle5.forward(stepsize)
elif record5[count]=="C":
#move C
turtle5.setheading(270)
turtle5.forward(stepsize)
elif record5[count]=="G":
#move G
turtle5.setheading(90)
turtle5.forward(stepsize)
else:
#do nothing
noATCG = noATCG+1
if count <len6:
if record6[count]=="A":
#move A
turtle6.setheading(180)
turtle6.forward(stepsize)
elif record6[count]=="T":
#move T
turtle6.setheading(0)
turtle6.forward(stepsize)
elif record6[count]=="C":
#move C
turtle6.setheading(270)
turtle6.forward(stepsize)
elif record6[count]=="G":
#move G
turtle6.setheading(90)
turtle6.forward(stepsize)
else:
#do nothing
noATCG = noATCG+1
if count <len7:
if record7[count]=="A":
#move A
turtle7.setheading(180)
turtle7.forward(stepsize)
elif record7[count]=="T":
#move T
turtle7.setheading(0)
turtle7.forward(stepsize)
elif record7[count]=="C":
#move C
turtle7.setheading(270)
turtle7.forward(stepsize)
elif record7[count]=="G":
#move G
turtle7.setheading(90)
turtle7.forward(stepsize)
else:
#do nothing
noATCG = noATCG+1
if count <len8:
if record8[count]=="A":
#move A
turtle8.setheading(180)
turtle8.forward(stepsize)
elif record8[count]=="T":
#move T
turtle8.setheading(0)
turtle8.forward(stepsize)
elif record8[count]=="C":
#move C
turtle8.setheading(270)
turtle8.forward(stepsize)
elif record8[count]=="G":
#move G
turtle8.setheading(90)
turtle8.forward(stepsize)
else:
#do nothing
noATCG = noATCG+1
if count <len9:
if record9[count]=="A":
#move A
turtle9.setheading(180)
turtle9.forward(stepsize)
elif record9[count]=="T":
#move T
turtle9.setheading(0)
turtle9.forward(stepsize)
elif record9[count]=="C":
#move C
turtle9.setheading(270)
turtle9.forward(stepsize)
elif record9[count]=="G":
#move G
turtle9.setheading(90)
turtle9.forward(stepsize)
else:
#do nothing
noATCG = noATCG+1
count = count +1
print("unknow sequence count (such as N) = ",noATCG)
print("Done")
ts = turtle1.getscreen()
try:
canvasvg.saveall("multiple_genes.svg",ts.getcanvas())
except IOError:
print("save svg error")
try:
ts.getcanvas().postscript(file="multiple_genes.eps")