I've not used this cpptraj option - but your question is interesting
from a coding/curiosity standpoint.
The message generating code is in Action_OrderParameter.cpp
Is there any way that something on your script line could be causing one
of the masks to return 0 atoms?
The code below looks robust, and that on the "first mask" the "matching
length test" is not conducted.
Since you note that these lipids can be processed in other contexts, you
might want to try (in spirit of debugging) to output a reduced
(parmstrip) prmtop and trajectory (maybe just a few picoseconds), with
stripped out atoms not of interest - to align this more robust
trajectory with the previously used atomic topology that "works"
If _that_ strategy "works", that will let you get over the problem, and
be a valuable input to the developers.
// Action_OrderParameter::Setup()
Action::RetType Action_OrderParameter::Setup(Topology* currentParm,
Topology** parmAddress)
{
int i, nlen1;
int nlen2 = 0;
std::vector<AtomMask>::iterator mask;
SetupImaging(currentParm->BoxType() );
if (!scd_) {
if (unsat_mask_.MaskStringSet() &&
currentParm->SetupIntegerMask(unsat_mask_) )
return Action::ERR;
}
if (taildist_.IsOpen() ) {
if (tailstart_mask_.MaskStringSet() &&
currentParm->SetupIntegerMask(tailstart_mask_) )
return Action::ERR;
if (tailend_mask_.MaskStringSet() &&
currentParm->SetupIntegerMask(tailend_mask_) )
return Action::ERR;
if (tailstart_mask_.Nselected() != tailend_mask_.Nselected() ) {
mprinterr("Error: OrderParameter: different number of atoms in\n"
"tailstart and tailend masks.");
return Action::ERR;
}
}
for (mask = masks_.begin(), i = 0;
mask != masks_.end();
mask++, i++) {
if (currentParm->SetupIntegerMask(*mask) ) return Action::ERR;
nlen1 = mask->Nselected();
if (mask != masks_.begin() && (nlen1 != nlen2) ) {
mprinterr("Error: OrderParameter: mask groups are not the same
length "
128,0-1 32%
"(%i %i)\n", nlen1, nlen2);
return Action::ERR;
}
nlen2 = nlen1;
On 04/28/2016 01:30 PM, Amy Rice wrote:
> Hi all,
> I have a lipopolysaccharide bilayer system (36 LPS per leaflet) that I have
> simulated for 750 ns; I am now trying to calculate order parameters (Scd)
> for the 6 LPS acyl chains. I tested LipidOrder first on a DPPE bilayer
> system, and cpptraj calculated Scd without error. However, when I used the
> exact same command for one of the acyl chains of the LPS system (after
> changing the atom mask to the appropriate atom names), I received the
> following error: "OrderParameter: mask groups are not the same length (0
> 72)". I have pasted the command I used below. The prmtop and sample
> trajectory are too large to be included with this email, but I am very
> happy to send them off list. I am using AmberTools 15.
>
> lipidorder out chain1.dat z scd \
> ":LIPA.C12" ":LIPA.H12R" ":LIPA.H12S" ":LIPA.C13" ":LIPA.H13R" ":LIPA.H13S"
> ":LIPA.C14" ":LIPA.H14R" ":LIPA.H14S" ":LIPA.C15" ":LIPA.H15R" ":LIPA.H15S"
> ":LIPA.C16" ":LIPA.H16R" ":LIPA.H16S" ":LIPA.C17" ":LIPA.H17R" ":LIPA.H17S"
> ":LIPA.C18" ":LIPA.H18R" ":LIPA.H18S" ":LIPA.C19" ":LIPA.H19R" ":LIPA.H19S"
> ":LIPA.C110" ":LIPA.H110R" ":LIPA.H110S" ":LIPA.C111" ":LIPA.H111R"
> ":LIPA.H111S" ":LIPA.C112" ":LIPA.H112R" ":LIPA.H112S" ":LIPA.C113"
> ":LIPA.H113R" ":LIPA.H113S"
>
> Any help or recommendations would be greatly appreciated!
> Thank you,
> - Amy
>
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Thu Apr 28 2016 - 12:00:05 PDT