Skip to content

5. Challenges

Natasha-Adongo edited this page Sep 7, 2022 · 9 revisions

Challenges

Tree analyses

  • BEAST
    Error:
OpenCL error: Unknown error from file </home/icipe/Downloads/beagle-lib/libhmsbeagle/GPU/GPUInterfaceOpenCL.cpp>, line 105.

The error arised from installment errors of beagle-lib.

  • Beagle-lib

The error we faced with beagle-lib was failure of the tests:

The following tests FAILED:
	  1 - hmctest (Failed)
Errors while running CTest
make: *** [Makefile:97: test] Error 8

The problem is in the installation of beagle-lib. One of the solutions was to remove openCL and re-install it, unfortunately that failed to. Another solution was to remove beagle-lib and install it once more. For this, the path to openCL conflicted with the previous path to openCL despite any efforts to change the path.

  • CONSEL
    make install failed in CONSEL.

  • RaxML
    RaxML-ng ran into errors while reading the input file. The file was converted to phylip format using EMBOSS seqret but that still failed. The file was successfully converted to phylip format using this code provided by @karegapauline.

#!/usr/bin/python

# Convert FASTA 2 PHYLIP

import sys
import os


print ("CONVERT FASTA TO PHYLIP")

infile = open(sys.argv[1],"r")
outfile = sys.argv[2]

##prot_parser = Fasta.RecordParser()
##prot_file_in = open(infile,"r")
##prot_iterator = Fasta.Iterator(prot_file_in, prot_parser)

##sequence_dict = {}
##while 1:
##    cur_record = prot_iterator.next()
##    if cur_record is None:
##        break
##    dir(cur_record)
##    tab = cur_record.title.split(" ")
##    #print cur_record.title
##    sequence = cur_record.sequence.replace(" ","")
##    #print sequence, len(sequence)
##    sequence_dict[tab[0]]= sequence

sequence_dict = {}
sequence = ""
tag = 0
gene_id = ""
while 1:
    line = infile.readline()
    if line == "":
        break
    line = line.rstrip()
    if line[0] == ">":
        if tag == 1:
            sequence_dict[gene_id] = sequence
            gene_id = ""
            sequence = ""
        tab = line.split(" ")
        gene_id = tab[0][1:]
    else:
        sequence = sequence+line
        tag = 1
sequence_dict[gene_id] = sequence
#sys.exit()


print (len(sequence_dict))
#sys.exit()

# Test length of the alignment:
alignment_length = 0
for gene in sequence_dict:
    if (alignment_length != 0) and (len(sequence_dict[gene]) != alignment_length):
        print("Error in alignment length, exit on error !!!")
        sys.exit()
    else:
        alignment_length = len(sequence_dict[gene])

number_of_seq = len(sequence_dict)
print ("Number of sequences:\t"+str(number_of_seq))
print ("Alignment length:\t"+str(alignment_length))
print ("Ratio =\t"+str(alignment_length/3))

if alignment_length%3 != 0:
    print ("Warning: Hum, your alignment didn't code for nucleotides")

### Write PHYLIP file

phyfile = open(outfile,"w")

name_length = 50

if len(sys.argv) > 3:
    name_length = int(sys.argv[3])

phyfile.write(str(number_of_seq)+"\t"+str(alignment_length)+"\n")
for gene in sequence_dict:
    if len(gene) > name_length:
        gene_name = gene[0:name_length]
        if gene_name[-1] == "_":
            gene_name = gene_name[0:-1]
        ##elif gene_name[-2] == "_":
##            gene_name = gene_name[0:-2]    
    else:
        gene_name = gene
    phyfile.write(gene_name+"  "+sequence_dict[gene]+"\n")
phyfile.close()
  • PAML

When using PAML to calculate the divergence times we kept on running into an error that despite us searching for away to solve it was not successful Error: Main species tree requires the format ns "ntree

  • ASTRAL

We encountered the following error with ASTRAL The main error we got on ASTRAL was based on the input file we used. The tool required a newick file and we tried the newick files we had but they were not incorporated by the tool. Runtime Exception: Empty name observed; likely, an input tree has an error Failed to parse tree number:1

Clone this wiki locally