mailr10886 - in /branches/bmrb: ./ info.py


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

Header


Content

Posted by edward on February 24, 2010 - 01:32:
Author: bugman
Date: Wed Feb 24 01:32:10 2010
New Revision: 10886

URL: http://svn.gna.org/viewcvs/relax?rev=10886&view=rev
Log:
Merged revisions 10878-10879,10881-10884 via svnmerge from 
svn+ssh://bugman@xxxxxxxxxxx/svn/relax/1.3

........
  r10878 | bugman | 2010-02-23 23:43:16 +0100 (Tue, 23 Feb 2010) | 3 lines
  
  Added the DOI number for the d'Auvergne and Gooley 2003 ref.
........
  r10879 | bugman | 2010-02-24 00:12:17 +0100 (Wed, 24 Feb 2010) | 6 lines
  
  Expanded the references to include a number of new variables.
  
  These include 'type', 'status', 'journal_full', and 'author2'.  These will 
be used mainly in the
  BMRB branch.
........
  r10881 | bugman | 2010-02-24 00:37:37 +0100 (Wed, 24 Feb 2010) | 3 lines
  
  Added defaults values of None for the ref class variables.
........
  r10882 | bugman | 2010-02-24 00:40:51 +0100 (Wed, 24 Feb 2010) | 3 lines
  
  Added the Sparky reference.
........
  r10883 | bugman | 2010-02-24 01:00:01 +0100 (Wed, 24 Feb 2010) | 5 lines
  
  Added a __getattr__() method for generating variables on the fly.
  
  This is being used to create the 'page_first' and 'page_last' objects.
........
  r10884 | bugman | 2010-02-24 01:20:46 +0100 (Wed, 24 Feb 2010) | 3 lines
  
  Added the NMRPipe reference.
........

Modified:
    branches/bmrb/   (props changed)
    branches/bmrb/info.py

Propchange: branches/bmrb/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Wed Feb 24 01:32:10 2010
@@ -1,1 +1,1 @@
-/1.3:1-10870
+/1.3:1-10885

Modified: branches/bmrb/info.py
URL: 
http://svn.gna.org/viewcvs/relax/branches/bmrb/info.py?rev=10886&r1=10885&r2=10886&view=diff
==============================================================================
--- branches/bmrb/info.py (original)
+++ branches/bmrb/info.py Wed Feb 24 01:32:10 2010
@@ -23,6 +23,9 @@
 # Module docstring.
 """Module containing the introductory text container."""
 
+# Python module imports.
+from string import split
+
 # relax module imports.
 import dep_check
 import numpy
@@ -105,6 +108,8 @@
         self.bib['dAuvergneGooley07'] = dAuvergneGooley07()
         self.bib['dAuvergneGooley08a'] = dAuvergneGooley08a()
         self.bib['dAuvergneGooley08b'] = dAuvergneGooley08b()
+        self.bib['Delaglio95'] = Delaglio95()
+        self.bib['GoddardKneller'] = GoddardKneller()
         self.bib['LipariSzabo82a'] = LipariSzabo82a()
         self.bib['LipariSzabo82b'] = LipariSzabo82b()
 
@@ -376,6 +381,59 @@
 class Ref:
     """Reference base class."""
 
