4.11.6 • Published 2 months ago

@ebi-wp/ebinocle-ng-rsclient v4.11.6

Weekly downloads
90
License
Apache-2.0
Repository
-
Last release
2 months ago

ebinocle-ng-rsclient

EBI Search Angular REST client

Documentation

The documentation can be found at: http://ebi-wp.gitdocs.ebi.ac.uk/ebinocle-ng-rsclient

Install

npm i @ebi-wp/ebinocle-ng-rsclient

Usage example

The following example, creates a SearchRequest object, sets the domain and query. Then it gets the search results using that object.

import { Component } from '@angular/core';
import { Configuration, SearchRequest, SearchService } from '@ebi-wp/ebinocle-ng-rsclient';

@Component({
  selector: 'app-search',
  templateUrl: './search.component.html'
})
export class SearchComponent {
  constructor(private readonly searchService: SearchService) {}

  public search() {
    const searchRequest = new SearchRequest(new Configuration());
    searchRequest.setDB('embl');
    searchRequest.query = 'mouse';

    return this.searchService.getSearchResults(searchRequest);
  }
}

Simple search

In the following example we use the SearchService to submit a search to the embl domain with the query "mouse".

import { Component, OnInit } from '@angular/core';
import { Configuration, SearchRequest, SearchResults, SearchService } from '@ebi-wp/ebinocle-ng-rsclient';
import { Observable } from 'rxjs';

@Component({
  selector: 'app-search',
  templateUrl: './search.component.html'
})
export class SearchComponent implements OnInit {
  public searchResults: SearchResults;

  constructor(private readonly searchService: SearchService) {}

  public ngOnInit(): void {
    this.search().subscribe((searchResults) => {
      this.searchResults = searchResults;
    });
  }

  public search(): Observable<SearchResults> {
    const searchRequest = new SearchRequest(new Configuration());
    searchRequest.setDB('embl');
    searchRequest.query = 'mouse';

    return this.searchService.getSearchResults(searchRequest);
  }
}

Then in the HTML template:

<ng-container *ngIf="searchResults && searchResults.hitCount > 0">
  <div *ngFor="let entry of searchResults.entries">
    <p>{{ entry.id }}</p>
    <p>{{ entry.fields.description[0] }}</p>
  </div>
</ng-container>

Faceted search

To get facets along with a search result, the query and facetcount parameters are needed:

// ...
public search(): Observable<SearchResults> {
  const searchRequest = new SearchRequest(new Configuration());
  searchRequest.setDB('embl');
  searchRequest.query = 'mouse';
  searchRequest.facetcount = 10;

  return this.searchService.getSearchResults(searchRequest);
}
// ...

To extract the facets use:

// ...
this.search().subscribe((searchResults) => {
  this.facets = searchResults.facets;
});
// ...

To filter out by a list of selected facet values, the facets parameter can help. The value format for the parameter is a comma separated list of facet id:facet value:

// ...
public search(): Observable<SearchResults> {
  const searchRequest = new SearchRequest(new Configuration());
  searchRequest.setDB('embl');
  searchRequest.query = 'plantae';
  searchRequest.facetcount = 10;
  searchRequest.facets = 'taxonomy:1842';

  return this.searchService.getSearchResults(searchRequest);
}
// ...

Cross reference searching

Finding domains referred by an entry

Given a source domain and an entry we want to retrieve the referenced (target) domains:

// ...
public search(): Observable<SearchResults> {
  return this.searchService.getReferencedDomains('uniprot', 'Q9BYF1');
}
// ...

To extract the results:

// ...
this.search().subscribe((searchResults) => {
  for (const domain of searchResults.domains) {
    console.log(`Referenced domain ${domain.id} with ${domain.referenceEntryCount} entries`);
  }
});
// ...

Cross reference searching

To find entries in a target domain (europepmc in this case) referred to by a source domain (uniprot) and entry (Q9BYF1) use the following:

// ...
public search(): Observable<SearchResults> {
  return this.searchService.getReferencedEntries(
    'uniprot',
    'Q9BYF1',
    'europepmc',
    1
  );
}

// ...

To extract the results:

// ...
this.search().subscribe((searchResults) => {
  const reference = this.searchResults.entries[0];

  this.referencesResult = {
    hitCount: reference?.referenceCount,
    entries: reference?.references
  };
});
// ...
4.11.6

