Dear Ting Wei, For me, your problem breaks down into two parts: 1) What do you want to do? 2) How can you do it?
Since you already have a hypothesis, I would write down the mathematical formula of the calculation you would like do. In the internet, you should be able to find the formula's you need. The next step is to look at the input a nd output. Since you want to work on the SelfRotation, I guess you want to manipulate structure factor-like entities. In the CCP4 world, these reside in mtz files, so you would need to be able to read and write mtz files. For a practical implementation, I would first look if there are CCP4 programs which could do the job. E.g. SFTOOLS (if you do not use the gui) allows you to do any manipulation like multiplication, division additions etc. on structure factors you could imagine, including complex operations involving phases. It can also calculate correlation factors. Reading and writing of mtz files is automatically taken care of. If you want to do more complex operations, e.g. involving rotated h,k,l indices, you have to write something yourself. In this case I would convert the input mtz files into text files using a program like MTZDUMP. It is easy to write a program to read and write text files and if necessary, you can convert them afterwards back to mtz files using CCP4i. Once your program works you can add (link) CCCP4 library routines to read and write mtz files. These text files also make debugging easier since you can provide a file with only a few reflections and manually check that all calculations are performed correctly. Concerning the calculations, you might want to look at the cctbx and clipper libraries, which contain a large number of subroutines for all kinds of crystallographic calculations. I assume their documentions also contains recommendations for which compiler to use. Good luck! Herman ________________________________ Von: CCP4 bulletin board [mailto:[email protected]] Im Auftrag von Ting-Wei Jiang Gesendet: Donnerstag, 15. August 2013 10:56 An: [email protected] Betreff: [ccp4bb] About Self Rotation and Fortran Dear all experts, I'm sorry for asking the not-so-related question here. Really, I've got stuck in there for a long time so could you give me some suggestions. Below is my difficulty: I make a hypothesis which is related to improving the SelfRotation so I want to prove it is correct. That means I have to calculate convolution but I only used fortran a few times to change format or do simple calculation.(Fortran is the only programming language I've ever used...Besides a little bit linux script) I don't know where to start ? 1. learning from fundamental then try to code "convolution" : < 2. Looking for related library (where?) Thanks for your reading and I really appreciate any suggestion. Sincerely, TingWei : )
