Code Monkey home page Code Monkey logo

clojure-cd's Introduction

# cd-experiment

Code for reading various types of circular dichroism experiment output.  Currently reads gen, jasco, aviv, bp, pcd and plain text
(two columns: wavelength, reading).  Can convert data from machine units/yy/mean residue ellipticity to delta epsilon (DE).  There is also the option to convert any of the formats to a simple
gen-like format, including metadata where present.

## Usage

Copy the .jar to your classpath and then add
(ns your.namespace
	(:use [cd.parser]
		  [cd.experiment]))

cd.parser contains the parsing code
cd.experiment allows for unit conversion and gen creation.

Example:
Parse a file ->

(parse-experiment <full_path_to_file> <type>)
<full_path_to_file> would be: /User/you/mydata/some_experiment.gen
<type>must be one of :gen :plain :jasco :aviv :bp

This returns an Experiment. record containing :metadata, :spectrum :wavelength :baseline :ht :calibration

(def my-exp (parse-experiment "resources/gen.txt" :gen))
(keys my-exp)
[:meta :spectrum :wavelengths :baseline :ht :calibration] -> it's a plain defrecord at the moment.

Convert to a gen file ->
(def my-aviv (parse-experiment "resources/aviv.txt" :aviv))
(println (print-gen my-aviv))

--- snip
Dwell time (s)          2
Smoothing window        7
Experiment              Transferrin
High Wavelength         280
170.0       9.00761E-02	    9.00761E-02	    9.00761E-02	    0.00000E+00	    0.00000E+00	    0.00000E+00
171.0      -3.09388E-01	   -3.09388E-01	   -3.09388E-01	    0.00000E+00	    0.00000E+00	    0.00000E+00
172.0      -6.51957E-01	   -6.51957E-01	   -6.51957E-01	    0.00000E+00	    0.00000E+00	    0.00000E+00
173.0      -9.37600E-01	   -9.37600E-01	   -9.37600E-01	    0.00000E+00	    0.00000E+00	    0.00000E+00
--- snip

Gen files often contain raw and processed data.  Files produced by this method will copy your data into
the raw, processed and HT columns (at a later date HTs will be incorporated where available) 

## License

Copyright (C) 2012 theVillageIdiot

Distributed under the Eclipse Public License, the same as Clojure.

clojure-cd's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.