You are here

Fragments picker: -nohom option seems not to work

2 posts / 0 new
Last post
Fragments picker: -nohom option seems not to work
#1

Hello everyone

I run the following command: etc/make_fragments.pl -nohoms -id fragm blabla/protein.fasta

and I obtain fragments files which contain fragments from the original protein.

moreover running the same command without the -nohoms option I obtain the same output.

Does anybody know why?

Thanks in advance

Alfredo

Post Situation: 
Tue, 2013-05-14 06:31
oppopomoz

Hi Alfredo,

I've looked into this and it seems there is a bug in the rosetta 3.4 make_fragments.pl script that means that homologue exclusion doesn't work.

The script generates a (e.g.) t001_.homolog file with a list of the homologues, that is then given to the fragment picker with the following argument:

-frags:denied_pdb t001_.homolog

Unfortunately, the make_fragments.pl script generates this file with two columns, the first being the runid and the second the pdb id, so that it looks like:

t001_ 1ap9A
t001_ 1bhbA
t001_ 1bm1A

The fragment picker only reads the first column to extract the ids and so ignores the actual ids.

In a working run you'd see the following:

protocols.frag_picker.PdbIdChunkFilter: read allowed PDB ids from: t001_.homolog
protocols.frag_picker.FragmentPicker: Excluded PDBs:

1ap9A 1ap9_ 1at9A 1at9_ 1bctA 1bct_ 1bhaA 1bha_ 1bhbA 1bhb_ 1bm1A 1bm1_
1brdA 1brd_ 1brrA 1brrB 1brrC 1brr_ 1brxA 1brx_ 1c3wA 1c3w_ 1c8rA 1c8r_
1c8sA 1c8s_ 1cwqA 1cwqB 1cwq_ 1dzeA 1dze_ 1e0pA 1e0p_ 1e12A 1e12_ 1f4zA
...

Whereas in one with the bug you'd have:

protocols.frag_picker.PdbIdChunkFilter: read allowed PDB ids from: t001_.homolog
protocols.frag_picker.FragmentPicker: Excluded PDBs:

t001A t001_

This appears to be fixed in rosetta 3.5 (just released).

If you're happy editing perl, you'll need to edit the 3.4 script and change the function exclude_outn, exclude_blast and exclude_pdbblast and change the lines:

print EXCL "$runid $hit_pdb$hit_chain\n";
print EXCL2 "$runid $hit_pdb$hit_chain\n";

to:

print EXCL "$hit_pdb$hit_chain\n";
print EXCL2 "$hit_pdb$hit_chain\n";

Do any of the developers know how long this bug has been present? I've not looked too closely, but it looks like it was also present in 3.3. Would this also have affected jobs run on the server?

Best wishes,

Jens

Tue, 2013-06-04 06:51
linucks