Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Netiquette · Download · News · Gallery · G-quadruplexes · DSSR-Jmol · DSSR-PyMOL · Video Overview · DSSR v2.7.0 (DSSR Manual) · Homepage

Messages - xiangjun

Pages: 1 ... 54 55 [56] 57 58 ... 66
1376
General discussions (Q&As) / Re: modelling ssDNA or ssRNA
« on: November 17, 2011, 07:38:23 am »
Hi Laura,

Thanks for your interest in 3DNA and for posting on the forum.

I understand what you mean, but I do not think 3DNA (or other tools I know of) can provide you with a straight answer. It all depends -- what specifically is your definition of "an extended conformation", i.e., "single strands without helical configurations"? If you have a starting model, mutate_bases and analyze/rebuild/frame_mol in 3DNA may help.

As always, I am willing to extend 3DNA in ways that make sense to me and are useful to the community. Currently, 3-dimensional nucleic acid structure modeling is one aspect I am interested in.

Xiang-Jun

1377
General discussions (Q&As) / Re: DNA Triple Helix Generation
« on: October 22, 2011, 09:46:05 am »
Hi Himanshu,

I know English is not my native language, but do you really have any problem in understanding my previous two replies to your questions in the thread?

I wish 3DNA could be helpful to your project. However, 3DNA has been designed for some specific purposes, and apparently it does not fit your need. Please check some other (docking) software, e.g., HADDOCK from Alexandre Bonvin. Good luck!

Xiang-Jun

1378
General discussions (Q&As) / Re: DNA Triple Helix Generation
« on: October 21, 2011, 07:18:38 am »
Hi Himanshu,
Quote from: "himanshu720"
Fig1.png(as attachment) : ... green ribbon shows single strand DNA which is ligand to dock in double stranded DNA. In the green ribbon there is intra-molecular bonding.
Thanks for attaching a PNG image illustrating the unusual "intramolecular bonding(backbone and nitrogen bases)". It is certainly clearer than pure text description. However, it would be even better if you provide the corresponding PDB file so others can easily visualize the problematic structure.

Quote
Can we ignore those bonds?
I do not know how you generated the structure, and for what purpose, thus I cannot offer any advice in this regard. The question appears not to be directly 3DNA-related. However, the image does show that the ssDNA is in poor geometry.

Xiang-Jun

1379
General discussions (Q&As) / Re: DNA Triple Helix Generation
« on: October 20, 2011, 07:01:55 am »
Hi Himanshu,

Thanks for posting at the 3DNA forum. Just to be clear, 3DNA does not perform DNA-DNA docking or any energy calculations.

Quote
But, the ssDNA show intramolecular bonding(backbone and nitrogen bases) which is un-usual.
Could you elaborate on it? Better with a specific example.

