Skip to content
Snippets Groups Projects
  1. Aug 23, 2011
  2. Aug 19, 2011
  3. Jul 21, 2011
  4. Jul 11, 2011
  5. Jun 27, 2011
  6. Jun 21, 2011
    • Vermaat's avatar
      Refactoring of deployment, now using Fabric. · 4c913d58
      Vermaat authored
      fabfile.py:
      - Automatic deployment to remote servers using Fabric.
      
      extras/pre-install.sh:
      extras/post-install.sh:
      extras/post-upgrade.sh:
      INSTALL:
      - Refactoring of deployment.
      - Better handling of installation vs upgrade.
      - Install crontab.
      - Install init script links.
      - Restart Apache and Mutalyzer batch daemon.
      
      bin/mutalyzer-webservice.wsgi:
      bin/mutalyzer-website.wsgi:
      - Moved WSGI interfaces from mutalyzer package to bin directory.
      - Fixed use of built-in webserver.
      
      extras/apache/mutalyzer.conf:
      - Use /var/www/mutalyzer/base symlink for static files.
      
      
      
      git-svn-id: https://humgenprojects.lumc.nl/svn/mutalyzer/branches/refactor-mutalyzer-branch@284 eb6bd6ab-9ccd-42b9-aceb-e2899b4a52f1
      4c913d58
  7. Apr 11, 2011
  8. Apr 07, 2011
  9. Apr 04, 2011
  10. Mar 29, 2011
  11. Mar 28, 2011
  12. Mar 24, 2011
  13. Jan 20, 2011
    • Laros's avatar
      Added one of the GenBank upload functions as a webservice function. · 062662de
      Laros authored
      Install.txt:
      - Added a dependency.
      
      wsgi.py:
      - Updated the release date and version number.
      
      webservice.py:
      - Added the function sliceChromosomeByGene(), which is used to get a reference 
        sequence, given a gene name, organism and a length of flanking sequences.
      - Added templates for other GenBank upload functions:
        - upLoadGenBankLocalFile()
        - upLoadGenBankRemoteFile()
        - sliceChromosome()
      
      wsdl-viewer.xsl:
      - Modified the template to use stable internal links, instead of randomly
        generated ones. This is only an example, more links should be treated like
        this.
      
      
      
      git-svn-id: https://humgenprojects.lumc.nl/svn/mutalyzer/trunk@162 eb6bd6ab-9ccd-42b9-aceb-e2899b4a52f1
      062662de
  14. Jan 18, 2011
  15. Jan 12, 2011
    • Laros's avatar
      Added feedback and todo information, added splice site destruction detection · bae57923
      Laros authored
      andfixed a bug in the GenBank parser.
      
      version 2.0 bugs.txt, beta-feedback.pdf, suggestions.txt, beta-feedback.txt:
      - Suggestions, bugs, todo lists, ...
      
      mutalyzer.sql:
      - Definitions of the mutalyzer database (to be merged with documentation).
      
      Install.txt:
      - Added the definition of the map table.
      
      batch.html:
      - Modified the help text to reflect the internal functionality.
      
      Mutalyzer.py:
      - Added the function __overSplice() that checks whether a splice site is 
        destroyed.
      - Added a check for splice site destruction by calling aforementioned function.
      
      webservice.py:
      - Removed a typo (getGeneAndTranscipt() -> getGeneAndTranscript()).
      
      Mutator.py:
      - Reinstated the insertion of sequences on splice junctions to be added to the
        exon instead of the intron.
      - Fixed a bug in the shiftpos() function.
      
      GBparser.py:
      - Fixed a bug that was triggered if the input is a minimally annotated one-exon
        gene.
      
      
      
      git-svn-id: https://humgenprojects.lumc.nl/svn/mutalyzer/trunk@133 eb6bd6ab-9ccd-42b9-aceb-e2899b4a52f1
      bae57923
  16. Jul 19, 2010
    • Gerben Stouten's avatar
      TODO: · 7e91c366
      Gerben Stouten authored
      		- update errorcodes.txt
      		- rewrite some webservice.py functions
      		- File.py ods files are not read in correctly. Temp file deleted before it
      			can be used
      
          
      CHANGES:
      		- mutalyzer.conf
      				Added pidfile reference
      				Added Output Headers for the Batch Jobs
      
      		- Db.txt
      				Updated the Db.txt file so that it reflects the database changes
      					* BatchJob now contains an Arg1 attribute, which is used by the
      						Conversion Batch to store the build version. This could be
      						changed to use the Filter Field.
      					* Dropped the Var table
      					* BatchQueue -> AccNo, Gene, Variant are dropped and replaced by
      						single column input. This fields contains a single full
      						mutalyzer variant description.
      
      		- Install.txt
      				Added the python-daemon dependency
      
      		- handler.py
      				Added a downloads handler for the old and new batch files
      				Other handlers are changed so the filter for extensions now matches the
      				trailing characters
      
      		- webservice.py
      				Made the functions compatible with the new Mapper.Converter class
      				*** This webservice.py can use a bit more structure ***
      
      		- index.py
      				Moved a lot of logic from the index file to the Mapper.py module
      				Implemented the batch handler, which has multiple entry points
      				positionConverter now uses the Mapper.Converter class
      
      		- BatchChecker.py
      				Fixed the multiprocessing bugs. Now uses python-daemon to spawn a
      				process and uses the var/batch.pid as a lockfile for the process
      
      		---- Modules
      
      		- Ouput.py
      				Added getSoapMessages, which returns Soap compatible Messages for over
      				the wire
      				Added getBatchMessages, which returns messages above %level and filters
      				the ParseError to one line
      		
      		- LRGparser.py
      				Included the usage of transcription.translate and transcribe for the
      				main transcript
      
      		- Config.py
      				Added the Batch Headers to the configfile
      				Added a Batch Config object for the PID file
      
      		- Scheduler.py
      				Added the SyntaxCheck Batch
      				Added the Conversion Batch
      				Have the BatchProcesser read the Argument from the Batch
      				Changed outputfile format to csv
      
      		- File.py
      				Changed the csv sniffer to drop the ":" delimiter in batch entries
      				Updated some Job logic to detect all lines with basic errors
      
      		- Mapper.py
      				Practically a complete refactor of the module
      				Added the Converter class for chromosome to c and back conversions
      				Added a SoapMessage class which instances can be send over the wire
      				Updated the Mapper.Mapping class to use SoapMessage messages
      				Basically create correct mappings between c 2 chrom 2 c [tested]
      				Reduced the number of Database calls needed significantly
      
      		- Db.py
      				Implemented getAllFields to retrieve complete dataset of Fields of
      				intereset, this reduced the number of database calls
      				Updated the Db logic to encompass the new Batch Job logic:
      						Input entries are 1 field
      						Jobs have a type
      						Jobs can have arguments (1 at the moment, use BITFLAGS)
      
      
      		---- Templates
      
      		REMOVED 
      				- batchCheck.html				-> All Batch jobs are united in batch.html
      				- batch_convert.html		->  								"
      				- convert.html					-> Replaced by converter.html
      
      		CHANGED
      				- batch.html
      						Included big file type help
      						Made template compatible with the three different batchTypes
      
      				- gbupload.html & menu.html
      						Fixed an onload javascript bug which caused a stream of javascript
      						errors on pages other than gbupload
      		
      				- interface.js
      						Added the changeBatch and toggle_visibility functions
      
      		ADDED
      				- downloads
      						Added example download files for old & new batchfiles
      
      
      NOTES:
      		- change permission on var/batch.pid to have apache read/write it
      		- 
      
      
      
      git-svn-id: https://humgenprojects.lumc.nl/svn/mutalyzer/branches/lrg@67 eb6bd6ab-9ccd-42b9-aceb-e2899b4a52f1
      7e91c366
  17. Jun 22, 2010
    • Laros's avatar
      Added DNA and protein descriptions for all annotated transcripts in a GenBank · 6390611e
      Laros authored
      record. Added a legend for transcripts and proteins.
      
      Install.txt:
      - Added dependency information.
      
      Mutalyzer.py:
      - Rewrote the roll function to roll both ways at the same time.
      - Rewrote the trim function (fixed a lcs bug).
      - Moved the semantic checking of raw variants to separate functions.
      - Removed lots of conversion code. We now convert to g. first and check this
        to all transcripts.
      - Added protein descriptions for all transcripts.
      
      GenRecord.py:
      - Added more gathering information (locus tags, transcript- and protein 
        identifiers, etc.)
      - Made a separate function that checks the gathered information after 
        retrieval. This can be used later on by the LRG parser.
      - Modified the name() function to give better descriptions.
      
      Parser.py:
      - Added code to distinguish between GenBank records and LRG records.
      
      
      
      git-svn-id: https://humgenprojects.lumc.nl/svn/mutalyzer/trunk@41 eb6bd6ab-9ccd-42b9-aceb-e2899b4a52f1
      6390611e
  18. May 18, 2010
    • Laros's avatar
      Altered the Output module in such a way that all messages are stored in a · 4a8a9986
      Laros authored
      list with priorities, and all output is stored in a dictionary. This dictionary
      can be read at a later time.
      The Retriever module is changed to accommodate for uploaded GenBank files and
      slices of a chromosome.
      A Scheduler was added for batch checking.
      
      mutalyzer.conf:
      - Added variables for the Retriever module:
        - maxDldSize, minDldSize ; Maximum and minimum sizes for slices and uploaded 
          GenBank files.
      - Added variables for the Output module:
        - loglevel, outputlevel ; Specify default verbosity levels for logging and 
          output.
      - Added variables for the Scheduler module:
        - processName ; Name of the running scheduler.
      
      Db.txt:
      - Added information on how to create the newly used tables GbInfo, BatchQueue
        and BatchJob.
      
      errorcodes.txt:
      - Short description of the error codes used in the Output module.
      
      webservice.py:
      - Added a Complex class to test more complicated return types (see the web_dev
        branch).
      - Modified the code to work with the new Output module.
      
      index.py:
      - Made a first upload page.
      
      Mutalyzer.py:
      - Modified the code to work with the new Output module.
      
      UCSC_update.py:
      - Modified the code to work with the new Output module.
      
      Variant_info.py:
      - Modified the code to work with the new Output module.
      
      GenRecord.py:
      - Added documentation.
      
      Mutator.py:
      - Modified the code to work with the new Output module.
      
      Misc.py:
      - New file, used for generating unique IDs.
      
      Parser.py:
      - Made a change to the definition of an UD accession number.
      - Modified the code to work with the new Output module.
      
      Scheduler.py:
      - Made a batch checker scheduler.
        - isDaemonRunning() ; See if we need to be started.
        - process() ; Start the batch checker.
        - addJob() ; Add jobs to a queue in the database.
      
      Output.py:
      - Added a Message class to store all debug, info, warning, error and fatal
        messages.
        - If a message is given that exceeds the configured log level, it will be
          logged immediately.
      - A function is added to the Output class to read all messages that exceed a 
        certain verbosity level.
      - A function is added to create a named list as an output node.
      - With the getOutput function the content of this list can be retrieved.
      
      Config.py:
      - Several sub-classes were added for each configurable module.
      
      Db.py:
      - Added documentation.
      - Added functionality that is used by the Retriever module.
      - Added functionality that is used by the Scheduler module.
      
      Retriever.py:
      - Added functionality to be able to use custom GenBank files and chromosome
        slices.
        - Information on these created files are stored in a database to be able to
          re-create them when the cache is cleaned.
        - The hash of each file is stored for error detection.
      
      BatchChecker.py:
      - A wrapper that is called either from the addJob() function from the Scheduler
        module, or from cron. It dispatches a background process that processes the
        batch jobs.
      
      gbupload.html:
      - Test template for uploading files (copied from Mutalyzer 1.0.4).
      
      sp.py:
      - Some test with a complex return type.
      
      download.html:
      - Did some first tests with a METAL template.
      
      
      
      git-svn-id: https://humgenprojects.lumc.nl/svn/mutalyzer/trunk@26 eb6bd6ab-9ccd-42b9-aceb-e2899b4a52f1
      4a8a9986
  19. Apr 21, 2010
    • Gerard Schaafsma's avatar
      Added to Install.txt: · 37a61215
      Gerard Schaafsma authored
      	python-soaplib   >= 0.8.1
      which had been forgotten
      
      Added to webservice.py:
      	from Variant_info import Complex
      because you use the Complex object in the SOAP decorator
      	@soapmethod(String, String, String, String, _returns = Complex)
      Changed some stuff in the documentation
      Replaced the return type in the SOAP decorator of varInfo()
      	@soapmethod(String, String, String, String, _returns = Complex)
      The whole definition of varInfo() was added:
      	+        import Variant_info
      	+        from Modules import Web
      	+        from Modules import Config
      	+        from Modules import Db
      	+        from Modules import Output
      	+    
      	+        C = Config.Config()
      	+        D = Db.Db(C, "local")
      	+        L = Output.Output(C, __file__)
      	+    
      	+        L.LogMsg(__file__, "Reveived request varInfo(%s %s %s %s)" % (
      	+                 v1, v2, v3, v4))
      	+
      	+        W = Web.Web()
      	+        result = Variant_info.main(v1, v2, v3, v4)
      	+        del W
      	+
      	+        L.LogMsg(__file__, "Finished processing varInfo(%s %s %s %s)" % (
      	+                 v1, v2, v3, v4))
      	+
      	+        del L
      	+        del D
      	+        del C
      	+#        return str(result.split("\n")[:-1])
      	+        return result
      Added to webservic.py:
      	+    @soapmethod(String, String, String, String, _returns = Complex)
      	+    def mapInfo(self, v1, v2, v3, v4) :
      	and so on
      because varInfo() now lacks the ability to deal with the possibility that
      the variant (v4) is not provided, this functionality has been transferred to
      varMap() in Variant_map.py
      
      Variant_info.py has also been copied to /src/Services
      Variant_map.py has also been copied to /src/Services
      
      In Variant_info.py a new Python object was defined:
      	+class Complex(ClassSerializer) :
      	and further
      to return an object holding the information about a variant, and not a string
      as was previously done, and which had to be parsed.
      This also includes the type code definition with TC.struct:
      	+Complex.typecode = TC.Struct(Complex, [ TC.Integer('startmain'),
      	+                                        TC.Integer('startoffset'),
      	+                                        TC.Integer('endmain'),
      	+                                        TC.Integer('endoffset'),
      	+                                        TC.Integer('start_g'),
      	+                                        TC.Integer('end_g'),
      	+                                        TC.String('mutationType') ], 'Complex')
      	+
      	+
      Improved the following error messages:
      	if not db_version :
      	if db_version != version :
      Added an error message:
      	if not var :
      because this functionality moved to Variant_map.py
      Changed the return type from string to the Complex object V
      And changed the main part to:
      	-    __process(LOVD_ver, build, acc, var, Conf, O)
      	+    result = __process(LOVD_ver, build, acc, var, Conf, O)
      	+    return result
      Changed the following stuff in Config.py:
      	+        # Figure out where this program is located and go two levels up.
      	+        import os
      	+        myPath = os.path.dirname(__file__) + "/../.."
      	+        os.chdir(myPath)
      which is necessary for finding the mutalyzer.conf file
      
      
      
      git-svn-id: https://humgenprojects.lumc.nl/svn/mutalyzer/branches/web_dev@22 eb6bd6ab-9ccd-42b9-aceb-e2899b4a52f1
      37a61215
  20. Feb 19, 2010
    • Laros's avatar
      Enhanced the mapping capabilities of the Db module, added a new webservice and · f49bc7f6
      Laros authored
      wrote documentation.
      
      Made an accumulative mapping info table, this requires regular polling of new
      data from the UCSC:
      - Added:
        - install.sh: A preliminary installation script. Now only used for cron 
          entries.
        - Db.txt: Some loose documentation on how to make the new mapping table, to 
          be incorporated with an installation script.
        - src/UCSC_update.py: The update program, to be called from cron each day.
      - Modified:
        - mutalyzer.conf: Added variables needed for the remote database of the UCSC.
        - Db.py: Rewritten nearly every SQL query to work with the new mapping table
          and to be able to download and import updates from the UCSC.
        - Config.py: Modifications to work with the new configuration variables.
      
      Added:
      - templates/sp.py: A webservice client template script.
      - templates/download.html: The download page for developers.
      
      Modified:
      - Install.txt: Added more depenencies.
      
      Switched to soaplib for the generation of a WSDL file. Webservices are now
      published by adding functions to the MutalyzerService class in webservice.py,
      each function should have a soapmethod decorator to specify the types.
      
      Modified:
      - handler.py: To work with soaplib.
      - webservice.py: 
        - Put everything in a class to make soaplib able to generate a WSDL file.
        - Added the varInfo() webservice (calls the Variant_info script).
      - index.py: Added documentation.
      - Mutator.py: Added documentation.
      - Web.py: Added documentation.
      - Mutalyzer.py: Added generation of a new description in g. and c. notation.
      - Db.py: Modified the get_Transcripts function to be able to work with
        overlapping and non-overlapping ranges.
      
      
      
      git-svn-id: https://humgenprojects.lumc.nl/svn/mutalyzer/trunk@16 eb6bd6ab-9ccd-42b9-aceb-e2899b4a52f1
      f49bc7f6
  21. Feb 03, 2010
    • Laros's avatar
      Cleaned up the code for a new alpha release. · e4094f10
      Laros authored
      Added:
      - Web.py: A module with some general functions used by the interfaces.
        - A version (this is deliberately kept out of the config file).
        - A run() wrapper that returns standard output of any function as a string.
        - A tal() function that parses a TAL template.
        - A read() function that returns the input of a file.
      
      Modified:
      - Install.txt: In the apache config, a PythonPath must be set now (dynamically
        setting it did not give consistent output).
      - handler.py : Cleaned the source by using the Web class.
      - webservice.py : Cleaned the source by using the Web class.
      - index.py : Cleaned the source by using the Web class.
      
      
      
      git-svn-id: https://humgenprojects.lumc.nl/svn/mutalyzer/trunk@15 eb6bd6ab-9ccd-42b9-aceb-e2899b4a52f1
      e4094f10
  22. Feb 02, 2010
    • Laros's avatar
      In this version the whole project has been restructured. · 42267dda
      Laros authored
      The main structure is as follows:
      
      /                     ; Root of the installation.
        - Install.txt
        - Todo.txt
        - Obsoleted.txt
        - mutalyzer.conf
        - var/              ; Variable data.
            - cache/
            - mutalyzer.log
        - templates/        ; HTML, XML, JavaScript, etc.
        - src/
          - Mutalyzer.py
          - Variant_info.py
          - Services/       ; Webservices.
          - Clients/        ; Example clients for webservices.
          - Modules/        ; The core modules.
          - Interfaces/     ; Interfaces to mod_python.
      
      Apart from changes that were needed to deal with this new structure, no changes
      in the code were made.
      
      
      git-svn-id: https://humgenprojects.lumc.nl/svn/mutalyzer/trunk@14 eb6bd6ab-9ccd-42b9-aceb-e2899b4a52f1
      42267dda
  23. Feb 01, 2010
    • Laros's avatar
      Added: · 5371f394
      Laros authored
      - Todo.txt.
      - handler.py: A general handler for mod_python. This handler dispatches
        SOAP services and a normal HTML publisher. Furthermore, it is able to handle
        raw requests to dump HTML or XML files. This handler is TAL enabled.
      - webservice.py: A publisher for webservices. When a new webservice is
        added, this is the entrypoint for the server side (just like index.py, add
        a function).
      - getTranscripts.py: A webservice that reports all transcripts that overlap 
        with a certain genomic position (chomosome, position). 
      - getGeneName.py: A webservice that finds the gene name of a given transcript.
      - service.wsdl: This is the definition of the interface for webservices.
        A client must download this file and parse it to obtain a programming 
        interface, then the client can use this interface just like any local 
        function.
      - Obsoleted.txt: A list of things that will be deleted in the future (but are
        still functional for backwards compatibility).
      - client/sp.py: A test client for the two webservices.
      
      Renamed Main.py to Mutalyzer.py.
      
      Modified:
      - mutalyzer.conf: Added a configurable date prefix for logging.
      - Install.txt: 
        - To reflect the difference in configuration of apache to work with the new 
          handler (requires less configuration).
        - Added TAL as a new dependency.
      - html/check.html: Made it a full TAL template. Title, version and output are
        now separated from the HTML design.
      - Mutator.py: Made the shiftpos() function public, this is needed for insertion
        checking.
      - Parser.py: Updated the comments.
      - Variant_info: Made all internal functions private.
      - Output.py: Updated the comments.
      - Config.py: Modified to reflect the changes in mutalyzer.conf.
      - Db.py:
        - We now keep the handle to the database open until the object is deleted.
        - Added a destructor that closes the handle to the database.
        - Added getTranscripts(): Get a list of transcripts, given a chromosome and a
          position on that chromosome.
        - Added get_GeneName(): Get the gene name of a given transcript.
      - Retriever.py: Updated the comments.
      - Crossmap.py:
        - Made a patch that handles a CDS start on the first position of the 
          transcript.
        - Added more unit tests.
      - index.py: 
        - Added a switch for older versions of LOVD, to generate the expected output 
          in Variant_info.
        - Made this publisher compatible with TAL.
      - Mutalyzer.py: Made all internal functions private.
      
      
      
      git-svn-id: https://humgenprojects.lumc.nl/svn/mutalyzer/trunk@13 eb6bd6ab-9ccd-42b9-aceb-e2899b4a52f1
      5371f394
  24. Dec 31, 2009
    • Laros's avatar
      Added an html directory, where (slightly modified) html files reside. For normal · 2db71816
      Laros authored
      html includes, a server directive has to be altered (described in Install.txt).
      - check.html: The main page for mutation checks (used to be a large string in 
        index.py).
      
      Output.py:
      - Added an instance variable, this is the name of the module that created the
        Output object. This variable is used for more verbose logging.
      
      Variant_info.py:
      - Modifications for the new Output.py.
      - Added error handling for parse errors.
      
      Main.py:
      - Modifications for the new Output.py.
      - Renamed function rrr() to main().
      
      index.py:
      - Removed the large html string, it is now loaded from file with the 
        __readhtml() function.
      - Made a __run() function, that wraps any function, executes it and returns
        standard output of this function as a string.
      
      
      
      git-svn-id: https://humgenprojects.lumc.nl/svn/mutalyzer/trunk@12 eb6bd6ab-9ccd-42b9-aceb-e2899b4a52f1
      2db71816
  25. Dec 23, 2009
    • Laros's avatar
      Added Output.py: A logging facility. Important output like warnings and errors · 1c7b0777
      Laros authored
      can be sent to this object, which sends errors and explicit logging messages
      to a log (defined in mutalyzer.conf) and warning messages to standard output.
      Behaviour of this object may change in the future, adding severity and logging
      above a certain severity level is one option that would increase debugging 
      possibilities.
      - NiceName() returns a short description of the calling program (we can not 
        use the default __name__ here.
      - ErrorMsg() Print the nice name of the calling module, an error message and 
        log it. Also increase an error counter.
      - WarningMsg() Print the nice name of the calling module and an error message.
        Also increase a warning counter.
      - LogMsg() Only log the message (nice name of the calling module and the 
        message itself).
      - Summary() Give the number of errors and warnings.
      - A unit test is also defined (it does not do much at this moment).
      
      Added index.py: The web interface to mutalyzer, it is dependent on mod-python,
      we chose for this interface to eliminate the need for php. Also apache is now
      added to the list of dependencies. The configuration of mod-python is described
      in Install.txt.
      
      GenRecord.py: 
      - Moved the splice() function to Main.py. 
      - Added an exon list to the Plist class. This list can be used as a fallback
        in case the mRNA tag is missing from a GenBank file.
      - Added an empty unit test.
      
      Mutator.py:
      - Added a standard alignment for visualisation. This will probably be replaced
        in newer versions.
      
      Parser.py:
      - Added functionality for the new output module.
      - Made the parser gracefully return, instead of exit on a parse error. This is
        needed for the web interface.
      
      Variant_info.py:
      - Added functionality for the new output module. Note that output generated by
        this program should go to a different log, something for a future version.
      - Fixed a bug that occurred when a CDS start or stop was on an exon boundary.
      
      Main.py (heavily under development, names of functions are not very descriptive
        yet):
      - Added functionality for the new output module.
      - Fixed a bug in the roll() function, it returned a wrong value for forward
        genes.
      - Added the function bprint(), it formats a large string to be printed in an
        insightful way (like GenBank does it), it also prints the offsets at the
        beginning of each line.
      - Obsoleted the ErrorMsg() and WarningMsg() functions.
      - Added constructCDS(), a function that is able to construct a CDS from an
        mRNA list, CDS start and CDS stop. In the future we would like to work 
        without a CDS list, so this function will be obsoleted.
      - Added the splice() function (from GenRecord.py).
      - Made a function rv() that is able to process a RawVar. This function is
        seperated from the ppp() function to be able to work with an allele 
        description.
      - Added splicing.
      - Added translation to a protein.
      - Added a function rrr() which is to be called from Main.py itself or from 
        index.py.
      
      Config.py:
      - Added a log variable for Output.py.
      
      Crossmap.py:
      - Fixed a bug concerning genes where the entire CDS is in one exon.
      - Added more uncertainty handling.
      
      Retriever.py:
      - Added functionality for the new output module.
      - Added handling of accession numbers with no version. It downloads the latest
        version, and gives a warning.
      
      
      
      git-svn-id: https://humgenprojects.lumc.nl/svn/mutalyzer/trunk@10 eb6bd6ab-9ccd-42b9-aceb-e2899b4a52f1
      1c7b0777
  26. Nov 11, 2009
    • Laros's avatar
      Added: · 41ac9420
      Laros authored
      - src/c2g.py
        - This program returns the genomic coordinates of a position in c. notation,
          it depends on the Config, Db Crossmap and Parser modules.
        - The input consists of the following variables:
          - LOVD_ver      ; The version of LOVD, ignored for now.
          - build         ; The build of the human genome, assumed to be hg19 for now.
          - accno.version ; The accession number and version on which the c. 
                            positions are defined.
          - var           ; The variation (without an accession number).
        - If the accession number and version are present in the database, it returns
          all positions (one or two) in g. notation relative to the chromosome.
      - c2g.php 
        - This is a web interface for c2g.py, it is called in the following way:
          c2g.php?LOVD_ver=a&build=b&acc=c.d&var=e where a, b, c, d and e are 
          described above (note that the variation (e) should be HTML encoded).
      
      Altered (with respect to c2g.py):
      - Install.txt
        - Documented how to set up the c2g program.
      - Db.py
        - Added two new query functions:
          - get_NM_info    ; Get exonStarts, exonEnds, cdsStart, cdsEnd and strand
                             information, given an NM accession number.
          - get_NM_version ; Get the NM version, given an NM accession number.
        - Made a general query function, that is called by the specific query 
          functions.
      - Crossmap.py
        - Added helper functions for the output of c2g.
          - c2str ; Returns a string given mainsgn, main, offsgn and offset.
          - c2g   ; Returns a genomic position given mainsgn, main, offsgn and offset.
      
      Altered (for Mutalyzer itself):
      - GenRecord.py
        - Added default locus tag handling.
      - Mutator.py
        - Added a duplication function.
      - Parser.py
        - Added argument passing:
          - Substitutions: Arg1, Arg2 (Arg1>Arg2 for example).
          - Deletions: Arg1 (delArg1).
          - Ins: Arg1 (insArg1).
      - Retriever.py
        - Added code to make the cache directory if it does not exist. This 
          eliminates the need for the clean.sh script.
      - Main.py (most of the new functions have to be migrated elsewhere)
        - Altered the roll function to be able to roll in both directions.
        - Made a palindrome snoop function that finds the smallest string that is 
          not invariant under reverse complement, this function is also used to 
          detect perfect palindromes.
        - Made PtLoc2main and PtLoc2offset; get integers from the locations returned
          by the nomenclature parser.
        - Made Error and Warning message wrapper functions.
        - Made a function that tests if a string is an integer.
        - Made the parsing less verbose.
        - Extracted the positions from raw variations.
        - Wrote code to deal with reversed ranges.
        - Added error handling and warning messages for:
          - Substitutions.
          - Deletions.
          - Duplications.
          - Inversions.
          - Insertions.
      
      Removed:
        - clean.sh
          - It is no longer needed, since all temporary files and directories are no
            longer in subversion.
      
      
      git-svn-id: https://humgenprojects.lumc.nl/svn/mutalyzer/trunk@7 eb6bd6ab-9ccd-42b9-aceb-e2899b4a52f1
      41ac9420
  27. Oct 09, 2009
    • Laros's avatar
      Extracted the parsing of the configuration file from the Retriever module and · 5a36a807
      Laros authored
      put it in a new module named Config. This is done because an other new module
      named Db also needs the configuration file.
      
      De file Db.py is new and contains a function that interfaces to a MySQL 
      database. This database is used for the mapping of NM to NP accession numbers.
      
      The file mutalyzer.conf now has two more options: a MySQL user name and a 
      database name. 
      
      Started the documentation of a fresh installation, see Install.txt for more
      details.
      
      In Mutator.py: Added a function that calculates the positions of splice sites
      after mutatations.
      
      In Scheduler.py: Added some code (still in comment) that can parallelise jobs
      by using treads and detecting the number of processors present on the host.
      
      
      
      git-svn-id: https://humgenprojects.lumc.nl/svn/mutalyzer/trunk@5 eb6bd6ab-9ccd-42b9-aceb-e2899b4a52f1
      5a36a807
Loading