Skip to content

Installation Issues in 2023/05 #18

@um-pdavila

Description

@um-pdavila

The installation instructions provided do not work with RHEL/CentOS 7.9. We were able to install the dependancies by altering the instructions.

Environment

# OS
$ cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)

# KERNEL
$ uname -a 
Linux n521 3.10.0-1160.71.1.el7.x86_64 #1 SMP Tue Jun 28 15:37:28 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

# PYTHON
$ yum list installed|grep python3
python3.x86_64                        3.6.8-18.el7         @updates             
python3-libs.x86_64                   3.6.8-18.el7         @updates             
python3-pip.noarch                    9.0.3-8.el7          @base                
python3-setuptools.noarch             39.2.0-10.el7        @base 

SMuRF Installation

$ git clone https://github.com/ToolsVanBox/SMuRF.git
$ cd SMuRF
$ virtualenv venv_3.6 -p /usr/bin/python3.6
$ . venv_3.6/bin/activate

Downgrade setuptools (2to3 support)
The setuptools package 58.0.0 removed support for 2to3 during builds. PyVCF 0.6.8 requires 2to3 support to build from source, and there is no prebuilt PyVCF 0.6.8 for Python 3.6.

$ pip3 install "setuptools<58.0"

Install PyVCF from source
There are compatibility issues with all other options we tried, like using PyVCF.

$ pip3 install requirements/PyVCF-0.6.8.tar.gz

Modify requirements.txt
We tried to build the specified version of all package requirements we could not install following SMuRF installation procedure. We could not, details below.

$ cp -p requirements.txt requirements.txt.original
$ cat <>requirements.txt
cycler==0.10.0
#joblib==1.2.0          # Require Python >= 3.7, https://pypi.org/project/joblib
joblib==1.1.1
kiwisolver==1.1.0
matplotlib==3.1.1
#numpy==1.22.0          # Require Python >= 3.8, https://numpy.org/devdocs/release/1.22.0-notes.html
numpy==1.19.5           # Latest Prebuilt available for Python 3.6
pandas==0.25.1
pyparsing==2.4.2
#pysam==0.15.3          # Prebuilt not available for python 3.6, not able to build from source, even after downgrading pip3
#pysam==0.21.0          # Latest Prebuilt available for Python 3.6
pysam==0.15.4           # Prebuilt available for Python 3.6
python-dateutil==2.8.0
pytz==2019.2
#PyVCF==0.6.8           # Requires Python <= 3.4, https://pypi.org/project/PyVCF, BUT we were able to build from source
scikit-learn==0.21.3
scipy==1.3.1
six==1.12.0
sklearn==0.0
EOF

Install remaining requirements

$ pip3 install -r requirements.txt

Run SMuRF
We tried both the config.ini provided in this repo and a modified version from PTATO v1.2.1's. Please update your /path/to in the ptato_smurf_config.ini below.

$ cat <>ptato_smurf_config.ini
[SMuRF]
threads = 8
blacklist = /path/to/ptato/1.2.1/resources/hg38/smurf/Mutational_blacklists/MSC_healthyBM_raw_variants_hg38.bed,/path/to/ptato/1.2.1/resources/hg38/smurf/Mutational_blacklists/Fetal_15x_raw_variants_hg38.bed
qual = 100
mq = 55
sample_gq_homozygous = 10
sample_gq_heterozygous = 99
sample_gq_homref = 10
control_gq_homozygous = 10
control_gq_heterozygous = 99
control_gq_homref = 10
indel_gq_homozygous = 99
indel_gq_heterozygous = 99
indel_gq_homref = 20
coverage = 5
clonal_threshold = 0.15
absent_threshold = 0.0
mapq = 0
base_phred_quality = 0
min_components = 2
max_components = 3
indel = True
indel_flank = 100
known_variant_flag_ids = dbNSFP_ExAC_AF dbNSFP_1000Gp3_AF GoNLv5AF
know_variant_flag_values = 0.1 0.1 0.1

[Driver]
threads = 8
effect = MODERATE|HIGH
genes = /path/to/ptato/1.2.1/resources/hg38/smurf/hotspot_genes/cosmic_cancer_gene_census_09052019.txt
qual = 60
mq = 30
clonal_threshold = 0.15
absent_threshold = 0.0
sample_gq_homozygous = 10
sample_gq_heterozygous = 20
sample_gq_homref = 20
control_gq_homozygous = 10
control_gq_heterozygous = 10
control_gq_homref = 20
indel_gq_homozygous = 60
indel_gq_heterozygous = 60
indel_gq_homref = 20
coverage = 5
mapq = 0
base_phred_quality = 0
indel = True
EOF

$ cat <>run_demo.sh
#!/bin/bash

# Activate python 3.6.8 environment 
. venv_3.6/bin/activate

python $SMURFPATH/SMuRF.py \
-i $SMURFPATH/demo/[file.vcf.gz] \
-b $SMURFPATH/demo/*.bam \
-n [NAME_OF_NORMAL] \
-c $SMURFPATH/ptato_smurf_config.ini > "$(date +%Y-%m-%d_%H-%M-%S.smurf-demo.out)" 2> "$(date +%Y-%m-%d_%H-%M-%S.smurf-demo.err)"
EOF

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions