FASTA File

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

FASTA File

Joshua Barnett
Everyone,

I have a question concerning using openbabel to convert a fasta file to another file type. In particular, I want to know which file under the current release (2.4.1) is responsible for doing translation. I thought that the file responsible for this was under openbabel-2.4.1/src/formats/fastaformat.cpp however despite any modifications I make, it doesn't seem to reflected when running "babel" or "obabel" to do the conversion. For instance, I went as far as to include kill signals in the code itself to see if it was even running along with trying to output to the terminal. Doing this had no effect on running "obabel" or "babel" even though I was using fasta format as the input format (i.e. ./babel -ifa a.fa -opdb a.pdb) after recompiling. I ask because I want to change the behavior of how fasta interprets strings (for instance, making it sensitive to case).

Could anyone provide me some wisdom in locating the file that is actually responsible for doing the conversion in fasta? I can't seem to find it.

Thanks!

Joshua

 

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
OpenBabel-Devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openbabel-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: FASTA File

Geoff Hutchison
> Doing this had no effect on running "obabel" or "babel" even though I was using fasta format as the input format (i.e. ./babel -ifa a.fa -opdb a.pdb) after recompiling. I ask because I want to change the behavior of how fasta interprets strings (for instance, making it sensitive to case).


That's the file. Remember that Open Babel is a compiled code, so you have to make changes and re-compile (and potentially re-run "make install").

Hope that helps,
-Geoff
------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
OpenBabel-Devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openbabel-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: FASTA File

Noel O'Boyle
Administrator
Also, you may have obabel installed on your system, so make sure to
use "./obabel" if it's in the current folder, and "which obabel" to
determine the path.

- Noel

On 14 November 2016 at 04:06, Geoffrey Hutchison
<[hidden email]> wrote:

>> Doing this had no effect on running "obabel" or "babel" even though I was using fasta format as the input format (i.e. ./babel -ifa a.fa -opdb a.pdb) after recompiling. I ask because I want to change the behavior of how fasta interprets strings (for instance, making it sensitive to case).
>
>
> That's the file. Remember that Open Babel is a compiled code, so you have to make changes and re-compile (and potentially re-run "make install").
>
> Hope that helps,
> -Geoff
> ------------------------------------------------------------------------------
> Developer Access Program for Intel Xeon Phi Processors
> Access to Intel Xeon Phi processor-based developer platforms.
> With one year of Intel Parallel Studio XE.
> Training and support from Colfax.
> Order your platform today. http://sdm.link/xeonphi
> _______________________________________________
> OpenBabel-Devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/openbabel-devel

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
OpenBabel-Devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openbabel-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Proline Bond Lists

Nicholas.Browning
Dear All,

I've noticed a problem with OB's internal representation of Proline. It's essentially missing a bond. Here's a bonds list of a PDB containing a single, standard Proline:

vector<OBBond*> resbonds = res->GetBonds(false);

cout << "---BONDS---" << endl;

for (int b = 0; b < resbonds.size(); b++)
{
    OBAtom* beginAtom = resbonds[b]->GetBeginAtom();
    OBAtom* endAtom = resbonds[b]->GetEndAtom();
    cout << res->GetAtomID(beginAtom) << "---" << res->GetAtomID(endAtom) << endl;
}

---BONDS---
 CA --- N  
 N  --- CD
 CD --- HD2
 CD --- HD3
 CB --- CG
 HG3--- CG
 CG --- HG2
 HB3--- CB
 CA --- CB
 CB --- HB2
 HA --- CA
 CA --- C  
 C  --- O

As you can see, CD - CG is missing. This is important to fix, as anycode trying to modify Psi/Phi angles through SetTorsion(...) will inherently break for Prolines.

Cheers,

Nick

PS: Below is the Proline PDB entry. Excuse the formatting, outlook does not like copypasta.