However, 3DNA does provide the following approach for DNA triplex creation which may be useful to your project:

  • Build a fiber model (e.g., #31) for Poly (U) : poly (A) : poly(U) (11-fold). Type "[mono:26cqmn7j]fiber -m[/mono:26cqmn7j]" for more info, and search the forum for related posts. Alternatively (or better), pick a related triplex structure from the PDB, or another source.
  • Perform base mutations (using [mono:26cqmn7j][red:26cqmn7j]mutate_bases[/red:26cqmn7j][/mono:26cqmn7j]) to your specific sequence. See thread "change one base pair in a double-strand DNA structure file".

Please note that the mutated triplexes may have steric clashes (atoms too close) or longer than ideal H-bonding geometry: they are intended as initial structures for refinement using any of the available energy calculation tools.

HTH,

Xiang-Jun

1380
General discussions (Q&As) / Re: 3DNA on 64 bit Linux (Ubuntu)
« on: October 19, 2011, 12:59:01 pm »
Quote from: "jrom"
I have a problem with running 3DNA on 64 bit Fedora. It says "can't execute the binary file" whenever I try to run any of the programs from 3DNA/bin directory. The PATH and X3DNA environmental variables are set correctly.
Is there a version of 3DNA for 64 bit Linux systems available?
Glad to know the detailed error message. With two cases, now it seems clear that the 32 bit version of 3DNA compiled in Ubuntu does not work in 64 bit machines.

Check email for download info of a 64-bit compiled version of 3DNA and report back if it work on your 64 bit Fedora.

Thanks for using 3DNA and posting in the forum.

Xiang-Jun

1381
MD simulations / Re: H-bonding information in MD analysis output
« on: October 04, 2011, 07:25:42 am »
Hi Andre,

Quote
I will try to work with the extract output and organise the data as you suggested. I guess I'm trying to make it easier to see the type of H-bond events that are occuring.
It makes sense. Over the years, 3DNA has been used in ways that are out of my original intention. As a principle, I won't add a 'feature' into 3DNA unless I fully understand it and can back it up when asked. Put another ways, feature-rich is not what 3DNA aims for, but quality is. This is where purpose-specific scripting comes into play, and such a skill is essential for a 'bioinformatican'.

Quote
I am not experienced in programing/scripting so it will be an interesting challenge. I'll post the script here if I'm successful as others may have a use for it.
We all learn from practice, and by making mistakes. I am willing to help you in the exercise: just put your script with a reproducible example here, then I (hopefully other viewers of the forum) can make suggestions. With several iterations, the problem will become clearer, and your script may well function for your needs. In retrospect, this is the most effective way to learn things, and I wish to have been guided this way. I aim to turn this forum into a 'educational' resource so that people with similar mind can share and benefit from each other's experience and contributions. I am glad that you are willing to share, which is precisely the incentive that I'd like to help you more.

Have a try, and let's see how it goes.

Xiang-Jun

1382
MD simulations / Re: H-bonding information in MD analysis output
« on: October 03, 2011, 10:19:00 pm »
Hi Andre,

Quote
This may be a process that the extract script will have to handle after 'analyze'.
As mentioned previously, I am not convinced to add such a functionality directly in the current two Ruby scripts. If you want to proceed, it is preferable (in my understanding) to start from the extracted [mono:13mhwi7u]<hbond>[/mono:13mhwi7u] parameters. A purpose-specific script is the way to go.

Quote
Let's use wastson crick pairing as our conventional H-bond information. For your GC pair example, can we extract and organsie the information so the first column is O2 - N2, second is N3 - N1, and the third is N4 - O6. If there are non-waston crick H-bonds they can be placed in the fourth and subsequent columns.
In addition to G-C pair, you also need to consider C-G pair, which by default swaps the order of atoms in H-bond output.

Quote
Do we have to specify all the non-waston crick H-bonds or can the script look for the waston crick H-bonds and place the non-waston crick H-bonds after the standard waston crick information?
It is entirely up to you, with a purpose-specific script.

HTH,

Xiang-Jun

1383
MD simulations / Re: H-bonding information in MD analysis output
« on: October 02, 2011, 09:40:40 am »
Quote from: Andre
Since the H-bond information for each base pair is arranged in columns, is there a way for the script to define each column for a specific H-bond and if the bond does not exist then it will leave it blank?
The parsing script has no knowledge of any 'specific H-bond': it just takes H-bonds for each base-pair as a single unit of text string. The H-bond info is calculated with 'analyze', based on purely geometric criteria. Thus for example there can be different A-T pairs: e.g., Watson-Crick pair and Hoogsteen pair, and many other possibilities.

In the example shown in my first reply, note the first two C-G pairs:
1 C-----G  [2]  O2 - N1  2.99  N4 - O6  2.98
2 C-----G  [3]  O2 - N2  2.74  N3 - N1  2.84  N4 - O6  3.17

They are based on model #20 of the distributed PDB ensemble 'sample_md0.pdb'. Note specifically, while the 2nd C-G pair is normal with 3 H-bonds, the first C-G pair has 2 H-bonds including the unconventional 'O2 - N1  2.99'.

Overall, I cannot see a sensible, generally applicable way to "define each column for a specific H-bond".

Quote from: Andre
Here is a file to show you what I mean

I realise this is just formatting however it will make life easier to have the script format the output rather than do it manually.
See above. For your example, the first column does not align. Think about all the possible base sequence and pairing patterns, what you are asking for is certainly not just a formatting matter.
0   [3]   O2 - N2   2.96   N3 - N1   3.03   N4 - O6   3.49
1   [3]   O2 - N2   3.53   N3 - N1   2.97   N4 - O6   2.75
2   [3]   O2 - N2   3.01   N3 - N1   2.78   N4 - O6   3.19
3   [3]   O2 - N2   3.17   N3 - N1   3.25   N4 - O6   3.53
4   [3]   O2 - N2   2.81   N3 - N1   2.97   N4 - O6   3.22
5   [3]   O2 - N2   2.86   N3 - N1   2.87   N4 - O6   2.86
6   [1]         N3 - N1   3.08      
7   [2]         N3 - N1   3.25   N4 - O6   2.78
8   [2]   O2 - N1   3.07         N4 - O6   3.35
9   [3]   O2 - N2   2.96   N3 - N1   2.71   N4 - O6   2.85
10   [3]   O2 - N2   3.32   N3 - N1   2.87   N4 - O6   3.09
11   [3]   O2 - N2   3   N3 - N1   2.86   N4 - O6   3.18
12   [2]         N3 - N1   3.14   N4 - O6   3.04
13   [2]   O2 - N2   2.75   N3 - N1   3.29      
14   [3]   O2 - N2   3.04   N3 - N1   3.06   N4 - O6   3.38
15   [3]   O2 - N2   2.85   N3 - N1   2.99   N4 - O6   3.21
16   [3]   O2 - N2   3.17   N3 - N1   2.93   N4 - O6   2.98      
17   [3]   O2 - N2   2.79   N3 - N1   2.74   N4 - O6   2.6      
18   [3]   O2 - N2   3.03   N3 - N1   2.78   N4 - O6   2.66      
19   [2]   O2 - N1   2.75               N3 * O6   3.32
20   [2]   O2 - N1   2.99         N4 - O6   2.98

I understand you may have a clearly defined goal in hand, and that's where application-specific scripting/programming comes into play. I may be able to help in some way if you make your case more specific.

Xiang-Jun

1384
MD simulations / Re: H-bonding information in MD analysis output
« on: September 30, 2011, 10:17:44 am »
Hi Andre,

Please check the updated post "Ruby scripts for the analysis of MD simulation trajectories". Now in v0.7, the scripts parse and extract H-bonding information you asked for, and also the overlap areas for quantifying stacking interactions.

Now I realized that I had a (solid) reason to exclude H-bond parameters in the scripts -- being variable-length text instead of float numbers (see my first reply in this thread for an example), they do not fit the pattern with other previously extracted parameters. Specifically, with N models (structures) and each M base-pairs, we have a N-by-M data matrix for each of the base-pair parameters.  For buckle, see the attached file 'buckle.tsv' (based on the distributed dataset [mono:kldkpnjg]sample_md0.pdb[/mono:kldkpnjg]. Here '[mono:kldkpnjg]tsv[/mono:kldkpnjg]' stands for tab-separated values). Now for H-bonding, the extracted data file 'hbond.tsv' looks a bit wildly -- each item has different text length and number of H-bonds. I cannot see how such information can be processed directly as with other parameters, and I'd be interested in knowing how you proceed.

Have a try, and see how it goes.

Xiang-Jun

1385
MD simulations / Re: H-bonding information in MD analysis output
« on: September 29, 2011, 07:03:12 am »
Hi Andre,

Thanks for your feedback. I will add a section of H-bond parameters (hopefully) by tomorrow, and then release an updated version of the Ruby scripts. So stay tuned, and check back the forum.

Xiang-Jun

1386
MD simulations / Re: H-bonding information in MD analysis output
« on: September 28, 2011, 07:17:37 am »
Hi Andre,

First, thanks for posting your question in the forum! The more user feedback, the merrier.

Second, you may notice that I have split your post from the thread "Ruby scripts for the analysis of MD simulation trajectories" which is too long (18 posts now), and spans two pages.  I have added a new subject line "Re: H-bonding information in MD analysis output" for the new thread.

Third, and more relevant to your question, are you referring to adding a new section for the H-bonding information? An example would be:
<hbond>
   1 C-----G  [2]  O2 - N1  2.99  N4 - O6  2.98
   2 C-----G  [3]  O2 - N2  2.74  N3 - N1  2.84  N4 - O6  3.17
   3 T-----A  [2]  N3 - N1  3.09  O4 - N6  2.86
   4 A-----T  [2]  N1 - N3  2.78  N6 - O4  3.05
   5 A-----T  [2]  N1 - N3  2.81  N6 - O4  2.76
   6 T-----A  [2]  N3 - N1  2.71  O4 - N6  3.06
   7 A-----T  [2]  N1 - N3  3.12  N6 - O4  3.12
   8 G-----C  [2]  N1 - N3  3.00  O6 - N4  2.75
   9 A-----T  [2]  N1 - N3  2.93  N6 - O4  3.12
  10 A-----T  [2]  N1 - N3  2.90  N6 - O4  2.93
  11 A-----T  [2]  N1 - N3  3.01  N6 - O4  3.05
  12 T-----A  [2]  N3 - N1  2.80  O4 - N6  3.12
</hbond>

If that's the case, then it won't be much a problem to parse and add it into the output file. Otherwise, please provide a concrete example to show exactly what you mean.

Please confirm.

Xiang-Jun

1387
General discussions (Q&As) / Re: constructing a modified sugar
« on: September 12, 2011, 08:21:52 am »
Quote
...i am successful in making the modification using chimera software which has a menu called 'Build structure'. It would be nice to have this feature incorporated in 3DNA.
Glad to hear that you are successful in making sugar modification with Chimera 'Build structure'. If that does a decent job, why should 3DNA bother to compete (recreating the wheel)? That's exactly why I asked you the question in my preview reply.

Xiang-Jun

1388
General discussions (Q&As) / Re: 3DNA on 64 bit Linux (Ubuntu)
« on: September 09, 2011, 11:19:58 pm »
Hi Fei,

I did not realize 3DNA v2.0 compiled in 32-bit Ubuntu Linux does work in a 64-bit machine. Yours is the first reported case. Any comment / experience from other users?

Anyway, check email for download link to 3DNA v2.0 compiled in Scientific Linux 6 x86_64. Do report back here if it works, or not.

Xiang-Jun

1389
General discussions (Q&As) / Re: constructing a modified sugar
« on: September 08, 2011, 05:14:02 pm »
Hi Subbu,

Thanks for posting this question. While I understand what you mean, I must say that 3DNA (in its current version) does not have direct means to get the job done. I may be able to come up with a solution after reading the publication associated with PDB id 2X2Q, check the PDB coordinates of the entry, and then play around with 3DNA to fit the bill. Obviously, this will take time.

To make this effort worthwhile, I'd ask you to perform a survey of other tools, e.g., UCSF Chimera, PyMol etc, to see if they already provide similar functionality. Of course, others viewers of this thread are more than welcome to jump in with their opinions. Hopefully, more users will get actively participated in such discussions that will help shape further development of 3DNA.

Xiang-Jun

1390
General discussions (Q&As) / Re: building a parallel stranded DNA
« on: September 07, 2011, 01:30:51 pm »
Hi,

Thanks for attaching the three PDB files -- they indeed clarify the issues.

Do you know the rationale of the no preserve option? It appears there can be many ways to rotate around the glycosidic bond to orient the base.

Xiang-Jun

1391
General discussions (Q&As) / Re: building a parallel stranded DNA
« on: September 07, 2011, 12:42:16 pm »
Hi Bala,

Quote
1) Firstly i tried by constructing the ps DNA from fiber model 31 but the structure i obtained was nt correct (in the sense the base pairs of chian A and C) were not in proper orientation. So i used the pdb structure as template to carry out mutation.
It seems that [red:27t8jes7]mutate_bases[/red:27t8jes7] serves your needs, right?

