comparison amplicon_analysis_pipeline.py @ 8:8292f8262a9d draft

planemo upload for repository https://github.com/pjbriggs/Amplicon_analysis-galaxy commit f72ff88ee11d09703bf38524dbb8026ee14bc3ef-dirty
author pjbriggs
date Mon, 18 Jun 2018 07:12:56 -0400
parents a898ee628343
children 32a43bc3dd58
comparison
equal deleted inserted replaced
7:1cd017d72920 8:8292f8262a9d
93 fp.write("---- %d: %s\n" % (ix, 93 fp.write("---- %d: %s\n" % (ix,
94 os.path.relpath(f,results_dir))) 94 os.path.relpath(f,results_dir)))
95 # Close output file 95 # Close output file
96 if filen is not None: 96 if filen is not None:
97 fp.close() 97 fp.close()
98
99 def find_executable(name):
100 # Locate executable on PATH
101 for p in os.environ['PATH'].split(os.pathsep):
102 exe = os.path.join(name)
103 if os.path.isfike(exe) os.access(exe,os.X_OK):
104 return exe
105 return None
98 106
99 if __name__ == "__main__": 107 if __name__ == "__main__":
100 # Command line 108 # Command line
101 print "Amplicon analysis: starting" 109 print "Amplicon analysis: starting"
102 p = argparse.ArgumentParser() 110 p = argparse.ArgumentParser()
156 ref_database = "silva" 164 ref_database = "silva"
157 elif args.use_homd: 165 elif args.use_homd:
158 ref_database = "homd" 166 ref_database = "homd"
159 else: 167 else:
160 ref_database = "gg" 168 ref_database = "gg"
169
170 # Executables
171 os.mkdir("bin")
172 os.environ["PATH"] = os.path.abspath("bin") + \
173 os.pathsep + \
174 os.environ["PATH"])
175 print "-- updated PATH: %s" % os.environ["PATH"]
176 # Pipeline wants 'vsearch113' but bioconda version is just
177 # 'vsearch'
178 vsearch = find_executable("vsearch113")
179 if vsearch is None:
180 vsearch = find_executable("vsearch")
181 if vsearch:
182 os.symlink(vsearch,os.path.join("bin","vsearch113"))
183 print "-- made symlink to %s" % vsearch
184 else:
185 sys.stderr.write("Missing 'vsearch[113]'\n")
186 # Pipeline wants 'fasta-splitter.pl' but bioconda provides
187 # 'fasta-splitter'
188 fasta_splitter = find_executable("fasta-splitter.pl")
189 if fasta_splitter is None:
190 fasta_splitter = os.path.readlink(
191 find_executable("fasta-splitter"))
192 if fasta_splitter:
193 os.symlink(vsearch,os.path.join("bin","fasta-splitter.pl"))
194 else:
195 sys.stderr.write("Missing 'fasta-splitter[.pl]'\n")
161 196
162 # Construct the pipeline command 197 # Construct the pipeline command
163 print "Amplicon analysis: constructing pipeline command" 198 print "Amplicon analysis: constructing pipeline command"
164 pipeline = PipelineCmd("Amplicon_analysis_pipeline.sh") 199 pipeline = PipelineCmd("Amplicon_analysis_pipeline.sh")
165 if args.forward_pcr_primer: 200 if args.forward_pcr_primer: