Skip to content
This repository has been archived by the owner on Sep 18, 2020. It is now read-only.

Commit

Permalink
Merge pull request #136 from spectre-team/develop
Browse files Browse the repository at this point in the history
Release 2.0
  • Loading branch information
gmrukwa committed Oct 4, 2017
2 parents ff80cf6 + d9abd80 commit 2e1f645
Show file tree
Hide file tree
Showing 553 changed files with 246,083 additions and 36,405 deletions.
5 changes: 5 additions & 0 deletions .bettercodehub.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
component_depth: 2
languages:
- csharp
- cpp
- typescript
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
## Large test files
test_files/single.txt

## Ignore MATLAB artifacts
*.asv

Expand All @@ -13,6 +16,11 @@
# Session info
octave-workspace

## Python artifacts

# Jupyter notebook checkpoints
.ipynb_checkpoints/

## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.

Expand Down
62 changes: 48 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
# Spectre

![Spectre](https://user-images.githubusercontent.com/1897842/31115297-0fe2c3aa-a822-11e7-90e6-92ceccf76137.jpg)

Spectre is a versatile tool used for analysis of MALDI-MSI data sets.

For the sake of simplicity, the toolset provided is available to be used
through interfacing with web application, which is currently a work-in-progress.
through web application interface, which is currently a work-in-progress.

In order to build and run the application, please refer to the
[installation](#install) section.
Expand All @@ -13,54 +15,86 @@ In order to build and run the application, please refer to the
The project is currently in its early stage. However, it comprises the
implementation of our own spectra modelling based on Gaussian Mixture Models,
and Divisive IK-means algorithm for unsupervised segmentation, which can be
used for efficient dataset compression as well as for knowledge discovery.
Aformentioned algorithms have already been published and links refering
used for efficient dataset compression, as well as for knowledge discovery.
Aformentioned algorithms have already been published and refering links
have been enclosed under [references](#references) section.

Also, several classification and clusterization methods will be provided soon,
along with supporting statistics.

## Install

Please refer to [docs](docs/Spectre.DivikWpfClient.pdf).
### DiviK local client

Please refer to [this manual](docs/Spectre.DivikWpfClient.pdf), as MATLAB
Common Runtime has to be installed.

### Spectre service & web application

The Web service is all the time available [here](http://vaei-bit01.aei.polsl.pl/).
If you still would like to host it yourself, please contact us by
[e-mail](mailto:[email protected]). We will provide you with exhaustive
explanation.

## Exemplary usage

### DiviK local client

Please refer to [docs](docs/Spectre.DivikWpfClient.pdf).

### Spectre service & web application

The application is available online [here](http://vaei-bit01.aei.polsl.pl/).

Right now, our web application allows only for an interactive visualization
of some of the data we were using in the research, along with Divisive
Intelligent K-means algorithm results. More features will get documented
when they appear.

## How to contribute?

Please contact us by an [e-mail](mailto:[email protected]). We will
answer you in details.
Please contact us by [e-mail](mailto:[email protected]). We will answer
you in details.

Short contribution guide is actively constructed on
[the project's wiki](https://github.com/spectre-team/spectre/wiki)
as the development progresses.

## Environment

Please refer to [docs](docs/Spectre.DivikWpfClient.pdf).
Please refer to [the docs](docs/Spectre.DivikWpfClient.pdf).

## References

This software is part of contribution made by [Data Mining Group of Silesian University of Technology](http://www.zaed.polsl.pl/), rest of which is published [here](https://github.com/ZAEDPolSl).
This software is part of contribution made by [Data Mining Group of Silesian
University of Technology](http://www.zaed.polsl.pl/), rest of which is
published [here](https://github.com/ZAEDPolSl).

+ [Marczyk M, Polanska J, Polanski A: Comparison of Algorithms for Profile-Based
Alignment of Low Resolution MALDI-ToF Spectra. In Advances in Intelligent
Systems and Computing, Vol. 242 of Man-Machine Interactions 3, Gruca A,
Czachorski T, Kozielski S, editors. Springer Berlin Heidelberg 2014, p. 193-201
(ISBN: 978-3-319-02308-3), ICMMI 2013, 22-25.10.2013 Brenna, Poland](http://link.springer.com/chapter/10.1007/978-3-319-02309-0_20)
(ISBN: 978-3-319-02308-3), ICMMI 2013, 22-25.10.2013 Brenna, Poland][1]
+ [P. Widlak, G. Mrukwa, M. Kalinowska, M. Pietrowska, M. Chekan, J. Wierzgon, M.
Gawin, G. Drazek and J. Polanska, "Detection of molecular signatures of oral
squamous cell carcinoma and normal epithelium - application of a novel
methodology for unsupervised segmentation of imaging mass spectrometry data,"
Proteomics, vol. 16, no. 11-12, pp. 1613-21,
2016](http://onlinelibrary.wiley.com/doi/10.1002/pmic.201500458/pdf)
Proteomics, vol. 16, no. 11-12, pp. 1613-21, 2016][2]
+ [M. Pietrowska, H. C. Diehl, G. Mrukwa, M. Kalinowska-Herok, M. Gawin, M.
Chekan, J. Elm, G. Drazek, A. Krawczyk, D. Lange, H. E. Meyer, J. Polanska, C.
Henkel, P. Widlak, "Molecular profiles of thyroid cancer subtypes:
Classification based on features of tissue revealed by mass spectrometry
imaging," Biochimica et Biophysica Acta (BBA)-Proteins and Proteomics, 2016](http://www.sciencedirect.com/science/article/pii/S1570963916302175)
imaging," Biochimica et Biophysica Acta (BBA)-Proteins and Proteomics, 2016][3]
+ [G. Mrukwa, G. Drazek, M. Pietrowska, P. Widlak and J. Polanska, "A Novel
Divisive iK-Means Algorithm with Region-Driven Feature Selection as a Tool for
Automated Detection of Tumour Heterogeneity in MALDI IMS Experiments," in
International Conference on Bioinformatics and Biomedical Engineering, 2016](http://link.springer.com/chapter/10.1007/978-3-319-31744-1_11)
International Conference on Bioinformatics and Biomedical Engineering, 2016][4]
+ [A. Polanski, M. Marczyk, M. Pietrowska, P. Widlak and J. Polanska, "Signal
partitioning algorithm for highly efficient Gaussian mixture modeling in mass
spectrometry," PloS one, vol. 10, no. 7, p. e0134256, 2015](http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0134256)
spectrometry," PloS one, vol. 10, no. 7, p. e0134256, 2015][5]

[1]: http://link.springer.com/chapter/10.1007/978-3-319-02309-0_20
[2]: http://onlinelibrary.wiley.com/doi/10.1002/pmic.201500458/pdf
[3]: http://www.sciencedirect.com/science/article/pii/S1570963916302175
[4]: http://link.springer.com/chapter/10.1007/978-3-319-31744-1_11
[5]: http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0134256
85 changes: 75 additions & 10 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,36 +1,69 @@
version: 1.0.{build}
version: 2.24.7.{build}
# enable patching of AssemblyInfo.* files
assembly_info:
patch: true
file: AssemblyInfo.*
assembly_version: "1.0.{build}"
assembly_version: "{version}"
assembly_file_version: "{version}"
assembly_informational_version: "{version}"
platform: x64
environment:
nuget_user:
secure: kWtlS49bKmP0IFXmdvDHmxGI8mS0xQGrwiJoco9nYtA=
nuget_password:
secure: Pzvx2CQjxp8eCBP+nFI2eg==
appveyor_rdp_password:
secure: Pzvx2CQjxp8eCBP+nFI2eg==
configuration:
- Debug
- Release
services: iis

# skip branch build if there is an active pull request
skip_branch_with_pr: true

init:
- cmd: echo Project - %APPVEYOR_PROJECT_NAME%
- cmd: echo Worker image - %APPVEYOR_BUILD_WORKER_IMAGE%
- cmd: echo Branch - %APPVEYOR_REPO_BRANCH%
- cmd: echo Author - %APPVEYOR_REPO_COMMIT_AUTHOR%
- cmd: echo Commit - %APPVEYOR_REPO_COMMIT%
#- cmd: echo (%APPVEYOR_REPO_COMMIT_MESSAGE%)
#- cmd: echo (%APPVEYOR_REPO_COMMIT_MESSAGE_EXTENDED%)
- cmd: echo Platform - %PLATFORM%
- cmd: echo Configuration - %CONFIGURATION%
#- ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))

nuget:
account_feed: false
project_feed: false

install:
- cmd: C:\projects\spectre\scripts\restore_nugets.bat
- ps: C:\projects\spectre\scripts\InstallNode.ps1

before_build:
- cmd: C:\projects\spectre\scripts\restore_nugets.bat
build_script:
- cmd: msbuild "C:\projects\spectre\src\Spectre.sln" /m /verbosity:quiet /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
- cmd: C:\projects\spectre\scripts\build_ng2_client.bat
- cmd: msbuild "C:\projects\spectre\src\Spectre.sln" /p:Configuration=%CONFIGURATION% /p:Platform=%PLATFORM% /m /verbosity:quiet /p:DeployOnBuild=true /p:PublishProfile=%CONFIGURATION% /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
- cmd: C:\projects\spectre\scripts\build_ng_client.bat %CONFIGURATION%
after_build:
- cmd: C:\projects\spectre\scripts\package_project.bat "DiviK.zip" Spectre.DivikWpfClient
- ps: C:\projects\spectre\scripts\BindPageToIisAndCreateDataDir.ps1 -AppVeyor
- cmd: C:\projects\spectre\scripts\package_project.bat DiviK Spectre.DivikWpfClient
- cmd: C:\projects\spectre\scripts\package_web_project.bat WebAPI Spectre
- cmd: C:\projects\spectre\scripts\package_angular_client.bat

test_script:
- cmd: C:\projects\spectre\scripts\test_native_code.bat
- cmd: C:\projects\spectre\scripts\test_dotnet.bat --except Algorithm
- cmd: C:\projects\spectre\scripts\test_frontend.bat
- cmd: C:\projects\spectre\scripts\test_frontend_e2e.bat

artifacts:
- path: DiviK.zip
- path: DiviK-$(configuration).zip
name: DivikExecutables
- path: WebClient-$(configuration).zip
name: WebClient
- path: WebAPI-$(configuration).zip
name: WebAPI

deploy:
- provider: GitHub
Expand All @@ -39,5 +72,37 @@ deploy:
secure: dQadz+smqtuxpigZ/LmrUKyA0uVZ5kgljKntyoHEdobTycbeMywbfmiJtZPNcOQ2
artifact: DivikExecutables
draft: true
on:
CONFIGURATION: Release
- provider: GitHub
release: Spectre-v$(appveyor_build_version)
auth_token:
secure: dQadz+smqtuxpigZ/LmrUKyA0uVZ5kgljKntyoHEdobTycbeMywbfmiJtZPNcOQ2
artifact: WebClient
draft: true
- provider: GitHub
release: Spectre-v$(appveyor_build_version)
auth_token:
secure: dQadz+smqtuxpigZ/LmrUKyA0uVZ5kgljKntyoHEdobTycbeMywbfmiJtZPNcOQ2
artifact: WebAPI
draft: true

on_finish:
#- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
- cmd: C:\projects\spectre\scripts\upload-frontend-test-results.bat

notifications:
# this publishes to Continuous Integration channel in Glip
- provider: Webhook
url:
secure: V16hjhyXfcLNyhNUih9v1Lb4wDly5r6CNNufciMrvllwt0m0rkguf6o4DY7pbdKia/vJGmErvQLdEW0MkzqsAhLWiPY7+Z6qvzFjweP8xNg=
method: POST
content_type: application/json
body: >-
{
"icon": "https://www.appveyor.com/assets/img/appveyor-logo-256.png",
"activity": "AppVeyor",
"title": "Build {{buildVersion}} **{{#failed}}failed{{/failed}}{{#passed}}passed{{/passed}}** in {{duration}}",
"body": "{{#isPullRequest}}Pull request: [#{{pullRequestId}}](https://github.com/spectre-team/spectre/pull/{{pullRequestId}})\n{{/isPullRequest}}Branch: [{{branch}}](https://github.com/spectre-team/spectre/tree/{{branch}})\nCommit: [{{commitId}} {{commitMessage}}](https://github.com/spectre-team/spectre/commit/{{commitId}})\nAuthor: {{commitAuthor}}\n[Build details]({{buildUrl}})"
}
on_build_success: true
on_build_failure: true
on_build_status_changed: true
Binary file removed libs/Common/MWArray.dll
Binary file not shown.
Loading

1 comment on commit 2e1f645

@gmrukwa
Copy link
Collaborator Author

@gmrukwa gmrukwa commented on 2e1f645 Oct 4, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.