Hi,
In the description column there are numbers prefixing the word "model" for some of the rows after calling antibody_H3 program. This makes the LHOC script bomb because in the ScoreFile.py module it parses the 7th character for the model string to get the number after the hyphen so that it can fill any of the 0-9 model numbers of the color_dict for the plotting. This is not just an issue with my version of antibody_H3 because I downloaded the results from the 2021 workshop (https://meilerlab.org/rosetta-antibody-workshop-2021/) and this also occurs in their H3_modeling_scores.fasc file. Can you advise? For now need to remove any numbers before "model" when initializing an LHOCDecoys object if you want to plot. For scoring analysis it's just really a hiccup to disregard I guess.
So for example here "48model-0.relaxed_0001" should read "model-0.relaxed_0001" and "5model-3.relaxed_0001" should read "model-3.relaxed_0001".
$ tail -n+2 H3_modeling_scores.fasc | awk '{print $2,$46}' OFS='\t' | head | column -t
total_score description
-555.649 model-0.relaxed_0001
-593.614 model-0.relaxed_0002
-573.011 model-0.relaxed_0003
-575.792 model-0.relaxed_0004
-619.581 model-0.relaxed_0005
-518.167 48model-0.relaxed_0001
-589.982 5model-3.relaxed_0001
-495.965 49model-0.relaxed_0001
-602.857 4model-1.relaxed_0001
ScoreFile.py
class LHOCDecoys(object):
def __init__(self, decoy_array):
self.decoy_array = decoy_array
self.template_no = decoy_array[name][6]
#... way down in the script
for i in si:
decoy = self.top_x_angle_list[i]
color = color_dict[decoy.template_no]
constants.py
# color codes for models (What template do they come from?)
color_dict = {}
color_dict['0'] = (141, 211, 199)
color_dict['1'] = (255, 255, 179)
color_dict['2'] = (190, 186, 218)
color_dict['3'] = (251, 128, 114)
color_dict['4'] = (128, 177, 211)
color_dict['5'] = (253, 180, 98)
color_dict['6'] = (179, 222, 105)
color_dict['7'] = (252, 205, 229)
color_dict['8'] = (187, 187, 187)
color_dict['9'] = (187, 128, 189)