comparison scripts/S01_phylip2fasta.py @ 0:d0ae18156aa2 draft default tip

planemo upload for repository https://github.com/abims-sbr/adaptsearch commit 3c7982d775b6f3b472f6514d791edcb43cd258a1-dirty
author abims-sbr
date Fri, 01 Feb 2019 10:25:52 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:d0ae18156aa2
1 #!/usr/bin/python
2
3 ## AUTHOR: Eric Fontanillas
4 ## LAST VERSION: 20/08/14 by Julie BAFFARD
5
6 ## DESCRIPTION: formatting a fasta format into phylip format for using with PAML
7
8 import string, os, sys
9 """
10 if len(sys.argv) == 1:
11 print "put arguments!!"
12 print "USAGE: S01_phylip2fasta.py INPUT OUTPUT"
13 """
14
15 ## INPUT
16 if os.path.isfile(sys.argv[1]) :
17 f1 = sys.argv[1]
18 else:
19 print "No existing phylip file ; exiting ..."
20 exit()
21
22 F1 = open("%s" %f1, 'r')
23
24 ## OUTPUT
25 f2 = sys.argv[2]
26 F2 = open("%s" %f2, 'w')
27
28 ###### def1 ######
29 # Dans un multialignement fasta, cette fonction permet de formatter les noms de chaque sequence fasta
30
31 def format(File_IN):
32 c = 0
33 fichier = ""
34 while 1 :
35 c = c + 1
36 next = File_IN.readline()
37 if not next :
38 break
39
40 S1 = string.split(next, "\t") # list : [name, sequence] --- BUG CORRECTED : "\t" instead of " "
41 fasta_name = S1[0] # get sequence name
42 fasta_seq = S1[1][:-1] # get sequence without the terminal '\n'
43 fichier = fichier + ">" + fasta_name + "\n" + fasta_seq + "\n"
44
45 return (fichier,c)
46 #-#-#-#-#-#-#-#-#-#-#
47
48 ###################
49 ### RUN RUN RUN ###
50 ###################
51
52 F1.readline() ## jump the first line
53
54 fichier_txt, c = format(F1) ### DEF1 ###
55
56 F2.write(fichier_txt)
57
58 F1.close()
59 F2.close()