Code Monkey home page Code Monkey logo

psl's Introduction

PSL

Implementation of Protein Subcellular Localization

A Multi-scale Multi-model Deep Neural Network via Ensemble Strategy on High-throughput Microscopy Image for Protein Subcellular Localization

flow

In this study, we propose a multi-scale multi-model deep neural network via ensemble strategy for protein subcellular localization on single-cell high-throughput images. First of all, we employ a deep convolutional neural network as multi-scale feature extractor and use global average pooling to map extracted features at different stages into feature vectors, then concatenate these multi-scale features to form a multi-model structure for image classification. In addition, we add Squeeze-and-Excitation Blocks to the network to emphasize more informative features. What’s more, we use an ensemble method to fuse the classification results from the multi-model structure to obtain the final sub-cellular location of each single-cell image. Experiments show the validity and effectiveness of our method on yeast cell images, it can significantly improve the accuracy of high-throughput microscopy image-based protein subcellular localization, and we achieve the classification accuracy of 0.9098 on the high-throughput microscopy images of yeast cells. In the work of protein subcellular localization, our method provides a framework for processing and classifying microscope images, and further lays the foundation for the study of protein and gene functions.

Data

T. Pärnamaa, L. Parts, Accurate classification of protein subcellular localization from high-throughput microscopy images using deep learning, G3: Genes, Genomes, Genetics 7 (5) (2017) 1385–1392. arXiv:https: //www.g3journal.org/content/7/5/1385.full.pdf, doi:10.1534/g3. 810 116.033654.

Data pre-processing

dataset.py 

Training

python training.py

model = ResNet34()
model.compile(loss='categorical_crossentropy', optimizer=keras.optimizers.Adam(), metrics=['accuracy'])

metric = 'val_accuracy'
filepath="/home/dingjiaqi/Program/deepyeast-master/deepyeast-master/deepyeast/weights/A-{accuracy:.3f}.hdf5"
checkpoint = keras.callbacks.ModelCheckpoint(filepath, monitor=metric, verbose=1, save_best_only=True, mode='max')
reduce_lr = keras.callbacks.ReduceLROnPlateau(monitor='val_accuracy', factor=0.1, patience=5, cooldown=0, min_lr=1e-5)
callbacks_list = [checkpoint, reduce_lr]

batch_size = 32
epochs = 50
model.fit(x_train, y_train,
          batch_size=batch_size,
          epochs=epochs,
          shuffle=True,
          validation_split=0.1,
          # validation_data=(x_val, y_val)
          callbacks=callbacks_list)

Predict

# predict and output the performance on each class

python predict.py resnet weights/weight_name.hdf5

Feature_extraction

# extract feature and visualize it by t-SNE

python feature_extration

Results

Performance on different backbone networks

radar

Verify Effectiveness in SE Block

withSE

F-values of features with or without SE

sebar

Feature distributions of Model 4 visualized by t-SNE

tsne

Performance on various models in our network

ms

Compare with others

image

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.