For the record, in fiber model #31, chains A and C form a parallel duplex with classic Hoogsteen A-U pairs. 3DNA has no problem in analyzing such structures. See the attached structure for an example:
[attachment=0:27t8jes7]fiber31_Hoogsteen.pdb[/attachment:27t8jes7]
[pre:27t8jes7]****************************************************************************
Structure classification:

This is a parallel duplex structure
****************************************************************************[/pre:27t8jes7]
Quote
2) I am not getting what example you need, in case if it is related to chimera software, you can refer this page. It is freely down loadable.
When you talk about the '[red:27t8jes7]swapna[/red:27t8jes7]' command with '[red:27t8jes7]preserve[/red:27t8jes7]' set to TRUE or FALSE, it would be helpful to be concrete by using examples. More specifically, you start with a structure in PDB format, and try to mutate a base to another one -- you have two results by setting '[red:27t8jes7]preserve[/red:27t8jes7]' to either TRUE or FALSE. If you attach these three PDB files, then things would be much clearer even for those who are not familiar with the UCSF chimera software.

Xiang-Jun

1392
General discussions (Q&As) / Re: 3DNA Cannot find help3dna.dat
« on: September 06, 2011, 09:58:47 pm »
Hi Sean,

It is likely that you've not properly set up 3DNA v2.0. Did you run [red:1nrkjhgd]x3dna_setup[/red:1nrkjhgd] as documented in the 2008 3DNA Nature Protocols paper?

