User loginNavigationWho's onlineThere are currently 0 users and 1 guest online.
|
Parsing Compass files with PythonUma classe em Python que escrevi que executa o compass e le os valores do alinhamento de duas sequencias. reader = compass_reader("d2hsapie_.aln", "d2scere_.aln") ou para salvar o alinhamento gerado no arquivo com o nome de "d2hsapie__2_d2scere_": reader = compass_reader("sequencia_1, "sequencia_2", save=True) para acessar os resultados do alinhamento: # Acessar o valor do Smith-Waterman: reader.get_SW() # Acessar o valor do EValue: reader.get_EValue()
Abaixo segue o script, ou caso prefira, faça o download dele. ""Felipe Albrecht 15/Jun/2006 Utilizado para ler o EValue e SW dos arquivos do compass""" import subprocess import os class compass_reader: def __init__(self, seq1, seq2, save = False, path=None): self.sequence_1 = seq1.split(".")[0] self.sequence_2 = seq2.split(".")[0] self.file_name = self.sequence_1 + "_2_" + self.sequence_2 self.sw = -1 self.evalue = -1 stds = subprocess.Popen("compass -i " + seq1 + " -j " + seq2, shell = True, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate() if (stds[0] == ""): print "Erro na execucao:\n" + stds[1] return if (save == True): saveFile = open(self.sequence_1 + "_2_" + self.sequence_2, "w") saveFile.write(stds[0]) self.__parser(stds[0]) def __parser(self, f): values_line = f.split("\n")[4].split() self.sw = values_line[3] self.evalue = values_line[6] def get_SW(self): if (self.sw == -1): self.__parser() return self.sw def get_EValue(self): if (self.evalue == -1): self__parser() return self.evalue
Leituras recomendadas:
|
Search |