ATOM     13  N   PRO     2      18.343  22.469   0.670                       N
ATOM     14  CD  PRO     2      18.562  21.226   1.430                       C
ATOM     15  HD2 PRO     2      18.753  22.245   1.765                       H
ATOM     16  HD3 PRO     2      19.309  20.557   1.858                       H
ATOM     17  CG  PRO     2      17.148  20.774   1.723                       C
ATOM     18  HG2 PRO     2      16.438  20.207   2.325                       H
ATOM     19  HG3 PRO     2      18.078  20.213   1.634                       H
ATOM     20  CB  PRO     2      16.526  21.128   0.228                       C
ATOM     21  HB2 PRO     2      15.701  21.008   0.929                       H
ATOM     22  HB3 PRO     2      16.205  20.816  -0.766                       H
ATOM     23  CA  PRO     2      16.959  22.548   0.197                       C
ATOM     24  HA  PRO     2      16.973  22.781  -0.868                       H
ATOM     25  C   PRO     2      16.177  23.607   0.933                       C
ATOM     26  O   PRO     2      16.455  23.874   2.099                       O

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
_______________________________________________
OpenBabel-Devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openbabel-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Proline Bond Lists

Nicholas.Browning
Bump!

Here is a very dirty fix. Torsion changes across any bond in proline will rotate the corresponding atoms properly.

Nick

void createSingleBond(OBMol& mol, OBAtom * start, OBAtom * end) {
        OBBond *bond = mol.NewBond();
        bond->SetBegin(start);
        bond->SetEnd(end);
        bond->SetBondOrder(1);
        start->AddBond(bond);
        end->AddBond(bond);
        double dist = start->GetDistance(end);
        bond->SetLength(dist);
        cout << "New bond length: " << dist << endl;
}

OBAtom * getAtomByAtomID(OBResidue *res, string type) {
        for (OBAtom * atom : res->GetAtoms()) {
                string atomID = res->GetAtomID(atom);
                boost::trim(atomID);
                if (atomID == type) {
                        return atom;
                }
        }
        return NULL;
}

void fixProlines(OBMol & mol) {
        for (int a = 0; a < mol.NumResidues(); a++) {
                OBResidue* res = mol.GetResidue(a);

                if (res->GetName() == "PRO") {
                        std::vector<OBBond *> bonds = res->GetBonds(false);

                        OBAtom * CA = getAtomByAtomID(res, "CA");
                        OBAtom * CB = getAtomByAtomID(res, "CB");
                        OBAtom * CG = getAtomByAtomID(res, "CG");
                        OBAtom * CD = getAtomByAtomID(res, "CD");

                        if (CA == NULL || CB == NULL || CG == NULL || CD == NULL) {
                                cout
                                                << "Cannot find proline ring carbons! Torsion updates will not work."
                                                << endl;
                                cout << CA << " " << CB << " " << CG << " " << CD << endl;
                                return;
                        }
                        string names[4] = { "CA", "CB", "CG", "CD" };
                        OBAtom connect[4] = { CA, CB, CG, CD };

                        for (int a = 0; a < 3; a++) {
                                if (!connect[a]->IsConnected(connect[a + 1])) {

                                        cout << names[a] << " and " << names[a + 1]
                                                        << " are not connected in OBMol, connecting."
                                                        << endl;

                                        createSingleBond(mol, connect[a], connect[a + 1]);
                                }
                        }
                }
        }
}
________________________________________
From: Browning Nicholas John
Sent: Thursday, January 12, 2017 6:53 PM
To: [hidden email]
Subject: Proline Bond Lists

Dear All,

I've noticed a problem with OB's internal representation of Proline. It's essentially missing a bond. Here's a bonds list of a PDB containing a single, standard Proline:

vector<OBBond*> resbonds = res->GetBonds(false);

cout << "---BONDS---" << endl;

for (int b = 0; b < resbonds.size(); b++)
{
    OBAtom* beginAtom = resbonds[b]->GetBeginAtom();
    OBAtom* endAtom = resbonds[b]->GetEndAtom();
    cout << res->GetAtomID(beginAtom) << "---" << res->GetAtomID(endAtom) << endl;
}

---BONDS---
 CA --- N
 N  --- CD
 CD --- HD2
 CD --- HD3
 CB --- CG
 HG3--- CG
 CG --- HG2
 HB3--- CB
 CA --- CB
 CB --- HB2
 HA --- CA
 CA --- C
 C  --- O

