Netiquette · Download · News · Gallery · Homepage · DSSR Manual · G-quadruplexes · DSSR-Jmol · DSSR-PyMOL · DSSR Licensing · Video Overview· RNA Covers

Author Topic: change one base pair in a double-strand DNA structure file  (Read 6282 times)

Offline sadsubway

  • with-posts
  • *
  • Posts: 2
    • View Profile
Dear sir,

  Thanks for applying the software of 3DNA. Due to my research, here are some questions for using 3DNA:

  Suppose there is a DNA double-strand structure file in PDB format , is there any possible to change just one base-pair in this structure file by 3DNA?

  For example, there is a base pair A-T in a DNA structure file. Now I want to replace the A-T base pair by T-A, C-G, or G-C in the A-T position.

  Due to some other reasons, I don't want to make any difference in the orthogonal coordinates information of other atoms. All I have to do is just replacing one base-pair in this structure file. Could 3DNA handle this case?

  Thanks for your answering!

Sincerely,
Chien-Ho
5/25, 2011

Offline xiangjun

  • Administrator
  • with-posts
  • *****
  • Posts: 1640
    • View Profile
    • 3DNA homepage
Re: change one base pair in a double-strand DNA structure fi
« Reply #1 on: May 25, 2011, 09:43:25 pm »
Hi Chien-Ho,

Thanks for using 3DNA, and for posting at this forum.

The question on mutating a DNA base (or base-pair) while keeping the backbone untouched has showed up a couple of time in this forum:
Follow the info there, and hopefully, your problem can be solved.


On the other hand, I have added a new component to 3DNA, named "mutate_bases" that does exactly this job. Moreover, it can be applied to RNA structures as well. The program is written in ASNI C, and is commandline-driven, as other major 3DNA components. It has been used internally for a while, and works as designed. If you or others would like to have a try, please post back here. Let me know what OS you use. I will consider to make "mutate_bases" partially available for 'testing' purpose before I include it in a later major 3DNA release (no date specified).

HTH,

Xiang-Jun
« Last Edit: May 11, 2020, 01:03:36 am by xiangjun »

Offline sadsubway

  • with-posts
  • *
  • Posts: 2
    • View Profile
Re: change one base pair in a double-strand DNA structure fi
« Reply #2 on: May 26, 2011, 10:18:34 pm »
Dear Dr. Xiang-Jun Lu,

  Thanks for your help!!

  Although the two topics in this forum could be well solutions of my problem, I still want to try the component "mutate_bases" for more experiments. Could you share the component with me please? The OS of my working server is Linux and my 3DNA is version 1.5.

  Thanks for your answer and sharing!

Sincerely,
Chien-Ho,
5/27, 2011

Offline xiangjun

  • Administrator
  • with-posts
  • *****
  • Posts: 1640
    • View Profile
    • 3DNA homepage
Re: change one base pair in a double-strand DNA structure fi
« Reply #3 on: May 27, 2011, 10:55:52 pm »
Quote from: Chien-Ho
Although the two topics in this forum could be well solutions of my problem, I still want to try the component "mutate_bases" for more experiments. Could you share the component with me please? The OS of my working server is Linux and my 3DNA is version 1.5.
Please upgrade your 3DNA to v2.0, by following "How to download 3DNA v2.0?". The program "mutate_bases" needs 3DNA v2.0 to run. For outside use, I am planning to clean up the code and test it further. Stay tuned ... hopefully I will be able to get the job done by early June.

Xiang-Jun
« Last Edit: May 11, 2020, 01:05:02 am by xiangjun »

Offline xiangjun

  • Administrator
  • with-posts
  • *****
  • Posts: 1640
    • View Profile
    • 3DNA homepage
Re: change one base pair in a double-strand DNA structure fi
« Reply #4 on: June 04, 2011, 11:16:50 pm »
Hi all,