+    # Initialise all class variables to None.
+    type = None
+    author = None
+    author2 = None
+    title = None
+    status = None
+    journal = None
+    journal_full = None
+    volume = None
+    number = None
+    doi = None
+    pubmed_id = None
+    url = None
+    pages = None
+    year = None
+
+
+    def __getattr__(self, name):
+        """Generate some variables on the fly.
+
+        This is only called for objects not found in the class.
+
+        @param name:    The name of the object.
+        @type name:     str
+        @raises:        AttributeError if the object cannot be created.
+        @returns:       The generated object.
+        @rtype:         anything
+        """
+
+        # Page numbers.
+        if name in ['page_first', 'page_last']:
+            # No page info.
+            if not self.pages:
+                return None
+
+            # First split the page range.
+            vals = split(self.pages, '-')
+
+            # Single page.
+            if len(vals) == 1:
+                return vals[0]
+
+            # First page.
+            if name == 'page_first':
+                return vals[0]
+
+            # Last page.
+            if name == 'page_last':
+                return vals[1]
+
+        raise AttributeError, name
+
+
     def cite_short(self, author=True, title=True, journal=True, volume=True, 
number=True, pages=True, year=True, doi=True, url=True):
         """Compile a short citation in the form of:
 
@@ -397,29 +455,31 @@
         @type year:         bool
         @keyword doi:       The doi flag.
         @type doi:          bool
+        @keyword url:       The url flag.
+        @type url:          bool
         @return:            The full citation.
         @rtype:             str
         """
 
         # Build the citation.
         cite = ''
-        if author and hasattr(self, 'author'):
+        if author and self.author and hasattr(self, 'author'):
             cite = cite + self.author
-        if year and hasattr(self, 'year'):
+        if year and self.year and hasattr(self, 'year'):
             cite = cite + ' (' + repr(self.year) + ').'
-        if title and hasattr(self, 'title'):
+        if title and self.title and hasattr(self, 'title'):
             cite = cite + ' ' + self.title
-        if journal and hasattr(self, 'journal'):
+        if journal and self.journal and hasattr(self, 'journal'):
             cite = cite + ' ' + self.journal + ','
-        if volume and hasattr(self, 'volume'):
+        if volume and self.volume and hasattr(self, 'volume'):
             cite = cite + ' ' + self.volume
-        if number and hasattr(self, 'number'):
+        if number and self.number and hasattr(self, 'number'):
             cite = cite + '(' + self.number + '),'
-        if pages and hasattr(self, 'pages'):
+        if pages and self.pages and hasattr(self, 'pages'):
             cite = cite + ' ' + self.pages
-        if doi and hasattr(self, 'doi'):
+        if doi and self.doi and hasattr(self, 'doi'):
             cite = cite + ' (http://dx.doi.org/'+self.doi + ')'
-        if url and hasattr(self, 'url'):
+        if url and self.url and hasattr(self, 'url'):
             cite = cite + ' ('+self.url + ')'
 
         # End.
@@ -486,14 +546,17 @@
 class Clore90(Ref):
     """Bibliography container."""
 
+    type           = "journal"
     author         = "Clore, G. M. and Szabo, A. and Bax, A. and Kay, L. E. 
and Driscoll, P. C. and Gronenborn, A. M."
     title          = "Deviations from the simple 2-parameter model-free 
approach to the interpretation of N-15 nuclear magnetic-relaxation of 
proteins"
     journal        = "J. Am. Chem. Soc."
+    journal_full   = "Journal of the American Chemical Society"
     volume         = "112"
     number         = "12"
     pages          = "4989-4991"
     address        = "1155 16th St, NW, Washington, DC 20036"
     sourceid       = "ISI:A1990DH27700070"
+    status         = "published"
     year           = 1990
 
 
@@ -501,10 +564,13 @@
 class dAuvergne06(Ref):
     """Bibliography container."""
 
+    type           = "thesis"
     author         = "d'Auvergne, E. J."
+    author2        = [["Edward", "d'Auvergne", "E.", "J."]]
     title          = "Protein dynamics: a study of the model-free analysis 
of NMR relaxation data."
     school         = "Biochemistry and Molecular Biology, University of 
Melbourne."
     url            = 
"http://eprints.infodiv.unimelb.edu.au/archive/00002799/";
+    status         = "published"
     year           = 2006
 
 
@@ -512,16 +578,21 @@
 class dAuvergneGooley03(Ref):
     """Bibliography container."""
 
+    type           = "journal"
     author         = "d'Auvergne, E. J. and Gooley, P. R."