More specifically, what's the output from running the following:
Code: [Select]
echo $X3DNABy default, if the [mono:1nrkjhgd]X3DNA[/mono:1nrkjhgd] environment variable is not set, the program will use [mono:1nrkjhgd]$HOME/X3DNA[/mono:1nrkjhgd]. That explains the error message:
[pre:1nrkjhgd]open_file </home/seanlaw/X3DNA/config/help3dna.dat> failed: No such file or directory[/pre:1nrkjhgd]
HTH,

Xiang-Jun

1393
General discussions (Q&As) / Re: building a parallel stranded DNA
« on: September 06, 2011, 12:02:13 pm »
Hi Subbu,

Quote
Kindly provide me the script 'mutate_base'. I would like to try it. I think adding it in 3DNA package would be a good option.
See my email. As I mentioned several times in the forum, it is users' feedbacks, like yours, that move the 3DNA project forward.

Quote
I would like to share one information on this regard, USCF chimera software has a command called 'swapna' with which we can just replace the base moiety. In addition it has a parameter called 'preserve' with which you can retain the glycosidic angle and position of the nitrogen forming the bond too after replacement.

But it is always better to use a script like yours when we have to do many mutations. In case your script doesnt have preserve option, could you please see if you can incorporate this preserve option in your script. I guess a similar name swap_base would be more suitable for your script.
Thanks for the info. Could you please provide an example of each? The new (ANSI C) program '[red:m67d7hlr]mutate_bases[/red:m67d7hlr]' preserves the base reference frame, and as a side effect, it retains "the glycosidic angle and position of the nitrogen forming the bond" as well.