As you can see, CD - CG is missing. This is important to fix, as anycode trying to modify Psi/Phi angles through SetTorsion(...) will inherently break for Prolines.

Cheers,

Nick

PS: Below is the Proline PDB entry. Excuse the formatting, outlook does not like copypasta.

ATOM     13  N   PRO     2      18.343  22.469   0.670                       N
ATOM     14  CD  PRO     2      18.562  21.226   1.430                       C
ATOM     15  HD2 PRO     2      18.753  22.245   1.765                       H
ATOM     16  HD3 PRO     2      19.309  20.557   1.858                       H
ATOM     17  CG  PRO     2      17.148  20.774   1.723                       C
ATOM     18  HG2 PRO     2      16.438  20.207   2.325                       H
ATOM     19  HG3 PRO     2      18.078  20.213   1.634                       H
ATOM     20  CB  PRO     2      16.526  21.128   0.228                       C
ATOM     21  HB2 PRO     2      15.701  21.008   0.929                       H
ATOM     22  HB3 PRO     2      16.205  20.816  -0.766                       H
ATOM     23  CA  PRO     2      16.959  22.548   0.197                       C
ATOM     24  HA  PRO     2      16.973  22.781  -0.868                       H
ATOM     25  C   PRO     2      16.177  23.607   0.933                       C
ATOM     26  O   PRO     2      16.455  23.874   2.099                       O

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
OpenBabel-Devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openbabel-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Proline Bond Lists

Nicholas.Browning
Bump Bump!

Sorry, small error in the loop variable labels. Here is the correct version:

void createSingleBond(OBMol& mol, OBAtom * start, OBAtom * end) {
        OBBond *bond = mol.NewBond();
        bond->SetBegin(start);
        bond->SetEnd(end);
        bond->SetBondOrder(1);
        start->AddBond(bond);
        end->AddBond(bond);
        double dist = start->GetDistance(end);
        bond->SetLength(dist);
        cout << "New bond length: " << dist << endl;
}

OBAtom * MoleculeBuilder::getAtomByAtomID(OBResidue *res, string type) {
        for (OBAtom * atom : res->GetAtoms()) {
                string atomID = res->GetAtomID(atom);
                boost::trim(atomID);
                if (atomID == type) {
                        return atom;
                }
        }
        return NULL;
}

void MoleculeBuilder::fixProlines(OBMol & mol) {
        for (int a = 0; a < mol.NumResidues(); a++) {
                OBResidue* res = mol.GetResidue(a);

                if (res->GetName() == "PRO") {
                        std::vector<OBBond *> bonds = res->GetBonds(false);

                        OBAtom * CA = getAtomByAtomID(res, "CA");
                        OBAtom * CB = getAtomByAtomID(res, "CB");
                        OBAtom * CG = getAtomByAtomID(res, "CG");
                        OBAtom * CD = getAtomByAtomID(res, "CD");

                        if (CA == NULL || CB == NULL || CG == NULL || CD == NULL) {
                                cout
                                                << "Cannot find proline ring carbons! Torsion updates will not work."
                                                << endl;
                                cout << CA << " " << CB << " " << CG << " " << CD << endl;
                                return;
                        }
                        string names[4] = { "CA", "CB", "CG", "CD" };
                        OBAtom connect[4] = { CA, CB, CG, CD };

                        for (int b = 0; b < 3; b++) {
                                if (!connect[b]->IsConnected(connect[b + 1])) {

                                        cout << names[b] << " and " << names[b + 1]
                                                        << " are not connected in OBMol, connecting."
                                                        << endl;

                                        createSingleBond(mol, connect[b], connect[b + 1]);
                                }
                        }
                }
        }
}
________________________________________
From: Browning Nicholas John
Sent: Thursday, January 19, 2017 6:29 PM
To: [hidden email]
Subject: Re: Proline Bond Lists

Bump!

Here is a very dirty fix. Torsion changes across any bond in proline will rotate the corresponding atoms properly.

Nick

