def align_to_refenence(self, noalign, minp = 0.9): refaln = self.refjson.get_alignment(fout = self.tmp_refaln) fprofile = self.refjson.get_hmm_profile(self.hmmprofile) # if there is no hmmer profile in json file, build it from scratch if not fprofile: hmm = hmmer(self.cfg, refaln) fprofile = hmm.build_hmm_profile() hm = hmmer(config = self.cfg, refalign = refaln , query = self.tmpquery, refprofile = fprofile, discard = noalign, seqs = self.seqs, minp = minp) self.epa_alignment = hm.align()
def align_to_refenence(self, noalign, minp=0.9): refaln = self.refjson.get_alignment(fout=self.tmp_refaln) fprofile = self.refjson.get_hmm_profile(self.hmmprofile) # if there is no hmmer profile in json file, build it from scratch if not fprofile: hmm = hmmer(self.cfg, refaln) fprofile = hmm.build_hmm_profile() hm = hmmer(config=self.cfg, refalign=refaln, query=self.tmpquery, refprofile=fprofile, discard=noalign, seqs=self.seqs, minp=minp) self.epa_alignment = hm.align()
def build_hmm_profile(self, json_builder): print "Building the HMMER profile...\n" # this stupid workaround is needed because RAxML outputs the reduced # alignment in relaxed PHYLIP format, which is not supported by HMMER refalign_fasta = self.cfg.tmp_fname("%NAME%_ref_reduced.fa") self.reduced_refalign_seqs.write(outfile=refalign_fasta) hmm = hmmer(self.cfg, refalign_fasta) fprofile = hmm.build_hmm_profile() json_builder.set_hmm_profile(fprofile)