1.0.0 • Published 10 months ago

@wcmc/ng-mona-client v1.0.0

Weekly downloads
1
License
LGPL-3.0
Repository
-
Last release
10 months ago

Angular MoNA Client

An angular client for the MoNA (MassBank of North America) REST API.

This library was generated with Angular CLI version 15.0.0.

Installation

npm install @wcmc/ng-mona-client --save

Usage

Import the library

import { NgMonaClientModule } from '@wcmc/ng-mona-client';
 
@NgModule({
 // ...
 imports: [
   // ...
   NgMonaClientModule
 ]
})

Inject a REST service and model into your component/service/etc

import { Spectrum, SpectrumService } from '@wcmc/ng-mona-client';
 
@Component({
  // ..
})
export class AppComponent {
  constructor(private spectrumService: SpectrumService) {
    // empty query, empty text search, 0th page, page size of 1
    this.spectrumService.list('', '', 0, 1)
      .subscribe((spectrum: Spectrum[]) => {
        // return an array containing one spectrum from the search API
      });
    }
  // ..
}

Perform a similarity search

import { SimilarityService, SimilaritySearchRequest, SimilaritySearchResult } from '@wcmc/ng-mona-client';

@Component({
  // ..
})
export class AppComponent {

  constructor(private similarityService: SimilarityService) {

    // base similarity request consisting only of a spectrum string
    // spectrum is the only required property, all following parameters are optional
    const request = new SimilaritySearchRequest('100:1 125:25 200:100');

    // add a minimum similarity threshold from 0 to 1 (a value of 0.7 is equivilent ot a score of 700)
    request.minSimilarity = 0.7;

    // filter by precursor m/z
    // only one parameter between precursorToleranceDa and precursorTolerancePPM is required
    // if both a provided precursorToleranceDa is preferred
    request.precursorMZ = 200;
    request.precursorToleranceDa = 0.05;
    request.precursorTolerancePPM = 10;

    // a list of required tags that each hit must contain all of
    request.requiredTags = ['LC-MS'];

    // a list of tags that each hit much match at least one of
    request.filterTags = ['MassBank', 'GNPS', 'HMDB'];

    // option to remove the precursor m/z from the similarity calculations
    // is false by default, and only applies if precursorMZ is also specified
    request.removePrecursorIon = true;

    // option to specify the similarity search algorithm to use, if not provided the default algorithm is used
    request.algorithm = 'COSINE';


    // perform search, limiting the results to the top 10 hits
    service.getSimilarityResults(request, 10)
      .subscribe((hits: SimilaritySearchResult[]) => {
        // return an array of SimilaritySearchResult objects which have two properties:
        //   - hit: matching spectrum object
        //   - score: similarity score of the query to the match
      });
    );
  // ..
}
1.0.0

10 months ago

0.1.5

11 months ago

0.1.4

3 years ago

0.1.3

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago