Skip to content

Commit

Permalink
Merge pull request #141 from baigal628/master
Browse files Browse the repository at this point in the history
Release of MAESTRO v1.5.0
  • Loading branch information
crazyhottommy authored Jun 22, 2021
2 parents 2c87d7a + 0c1b52a commit a0baabe
Show file tree
Hide file tree
Showing 58 changed files with 4,683 additions and 2,743 deletions.
42 changes: 21 additions & 21 deletions .github/workflows/maestro-package-conda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ jobs:
runs-on: ubuntu-latest
strategy:
max-parallel: 5
defaults:
run:
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v2
Expand All @@ -20,11 +20,11 @@ jobs:
run: |
# $CONDA is an environment variable pointing to the root of the miniconda directory
echo $CONDA/bin >> $GITHUB_PATH
#- name: Cache conda pkgs
# uses: actions/cache@v2
# with:
#- name: Cache conda pkgs
# uses: actions/cache@v2
# with:
# path: |
# /usr/share/miniconda/pkgs
# /usr/share/miniconda/pkgs
# /home/runner/.conda/pkgs
- name: Install dependencies
run: |
Expand All @@ -47,33 +47,33 @@ jobs:
conda build -q conda/MAESTRO --python=3.8 --output-folder bld-dir
- name: Test installing package
run: |
# Now add this folder as a highest priority channel
conda config --add channels "file://`pwd`/bld-dir"
# install MAESTRO from local repo
# Now add this folder as a highest priority channel
conda config --add channels "file://`pwd`/bld-dir"
# install MAESTRO from local repo
mamba create -q -n MAESTRO maestro
# Activate this environment
source /usr/share/miniconda/etc/profile.d/conda.sh
# Activate this environment
source /usr/share/miniconda/etc/profile.d/conda.sh
conda activate MAESTRO
# list conda env packages for reference
# list conda env packages for reference
conda list
- name: Test installed MAESTRO package (cmdline)
- name: Test installed MAESTRO package (cmdline)
run: |
source /usr/share/miniconda/etc/profile.d/conda.sh
conda activate MAESTRO
giggle search
source /usr/share/miniconda/etc/profile.d/conda.sh
conda activate MAESTRO
giggle search
sinto -h
lisa
MAESTRO -v
MAESTRO multi-scatac-init -h
MAESTRO scatac-init -h
MAESTRO scrna-init -h
MAESTRO samples-init -h
R -e "library(MAESTRO);library(Seurat)"
R -e "library(org.Hs.eg.db);library(org.Mm.eg.db)"
- name: Test installed MAESTRO package (other)
- name: Test installed MAESTRO package (other)
run: |
# test python utility scripts
source /usr/share/miniconda/etc/profile.d/conda.sh
conda activate MAESTRO
source /usr/share/miniconda/etc/profile.d/conda.sh
conda activate MAESTRO
cd test
bash test.sh
cd ..
40 changes: 20 additions & 20 deletions .github/workflows/upload-package-anaconda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ jobs:
runs-on: ubuntu-latest
strategy:
max-parallel: 5
defaults:
run:
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v2
Expand All @@ -21,11 +21,11 @@ jobs:
run: |
# $CONDA is an environment variable pointing to the root of the miniconda directory
echo $CONDA/bin >> $GITHUB_PATH
#- name: Cache conda pkgs
# uses: actions/cache@v2
# with:
#- name: Cache conda pkgs
# uses: actions/cache@v2
# with:
# path: |
# /usr/share/miniconda/pkgs
# /usr/share/miniconda/pkgs
# /home/runner/.conda/pkgs
- name: Install dependencies
run: |
Expand All @@ -48,31 +48,32 @@ jobs:
conda build -q conda/MAESTRO --python=3.8 --output-folder bld-dir
- name: Test installing package
run: |
# Now add this folder as a highest priority channel
conda config --add channels "file://`pwd`/bld-dir"
# install MAESTRO from local repo
# Now add this folder as a highest priority channel
conda config --add channels "file://`pwd`/bld-dir"
# install MAESTRO from local repo
mamba create -q -n MAESTRO maestro
# Activate this environment
# Activate this environment
source /usr/share/miniconda/etc/profile.d/conda.sh
conda activate MAESTRO
# list conda env packages for reference
# list conda env packages for reference
conda list
- name: Test installed MAESTRO package (cmdline)
- name: Test installed MAESTRO package (cmdline)
run: |
source /usr/share/miniconda/etc/profile.d/conda.sh
conda activate MAESTRO
giggle search
source /usr/share/miniconda/etc/profile.d/conda.sh
conda activate MAESTRO
giggle search
sinto -h
lisa
MAESTRO -v
MAESTRO multi-scatac-init -h
MAESTRO scrna-init -h
MAESTRO scatac-init -h
MAESTRO samples-init -h
R -e "library(MAESTRO);library(Seurat)"
R -e "library(org.Hs.eg.db);library(org.Mm.eg.db)"
- name: Test installed MAESTRO package (other)
- name: Test installed MAESTRO package (other)
run: |
source /usr/share/miniconda/etc/profile.d/conda.sh
conda activate MAESTRO
source /usr/share/miniconda/etc/profile.d/conda.sh
conda activate MAESTRO
# test python utility scripts
cd test
bash test.sh
Expand All @@ -83,4 +84,3 @@ jobs:
run: |
mamba install anaconda-client
anaconda upload bld-dir/**/maestro-*.tar.bz2
6 changes: 3 additions & 3 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
Package: MAESTRO
Type: Package
Title: Model-based Analyses of Single-cell Transcriptome and Regulome
Version: 1.4.0
Version: 1.5.0
Date: 2021-03-05
Author: Chenfei Wang, Dongqing Sun, Tao Liu, Changxin Wan, Ming (Tommy) Tang, Gali Bai
Maintainer: Dongqing Sun<dongqingsun96@gmail.com>, Gali Bai<gali.bai@hotmail.com>
Description: MAESTRO is an intergrative analysis pipeline to support downstream analysis of single-cell RNA-seq and single-cell ATAC-seq dataset. MAESTRO provides funtion for quality control, normalization, clustering, differential gene and peak analysis, marker gene based annotation, transcription factor identification using Cistome toolkit, and intergrative analysis for scRNA-seq and scATACseq.
URL: https://github.com/LiuLab-dfci/MAESTRO
Depends: R (>= 3.6.1)
Imports: Seurat (>= 3.1.2), Signac (>= 1.1.1), ggplot2 (>= 3.0.0), ggrepel, cowplot, Matrix (>=
Depends: R (>= 4.0.2)
Imports: Seurat (>= 4.0.0), Signac (>= 1.1.1), ggplot2 (>= 3.0.0), ggrepel, cowplot, Matrix (>=
1.2.14), dplyr, png, RColorBrewer, scales, pheatmap, MAGeCKFlute, DESeq2, Gmisc,
grid, karyoploteR, presto, AnnotationDbi, org.Hs.eg.db, org.Mm.eg.db, GenomeInfoDb
Suggests: knitr, pagoda2, RCA, MAST, scABC, devtools, uwot, cisTopic, chromVAR, motifmatchr,
Expand Down
14 changes: 5 additions & 9 deletions MAESTRO/MAESTRO
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# -*- coding: utf-8 -*-
# @Author: Dongqing Sun
# @E-mail: Dongqingsun96@gmail.com
# @Date: 2020-02-13 16:11:58
# @Last Modified by: Dongqing Sun
# @Last Modified time: 2020-02-28 13:58:10
# @Date: 2021-06-07 11:11:58
# @Last Modified by: Gali Bai, Dongqing Sun
# @Last Modified time: 2021-06-07 11:11:58

version = "1.3.1"
version = "1.5.0"

import logging
import sys, os
Expand Down Expand Up @@ -34,8 +34,6 @@ def main():
scatac_parser(subparsers)
scrna_parser(subparsers)
integrate_parser(subparsers)
multi_scatac_parser(subparsers)
#multi_scrna_parser(subparsers)

sample_parser(subparsers)
mtxtoh5_parser(subparsers)
Expand All @@ -61,6 +59,7 @@ def main():
exit(0)
elif args.subcommand == "samples-init":
sample_json(args)

elif args.subcommand == "scatac-init":
scatac_validator(args)
scatac_config(args)
Expand All @@ -72,9 +71,6 @@ def main():
elif args.subcommand == "integrate-init":
integrate_config(args)

elif args.subcommand == "multi-scatac-init":
multi_scatac_config(args)

elif args.subcommand == "mtx-to-h5":
mtx_2_h5(directory = args.directory, outprefix = args.outprefix, matrix_file = args.matrix, feature_file = args.feature, barcode_file = args.barcode, gene_column = args.gene_column, genome = args.species, datatype = args.datatype)

Expand Down
42 changes: 16 additions & 26 deletions MAESTRO/MAESTRO_ParameterValidate.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,8 @@ def scatac_validator(args):
"""
if args.platform == "10x-genomics":
if args.format == "fastq":
if args.fastq_dir == "":
logging.error("--fastq-dir is required. Please specify the directory where fastq files are stored!")
exit(1)
if args.fastq_prefix == "":
logging.error("--fastq-prefix is required. Please provide the sample name of fastq files!")
if args.input_path == "":
logging.error("--input_path is required. Please specify the directory where fastq files are stored!")
exit(1)
if args.fasta == "":
logging.error("--fasta is required if fastq files are provided!")
Expand All @@ -39,30 +36,29 @@ def scatac_validator(args):
if args.frag == "":
logging.error("--frag is required. Please provide the fragment file generated by CellRanger ATAC!")
exit(1)
if args.mapping == "chromap":
if args.format == "fastq":
if args.index == "":
logging.error("--index is required if using chromap as alignment tool!")

if args.platform == "sci-ATAC-seq":
if args.format == "fastq":
if args.fastq_dir == "":
logging.error("--fastq-dir is required. Please specify the directory where fastq files are stored!")
exit(1)
if args.fastq_prefix == "":
logging.error("--fastq-prefix is required. Please provide the sample name of fastq files!")
if args.input_path == "":
logging.error("--input_path is required. Please specify the directory where fastq files are stored!")
exit(1)
if args.fasta == "":
logging.error("--fasta is required if fastq files are provided!")
exit(1)
if args.format == "bam":
if args.bam == "":
logging.error("--bam is required. Please provide the bam file with CB tag!")
exit(1)
if args.format == "fragments":
logging.error("Format of 'fragments' is supported only when the platform is '10x-genomics'.")
exit(1)
if args.mapping == "chromap" or args.mapping == "":
logging.error("sci-ATAC-seq only support mapping with minimap2")

if args.platform == "microfluidic":
if args.format == "fastq":
if args.fastq_dir == "":
logging.error("--fastq-dir is required. Please specify the directory where fastq files are stored!")
if args.input_path == "":
logging.error("--input_path is required. Please specify the directory where fastq files are stored!")
exit(1)
if args.fasta == "":
logging.error("--fasta is required if fastq files are provided!")
Expand All @@ -88,19 +84,13 @@ def scrna_validator(args):
"""

if args.platform == "10x-genomics":
if args.fastq_dir == "":
logging.error("--fastq-dir is required. Please specify the directory where fastq files are stored!")
exit(1)
if args.fastq_prefix == "":
logging.error("--fastq-prefix is required. Please provide the sample name of fastq files!")
exit(1)
if args.whitelist == "":
logging.error("--whitelist is required for 10x-genomics data!")
exit(1)

if args.platform == "Dropseq":
if args.fastq_dir == "":
logging.error("--fastq-dir is required for Dropsea data. Please specify the directory where fastq files are stored!")
if args.input_path == "":
logging.error("--input_path is required for Dropsea data. Please specify the directory where fastq files are stored!")
exit(1)
if args.fastq_barcode == "":
logging.error("--fastq-barcode is required for Dropsea data. Please specify the barcode fastq file!")
Expand All @@ -113,8 +103,8 @@ def scrna_validator(args):
exit(1)

if args.platform == "Smartseq2":
if args.fastq_dir == "":
logging.error("--fastq-dir is required. Please specify the directory where fastq files are stored!")
if args.input_path == "":
logging.error("--input_path is required. Please specify the directory where fastq files are stored!")
exit(1)
if args.rsem == "":
logging.error("--rsem is required. Please provide the prefix of transcript references for RSEM. See --rsem help for more details.")
Expand Down
Loading

0 comments on commit a0baabe

Please sign in to comment.