[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[modeller_usage] Re: Missing Residues at the Start, As Well As in the Middle, of the Sequence of a Chain



*https://salilab.org/modeller/wiki/Missing_residues
<https://salilab.org/modeller/wiki/Missing_residues>*

On Wed, May 29, 2024 at 8:57 AM Joel Subach <>
wrote:

> Hi Siddhartha I hope your well:).
>
> I superficially scanned your inquiry and I successfully completed missing
> residue modeling via Modeller via the below link,
> accordingly if you follow this link step-by-step you should be able to
> successfully build these missing residues (if you try it
> maybe again and it does not function feel free to inquire further and I
> will assist-you:).)
>
> Best,
> Joel 
>
> On Wed, May 29, 2024 at 8:49 AM Siddhartha Barua via modeller_usage <
> > wrote:
>
>> Dear Modeller Discussion Forum Members,
>>
>> I am trying to repair Chain B in the RCSB PDB 5BS8. 5BS8's structure is
>> that of DNA gyrase (from Mycobacterium tuberculosis). I used the example
>> scripts, for filling in missing residues with Modeller, which were given at
>> the URL https://salilab.org/modeller/wiki/Missing_residues (in Modeller
>> Wiki), as well as the "basic-example" tutorial at the main Modeller
>> website, and a YouTube tutorial video for guidance. *Chain B contains 2
>> missing residues at the start of the sequence associated with the chain in
>> the PDB file- S423 and N424. Thereafter, it contains the sequence
>> "A(425)LVRRK(430)" (with atom records/coordinates) and then a stretch of 6
>> missing residues- "S(431)ATDIG(436)". *I used the first script given at
>> the abovementioned URL to generate a sequence file extracted from the PDB. *I
>> then used the following as my alignment file (using the NCBI RefSeq
>> (NP_214519.2) for Mycobacterium tuberculosis gyrB (DNA Gyrase subunit B):*
>>
>> >P1;5bs8
>> structure:5bs8.pdb:FIRST:B:LAST:B:DNA Gyrase:::
>>
>> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ALVRRK------GLPGKLADCRSTDPRKSELYVVEGDSAGGSAKSGRDSMFQAILPLRGKIINVEKARIDRVLKNTEVQAIITALGTGIHDEFDIGKLRYHKIVLMADADVDGQHISTLLLTLLFRFMRPLIENGHVFLAQPPLYKLKWQRSDPEFAYSDRERDGLLEAGLKAGKKINKEDGIQRYKGLGEMDAKELWETTMDPSVRVLRQVTLDDAAAADELFSILMGEDVDARRSFITRNAKDVRFLDV*
>>
>> >P1;5bs8B_fill
>> sequence:::::::::
>>
>> MAAQKKKAQDEYGAASITILEGLEAVRKRPGMYIGSTGERGLHHLIWEVVDNAVDEAMAGYATTVNVVLLEDGGVEVADDGRGIPVATHASGIPTVDVVMTQLHAGGKFDSDAYAISGGLHGVGVSVVNALSTRLEVEIKRDGYEWSQVYEKSEPLGLKQGAPTKKTGSTVRFWADPAVFETTEYDFETVARRLQEMAFLNKGLTINLTDERVTQDEVVDEVVSDVAEAPKSASERAAESTAPHKVKSRTFHYPGGLVDFVKHINRTKNAIHSSIVDFSGKGTGHEVEIAMQWNAGYSESVHTFANTINTHEGGTHEEGFRSALTSVVNKYAKDRKLLKDKDPNLTGDDIREGLAAVISVKVSEPQFEGQTKTKLGNTEVKSFVQKVCNEQLTHWFEANPTDAKVVVNKAVSSAQARIAARKARELVRRKSATDIGGLPGKLADCRSTDPRKSELYVVEGDSAGGSAKSGRDSMFQAILPLRGKIINVEKARIDRVLKNTEVQAIITALGTGIHDEFDIGKLRYHKIVLMADADVDGQHISTLLLTLLFRFMRPLIENGHVFLAQPPLYKLKWQRSDPEFAYSDRERDGLLEAGLKAGKKINKEDGIQRYKGLGEMDAKELWETTMDPSVRVLRQVTLDDAAAADELFSILMGEDVDARRSFITRNAKDVRFLDV*
>> *I used the following as the script to run AutoModel to model only the
>> selected residues:*
>>
>> from modeller import *
>> from modeller.automodel import *    # Load the AutoModel class
>>
>> log.verbose()
>> env = Environ()
>>
>> # directories for input atom files
>> env.io.atom_files_directory = ['.', '../atom_files']
>>
>> class MyModel(AutoModel):
>>     def select_atoms(self):
>>         return Selection(self.residue_range('431:B', '436:B'))
>>
>> a = MyModel(env, alnfile = '5bs8_B-alignment.ali',
>>             knowns = '5bs8', sequence = '5bs8B_fill')
>> a.starting_model= 1
>> a.ending_model  = 1
>>
>> *This then raised the following error:*
>>
>>     return Selection(self.residue_range('431:B', '436:B'))
>>                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>   File "C:\Program Files
>> (x86)\Modeller10.5\modlib\modeller\coordinates.py", line 385, in
>> residue_range
>>     start = self.residues[start]._num
>>             ~~~~~~~~~~~~~^^^^^^^
>>   File "C:\Program Files
>> (x86)\Modeller10.5\modlib\modeller\coordinates.py", line 302, in __getitem__
>>     ret = modutil.handle_seq_indx(self, indx, self.mdl._indxres,
>>           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>   File "C:\Program Files
>> (x86)\Modeller10.5\modlib\modeller\util\modutil.py", line 24, in
>> handle_seq_indx
>>     int_indx = lookup_func(*args)
>>                ^^^^^^^^^^^^^^^^^^
>>   File "C:\Program Files
>> (x86)\Modeller10.5\modlib\modeller\coordinates.py", line 379, in _indxres
>>     self._report_bad_index(indx, suffix, "residue", 0)
>>   File "C:\Program Files
>> (x86)\Modeller10.5\modlib\modeller\coordinates.py", line 372, in
>> _report_bad_index
>>     raise KeyError("No such %s: %s" % (indxtyp, indx))
>> *KeyError: 'No such residue: 431:B'*
>>
>> Next, I tried to run it again after deleting the 424 "-"s that preceded
>> the sequence in the structure-associated sequence portion of the alignment
>> file
>> (>P1;5bs8
>> structure:5bs8.pdb:FIRST:B:LAST:B:DNA Gyrase:::) and replacing them with
>> 2 "-"s for S423 and N424 and the again, without these 2 preceding "-"s.
>> Both times, I then got the same error:
>> (...... *KeyError: 'No such residue: 431:B'*)
>>
>> *Please advise me on how to fill in missing residues for a chain that (a)
>> has coordinates only for a middle portion/domain of the entire possible
>> sequence (for the full-length protein) (because only the middle
>> portion/domain was crystallised and subjected to X-ray crystallography,
>> say) and (b) has missing residues at the start of this chain (due to high
>> B-factors, say) with respect to the sequence that is associated with the
>> solved structure of the chain in question (as can be seen in PDB viewer
>> softwares such as UCSF Chimera) (e.g.: chain B of RCSB PDB 5BS8).*
>>
>> Thanks, and regards,
>> Siddhartha A. Barua, Ph.D.
>> --
>> Siddhartha A. Barua, Ph.D.
>> Mb.: +91 7777093994
>> _______________________________________________
>> modeller_usage mailing list
>> 
>> https://salilab.org/mm/postorius/lists/modeller_usage.salilab.org/
>
>


https://salilab.org/modeller/wiki/Missing_residues

On Wed, May 29, 2024 at 8:57â?¯AM Joel Subach <">> wrote:
Hi Siddhartha I hope your well:).

I superficially scanned your inquiry and I successfully completed missing residue modeling via Modeller via the below link,
accordingly if you follow this link step-by-step you should be able to successfully build these missing residues (if you try it
maybe again and it does not function feel free to inquire further and I will assist-you:).)

