You are here

Maximum Number of Constraints

4 posts / 0 new
Last post
Maximum Number of Constraints
#1

Hello,

Is it true that there is a maximum number of lines with constraints in the external file that Rosetta can process? This should be around 490.

I played around with constraint files (trying to reproduce my last error (http://www.rosettacommons.org/content/using-degenerate-protons-rosetta3x) and what I realized was, that Rosetta does read the following file without problems:

AtomPair CB 2 H 2 BOUNDED 1.5 6.0 0.3
AtomPair H 3 H 2 BOUNDED 1.5 5.0 0.3
AtomPair H 3 CB 2 BOUNDED 1.5 7.0 0.3
.
.
[some other 484 constraints]
.
.
Dihedral N 98 CA 98 C 98 N 99 BOUNDED 1.78 2.44 0.3
Dihedral CA 98 N 99 C 99 CA 99 BOUNDED -2.41 -2.06 0.3
Dihedral N 99 CA 99 C 99 N 100 BOUNDED 2.57 2.98 0.3
TEST
Dihedral CA 99 N 100 C 100 CA 100 BOUNDED -2.27 -1.47 0.3
Dihedral N 100 CA 100 C 100 N 101 BOUNDED 2.71 3.02 0.3
.
.

The TEST is in line 491. Putting it in line 490 gives the typical Rosetta error message, saying that TEST is not a known ConstraintType. This depends only on the number of lines in the constraint file since comments are also counted.

I went through some of the obvious candidates (like Constraints.cc or ConstraintIO.cc) but wasn't able to find a restriction. Since this at least seems reproducible my guess is that only 490 constraints processed.

How do I change this?

Best regards and many, many thanks in advance

Post Situation: 
Fri, 2011-06-17 05:23
jurkm

This is an intriguing find!

I can duplicate it in my copy of 3.2.1 and am testing to see if it's present in current developer trunk. I can't find any code responsible for the behavior. I'll keep you updated.

Tue, 2011-06-21 10:08
smlewis

OK, I *think* the issue is that the BOUNDED func type is greedy, and is arbitrarily turning every other line into a "tag" for the previous BOUNDED func. Try formatting your lines like this instead:

Dihedral N 100 CA 100 C 100 N 101 BOUNDED 2.71 3.02 0.3 0.5 TAG

adding 0.5 and TAG to the end.

By the way, 489/490 was a red herring, it's really an evens/odds issue.

Tue, 2011-06-21 10:52
smlewis

Thanks for looking into this. It finally solved also the issue I mentioned in my "degenerate protons" thread (see first post for link). Abinitio:relax seems to handle constraints slightly different since it printed an error (core.io.constraints: ERROR: reading of Dihedral failed.), but still proceeded. That got me curious.

Fri, 2011-06-24 00:09
jurkm