void createSingleBond(OBMol& mol, OBAtom * start, OBAtom * end) {
        OBBond *bond = mol.NewBond();
        bond->SetBegin(start);
        bond->SetEnd(end);
        bond->SetBondOrder(1);
        start->AddBond(bond);
        end->AddBond(bond);
        double dist = start->GetDistance(end);
        bond->SetLength(dist);
        cout << "New bond length: " << dist << endl;
}

OBAtom * getAtomByAtomID(OBResidue *res, string type) {
        for (OBAtom * atom : res->GetAtoms()) {
                string atomID = res->GetAtomID(atom);
                boost::trim(atomID);
                if (atomID == type) {
                        return atom;
                }
        }
        return NULL;
}

void fixProlines(OBMol & mol) {
        for (int a = 0; a < mol.NumResidues(); a++) {
                OBResidue* res = mol.GetResidue(a);

                if (res->GetName() == "PRO") {
                        std::vector<OBBond *> bonds = res->GetBonds(false);

                        OBAtom * CA = getAtomByAtomID(res, "CA");
                        OBAtom * CB = getAtomByAtomID(res, "CB");
                        OBAtom * CG = getAtomByAtomID(res, "CG");
                        OBAtom * CD = getAtomByAtomID(res, "CD");

                        if (CA == NULL || CB == NULL || CG == NULL || CD == NULL) {
                                cout
                                                << "Cannot find proline ring carbons! Torsion updates will not work."
                                                << endl;
                                cout << CA << " " << CB << " " << CG << " " << CD << endl;
                                return;
                        }
                        string names[4] = { "CA", "CB", "CG", "CD" };
                        OBAtom connect[4] = { CA, CB, CG, CD };

                        for (int a = 0; a < 3; a++) {
                                if (!connect[a]->IsConnected(connect[a + 1])) {

                                        cout << names[a] << " and " << names[a + 1]
                                                        << " are not connected in OBMol, connecting."
                                                        << endl;

                                        createSingleBond(mol, connect[a], connect[a + 1]);
                                }
                        }
                }
        }
}
________________________________________
From: Browning Nicholas John
Sent: Thursday, January 12, 2017 6:53 PM
To: [hidden email]
Subject: Proline Bond Lists

Dear All,

I've noticed a problem with OB's internal representation of Proline. It's essentially missing a bond. Here's a bonds list of a PDB containing a single, standard Proline:

vector<OBBond*> resbonds = res->GetBonds(false);

cout << "---BONDS---" << endl;

for (int b = 0; b < resbonds.size(); b++)
{
    OBAtom* beginAtom = resbonds[b]->GetBeginAtom();
    OBAtom* endAtom = resbonds[b]->GetEndAtom();
    cout << res->GetAtomID(beginAtom) << "---" << res->GetAtomID(endAtom) << endl;
}

---BONDS---
 CA --- N
 N  --- CD
 CD --- HD2
 CD --- HD3
 CB --- CG
 HG3--- CG
 CG --- HG2
 HB3--- CB
 CA --- CB
 CB --- HB2
 HA --- CA
 CA --- C
 C  --- O

As you can see, CD - CG is missing. This is important to fix, as anycode trying to modify Psi/Phi angles through SetTorsion(...) will inherently break for Prolines.

Cheers,

Nick

PS: Below is the Proline PDB entry. Excuse the formatting, outlook does not like copypasta.

ATOM     13  N   PRO     2      18.343  22.469   0.670                       N
ATOM     14  CD  PRO     2      18.562  21.226   1.430                       C
ATOM     15  HD2 PRO     2      18.753  22.245   1.765                       H
ATOM     16  HD3 PRO     2      19.309  20.557   1.858                       H
ATOM     17  CG  PRO     2      17.148  20.774   1.723                       C
ATOM     18  HG2 PRO     2      16.438  20.207   2.325                       H
ATOM     19  HG3 PRO     2      18.078  20.213   1.634                       H
ATOM     20  CB  PRO     2      16.526  21.128   0.228                       C
ATOM     21  HB2 PRO     2      15.701  21.008   0.929                       H
ATOM     22  HB3 PRO     2      16.205  20.816  -0.766                       H
ATOM     23  CA  PRO     2      16.959  22.548   0.197                       C
ATOM     24  HA  PRO     2      16.973  22.781  -0.868                       H
ATOM     25  C   PRO     2      16.177  23.607   0.933                       C
ATOM     26  O   PRO     2      16.455  23.874   2.099                       O

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
OpenBabel-Devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openbabel-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Proline Bond Lists