Best,
Joel ð???

On Wed, May 29, 2024 at 8:49â?¯AM Siddhartha Barua via modeller_usage <" target="_blank">> wrote:
Dear Modeller Discussion Forum Members,

I am trying to repair Chain B in the RCSB PDB 5BS8. 5BS8's structure is that of DNA gyrase (from Mycobacterium tuberculosis). I used the example scripts, for filling in missing residues with Modeller, which were given at the URL https://salilab.org/modeller/wiki/Missing_residues (in Modeller Wiki), as well as the "basic-example" tutorial at the main Modeller website, and a YouTube tutorial video for guidance. Chain B contains 2 missing residues at the start of the sequence associated with the chain in the PDB file- S423 and N424. Thereafter, it contains the sequence "A(425)LVRRK(430)" (with atom records/coordinates) and then a stretch of 6 missing residues- "S(431)ATDIG(436)". I used the first script given at the abovementioned URL to generate a sequence file extracted from the PDB. I then used the following as my alignment file (using the NCBI RefSeq (NP_214519.2) for Mycobacterium tuberculosis gyrB (DNA Gyrase subunit B):

>P1;5bs8
structure:5bs8.pdb:FIRST:B:LAST:B:DNA Gyrase:::
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ALVRRK------GLPGKLADCRSTDPRKSELYVVEGDSAGGSAKSGRDSMFQAILPLRGKIINVEKARIDRVLKNTEVQAIITALGTGIHDEFDIGKLRYHKIVLMADADVDGQHISTLLLTLLFRFMRPLIENGHVFLAQPPLYKLKWQRSDPEFAYSDRERDGLLEAGLKAGKKINKEDGIQRYKGLGEMDAKELWETTMDPSVRVLRQVTLDDAAAADELFSILMGEDVDARRSFITRNAKDVRFLDV*

