On the matter of using GenKIC to model a loop of noncanonical groups like beta-peptides or peptoids, the GenKIC program falters due to lack of centroid data.
The requirements for centroids is confirmed by removal of the ALA.params file from: database/chemical/residue_type_sets/centroid/residue_types
This causes the same error as it does for sequences of beta-peptides and peptoids for which there are all-atom params files in: database/chemical/residue_type_sets/fa_standard/residue_types/
So there are two possible approaches I see right away:
(1) Modify the GenKIC code to allow for all-atom residues to be assessed at the first pass, or
(2) Generate centroid .params files for the noncanonical (non-protein) residues of interest.
I am hoping to do the latter as this would allow the continued use of GenKIC for non-protein residues and permit modelling of hybrid loops.
Does anyone know how to create a centroid params file from scratch?
"Does anyone know how to create a centroid params file from scratch?"
From scratch - I'm tempted to say "you must first invent the universe".
I'm going to send this along to the GenKIC developer, but broadly, you can get centroid params by taking a fullatom params and converting all the atom types to their closest equivalent in the centroid atom types list, or deleting them when appropriate. There should be a centroid atom type set just like there's a fullatom one (Rosetta/main/database/chemical/atom_type_sets/centroid).
I know that the molfile_to_params.py script used to make fullatom params has a flag for centroid mode. I don't know if the polymeric version you may have used also has a centroid flag.
I wrote GenKIC, but have never had a case in which I needed to use it for centroid poses. It should work, provided, as you say, that you have params files. I'd amend what @smlewis said a little bit: to make a centroid params file from a full atom, you need to:
The question is, what are you doing with noncanonicals that requires a centroid representation? We currently have no noncanonical-compatible protocols that work in centroid mode, so GenKIC (which probably is centroid-compatible, unlike most noncanonical-compatible protocols) will definitely not be your biggest stumbling block. You'd be well-advised to revise your approach to use only fullatom representations. If you're working in RosettaScripts, ensure that the input to GenKIC (whatever the previous mover returns, or whatever you load from disk if GenKIC is the first mover) is a fullatom pose.