{"_id":"@amazyyy/fcs","_rev":"3-698b4708cb3c80ea95615fad1e9f3a30","name":"@amazyyy/fcs","dist-tags":{"latest":"0.2.2"},"versions":{"0.2.0":{"name":"@amazyyy/fcs","version":"0.2.0","description":"Flow Cytometry Standard (FCS) file reader that works with IE<=8","main":"fcs.js","devDependencies":{"coveralls":"^3.0","mocha":"^7.0.0","nyc":"^15.0.0"},"scripts":{"oldtest":"mocha","test":"nyc --reporter=lcov mocha","testOnUnixUseThis":"mocha (I think)","testOnWindowsUseThis":"node node_modules/mocha/bin/mocha","coverage":"nyc --reporter=text-lcov report | coveralls"},"repository":{"type":"git","url":"git+ssh://git@github.com/amazyyy/fcs.git"},"keywords":["FCS","Flow","Cytometry"],"author":{"name":"Morgan Conrad","email":"flyingspaniel@gmail.com"},"homepage":"http://github.com/amazyyy/fcs-ie8/","license":"MIT","bugs":{"url":"http://github.com/amazyyy/fcs-ie8/issues"},"dependencies":{"core-js":"^3.8.3"},"gitHead":"5d095489d3df34b6288c55e9f78c8ab1f2fe37ab","_id":"@amazyyy/fcs@0.2.0","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-/TYUUkLJW673U3usGMeQ0bIyKqJCciMsA1XVtjaYHpLPvFceK8oVI8svarHpKkPSUuTCLsV71h++sWOdYvV6Yw==","shasum":"0a50742da65de8abe19e7e1255190d84ea371b6d","tarball":"https://registry.npmjs.org/@amazyyy/fcs/-/fcs-0.2.0.tgz","fileCount":18,"unpackedSize":1245022,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgKfctCRA9TVsSAnZWagAAQwUP+gPrUshE5QY1cFDTSmp7\n9whOM6YNq3NmHYNtlULAm4CjlgKUARuTJisRuJfMBQqQljEQv5XKVzt87A0X\nWjXIt3zqnmsAW5ePa9+DOWtrVKvxmd/CMpv+/ie5UNHKV5vEaV8MFr6uvpEg\nm3mw5TXr9NOZNdcHpNqUsjK+N7MoTnbSpb4edw8lD4yJJGfkW8EdjsX5tsdw\nCBkpJEdGg+t2mq6OJ1gehVBieEEreceAmX1+YWRXf7gtLWVTD5C813bslQZw\niyWGBjkCwrGiAEEJ7dJ5ccm7SVPVou8pqfU3i0Uo1RJazgxdE8qH3PaCZ9d1\n9NVWmP+/DYoqvCfUoIvejcdi42OwGiYaN0iWKy2En2oDhcDFwOXDokAufR/g\n4Ildb7+DTEltZhg2bR3XGJkCFSKiwTVnOJRnxd1c+jVRA5zUXfMtNyUHrOJw\nPoteQ6fB7WPMPsgGByA+gnhZlB1ulonqPlIfhYeJXU0IR4cMEMD+ZXF1FrHc\nyVyedLcnMEjVR2/YgausbNcVbSP9pnzIHDLdVLMu37P7AZsvxBYNh02Kizh0\nzQOq5T7CCJM+JzUlrzVlzbvnrbD8Msn+jMYp8q4aXsmsDhuKp8BOPips/bPp\ngfWR71cdq9TLuzmE+I0wMxRoZKjqZCpA/ICThtJJGHpFVYe+SPKw2PO/H16d\nQp8Q\r\n=HoKm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsnd8AuX//Hfkj6NGJXXRSr3RCHCmoL3odzHuM3jvErgIhAJn+36tPmvgbWyx3jzmxU9fPY4zy1C/v8QfDzI7XaWfA"}]},"_npmUser":{"name":"amazyyy","email":"teamamazyyy@gmail.com"},"directories":{},"maintainers":[{"name":"amazyyy","email":"teamamazyyy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fcs_0.2.0_1613362989121_0.7741212566988707"},"_hasShrinkwrap":false},"0.2.1":{"name":"@amazyyy/fcs","version":"0.2.1","description":"Flow Cytometry Standard (FCS) file reader that works with IE<=8","main":"fcs.js","devDependencies":{"coveralls":"^3.0","mocha":"^7.0.0","nyc":"^15.0.0"},"scripts":{"oldtest":"mocha","test":"nyc --reporter=lcov mocha","testOnUnixUseThis":"mocha (I think)","testOnWindowsUseThis":"node node_modules/mocha/bin/mocha","coverage":"nyc --reporter=text-lcov report | coveralls"},"repository":{"type":"git","url":"git+ssh://git@github.com/amazyyy/fcs.git"},"keywords":["FCS","Flow","Cytometry"],"author":{"name":"Morgan Conrad","email":"flyingspaniel@gmail.com"},"homepage":"http://github.com/amazyyy/fcs-ie8/","license":"MIT","bugs":{"url":"http://github.com/amazyyy/fcs-ie8/issues"},"dependencies":{"core-js":"^3.8.3"},"gitHead":"ce4c6e430d6fd1a7de5c25176f0b662573f1a5f9","_id":"@amazyyy/fcs@0.2.1","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-DyRgJPt6YbKIxL13RW+6FaWZoGIqvySCgeZVR663HUhKdJhfPdqjHbbv9hi3T6FMl7Q7aYX/Ulu1HC4AghXrEA==","shasum":"c2b9ebdd9d04a8a2abdd99218e61c6ba8bbe0d8e","tarball":"https://registry.npmjs.org/@amazyyy/fcs/-/fcs-0.2.1.tgz","fileCount":18,"unpackedSize":1245142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgRbsOCRA9TVsSAnZWagAAkcwP/i+1wTN8BmgO68pH5wux\npmcRwlVrQEVXTKs+f8wfAQH3w5STKKk8gJVyqU7YGphbi2Al5Zm6PO5pMnib\nOSEM4u59QBe55wU06kw5hrVknzotlgLoVV+8XYxmfwH1PNvMdhXP9fJMYO14\n6Ip1s2RA+tfLXX98ihiH4cWlg4be2zdjuUHnHcgKoRrEfPoRG32nuvy8Vqtk\nY6HoyCPFp/SH8V/Ib4oJ8tgP+HyajkjHubl8ey88mXFog95XLqfnSw8RASrb\nSUAWajkPTllMWO6o13HihEJTTFfVI1RxYqTBIYQ7AStHpNNkKs5Q9J1BWWzY\nvmuRtFH6Z4dt2oML6swoiOAJtoPs0Pr++qX2vTLcwKrcAxkOQCDBrAqXJyuW\nK5YOuewPukyYMUS5wcznCoxYxWF6cT6e202t+SmdNmvSYzaqzzdErBBk0/7h\nKqg44uZjjgaKIQfCItDE1yb9svFR37xXaXPJbWXIWz5xB7MBDG4ms8591Ueb\npwUN1PrR8W4oulOXUyYDa2c+mTeNnZ/IMbTIIlW8yPaCwkHTw2RTPZxwsjGC\nrhxq9sDaUiBZi/WRzhGq+k+vDe+7AmDEAHKA7GiXIkxMv0p+FdRFBvlET/Yu\nEpoINASHawqQIKJq9KLdaTY/d2M5oZOsBZgVo0jAe6nXVLQbNhYO93M4pjxp\nGnnd\r\n=iGs9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB//L+4tQx92c5bfVVaGrDVomCBX6dIL3nQG51vkodaXAiAT/Y1IhwrJsbioseykvD2W8rRyeR/2meCBMn8di3RYfg=="}]},"_npmUser":{"name":"amazyyy","email":"teamamazyyy@gmail.com"},"directories":{},"maintainers":[{"name":"amazyyy","email":"teamamazyyy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fcs_0.2.1_1615182605614_0.33935173427128795"},"_hasShrinkwrap":false},"0.2.2":{"name":"@amazyyy/fcs","version":"0.2.2","description":"Flow Cytometry Standard (FCS) file reader that works with IE<=8","main":"fcs.js","devDependencies":{"coveralls":"^3.0","mocha":"^7.0.0","nyc":"^15.0.0"},"scripts":{"oldtest":"mocha","test":"nyc --reporter=lcov mocha","testOnUnixUseThis":"mocha (I think)","testOnWindowsUseThis":"node node_modules/mocha/bin/mocha","coverage":"nyc --reporter=text-lcov report | coveralls"},"repository":{"type":"git","url":"git+ssh://git@github.com/amazyyy/fcs.git"},"keywords":["FCS","Flow","Cytometry"],"author":{"name":"Morgan Conrad","email":"flyingspaniel@gmail.com"},"homepage":"http://github.com/amazyyy/fcs-ie8/","license":"MIT","bugs":{"url":"http://github.com/amazyyy/fcs-ie8/issues"},"dependencies":{"core-js":"^3.8.3"},"gitHead":"0a644f4d3012c2d8c38294e2cb3371183f328e96","_id":"@amazyyy/fcs@0.2.2","_nodeVersion":"10.19.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-PqUE5TydtneJdKmL8T7hOMe3fMNJKA93QRLbb6R/+kFMscr5AkxWp7A7J3hvOrz6IRTMd49cwDAI4Z25xnk7MA==","shasum":"854126f6f94571aedd2108a93b4ed1225d523cd3","tarball":"https://registry.npmjs.org/@amazyyy/fcs/-/fcs-0.2.2.tgz","fileCount":18,"unpackedSize":1245164,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgRbxFCRA9TVsSAnZWagAA6jQQAIITVdtbDCRTeQAeMoaO\nifTAdmZzxxyFcsaxJ3lE7hUgc81IFKT0ip3ibLWnOtGwmw2TQvVmzvIeY6CR\n8QoFh9VDOPJifh51DEBJbPKpSnAfHCQnOiPHEEes6+IL/CWQxbkqrqrDFe7q\nTBz+IKnlY0jU9FIRvp4gB00tuPk4myA4usuuvVAZ7rHcAWybvJ0aF34xZTI1\nSp9bk09Kbm/q8Q6P7gfhNRcMr97cFLapkMpnOwKKuOOPMKO8EE3c2fO/ygoq\n0+VVYgE5JzThWfd4ekxJ3tgaHWeG7EPkwzZlvcFfNefMEhbElhW3Yvl+j/Ea\n4sLpIOUjjWiZUcUaA3oKqb0FQOYrmdd1I/LOKMIIu3RjDx5AAOdOajb7DBGe\nKhb8zUcxT/mYasUttIXUQlUAkvb2GLVFTaeO9R6n1maECX1g/m9AUeiz8Qil\nVqakh/RaXnRUo33wshWjSj8xE53tBgZmwd3Cy49pNM3jE/i/dbbWuSN+ujwj\nRlMRBxqgVsZK6Xq22ASvVUTr6ybbn9YgXiSKjCDGa1AuVHRJ3WRwobAMOXi5\nW1Q/mBuGwakJ3c1OHBw8FOHOyOWODir0IfUuDViIYnZOwUn+e3yCtB0+fBSi\nsLoDHfEwz8yPwLSvvSxIOm0lIy9/Cb1IDb9JyEd1uS8coF74SkUpg6Ed4dBE\nxIBm\r\n=nMu9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICBKLGhp7i8ZuF1Ayno5fma6XDXDDRqvAqEtYOVHpLY2AiEAtxyT3DzPvUznmreIx9p/ERRwzUU3y9Wc0ZMlXhPMF9Y="}]},"_npmUser":{"name":"amazyyy","email":"teamamazyyy@gmail.com"},"directories":{},"maintainers":[{"name":"amazyyy","email":"teamamazyyy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/fcs_0.2.2_1615182916677_0.7195371729532885"},"_hasShrinkwrap":false}},"time":{"created":"2021-02-15T04:23:09.089Z","0.2.0":"2021-02-15T04:23:09.346Z","modified":"2022-04-04T13:45:08.623Z","0.2.1":"2021-03-08T05:50:05.865Z","0.2.2":"2021-03-08T05:55:16.868Z"},"maintainers":[{"name":"amazyyy","email":"teamamazyyy@gmail.com"}],"description":"Flow Cytometry Standard (FCS) file reader that works with IE<=8","homepage":"http://github.com/amazyyy/fcs-ie8/","keywords":["FCS","Flow","Cytometry"],"repository":{"type":"git","url":"git+ssh://git@github.com/amazyyy/fcs.git"},"author":{"name":"Morgan Conrad","email":"flyingspaniel@gmail.com"},"bugs":{"url":"http://github.com/amazyyy/fcs-ie8/issues"},"license":"MIT","readme":"[![Build Status](https://secure.travis-ci.org/MorganConrad/fcs.png)](http://travis-ci.org/MorganConrad/fcs)\n[![License](http://img.shields.io/badge/license-MIT-A31F34.svg)](https://github.com/MorganConrad/fcs)\n[![NPM Downloads](http://img.shields.io/npm/dm/fcs.svg)](https://www.npmjs.org/package/fcs)\n[![Known Vulnerabilities](https://snyk.io/test/npm/fcs/badge.svg)](https://snyk.io/test/npm/fcs)\n[![Coverage Status](https://coveralls.io/repos/github/MorganConrad/fcs/badge.svg)](https://coveralls.io/github/MorganConrad/fcs)\n\n# fcs\n\nJavascript / node.js code to read FCS flow cytometry data.  Will read all of the HEADER, TEXT, and ANALYSIS segments into key/value pairs.  Reads raw (likely uncompensated) data as well, either into numeric arrays for further analysis, or as Strings for quickly scanning the data.\n\n## basic usage\n\n1. Get the FCS file into a Buffer\n2. Create a new FCS(theBuffer, options)\n\ne.g. to read from a file asynchronously\n\n```javascript\n    var FCS = require('fcs');\n    FS.readFile(filename, function(err, databuf) {\n        if (err) {\n            console.error(err);\n            }\n            else {\n           var fcs = new FCS(options, databuf);\n           // do something with fcs\n            }\n   });\n```\n\n### see fcscli.js or fcshttp.js in the examples folder for usage examples\n\n## options (default in bold)\n\n* dataFormat:   'asNumber', '**asString**', 'asBoth', or 'asNone'\n* groupBy:       '**byEvent**', 'byParameter'\n* decimalsToPrint: **2**\n* eventsToRead:    **1000**   // an integer, -1 means \"all events\"\n* maxPerLine:      **10**\n* eventSkip:   **0**  if eventsToRead is less than the events in the file, this allows you to more randomly sample.  A value of 'true' has them equally distributed.  0 means read the first events from the file.\n\nAny additional options are ignored, but will be printed under a \"meta\" segment in the JSON.  For example, you might want to include a date, your laboratory, etc...\n\n# api\n\n## creational\n\n### var myFCS = new FCS(options, buffer)\nConstructor.  Both arguments are optional.\nIf buffer is present it will be read, otherwise you need to call **readBuffer()** or **readStreamAsync()** later\n\n### myFCS.options(options)\nSet or add options.\n\n### myFCS.readBuffer(buffer, moreOptions)\nRead data from buffer.  moreOptions are optional.  Hopefully by now you've set them all! :-)\n\n### myFCS.readStreamAsync(readStream, moreOptions, callback)\nReads data asynchronously from a readStream.  moreOptions is optional.  When complete, calls `callback(err, fcs)`.\n\n### myFCS.prepareWriteableStream(callback, readableStream)\nThe readableStream arg is optional.  Creates a writeableStream ready to parse an FCS format file.  e.g.\n\n    var fws = fcs.prepareWriteableStream(callback, readableStream);\n    readableStream.pipe(fws);\n\nWhen piping is complete, will call `callback(err, fcs)`.\n\n## retrieving the data\n\n### get(segment, keywords...)\nsegment should be one of  ('text', 'analysis', or, more rarely, 'header', 'meta').\nIf no keywords are provided, returns that entire segment\notherwise, returns a single value, stopping at the first match to the keyword.\nReturns null if none were found.\n\n### getText(keywords...)\nEquivalent to get('text', keywords)\n  *e.g.* `text('$P3N') might return 'FL1-H'\n\n### get$PnX(x)\nReturn an array of all N keywords for that P.X combination.  The 0th value will be empty.\n  *e.g.* `get$PnX('N') might return ['', 'FSC, 'SSC', 'FL1-H', ...]\n\n### getAnalysis(keyword, additionalKeywords...)\nEquivalent to get('analysis', keywords)\n\n### getNumericData(oneBasedIndex)\nReturns an array of Numbers for the respective event or parameter, iff you requested numeric data.\n\n### getStringData(oneBasedIndex)\nReturns an array of Strings for the respective event or parameter, iff you requested string data.\n\n### getOnly(onlys)\nReturns a subset of the JSON, based upon onlys, an array of dot delimited Strings\n  *e.g.* getOnlys(['meta','text.$P1N') would return all of meta, plus parameter 1 name\n\n## fields\n\n### .header\n  Holds the HEADER segment (first 256 bytes).  The version is header.FCSVersion\n\n### .text\n  Holds all the TEXT segment\n\n### .analysis\n  Holds all the ANALYSIS segment.  If none, is an empty object {}\n\n### .meta\n  Holds all the options, plus a bit more\n\n## Todos and Gotchas [official bugs here](https://github.com/MorganConrad/fcs/issues)\n\n - doesn't handle $BEGINSTEXT, $ENDSTEXT\n - could do more with Millipore's XML ANALYSIS\n\n## Changelog\n\n - v0.1.0  17 Nov 2018 partly converted to use ES6 features\n","readmeFilename":"README.md"}