>P1;5bs8B_fill
sequence:::::::::
MAAQKKKAQDEYGAASITILEGLEAVRKRPGMYIGSTGERGLHHLIWEVVDNAVDEAMAGYATTVNVVLLEDGGVEVADDGRGIPVATHASGIPTVDVVMTQLHAGGKFDSDAYAISGGLHGVGVSVVNALSTRLEVEIKRDGYEWSQVYEKSEPLGLKQGAPTKKTGSTVRFWADPAVFETTEYDFETVARRLQEMAFLNKGLTINLTDERVTQDEVVDEVVSDVAEAPKSASERAAESTAPHKVKSRTFHYPGGLVDFVKHINRTKNAIHSSIVDFSGKGTGHEVEIAMQWNAGYSESVHTFANTINTHEGGTHEEGFRSALTSVVNKYAKDRKLLKDKDPNLTGDDIREGLAAVISVKVSEPQFEGQTKTKLGNTEVKSFVQKVCNEQLTHWFEANPTDAKVVVNKAVSSAQARIAARKARELVRRKSATDIGGLPGKLADCRSTDPRKSELYVVEGDSAGGSAKSGRDSMFQAILPLRGKIINVEKARIDRVLKNTEVQAIITALGTGIHDEFDIGKLRYHKIVLMADADVDGQHISTLLLTLLFRFMRPLIENGHVFLAQPPLYKLKWQRSDPEFAYSDRERDGLLEAGLKAGKKINKEDGIQRYKGLGEMDAKELWETTMDPSVRVLRQVTLDDAAAADELFSILMGEDVDARRSFITRNAKDVRFLDV*
I used the following as the script to run AutoModel to model only the selected residues:

from modeller import *
from modeller.automodel import *    # Load the AutoModel class

log.verbose()
env = Environ()

# directories for input atom files
env.io.atom_files_directory = ['.', '../atom_files']

class MyModel(AutoModel):
    def select_atoms(self):
        return Selection(self.residue_range('431:B', '436:B'))

a = MyModel(env, alnfile = '5bs8_B-alignment.ali',
            knowns = '5bs8', sequence = '5bs8B_fill')
a.starting_model= 1
a.ending_model  = 1

This then raised the following error:

    return Selection(self.residue_range('431:B', '436:B'))
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files (x86)\Modeller10.5\modlib\modeller\coordinates.py", line 385, in residue_range
    start = self.residues[start]._num
            ~~~~~~~~~~~~~^^^^^^^
  File "C:\Program Files (x86)\Modeller10.5\modlib\modeller\coordinates.py", line 302, in __getitem__
    ret = modutil.handle_seq_indx(self, indx, self.mdl._indxres,
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files (x86)\Modeller10.5\modlib\modeller\util\modutil.py", line 24, in handle_seq_indx
    int_indx = lookup_func(*args)
               ^^^^^^^^^^^^^^^^^^
  File "C:\Program Files (x86)\Modeller10.5\modlib\modeller\coordinates.py", line 379, in _indxres
    self._report_bad_index(indx, suffix, "residue", 0)
  File "C:\Program Files (x86)\Modeller10.5\modlib\modeller\coordinates.py", line 372, in _report_bad_index
    raise KeyError("No such %s: %s" % (indxtyp, indx))
KeyError: 'No such residue: 431:B'

Next, I tried to run it again after deleting the 424 "-"s that preceded the sequence in the structure-associated sequence portion of the alignment file
(>P1;5bs8
structure:5bs8.pdb:FIRST:B:LAST:B:DNA Gyrase:::) and replacing them with 2 "-"s for S423 and N424 and the again, without these 2 preceding "-"s. Both times, I then got the same error:
(...... KeyError: 'No such residue: 431:B')

Please advise me on how to fill in missing residues for a chain that (a) has coordinates only for a middle portion/domain of the entire possible sequence (for the full-length protein) (because only the middle portion/domain was crystallised and subjected to X-ray crystallography, say) and (b) has missing residues at the start of this chain (due to high B-factors, say) with respect to the sequence that is associated with the solved structure of the chain in question (as can be seen in PDB viewer softwares such as UCSF Chimera) (e.g.: chain B of RCSB PDB 5BS8).

Thanks, and regards,
Siddhartha A. Barua, Ph.D. 
--
Siddhartha A. Barua, Ph.D.
Mb.: +91 7777093994
_______________________________________________
modeller_usage mailing list
" target="_blank">
https://salilab.org/mm/postorius/lists/modeller_usage.salilab.org/