Giter VIP home page Giter VIP logo

Comments (8)

drroe avatar drroe commented on September 5, 2024

. My DNA is 70 bp long, but I do get as amount of major grooves around 64, which is way too much compared to my DNA strand.

The major/minor groove width calculations are with respect to each base pair, so you will get a value for every base pair (if using the simple phosphate distance calculation) or every non-terminal base pair (if using the El Hassan/Calladine calculation), so out of 70 potential base pairs, getting 64 major groove values seems reasonable (there's likely some end-terminal fraying). The cpptraj manual entry for nastruct has more details (and references) on how the calculations are performed.
Does this help clear things up?

from pytraj.

cloudella48 avatar cloudella48 commented on September 5, 2024

yeah! thanks a lot !

from pytraj.

cloudella48 avatar cloudella48 commented on September 5, 2024

Hi there :)
as you`ve helped me so nicely last time.. I have another question:
I am calculating major grooves for my DNA but I have notices that the program calculates the distances in a wrong way. I have one basepair missing and one kind of doubled, but not really: (433 is missing)
'437A502T',)
('438C500T',),
('438C501G',),
('439A500T',),
('440G499C',

I have notived this, because in the arrays of these basepairs, the value is often equal to zero, but not always.
image
There is another line, that seems wired to me, but I have not figured out why this happens so far, it is a random line
It would be great to know how this wrong calculation is produced and how one can fix it.. Can someone help me?

from pytraj.

drroe avatar drroe commented on September 5, 2024

The CPPTRAJ (the code that pytraj uses on the back-end) manual describes how the nastruct command determines base pairing:

Base pairs are determined either once from the �rst frame or from a reference
structure, or can be determined each frame if allframes is speci�ed. Base
pairing is determined �rst by base reference axis origin distance, then by stagger,
then by angle between base Z axes, then �nally by hydrogen bonding (at least
one hydrogen bond must be present). Base pair parameters will only be written
for determined base pairs.

So if you're using the default base pairing mode (which uses the first frame to determine base pairs) and a potential base pair does not meet the base pairing criteria, the parameters for that will not be calculated. I'm not sure if pytraj has the equivalent of the cpptraj allframes option yet to determine base pairing at every frame (@hainm would know better).

from pytraj.

hainm avatar hainm commented on September 5, 2024

I'm not sure if pytraj has the equivalent of the cpptraj allframes option yet to determine base pairing at every frame (@hainm would know better).

pytraj does not support that yet. But user can trick pytraj by specifying it in pucker_method argument

pytraj.nastruc(..., pucker_method='altona allframes')

@cloudella48 I have not tested the code yet so please give it a try.

from pytraj.

cloudella48 avatar cloudella48 commented on September 5, 2024

When using the pucker_method flag I get more basepairs than I actually have in my DNA (verses the end there are completely random combinations and the two basepairs are still missing (they are always the same). Regarding the calculations I have another question because the values for major groove calculation are always around 19-20 (in the example in the documentation, too) but I know that major groove width in DNA is normally around 12-13 Angstrom or the length of a groove around 22 Angstrom. I know it is the distance in between the P atoms which is calculated but anyhow, then it is not exactly the width, is it? And do you know in what units it is calculated?
Something, which might be good for you to know: I do not see the random values = 0.00 anymore, when using the pucker_method flag (only the random basepairs)

image

from pytraj.

cloudella48 avatar cloudella48 commented on September 5, 2024

Hi there... another issue I am facing now.. when I use the allframes version and delete the columns which are randomly attached in the end I will get different output values for both versions. SO the calculation is random and does not match one version with the other. I guess this is not normal ?

from pytraj.

hainm avatar hainm commented on September 5, 2024

Dear @cloudella48,

to make sure, please use cpptraj directly to see if the results from pytraj is reasonable or not: https://amberhub.chpc.utah.edu/analisis-of-nucleic-acid-simulation/

(please search for nastruct)

from pytraj.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.