+    author2        = [["Edward", "d'Auvergne", "E.", "J."], ["Paul", 
"Gooley", "P.", "R."]]
     title          = "The use of model selection in the model-free analysis 
of protein dynamics."
     journal        = "J. Biomol. NMR"
+    journal_full   = "Journal of Biomolecular NMR"
     volume         = "25"
     number         = "1"
     pages          = "25-39"
     abstract       = "Model-free analysis of NMR relaxation data, which is 
widely used for the study of protein dynamics, consists of the separation of 
the global rotational diffusion from internal motions relative to the 
diffusion frame and the description of these internal motions by amplitude 
and timescale. Five model-free models exist, each of which describes a 
different type of motion. Model-free analysis requires the selection of the 
model which best describes the dynamics of the NH bond. It will be 
demonstrated that the model selection technique currently used has two 
significant flaws, under-fitting, and not selecting a model when one ought to 
be selected. Under-fitting breaks the principle of parsimony causing bias in 
the final model-free results, visible as an overestimation of S2 and an 
underestimation of taue and Rex. As a consequence the protein falsely appears 
to be more rigid than it actually is. Model selection has been extensively 
developed in other fields. The techniques known as Akaike's Information 
Criteria (AIC), small sample size corrected AIC (AICc), Bayesian Information 
Criteria (BIC), bootstrap methods, and cross-validation will be compared to 
the currently used technique. To analyse the variety of techniques, synthetic 
noisy data covering all model-free motions was created. The data consists of 
two types of three-dimensional grid, the Rex grids covering single motions 
with chemical exchange [S2,taue,Rex], and the Double Motion grids covering 
two internal motions [S f 2,S s 2,tau s ]. The conclusion of the comparison 
is that for accurate model-free results, AIC model selection is essential. As 
the method neither under, nor over-fits, AIC is the best tool for applying 
Occam's razor and has the additional benefits of simplifying and speeding up 
model-free analysis."
     authoraddress  = "Department of Biochemistry and Molecular Biology, 
University of Melbourne, Melbourne, Victoria 3010, Australia. 
ejdauv@xxxxxxxxxxxxxxxxxxxx"
     keywords       = "Amines ; Diffusion ; *Models, Molecular ; Motion ; 
