Is there a way to restrict the RAM memory usage of ddg_monomer?
Say I want to restrict ddg_monomer's memory usage to 512 MB. Is it possible?
If you run it on a cluster, you can customise the memory as well as the CPU.
How? You mean by using PBS directives (assuming the cluster runs a PBS management system)?
Or is there a rosetta parameter for this?
Sorry, I was saying if you run your job on your college cluster with hundreds of CPU nodes, you can define that.
For example, in the beginning of a job.sh file:
#$ -S /bin/bash
#$ -l h_rt=72:0:0
#$ -l mem=8G
#$ -N name
#$ -wd /home/.......
512 MB might be pushing it, but there are certainly ways of cutting down on Rosetta memory usage.
One of the biggest users of memory in Rosetta is the ResidueType set - if you restrict the number of residues which Rosetta knows about, you can greatly reduce memory usage. In Rosetta/database/chemical/residue_type_sets/fa_standard/ there are files "residue_types.txt.slim" and "patches.txt.slim" if you copy them to the non-slim versions of the files (make a backup of the originals first), this should reduce memory usage. That will only allow you to model simple proteins, though. Depending on your input system or modeling requirements, you may need to add residues or patches from the full set to your slimmed down set.
Another memory saving option is the "-delete_old_poses" option - this can reduce memory usage in some cases, but causing Rosetta to aggressively get rid of old structural information it (probably) doesn't need anymore.