#!/usr/bin/env python """ quadequat.py It finds the real roots of a quadratic equation

Download Presentation

#!/usr/bin/env python """ quadequat.py It finds the real roots of a quadratic equation

Loading in 2 Seconds...

- 55 Views
- Uploaded on
- Presentation posted in: General

#!/usr/bin/env python """ quadequat.py It finds the real roots of a quadratic equation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

#!/usr/bin/env python

"""

quadequat.py

It finds the real roots of a quadratic equation

Author: Antonio Deiana .... Date: 28/11/2008 ....

"""

from math import sqrt

def findroots(a, b, c, toll):

x1 = x2 = 0

error = 0

delta = b ** 2 - 4 * a * c

if delta > 0 and delta > toll:

x1 = (b * -1 + sqrt(delta)) / (2 * a)

x2 = (b * -1 - sqrt(delta)) / (2 * a)

elif delta > 0 and delta < toll:

x1 = x2 = b * -1 / (2 * a)

else:

error = 1

return x1, x2, error

def main():

a = float(raw_input("Coefficient a: "))

b = float(raw_input("Coefficient b: "))

c = float(raw_input("Coefficient c: "))

toll = 1E-6

x1, x2, error = findroots(a, b, c, toll)

if error == 0:

if x1 != x2:

print "Root 1: " + str(x1)

print "Root 2: " + str(x2)

else:

print "Root: " + str(x1)

else:

print "No real roots“

if __name__=="__main__":

main()

"""

bisection.py

Compute the zero of a function with the bisection method

"""

def bisect(xs, xd, toll, niter):

cont = rad = 0

if f(xs) * f(xd) > 0:

cont = -1

return rad, cont

for i in range(niter):

xm = 0.5 * (xs + xd)

if (xm - xs) < toll:

cont = 0

rad = xm

return rad, cont

if f(xs) * f(xm) < 0:

xd = xm

else:

xs = xm

cont = niter

return rad, cont

def f(x):

from math import exp

return x + exp(x)

def main():

x0 = float(raw_input("Left margin: "))

x1 = float(raw_input("Right margin: "))

toll = float(raw_input("Tollerance: "))

niter = int(raw_input("Number of iterations: "))

if x0 < x1:

xs = x0

xd = x1

else:

xs = x1

xd = x0

rad, cont = bisect(xs, xd, toll, niter)

if cont == 0:

print "Zero at " + str(rad)

elif cont < 0:

print "No zero exists"

else:

print "No zero found in " + str(niter) + " iterations“

if __name__=="__main__":

main()

#!/usr/bin/env python

from math import sqrt

def get_mean(listvalues):

mean = mean2 = stdev = 0

nv = len(listvalues)

for value in listvalues:

mean += value

mean2 += value ** 2

mean /= nv

stdev = sqrt((nv / (nv - 1)) * ((mean2 / nv) - (mean ** 2)))

return mean, stdev

def main():

nval = int(raw_input("\nNumber of values: "))

values = []

for n in range(nval):

value = float(raw_input("Value n. " + str(n+1) + ": "))

values.append(value)

mean, stdev = get_mean(values)

print "The arithmetic mean is %10.2f +/- %10.2f“ \

% (mean, stdev)

if __name__=="__main__":

main()

#/usr/bin/env python

"""

mcd.py

"""

def mcd(m,n):

if m < n:

temp = m

m = n

n = temp

while n > 0:

r = m % n

m = n

n = r

return m

def main():

m = int(raw_input("\nFirst number: "))

n = int(raw_input("Second number: "))

div = mcd(m,n)

print "The MCD is " + str(div)

if __name__==“__main__”:

main()

#!/usr/bin/env python

"""

table2file.py

"""

nfile = int(raw_input("\nNumbers of files: "))

maxlenlist = 0

tablists = []

for i in range(nfile):

filename = raw_input("Name " + str(i+1) + " file: ")

file = open(filename, "r")

values = file.readlines()

file.close()

tablists.append(values)

if maxlenlist < len(values):

maxlenlist = len(values)

filename = raw_input("\nName output file: ")

file = open(filename, "w")

for i in range(maxlenlist):

string = ""

for j in range(nfile):

if i < len(tablists[j]):

string += tablists[j][i].strip() + " "

else:

string += "0.0 "

print >> file, string

file.close()

#!/usr/bin/env python

"""

ncbi2fasta.py

Convert a file from NCBI to FASTA format

""“

filename = raw_input("\nName of input file: ")

file = open(filename, "r")

file_lines = file.readlines()

file.close()

filename = raw_input("\nName of output file: ")

file = open(filename, "w")

for line in file_lines:

if line == "\n": continue

if line[0] == ">":

print >> file, line.strip()

else:

string = ""

splitted = line.split()

for i in range(1, len(splitted)):

string += splitted[i]

print >> file, string.upper()

file.close()

#!/usr/bin/env python

"""

fltlen.py

Select sequences with a length between a minimum and a maximum value

"""

filename = raw_input("\nFile sequences: ")

file = open(filename, "r")

sequname = []

sequlist = []

first = 1

for line in file.readlines():

if line == "\n": continue

if line[0] == ">":

if first == 1:

first = 0

else:

sequlist.append(sequence)

sequname.append(line[1:].rstrip())

sequence = ""

else:

sequence += linea.strip()

sequlist.append(sequence)

file.close()

lenmin = int(raw_input("\nMinimum length of the sequence: "))

lenmax = int(raw_input("Maximum length of the sequence: "))

filename = raw_input("\nName of output file: " )

file = open(filename, "w")

n = 0

for i in range(len(sequlist)):

if len(sequlist[i]) > lenmin and \

len(sequlist[i]) < lenmax:

n += 1

print >> file, ">" + sequname[i]

print >> file, sequlist[i]

print "\nN. sequences selected: " + str(n) + "\n“

file.close()

"""

table.py

Read a table of numbers and build a series of files,

one for each column of the table

"""

filename = raw_input("\nName input file: ")

file = open(filename, "r")

file_lines = file.readlines()

file.close()

filebase = raw_input("\nPrefix output files: ")

splitted = file_lines[0].split()

ncol = len(splitted)

for i in range(ncol):

filename = filebase + ".col" + str(i) + ".txt"

file = open(filename, "w")

for line in file_lines:

splitted = line.split()

print >> file, splitted[i]

file.close()

#!/usr/bin/env python

"""

freq.py

Compute the frequencies of the amino acids in protein sequences

""“

import numarray

alphabet =["A","R","N","D","C","Q","E","G","H","I",\

"L","K","M","F","P","S","T","W","Y","V"]

alpha = {}

for i in range(len(alphabet)):

alpha[alphabet[i]] = i

def frequencies(sequlist):

naa = 0

sequf = numarray.resize([0.0], [20])

for sequence in sequlist:

for i in range(len(sequence)):

naa += 1

sequpar[alpha[sequence[i]]] += 1

sequf /= float(naa)

def main():

# import sequences from file

filename = raw_input("\nFilename sequences: ")

file = open(filename, "r")

sequlist = []

first = 1

for line in file.readlines():

if line == "\n": continue

if line[0] == ">":

if first == 1:

first = 0

else:

sequlist.append(sequence)

sequence = ""

else:

sequence += line.strip()

sequlist.append(sequence)

file.close()

# compute amino acid frequencies

sequf = frequencies(sequlist)

# save results on file

for i in range(20):

print "Frequency of " + alphabet[i] + " : " + str(sequf[i])

if __name__=="__main__":

main()