mailRe: Accounting for N1 and N3 CSA differences in RNA


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by Edward d'Auvergne on September 28, 2006 - 18:48:
Unfortunately this approach won't work.  You would need to create an
additional loop where you loop through the residues (in the future
maybe data sets) and set the value on a per residue basis.  You would
need something like:

            value.set(name, 1.01 * 1e-10, 'bond_length')

            # Loop over the sequence.
            for residue in self.relax.data.res:
                # Guanium.
                if residue.name == 'G':
                    value.set(name,- 130 * 1e-6, 'csa',
res_num=residue.num, res_name=residue.name)

                # Uracil.
                if residue.name == 'U':
                    value.set(name, -100 * 1e-6, 'csa',
res_num=residue.num, res_name=residue.name)


That should do the job. However a much more powerful approach would be to take this out of the hands of the user. This could be done by modifying the 'value.set()' user function to set values based on the residue name. Actually, I just checked the code - I implemented this feature years ago!!! That simplifies things, all you need to do is supply the residue name to the 'value.set()' function and it will set the values based on the name. The solution is therefore extremely basic:

            # Set the bond length.
            value.set(name, 1.01 * 1e-10, 'bond_length')

            # Set the NH CSA values of the four bases.
            value.set(name, - 130 * 1e-6, 'csa', res_name='G')
            value.set(name, - 100 * 1e-6, 'csa', res_name='U')

That's it!

Edward



On 9/29/06, Alexandar Hansen <viochemist@xxxxxxxxx> wrote:
As I was running the full_analysis.py for an RNA data set of U and G data, I
realized that it's trying to use the same CSA for each residue.  Looking
into the script, it would seem to be relatively easy to code the "set the
bond length and CSA values" section in such a way that it chooses a
different CSA value for the given residue types. Currently it's simply:

            value.set(name, 1.02 * 1e-10, 'bond_length')
            value.set(name, -170 * 1e-6, 'csa')

to modify this for RNA, could one edit it to say:

            value.set(name, 1.01 * 1e-10, 'bond_length')
            if residuename = G
                value.set(name, -130 * 1e-6, 'csa')
            else if residuename = U
                value.set(name, -100 * 1e-6, 'csa')

Am I overtrivializing this, or should it be pretty straight forward?


Alex Hansen


_______________________________________________ relax (http://nmr-relax.com)

This is the relax-users mailing list
relax-users@xxxxxxx

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-users






Related Messages


Powered by MHonArc, Updated Thu Sep 28 20:00:47 2006