hi, Torsten Seemann,
2006/3/6, Torsten Seemann <torsten.seemann at infotech.monash.edu.au>:
> The Bio::Structure::SecStr::DSSP::Res module is for reading and parsing
> a DSSP output file.
> It does not run dsspcmbi for you, therefore any "-ssa" option for the
> constructor of that module is not meaningful.
I know this. Sorry about my poor expression.
For example: 1crn.pdb, which contains the lines like this:
SSBOND 1 CYS 3 CYS 40 1CRN 60
SSBOND 2 CYS 4 CYS 32 1CRN 61
SSBOND 3 CYS 16 CYS 26 1CRN 62
run this:
dsspcmbi 1crn.pdb 1crn.dssp
then use this script:
my $dssp_obj = new Bio::Structure::SecStr::DSSP::Res('-file'=>"/tmp/1crn.dssp");
print $dssp_obj->resAA(3);
print "\n";
The result is 'a', not 'C' (You can see the pdb file, the 3rd residue is CYS)
btw: $dssp_obj->getSeq() runs wrong, so does $dssp_obj->getSeq(' ')
If you remove the 3 lines of SSBOND from the pdb file, then run
dsspcmbi 1crn.pdb 1crn.dssp
$dssp_obj->resAA(3) is 'C'.
but if you run like this: dsspcmbi -ssa 1crn.pdb 1crn.dssp.
$dssp_obj->resAA(3) is 'a' again.
That is to say,
1. if the pdb file has SSBOND definded explicitly, dsspcmbi will
change CYS's residue character from 'C' to 'a' 'b' or whatever
lowercase
2. if the pdb file don't have SSBOND definded explictly, dsspcmbi with
'-ssa' will calculate the ssbond it self and then chang CYS's residue
character from 'C' to 'a' 'b' or whatever lower case
3. if the pdb file don't have SSBOND definded explictly, and dsspcmbi
without '-ssa' will treat all CYS as 'C'. No modification.
That's why I think this module would need some modification. :)
Best Regards,
--
Zhiqiang Ye