Geoff Hutchison
Sorry, small error in the loop variable labels. Here is the correct version:

I think my bigger question is "how are you getting here?" That is, are you reading a PDB file and the bonds aren't created correctly? Or are you reading in an XYZ file and perhaps bond perception and residue perception gets confused?

I can see you have workaround code, but it's not clear what the state of the molecule is prior to your problem. Normally bonds in residues are assigned through data/resdata.txt which does have the CD-CG bond:

RES PRO
ATOM CA C3 3
...
BOND CD CG 1

Thanks,
-Geoff

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
OpenBabel-Devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openbabel-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Proline Bond Lists

Nicholas.Browning

This is read in from a PDB file containing a normal PRO residue extracted from a larger protein. Going through the bond list iterator ​produces this:


---BONDS---
 CA --- N  
 N  --- CD 
 CD --- HD2
 CD --- HD3
 CB --- CG 
 HG3--- CG 
 CG --- HG2
 HB3--- CB 
 CA --- CB 
 CB --- HB2
 HA --- CA 
 CA --- C  
 C  --- O 




From: Geoffrey Hutchison <[hidden email]>
Sent: Thursday, January 19, 2017 7:56 PM
To: Browning Nicholas John
Cc: [hidden email]
Subject: Re: [OpenBabel-Devel] Proline Bond Lists
 
Sorry, small error in the loop variable labels. Here is the correct version:

I think my bigger question is "how are you getting here?" That is, are you reading a PDB file and the bonds aren't created correctly? Or are you reading in an XYZ file and perhaps bond perception and residue perception gets confused?

I can see you have workaround code, but it's not clear what the state of the molecule is prior to your problem. Normally bonds in residues are assigned through data/resdata.txt which does have the CD-CG bond:

RES PRO
ATOM CA C3 3
...
BOND CD CG 1

Thanks,
-Geoff

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
OpenBabel-Devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openbabel-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Proline Bond Lists

Geoff Hutchison
Can you send me the PDB file?

Thanks,
-Geoff

---
Prof. Geoffrey Hutchison
Department of Chemistry
University of Pittsburgh
tel: (412) 648-0492
email: [hidden email]
web: http://hutchison.chem.pitt.edu/

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
OpenBabel-Devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openbabel-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Proline Bond Lists

Stefano Forli
Nick,
if the PDB is the one you sent in your first email, it seems to have issues.

When I open it in a viewer, I can see several spurious multiple bonds involving the
hydrogens, which suggest that the structure is not optimal.

I suspect the bond detection by distance gets messed up because of that.
Have you found this issue with all prolines or just with this particular one?

S

On 01/19/2017 02:46 PM, Geoffrey Hutchison wrote:

> Can you send me the PDB file?
>
> Thanks,
> -Geoff
>
> ---
> Prof. Geoffrey Hutchison
> Department of Chemistry
> University of Pittsburgh
> tel: (412) 648-0492
> email: [hidden email]
> web: http://hutchison.chem.pitt.edu/
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> _______________________________________________
> OpenBabel-Devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/openbabel-devel
>

--

  Stefano Forli, PhD

  Assistant Professor of ISCB
  Molecular Graphics Laboratory

  Dept. of Integrative Structural
  and Computational Biology, MB-112A
  The Scripps Research Institute
  10550  North Torrey Pines Road
  La Jolla,  CA 92037-1000,  USA.

     tel: +1 (858)784-2055
     fax: +1 (858)784-2860
     email: [hidden email]
     http://www.scripps.edu/~forli/

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
OpenBabel-Devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openbabel-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Proline Bond Lists

Stefano Forli
I don't think it works this way, maybe somebody could confirm it.