Quote
Also can you merge all these threads so that others can view all related information in one shot. 1) Problems with mutations on DNA (Feb. 2011) 2) mutating DNA in DNA protein complex (Oct. 2007).
Excellent suggestion. I have long thought of consolidating the various source of information about 3DNA, but unable to get it done due to a lack of resources and time. This will change in the new future, so stay tuned.

Xiang-Jun

1394
General discussions (Q&As) / Re: building a parallel stranded DNA
« on: September 05, 2011, 10:53:45 pm »
Hi Subramanian,

Regarding your two questions on constructing models of parallel stranded (ps) DNA,
Quote
i) if it is possible to construct such a model using 3DNA and
3DNA does not have such a direct option. However, you may try fiber model 31 (or 32 for [red:3ckdzas2]Poly (U) : poly (A) : poly(U)[/red:3ckdzas2]), delete Us in chain B which form Watson-Crick base-pairs with As in chain A, then you get a parallel stranded Poly (U) : poly (A). You can then mutate bases to fit your needs (see below).

Quote
ii) there is an experimental structure of such ps duplex with completely different base composition, is there any way that i can use as am a template in 3DNA to model my structure.

The newly added utility program [red:3ckdzas2]mutate_bases[/red:3ckdzas2] should help. See thread "change one base pair in a double-strand DNA structure file". Please let me know if you want to have access to the program.

I may extend 3DNA's functionality to serve your specific purpose, if necessary; presumably such extension would turn out to be useful to other potential 3DNA users as well.

Xiang-Jun

1395
General discussions (Q&As) / Re: Analyzing ssDNA
« on: August 19, 2011, 09:08:53 pm »
Hi Orn,

Thanks for using 3DNA.

The error message means your ".inp" file does not match your ".pdb" file. Try:
[pre:3dmejz8w]find_pair -s your.pdb stdout[/pre:3dmejz8w]what do you get?

If that does not help solve your puzzle, please provide your ".inp" and ".pdb" files so I can check into the details.

HTH,

Xiang-Jun