2 months ago

4.11.4

3 months ago

4.11.5

3 months ago

4.11.2

3 months ago

4.11.3

3 months ago

4.9.2

11 months ago

4.10.1

9 months ago

4.10.0

10 months ago

4.11.0

8 months ago

4.11.1

7 months ago

4.9.1

11 months ago

4.9.0

1 year ago

4.8.1

1 year ago

4.8.0

1 year ago

4.8.2

1 year ago

4.7.0

1 year ago

4.4.0

1 year ago

4.0.0

1 year ago

4.3.0

1 year ago

3.9.1

1 year ago

3.9.0

1 year ago

3.8.0

1 year ago

4.6.0

1 year ago

4.2.0

1 year ago

3.7.1

1 year ago

3.7.0

1 year ago

4.5.0

1 year ago

4.1.0

1 year ago

3.2.0

2 years ago

3.6.0

1 year ago

3.1.0

2 years ago

3.5.0

2 years ago

2.14.0

2 years ago

3.4.0

2 years ago

3.0.1

2 years ago

3.0.0

2 years ago

2.13.2

2 years ago

2.13.0

2 years ago

2.13.1

2 years ago

3.3.0

2 years ago

2.12.1

2 years ago

2.11.0

2 years ago

2.4.0

2 years ago

2.8.0

2 years ago

2.0.0

2 years ago

2.9.1

2 years ago

1.32.0

2 years ago

2.3.0

2 years ago

2.10.0

2 years ago

2.7.0

2 years ago

1.33.0

2 years ago

2.2.0

2 years ago

2.6.0

2 years ago

2.12.0

2 years ago

2.1.1

2 years ago

2.5.0

2 years ago

2.9.0

2 years ago

2.1.0

2 years ago

1.31.0

2 years ago

1.21.0

2 years ago

1.20.1

2 years ago

1.22.0

2 years ago

1.20.2

2 years ago

1.18.2

2 years ago

1.19.0

2 years ago

1.19.2

2 years ago

1.19.1

2 years ago

1.20.0

2 years ago

1.18.1

2 years ago

1.18.0

2 years ago

1.17.6

3 years ago

1.17.9

2 years ago

1.17.8

3 years ago

1.17.7

3 years ago

1.17.5

3 years ago

1.17.4

3 years ago

1.17.3

3 years ago

1.17.2

3 years ago

1.17.1

3 years ago

1.17.0

3 years ago

1.16.8

3 years ago

1.16.7

3 years ago

1.16.6

3 years ago

1.16.5

3 years ago

1.16.4

3 years ago

1.16.3

3 years ago

1.16.2

3 years ago

1.16.1

3 years ago

1.16.0

3 years ago

1.15.6

3 years ago

1.15.5

3 years ago

1.15.4

3 years ago

1.15.3

3 years ago

1.15.2

3 years ago

1.15.0

3 years ago

1.15.1

3 years ago

1.14.1

3 years ago

1.14.0

3 years ago

1.13.0

3 years ago

1.12.1

3 years ago

1.12.0

3 years ago

1.11.6

3 years ago

1.11.4

3 years ago

1.11.3

3 years ago

1.11.2

3 years ago

1.11.1

3 years ago

1.11.5

3 years ago

1.11.0

3 years ago

1.10.0

3 years ago

1.9.1

3 years ago

1.9.0

3 years ago

1.8.3

3 years ago

1.8.2

3 years ago

1.8.1

3 years ago

1.8.0

3 years ago

1.7.1

3 years ago

1.7.0

3 years ago

1.6.3

3 years ago

1.6.2

3 years ago

1.6.1

3 years ago

1.6.0

3 years ago

1.6.0-alpha.6

3 years ago

1.6.0-alpha.4

3 years ago

1.4.7

4 years ago

1.4.7-alpha.5

4 years ago

1.4.7-alpha.4

4 years ago

1.4.7-alpha.2

4 years ago

1.4.7-alpha.1

4 years ago

1.4.7-alpha.3

4 years ago

1.4.6

4 years ago

1.4.5

4 years ago

1.3.11-alpha.29

4 years ago

1.3.1-1.alpha.5

4 years ago

1.3.1-1.alpha.4

4 years ago

1.3.1-1.alpha.3

4 years ago

1.3.1-1.alpha.2

4 years ago

1.3.1-1.alpha.1

4 years ago