[Biopython] writing a PDB----PLEASEEEE HELP
Mitchell Stanton-Cook
m.stantoncook at gmail.com
Wed Oct 27 05:44:54 UTC 2010
Hi,
I was playing around with writing additional residues to PDB files using
biopython last week.
I've included a simple snippet that gives you the basic idea of adding
residues/atoms...
Mitch
for model in struct:
for chain in model:
for i in range(0, len(t_l)):
# create new residue
new_res = Residue(t_l[i], 'TSR', '')
for j in range(0, 4):
#populate the residue with atoms
cur_c = dat[i+fill+j]
new_at = Atom(n_l[j], cur_c, 0, 1, ' ',
n_l[j], \
int(str(90)+str(i)+str(j)),
element='X')
new_res.add(new_at)
fill = fill +3
chain.add(new_res)
# Add the residue to the chain
io=PDBIO()
io.set_structure(s1)
io.save(outname+'.pdb')
On 27/10/10 04:25, Eric Talevich wrote:
> Hi Martin,
>
> It sounds like VMD displays just one model at a time, unless you make a
> movie out of it. You could get around that by writing the two structures as
> two different chains within the same model.
>
> But if the goal is just to view two structures superimposed, you'd be better
> off scripting your molecular viewer of choice to do it for you.
>
> In PyMOL, to view 1ABC and 2XYZ (made up), write this to a file called
> 1ABC_vs_2XYZ.pml:
>
> # This is a generated PyMOL script
> load /path/to/1ABC.pdb, 1ABC
> load /path/to/2XYZ.pdb, 2XYZ
> align 1ABC, 2XYZ
>
> # Optional viewing tweaks
> hide all
> show cartoon, 1ABC
> show cartoon, 2XYZ
> reset
>
>
> Then launch the viewer from the command line:
> pymol 1ABC_vs_2XYZ.pml
>
> If the two structures don't have the same peptide sequence, you'll have
> better results with the "fit" function instead of "align":
> http://www.pymolwiki.org/index.php/Fit
>
> I know VMD has something similar, but I don't have an example offhand.
>
> Best,
> Eric
>
>
> On Tue, Oct 26, 2010 at 1:05 PM, martin djokovic
> <martin.djokovic at gmail.com>wrote:
>
>
>> Hello David and everyone else,
>>
>> Yes David at the moment I am actually doing that-formatting the PDB into 2
>> models then superimposing them.
>> Merging the structures when they are in 2 differant PDB files is not
>> working.
>> I tried the following:
>> from Bio.PDB.Model import Model
>> model1=Model(2ndModel)
>> structure1.add(model1)
>> Its not working-I think I might have to better understand the object
>> "structure"
>> Is there a better way to merge two structures? Else I will write the 2 pdb
>> files as models into a single PDB then superimpose.
>>
>> Another question-maybe some of you use VMD-if I open 1JOY in VMD I can only
>> see one of the models, I need to scroll using the scroll bar to see the
>> others-I cannot see them all at once.
>> So for running the warwick code and seeing its eefect I use RASMOL, is
>> there
>> a way to look at all the models in the same time without scrolling in VMD?
>> I
>> prefer VMD to RASMOL so just wondering about that.
>>
>> Thanks everyone foe all the help.
>>
>>
>> On Mon, Oct 25, 2010 at 11:49 AM, Lapointe, David<
>> David.Lapointe at umassmed.edu> wrote:
>>
>>
>>> Hi Martin,
>>>
>>> If you look at the PDB structure files based on NMR determinations,
>>>
>> you'll
>>
>>> see that they contain different models. Perhaps you can format the file
>>>
>> that
>>
>>> way. For example look at 2GDT.pdb
>>>
>>> David
>>>
>>> -----Original Message-----
>>> From: biopython-bounces at lists.open-bio.org [mailto:
>>> biopython-bounces at lists.open-bio.org] On Behalf Of Peter Cock
>>> Sent: Monday, October 25, 2010 11:33 AM
>>> To: martin djokovic
>>> Cc: biopython at lists.open-bio.org
>>> Subject: Re: [Biopython] writing a PDB----PLEASEEEE HELP
>>>
>>> On Mon, Oct 25, 2010 at 4:26 PM, martin djokovic
>>> <martin.djokovic at gmail.com> wrote:
>>>
>>>> Hi Peter,
>>>> I want a new PDB with structures A and B superimposed so that I can see
>>>>
>>> them
>>>
>>>> both at the same in the same file
>>>>
>>>> So at the end of the simulation/run I would have A and B (original)
>>>>
>> and
>>
>>> the
>>>
>>>> 'ans.pdb' with A as it was but B rotated and translated to be
>>>>
>>> superimposed
>>>
>>>> on A in the same PDB
>>>> I want to try this first simple superimposition but actually I want to
>>>> connect A and B together to make a longer strand
>>>> The last residue of A and first residue of B are the same so I can use
>>>>
>>> those
>>>
>>>> coordinates to rotate/translate B then connect to A
>>>> I can do that manually using SWISS PDB but I want to do it for many
>>>> structures and its time consuing.
>>>>
>>> Won't that mean there would be a duplicate residue? i.e. The last residue
>>> of A and first residue of B are the same thing, but would be in the file
>>> twice.
>>>
>>> Anyway - that basic idea is you must create a Bio.PDB structure object
>>> with both A and B in it (perhaps as two chains in the same model), then
>>> write that to the PDB file. The details depend on how you want to do
>>> the combination - there is more than one way to represent A and B
>>> in the same PDB file (quite separate from how to do it in Biopython).
>>>
>>> Peter
>>>
>>> P.S. You could trying writing out two separate PDB files and try simply
>>> concatenating them... it might do what you want.
>>>
>>> _______________________________________________
>>> Biopython mailing list - Biopython at lists.open-bio.org
>>> http://lists.open-bio.org/mailman/listinfo/biopython
>>>
>>>
>>>
>>> _______________________________________________
>>> Biopython mailing list - Biopython at lists.open-bio.org
>>> http://lists.open-bio.org/mailman/listinfo/biopython
>>>
>>>
>> _______________________________________________
>> Biopython mailing list - Biopython at lists.open-bio.org
>> http://lists.open-bio.org/mailman/listinfo/biopython
>>
>>
> _______________________________________________
> Biopython mailing list - Biopython at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/biopython
>
More information about the Biopython
mailing list