1396
General discussions (Q&As) / Re: 3DNA setup at Linux
« on: August 19, 2011, 09:02:54 pm »
Quote
feixu@homestar:~/X3DNA/bin$ x3dna_setup
x3dna_setup: command not found
Try "[mono:4e0k1qpw][red:4e0k1qpw]./x3dna_setup[/red:4e0k1qpw][/mono:4e0k1qpw]". It appears that you do not have "[mono:4e0k1qpw]./[/mono:4e0k1qpw]" (your current directory) in your command search path.

HTH,

Xiang-Jun

1397
Thanks for following the instructions in post "How to download 3DNA v2.0?". At this summer time, Dr. Olson may be at a meeting or on vocation. It helps to send her a follow up message, and hopefully the problem will be solved soon.

Xiang-Jun

[hr:1tj7d3n5][/hr:1tj7d3n5]PS: If things go well, future releases of 3DNA would be more easily accessible, and with 'formal' support.

1398
General discussions (Q&As) / Re: More than one helical region
« on: July 25, 2011, 09:14:48 pm »
Hi Søren,

I do not quite get what you mean. The "information about the origin (Ox, Oy, Oz) and the normal vector (Nx, Ny, Nz)" is not intended for rebuilding purpose, but for quantifying DNA curvature following Dickerson (FreeHelix, and related publications). The output file 'ref_frames.dat' contains all base pair reference frames in the original coordinate system. File 'bp_step.par' is used for rebuilding purpose, which should give an exact relative bp geometry, even with more than one helical fragment.

Or do you miss the "-c" option of "analyze"? Type [mono:12seu325]analyze -h[/mono:12seu325] for more info.

Please clarify.

Xiang-Jun

1399
Hi Pooja,

Thanks for using 3DNA and writing such a thoughtful post. I think I understand your question, even though I do not have (or know of) a straight answer to it.

As you tried out, '[mono:1hmzqauk]rebuild[/mono:1hmzqauk]' with the [mono:1hmzqauk]-atomic[/mono:1hmzqauk] option does not generate proper sugar-phosphate backbone geometry for intercalated dinucleotide steps. Meanwhile, the available "complexes deposited in PDB are limited to hexanucleotide sequence and mostly the ligand intercalated in the terminal dinucleotide step." However, by combining the two, plus other utilities in 3DNA, it'd be possible to achieve approximately what you want.

You could start with a PDB complex with an intercalated dinucleotide step and then extend both ends with desired sequence in B-DNA fiber conformation. The intercalated dinucleotide can then be mutated to whatever bases you like, using [red:1hmzqauk]mutate_bp[/red:1hmzqauk] or [red:1hmzqauk]mutate_bases[/red:1hmzqauk] (see my reply to "change one base pair in a double-strand DNA structure file").

Surely, this is not an automatic process; there is no GUI-driven menu and mouse clicks to achieve 'magic'  -- you have to know what to do for each step. However, if you cannot find a better method elsewhere, 3DNA may prove useful. Please share your experience and thought. If you decide to try the 3DNA route, please provide a specific example.

HTH,

Xiang-Jun

1400
Quote
it removes the bond between 5' phosphate and the 3' OH between all the nucleotides, why has this happened and also can I fix it?
I do not get it. Please be specific, using a concrete example to illustrate your problem.

Quote
Although I am still wondering about the secondary structures, I have a number of RNA sequences (18' to 21' mers) all of which have different secondary structures according to QuickFold (http://mfold.rna.albany.edu/?q=DINAMelt/Quickfold) and am just interested to know whether it is possible with x3dna.
3DNA do not predict RNA secondary structures -- there are quite a few existing methods out there already. Given a 2nd structure, I am not aware of an automatic way to convert it into 3-dimensional coordinates; 3DNA certainly does not have such functionality. In the current issue of Nucleic Acids Research (Volume39, Issue10), there is an article titled "ModeRNA: a tool for comparative modeling of RNA 3D structure" for  comparative modeling of 3D RNA structures. You may find useful information in it.

I do believe 3DNA has the facilities/potential for RNA 3D structure modeling. If you provide details as to what you want to achieve, what you've tried and the problems you still have, I may be able to help in a more concrete way.

Xiang-Jun

Pages: 1 ... 54 55 [56] 57 58 ... 66

Funded by the NIH R24GM153869 grant on X3DNA-DSSR, an NIGMS National Resource for Structural Bioinformatics of Nucleic Acids

Created and maintained by Dr. Xiang-Jun Lu, Department of Biological Sciences, Columbia University