Nuclear Magnetic Resonance, Biomolecular/*methods ; Proteins/*chemistry ; 
Research Support, Non-U.S. Gov't ; Rotation"
+    doi            = "10.1023/A:1021902006114"
     pubmed_id      = 12566997
+    status         = "published"
     year           = 2003
 
 
@@ -529,9 +600,12 @@
 class dAuvergneGooley06(Ref):
     """Bibliography container."""
 
+    type           = "journal"
     author         = "d'Auvergne, E. J. and Gooley, P. R."
+    author2        = [["Edward", "d'Auvergne", "E.", "J."], ["Paul", 
"Gooley", "P.", "R."]]
     title          = "Model-free model elimination: A new step in the 
model-free dynamic analysis of NMR relaxation data."
     journal        = "J. Biomol. NMR"
+    journal_full   = "Journal of Biomolecular NMR"
     volume         = "35"
     number         = "2"
     pages          = "117-135"
@@ -539,6 +613,7 @@
     authoraddress  = "Department of Biochemistry and Molecular Biology, 
Bio21 Institute of Biotechnology and Molecular Science, University of 
Melbourne, Parkville, Victoria, 3010, Australia"
     doi            = "10.1007/s10858-006-9007-z"
     pubmed_id      = 16791734
+    status         = "published"
     year           = 2006
 
 
@@ -546,9 +621,12 @@
 class dAuvergneGooley07(Ref):
     """Bibliography container."""
 
+    type           = "journal"
     author         = "d'Auvergne, E. J. and Gooley, P. R."
+    author2        = [["Edward", "d'Auvergne", "E.", "J."], ["Paul", 
"Gooley", "P.", "R."]]
     title          = "Set theory formulation of the model-free problem and 
the diffusion seeded model-free paradigm."
     journal        = "Mol. Biosys."
+    journal_full   = "Molecular BioSystems"
     volume         = "3"
     number         = "7"
     pages          = "483-494"
@@ -557,6 +635,7 @@
     keywords       = "Magnetic Resonance Spectroscopy/*methods ; *Models, 
Theoretical ; Proteins/chemistry ; Thermodynamics"
     doi            = "10.1039/b702202f"
     pubmed_id      = 17579774
+    status         = "published"
     year           = 2007
 
 
@@ -564,9 +643,12 @@
 class dAuvergneGooley08a(Ref):
     """Bibliography container."""
 
+    type           = "journal"
     author         = "d'Auvergne, E. J. and Gooley, P. R."
+    author2        = [["Edward", "d'Auvergne", "E.", "J."], ["Paul", 
"Gooley", "P.", "R."]]
     title          = "Optimisation of NMR dynamic models I. Minimisation 
algorithms and their performance within the model-free and Brownian 
rotational diffusion spaces."
     journal        = "J. Biomol. NMR"
+    journal_full   = "Journal of Biomolecular NMR"
     volume         = "40"
     number         = "2"
     pages          = "107-119"
@@ -575,6 +657,7 @@
     keywords       = "*Algorithms ; Cytochromes c2/chemistry ; Diffusion ; 
*Models, Molecular ; Nuclear Magnetic Resonance, Biomolecular/*methods ; 
Rhodobacter capsulatus/chemistry ; *Rotation"
     doi            = "10.1007/s10858-007-9214-2"
     pubmed_id      = 18085410
+    status         = "published"
     year           = 2008
 
 
@@ -582,9 +665,12 @@
 class dAuvergneGooley08b(Ref):
     """Bibliography container."""
 
+    type           = "journal"
     author         = "d'Auvergne, E. J. and Gooley, P. R."
+    author2        = [["Edward", "d'Auvergne", "E.", "J."], ["Paul", 
"Gooley", "P.", "R."]]
     title          = "Optimisation of NMR dynamic models II. A new 
methodology for the dual optimisation of the model-free parameters and the 
Brownian rotational diffusion tensor."
     journal        = "J. Biomol. NMR"
+    journal_full   = "Journal of Biomolecular NMR"
     volume         = "40"
     number         = "2"
     pages          = "121-133"
@@ -594,21 +680,60 @@
     language       = "eng"
     doi            = "10.1007/s10858-007-9213-3"
     pubmed_id      = 18085411
+    status         = "published"
     year           = 2008
 
 
 
+class Delaglio95(Ref):
+    """Bibliography container."""
+
+    type            = "journal"
+    author          = "Delaglio, F., Grzesiek, S., Vuister, G.W., Zhu, G., 
Pfeifer, J. and Bax, A."
+    author2         = [["Frank", "Delaglio", "F.", None], ["Stephan", 
"Grzesiek", "S.", None], ["Geerten", "Vuister", "G.", "W."], ["Guang", "Zhu", 
"G.", None], ["John", "Pfeifer", "J.", None], ["Ad", "Bax", "A.", None]]
+    title           = "NMRPipe: a multidimensional spectral processing 
system based on UNIX pipes."
+    journal         = "J. Biomol. NMR"
+    journal_full    = "Journal of Biomolecular NMR"
+    volume          = "6"
+    number          = "3"
+    pages           = "277-293"
+    abstract        = "The NMRPipe system is a UNIX software environment of 
processing, graphics, and analysis tools designed to meet current routine and 
research-oriented multidimensional processing requirements, and to anticipate 
and accommodate future demands and developments. The system is based on UNIX 
pipes, which allow programs running simultaneously to exchange streams of 
data under user control. In an NMRPipe processing scheme, a stream of 
spectral data flows through a pipeline of processing programs, each of which 
performs one component of the overall scheme, such as Fourier transformation 
or linear prediction. Complete multidimensional processing schemes are 
constructed as simple UNIX shell scripts. The processing modules themselves 
maintain and exploit accurate records of data sizes, detection modes, and 
calibration information in all dimensions, so that schemes can be constructed 
without the need to explicitly define or anticipate data sizes or storage 
details of real and imaginary channels during processing. The asynchronous 
pipeline scheme provides other substantial advantages, including high 
flexibility, favorable processing speeds, choice of both all-in-memory and 
disk-bound processing, easy adaptation to different data formats, simpler 
software development and maintenance, and the ability to distribute 
processing tasks on multi-CPU computers and computer networks."
+    authoraddress   = "Laboratory of Chemical Physics, National Institute of 
Diabetes and Digestive and Kidney Diseases, National Institutes of Health, 
Bethesda, MD 20892, USA."
+    keywords        = "Magnetic Resonance Spectroscopy/*instrumentation ; 
*Software"
+    language        = "eng"
+    doi             = "10.1007/BF00197809"
+    pubmed_id       = 8520220
+    status         = "published"
+    year            = 1995
+
+
+
+class GoddardKneller(Ref):
+    """Bibliography container."""
+
+    author          = "Goddard, T.D. and Kneller, D.G."
+    author2         = [["Tom", "Goddard", "T.", "D."], ["Donald", "Kneller", 
"D.", "G."]]
+    journal         = "University of California, San Francisco."
+    title           = "Sparky 3."
+    status          = "unpublished"
+    type            = "internet"
+
+
+
 class LipariSzabo82a(Ref):
     """Bibliography container."""
 
+    type           = "journal"
     author         = "Lipari, G. and Szabo, A."
     title          = "Model-free approach to the interpretation of nuclear 
magnetic-resonance relaxation in macromolecules I. Theory and range of 
validity"
     journal        = "J. Am. Chem. Soc."
+    journal_full   = "Journal of the American Chemical Society"
     volume         = "104"
     number         = "17"
     pages          = "4546-4559"
     authoraddress  = "NIADDKD,Chem Phys Lab,Bethesda,MD 20205."
     sourceid       = "ISI:A1982PC82900009"
+    status         = "published"
     year           = 1982
 
 
@@ -616,13 +741,16 @@
 class LipariSzabo82b(Ref):
     """Bibliography container."""
 
+    type           = "journal"
     author         = "Lipari, G. and Szabo, A."
     title          = "Model-free approach to the interpretation of nuclear 
magnetic-resonance relaxation in macromolecules II. Analysis of experimental 
results"
     journal        = "J. Am. Chem. Soc."
+    journal_full   = "Journal of the American Chemical Society"
     volume         = "104"
     number         = "17"
     pages          = "4559-4570"
     abstract       = "For pt.I see ibid., vol.104, p.4546 (1982). In the 
preceding paper it has been shown that the unique dynamic information on fast 
internal motions in an NMR relaxation experiment on macromolecules in 
solution is specified by a generalized order parameter, S , and an effective 
correlation time, tau /sub e/. The authors now deal with the extraction and 
interpretation of this information. The procedure used to obtain S /sup 2/ 
and tau /sub e/ from experimental data by using a least-squares method and, 
in certain favorable circumstances, by using an analytical formula is 
described. A variety of experiments are then analyzed to yield information on 
the time scale and spatial restriction of internal motions of isoleucines in 
myoglobin, methionines in dihydrofolate reductase and myoglobin, a number of 
aliphatic residues in basic pancreatic trypsin inhibitor, and ethyl 
isocyanide bound to myoglobin, hemoglobin, and aliphatic side chains in three 
random-coil polymers. The numerical values of S /sup 2/ and tau /sub e / can 
be readily interpreted within the framework of a variety of models."
     authoraddress  = "NIADDKD,Chem Phys Lab,Bethesda,MD 20205."
     sourceid       = "ISI:A1982PC82900010"
+    status         = "published"
     year           = 1982




Related Messages


Powered by MHonArc, Updated Wed Feb 24 05:20:06 2010