I have finally made the programs ready for distribution. There are actually two variants as detailed below for mutating bases in a nucleic acid structure while keeping the sugar-phosphate backbone untouched. Both the mutate_bp Perl script for base-pair mutations and the more generic/efficient/robust ANSI C program mutate_bases possess the neat and indeed unique feature, i.e., the mutated structures share the same base-pair/step parameters as the original structure.

  • mutate_bp is a Perl script I first wrote a couple of years ago. Its usage is as follows:
    mutate_bp -m=bpNUM_BP input.pdb output.pdb

    The mutation string must be in the format of 'bpNUM_BP' where NUM is
        an integer for the base-pair to be mutated (check 'find_pair'),
        and BP is the desired base-pair. BP must be two letters from the
        set ACGTU; e.g. AT/TA/AU/UA/GC/CG for Watson-Crick pairs. Case
        does not matter (i.e., 'at' is the same as 'AT').

    e.g. mutate_bp -m=bp2_at 355d.pdb 355d_bp2at.pdb
           # mutate the second base-pair, G-C, to A-T in PDB entry 355d

    This script presumably should fulfill Chien-Ho's need, "change one base pair in a double-strand DNA structure file", as well as the two previous similar requests on this topic. Technically, the script makes (system) calls of various 3DNA (v2.0) programs (e.g., find_pair, analyze, rebuild, frame_mol etc.), and basically follows the procedures I outlined in response to "mutating DNA in DNA protein complex" (Oct. 2007).

    The mutate_bp Perl script is directly available for download. Simple save it to your $X3DNA/bin directory, and make sure it is executable (run chmod a+x mutate_bp if necessary). Interested users are encouraged to explore the source code and make changes as they see fit.


  • mutate_bases is a standalone ANSI C program, on a par with other major 3DNA programs (e.g., find_pair, analyze, rebuild, fiber etc). As seen from the help message below, it can be used for any nucleic-acid-containing structures (DNA, RNA, or their complexes, in PDB format):
    Usage: mutate_bases mutinfo pdbfile outfile
       'mutinfo' can contain upto 5 fields for each mutation:
           [name=residue_name] [icode=insertion_code]
           chain=chain_id seqnum=residue_number
           mutation=residue_name
       o The five fields per mutation can be in any order or CaSe
       o Each field can be abbreviated to its first character
       o Multiple mutations are separated by ';'
       o Fields in [] (i.e., name and icode) are optional
       o Mutation info should be QUOTED to be taken as one entry

    Examples:
        mutate_bases 'c=a s=2 m=DA' 355d.pdb 355d_G2A.pdb
       # mutate G2 in chain A of B-DNA 355d to A
        mutate_bases 'c=a s=2 m=DA; c=B s=23 m=DT' 355d.pdb 355d_GC2AT.pdb
       # mutate base-pair G-C (C23 in chain B) to A-T
        mutate_bases 'c=A s=74 m=U' 1evv.pdb 1evv_C74U.pdb
       # mutate C74 in chain A of tRNA 1evv to U

    mutate_bases is designed to solve the base mutation problem in a practical sense: robust and efficient, getting its job done and then out of the way. The program can have many possible applications: in addition to perform base-pair mutations in DNA-protein complexes as mutate_bp does, mutate_bases should prove handy in providing initial structures for QM/MM/MD energy calculations, and in RNA modeling studies.

    While mutate_bases is now fully functional, it is not intended for general release yet. Interested users should contact me directly for access to the program (Linux, Mac OSX Intel, and MinGW-MSYS binary versions only; 3DNA v2.0 required).

As always, I welcome users feedback; any questions and comments should be posted in this forum.

Xiang-Jun
« Last Edit: May 11, 2020, 01:13:21 am by xiangjun »

 

Created and maintained by Dr. Xiang-Jun Lu [律祥俊] (xiangjun@x3dna.org)
The Bussemaker Laboratory at the Department of Biological Sciences, Columbia University.