When you load a PDB, coordinates are parsed and ConnectTheDots() generates bonds.
Then there is a function to clean up extra bonds that shouldn't be there, but I suspect
that if you already filled all valences with these weird dual-bond hydrogens, there is no
chance you're going to see the bonds you expect, no matter what the resdata.txt file contains.

You may want to test that particular structure after removing all hydrogens.

Also, if other prolines do not raise this issue, I would say that it's the structure
that's problematic.

If you want to work with non optimal/distorted structures, you want to move away from PDB
and use something different that defines an explicit connectivity table.

S



On 01/20/2017 01:32 PM, Browning Nicholas John wrote:

> The structure is a very poor one - but this shouldn't matter right? If the bonding information is pulled from resdata then everything should be bonded correctly without any inferred bonding distances.
>
> Nick
>
> Sent from my iPhone
>
>> On 20 Jan 2017, at 19:34, Stefano Forli <[hidden email]> wrote:
>>
>> Nick,
>> if the PDB is the one you sent in your first email, it seems to have issues.
>>
>> When I open it in a viewer, I can see several spurious multiple bonds involving the
>> hydrogens, which suggest that the structure is not optimal.
>>
>> I suspect the bond detection by distance gets messed up because of that.
>> Have you found this issue with all prolines or just with this particular one?
>>
>> S
>>
>>> On 01/19/2017 02:46 PM, Geoffrey Hutchison wrote:
>>> Can you send me the PDB file?
>>>
>>> Thanks,
>>> -Geoff
>>>
>>> ---
>>> Prof. Geoffrey Hutchison
>>> Department of Chemistry
>>> University of Pittsburgh
>>> tel: (412) 648-0492
>>> email: [hidden email]
>>> web: http://hutchison.chem.pitt.edu/
>>>
>>> ------------------------------------------------------------------------------
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>>> _______________________________________________
>>> OpenBabel-Devel mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/openbabel-devel
>>>
>>
>> --
>>
>>  Stefano Forli, PhD
>>
>>  Assistant Professor of ISCB
>>  Molecular Graphics Laboratory
>>
>>  Dept. of Integrative Structural
>>  and Computational Biology, MB-112A
>>  The Scripps Research Institute
>>  10550  North Torrey Pines Road
>>  La Jolla,  CA 92037-1000,  USA.
>>
>>     tel: +1 (858)784-2055
>>     fax: +1 (858)784-2860
>>     email: [hidden email]
>>     http://www.scripps.edu/~forli/
>>
>> ------------------------------------------------------------------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>> _______________________________________________
>> OpenBabel-Devel mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/openbabel-devel
>
>

--

  Stefano Forli, PhD

  Assistant Professor of ISCB
  Molecular Graphics Laboratory

  Dept. of Integrative Structural
  and Computational Biology, MB-112A
  The Scripps Research Institute
  10550  North Torrey Pines Road
  La Jolla,  CA 92037-1000,  USA.

     tel: +1 (858)784-2055
     fax: +1 (858)784-2860
     email: [hidden email]
     http://www.scripps.edu/~forli/

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
OpenBabel-Devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openbabel-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Proline Bond Lists

Geoff Hutchison
> I don't think it works this way, maybe somebody could confirm it.

Sorry that I didn't have a chance to respond yet. Bonding information is culled from OBResidueData, but ConnectTheDots is called later (e.g., in the frequent case that there are ligands or other non-residue atoms).

> Then there is a function to clean up extra bonds that shouldn't be there, but I suspect that if you already filled all valences with these weird dual-bond hydrogens, there is no
> chance you're going to see the bonds you expect, no matter what the resdata.txt file contains.

Certainly if there are weird valences, then ConnectTheDots will start removing bonds based - longest first.

> If you want to work with non optimal/distorted structures, you want to move away from PDB and use something different that defines an explicit connectivity table.

This is, indeed, ideal advice.

I can't see the "original PDB" file, only some small snippets. As I said, I'd prefer to debug the original file.

Thanks,
-Geoff
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
OpenBabel-Devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openbabel-devel
Loading...