%load_ext autoreload
%autoreload 2
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
sns.set(style='ticks', context='paper', rc={'font.sans-serif':'Arial', 'pdf.fonttype': 42})
%matplotlib inline
import flotilla
flotilla_dir = '/projects/ps-yeolab/obotvinnik/flotilla_projects'
study = flotilla.embark('singlecell_pnm_figure1_supplementary_post_splicing_filtering', flotilla_dir=flotilla_dir)
not_outliers = study.splicing.singles.index.difference(study.splicing.outliers.index)
folder = 'pdfs' #'/home/obotvinnik/Dropbox/figures2/singlecell_pnm/figure2_modalities/bayesian'
! mkdir $folder
2016-06-24 18:32:44 Reading datapackage from /projects/ps-yeolab/obotvinnik/flotilla_projects/singlecell_pnm_figure1_supplementary_post_splicing_filtering/datapackage.json 2016-06-24 18:32:44 Parsing datapackage to create a Study object 2016-06-24 18:33:20 Initializing Study 2016-06-24 18:33:20 Initializing Predictor configuration manager for Study 2016-06-24 18:33:20 Predictor ExtraTreesClassifier is of type <class 'sklearn.ensemble.forest.ExtraTreesClassifier'> 2016-06-24 18:33:20 Added ExtraTreesClassifier to default predictors 2016-06-24 18:33:20 Predictor ExtraTreesRegressor is of type <class 'sklearn.ensemble.forest.ExtraTreesRegressor'> 2016-06-24 18:33:20 Added ExtraTreesRegressor to default predictors 2016-06-24 18:33:20 Predictor GradientBoostingClassifier is of type <class 'sklearn.ensemble.gradient_boosting.GradientBoostingClassifier'> 2016-06-24 18:33:20 Added GradientBoostingClassifier to default predictors 2016-06-24 18:33:20 Predictor GradientBoostingRegressor is of type <class 'sklearn.ensemble.gradient_boosting.GradientBoostingRegressor'> 2016-06-24 18:33:20 Added GradientBoostingRegressor to default predictors 2016-06-24 18:33:24 Building Gene Ontology database... 2016-06-24 18:33:31 Done 2016-06-24 18:33:32 Loading metadata 2016-06-24 18:33:32 Loading expression data 2016-06-24 18:33:32 Initializing expression 2016-06-24 18:33:32 Done initializing expression 2016-06-24 18:33:34 Loading splicing data 2016-06-24 18:33:34 Initializing splicing 2016-06-24 18:33:34 Done initializing splicing 2016-06-24 18:33:34 Successfully initialized a Study object! mkdir: cannot create directory `pdfs': File exists
/home/obotvinnik/anaconda/lib/python2.7/site-packages/flotilla/__init__.py:65: DtypeWarning: Columns (19) have mixed types. Specify dtype option on import or set low_memory=False. load_species_data=load_species_data)
geo_folder = '/home/obotvinnik/projects/singlecell_pnms/data/geneyeo'
cd $geo_folder
/oasis/tscc/scratch/obotvinnik/projects/singlecell_pnms/data/geneyeo
import os
import glob
r1s = pd.Series(glob.glob('*R1.fastq.gz'), name='R1').to_frame()
r1s.head()
R1 | |
---|---|
0 | M2nd_05_R1.fastq.gz |
1 | P7_01_R1.fastq.gz |
2 | CVN_11_R1.fastq.gz |
3 | P1_02_R1.fastq.gz |
4 | N1_04_R1.fastq.gz |
r1s['sample_id'] = r1s['R1'].map(lambda x: '_'.join(x.split('_')[:2]))
r1s.head()
R1 | sample_id | |
---|---|---|
0 | M2nd_05_R1.fastq.gz | M2nd_05 |
1 | P7_01_R1.fastq.gz | P7_01 |
2 | CVN_11_R1.fastq.gz | CVN_11 |
3 | P1_02_R1.fastq.gz | P1_02 |
4 | N1_04_R1.fastq.gz | N1_04 |
study.expression.data.shape
(214, 18594)
r1s_valid = r1s.loc[r1s['sample_id'].isin(study.expression.data.index)]
print(r1s_valid.shape)
r1s_valid.head()
(214, 2)
R1 | sample_id | |
---|---|---|
0 | M2nd_05_R1.fastq.gz | M2nd_05 |
1 | P7_01_R1.fastq.gz | P7_01 |
2 | CVN_11_R1.fastq.gz | CVN_11 |
3 | P1_02_R1.fastq.gz | P1_02 |
4 | N1_04_R1.fastq.gz | N1_04 |
r1s_invalid = r1s.loc[~r1s['sample_id'].isin(study.expression.data.index)]
r1s_invalid.shape
(0, 2)
from __future__ import print_function
ls
CVN_01_R1.fastq.gz@ M2nd_27_R1.fastq.gz@ N5_06_R1.fastq.gz@ CVN_02_R1.fastq.gz@ M2nd_27_R2.fastq.gz@ N5_06_R2.fastq.gz@ CVN_03_R1.fastq.gz@ M2nd_28_R1.fastq.gz@ N5_10_R1.fastq.gz@ CVN_04_R1.fastq.gz@ M2nd_28_R2.fastq.gz@ N5_10_R2.fastq.gz@ CVN_05_R1.fastq.gz@ M2nd_29_R1.fastq.gz@ P1_01_R1.fastq.gz@ CVN_06_R1.fastq.gz@ M2nd_29_R2.fastq.gz@ P1_01_R2.fastq.gz@ CVN_07_R1.fastq.gz@ M2nd_33_R1.fastq.gz@ P1_02_R1.fastq.gz@ CVN_08_R1.fastq.gz@ M2nd_33_R2.fastq.gz@ P1_02_R2.fastq.gz@ CVN_09_R1.fastq.gz@ M2nd_34_R1.fastq.gz@ P1_03_R1.fastq.gz@ CVN_11_R1.fastq.gz@ M2nd_34_R2.fastq.gz@ P1_03_R2.fastq.gz@ CVN_12_R1.fastq.gz@ M3_01_R1.fastq.gz@ P1_04_R1.fastq.gz@ CVN_13_R1.fastq.gz@ M3_01_R2.fastq.gz@ P1_04_R2.fastq.gz@ CVN_14_R1.fastq.gz@ M3_02_R1.fastq.gz@ P1_05_R1.fastq.gz@ CVN_15_R1.fastq.gz@ M3_02_R2.fastq.gz@ P1_05_R2.fastq.gz@ CVN_16_R1.fastq.gz@ M3_03_R1.fastq.gz@ P1_06_R1.fastq.gz@ CVN_17_R1.fastq.gz@ M3_03_R2.fastq.gz@ P1_06_R2.fastq.gz@ CVN_18_R1.fastq.gz@ M3_07_R1.fastq.gz@ P1_07_R1.fastq.gz@ CVN_19_R1.fastq.gz@ M3_07_R2.fastq.gz@ P1_07_R2.fastq.gz@ CVN_20_R1.fastq.gz@ M3_14_R1.fastq.gz@ P1_08_R1.fastq.gz@ CVN_21_R1.fastq.gz@ M3_14_R2.fastq.gz@ P1_08_R2.fastq.gz@ CVN_22_R1.fastq.gz@ M4_05_R1.fastq.gz@ P1_09_R1.fastq.gz@ CVN_23_R1.fastq.gz@ M4_05_R2.fastq.gz@ P1_09_R2.fastq.gz@ CVN_24_R1.fastq.gz@ M4_06_R1.fastq.gz@ P1_10_R1.fastq.gz@ CVN_25_R1.fastq.gz@ M4_06_R2.fastq.gz@ P1_10_R2.fastq.gz@ CVN_26_R1.fastq.gz@ M4_11_R1.fastq.gz@ P1_11_R1.fastq.gz@ CVN_27_R1.fastq.gz@ M4_11_R2.fastq.gz@ P1_11_R2.fastq.gz@ CVN_28_R1.fastq.gz@ M4_12_R1.fastq.gz@ P1_12_R1.fastq.gz@ CVN_29_R1.fastq.gz@ M4_12_R2.fastq.gz@ P1_12_R2.fastq.gz@ CVN_30_R1.fastq.gz@ M4_13_R1.fastq.gz@ P2_01_R1.fastq.gz@ CVN_31_R1.fastq.gz@ M4_13_R2.fastq.gz@ P2_01_R2.fastq.gz@ CVN_32_R1.fastq.gz@ M4_14_R1.fastq.gz@ P2_02_R1.fastq.gz@ CVN_33_R1.fastq.gz@ M4_14_R2.fastq.gz@ P2_02_R2.fastq.gz@ CVN_34_R1.fastq.gz@ M5_01_R1.fastq.gz@ P2_03_R1.fastq.gz@ CVN_35_R1.fastq.gz@ M5_01_R2.fastq.gz@ P2_03_R2.fastq.gz@ M1_01_R1.fastq.gz@ M5_02_R1.fastq.gz@ P2_04_R1.fastq.gz@ M1_01_R2.fastq.gz@ M5_02_R2.fastq.gz@ P2_04_R2.fastq.gz@ M1_02_R1.fastq.gz@ M5_03_R1.fastq.gz@ P2_05_R1.fastq.gz@ M1_02_R2.fastq.gz@ M5_03_R2.fastq.gz@ P2_05_R2.fastq.gz@ M1_03_R1.fastq.gz@ M5_04_R1.fastq.gz@ P2_06_R1.fastq.gz@ M1_03_R2.fastq.gz@ M5_04_R2.fastq.gz@ P2_06_R2.fastq.gz@ M1_04_R1.fastq.gz@ M6_02_R1.fastq.gz@ P2_07_R1.fastq.gz@ M1_04_R2.fastq.gz@ M6_02_R2.fastq.gz@ P2_07_R2.fastq.gz@ M1_05_R1.fastq.gz@ M6_03_R1.fastq.gz@ P2_08_R1.fastq.gz@ M1_05_R2.fastq.gz@ M6_03_R2.fastq.gz@ P2_08_R2.fastq.gz@ M1_06_R1.fastq.gz@ M6_04_R1.fastq.gz@ P2_09_R1.fastq.gz@ M1_06_R2.fastq.gz@ M6_04_R2.fastq.gz@ P2_09_R2.fastq.gz@ M1_07_R1.fastq.gz@ M6_05_R1.fastq.gz@ P2_10_R1.fastq.gz@ M1_07_R2.fastq.gz@ M6_05_R2.fastq.gz@ P2_10_R2.fastq.gz@ M1_08_R1.fastq.gz@ M6_06_R1.fastq.gz@ P2_11_R1.fastq.gz@ M1_08_R2.fastq.gz@ M6_06_R2.fastq.gz@ P2_11_R2.fastq.gz@ M1_09_R1.fastq.gz@ M6_07_R1.fastq.gz@ P2_12_R1.fastq.gz@ M1_09_R2.fastq.gz@ M6_07_R2.fastq.gz@ P2_12_R2.fastq.gz@ M1_10_R1.fastq.gz@ N1_01_R1.fastq.gz@ P2_13_R1.fastq.gz@ M1_10_R2.fastq.gz@ N1_01_R2.fastq.gz@ P2_13_R2.fastq.gz@ M1_11_R1.fastq.gz@ N1_02_R1.fastq.gz@ P2_14_R1.fastq.gz@ M1_11_R2.fastq.gz@ N1_02_R2.fastq.gz@ P2_14_R2.fastq.gz@ M1_12_R1.fastq.gz@ N1_03_R1.fastq.gz@ P3_01_R1.fastq.gz@ M1_12_R2.fastq.gz@ N1_03_R2.fastq.gz@ P3_01_R2.fastq.gz@ M2_01_R1.fastq.gz@ N1_04_R1.fastq.gz@ P3_02_R1.fastq.gz@ M2_01_R2.fastq.gz@ N1_04_R2.fastq.gz@ P3_02_R2.fastq.gz@ M2_02_R1.fastq.gz@ N1_05_R1.fastq.gz@ P3_03_R1.fastq.gz@ M2_02_R2.fastq.gz@ N1_05_R2.fastq.gz@ P3_03_R2.fastq.gz@ M2_03_R1.fastq.gz@ N1_06_R1.fastq.gz@ P4_01_R1.fastq.gz@ M2_03_R2.fastq.gz@ N1_06_R2.fastq.gz@ P4_01_R2.fastq.gz@ M2_04_R1.fastq.gz@ N1_07_R1.fastq.gz@ P4_06_R1.fastq.gz@ M2_04_R2.fastq.gz@ N1_07_R2.fastq.gz@ P4_06_R2.fastq.gz@ M2_05_R1.fastq.gz@ N1_08_R1.fastq.gz@ P4_07_R1.fastq.gz@ M2_05_R2.fastq.gz@ N1_08_R2.fastq.gz@ P4_07_R2.fastq.gz@ M2_06_R1.fastq.gz@ N1_09_R1.fastq.gz@ P4_08_R1.fastq.gz@ M2_06_R2.fastq.gz@ N1_09_R2.fastq.gz@ P4_08_R2.fastq.gz@ M2_07_R1.fastq.gz@ N1_10_R1.fastq.gz@ P4_09_R1.fastq.gz@ M2_07_R2.fastq.gz@ N1_10_R2.fastq.gz@ P4_09_R2.fastq.gz@ M2_08_R1.fastq.gz@ N1_11_R1.fastq.gz@ P4_10_R1.fastq.gz@ M2_08_R2.fastq.gz@ N1_11_R2.fastq.gz@ P4_10_R2.fastq.gz@ M2_09_R1.fastq.gz@ N1_12_R1.fastq.gz@ P4_11_R1.fastq.gz@ M2_09_R2.fastq.gz@ N1_12_R2.fastq.gz@ P4_11_R2.fastq.gz@ M2_10_R1.fastq.gz@ N2_01_R1.fastq.gz@ P4_12_R1.fastq.gz@ M2_10_R2.fastq.gz@ N2_01_R2.fastq.gz@ P4_12_R2.fastq.gz@ M2_11_R1.fastq.gz@ N2_02_R1.fastq.gz@ P6_01_R1.fastq.gz@ M2_11_R2.fastq.gz@ N2_02_R2.fastq.gz@ P6_01_R2.fastq.gz@ M2_12_R1.fastq.gz@ N2_03_R1.fastq.gz@ P6_02_R1.fastq.gz@ M2_12_R2.fastq.gz@ N2_03_R2.fastq.gz@ P6_02_R2.fastq.gz@ M2nd_01_R1.fastq.gz@ N2_04_R1.fastq.gz@ P6_03_R1.fastq.gz@ M2nd_01_R2.fastq.gz@ N2_04_R2.fastq.gz@ P6_03_R2.fastq.gz@ M2nd_02_R1.fastq.gz@ N2_05_R1.fastq.gz@ P6_04_R1.fastq.gz@ M2nd_02_R2.fastq.gz@ N2_05_R2.fastq.gz@ P6_04_R2.fastq.gz@ M2nd_03_R1.fastq.gz@ N2_06_R1.fastq.gz@ P7_01_R1.fastq.gz@ M2nd_03_R2.fastq.gz@ N2_06_R2.fastq.gz@ P7_01_R2.fastq.gz@ M2nd_04_R1.fastq.gz@ N2_07_R1.fastq.gz@ P7_02_R1.fastq.gz@ M2nd_04_R2.fastq.gz@ N2_07_R2.fastq.gz@ P7_02_R2.fastq.gz@ M2nd_05_R1.fastq.gz@ N2_08_R1.fastq.gz@ P7_03_R1.fastq.gz@ M2nd_05_R2.fastq.gz@ N2_08_R2.fastq.gz@ P7_03_R2.fastq.gz@ M2nd_06_R1.fastq.gz@ N2_09_R1.fastq.gz@ P7_04_R1.fastq.gz@ M2nd_06_R2.fastq.gz@ N2_09_R2.fastq.gz@ P7_04_R2.fastq.gz@ M2nd_07_R1.fastq.gz@ N2_10_R1.fastq.gz@ P7_05_R1.fastq.gz@ M2nd_07_R2.fastq.gz@ N2_10_R2.fastq.gz@ P7_05_R2.fastq.gz@ M2nd_08_R1.fastq.gz@ N2_11_R1.fastq.gz@ P7_06_R1.fastq.gz@ M2nd_08_R2.fastq.gz@ N2_11_R2.fastq.gz@ P7_06_R2.fastq.gz@ M2nd_09_R1.fastq.gz@ N2_12_R1.fastq.gz@ P7_07_R1.fastq.gz@ M2nd_09_R2.fastq.gz@ N2_12_R2.fastq.gz@ P7_07_R2.fastq.gz@ M2nd_10_R1.fastq.gz@ N3_01_R1.fastq.gz@ P7_08_R1.fastq.gz@ M2nd_10_R2.fastq.gz@ N3_01_R2.fastq.gz@ P7_08_R2.fastq.gz@ M2nd_11_R1.fastq.gz@ N3_02_R1.fastq.gz@ P7_09_R1.fastq.gz@ M2nd_11_R2.fastq.gz@ N3_02_R2.fastq.gz@ P7_09_R2.fastq.gz@ M2nd_12_R1.fastq.gz@ N3_03_R1.fastq.gz@ P7_10_R1.fastq.gz@ M2nd_12_R2.fastq.gz@ N3_03_R2.fastq.gz@ P7_10_R2.fastq.gz@ M2nd_13_R1.fastq.gz@ N3_04_R1.fastq.gz@ P7_11_R1.fastq.gz@ M2nd_13_R2.fastq.gz@ N3_04_R2.fastq.gz@ P7_11_R2.fastq.gz@ M2nd_14_R1.fastq.gz@ N3_05_R1.fastq.gz@ P7_12_R1.fastq.gz@ M2nd_14_R2.fastq.gz@ N3_05_R2.fastq.gz@ P7_12_R2.fastq.gz@ M2nd_15_R1.fastq.gz@ N3_06_R1.fastq.gz@ P8_01_R1.fastq.gz@ M2nd_15_R2.fastq.gz@ N3_06_R2.fastq.gz@ P8_01_R2.fastq.gz@ M2nd_16_R1.fastq.gz@ N3_07_R1.fastq.gz@ P8_02_R1.fastq.gz@ M2nd_16_R2.fastq.gz@ N3_07_R2.fastq.gz@ P8_02_R2.fastq.gz@ M2nd_17_R1.fastq.gz@ N3_09_R1.fastq.gz@ P8_05_R1.fastq.gz@ M2nd_17_R2.fastq.gz@ N3_09_R2.fastq.gz@ P8_05_R2.fastq.gz@ M2nd_18_R1.fastq.gz@ N3_10_R1.fastq.gz@ P8_06_R1.fastq.gz@ M2nd_18_R2.fastq.gz@ N3_10_R2.fastq.gz@ P8_06_R2.fastq.gz@ M2nd_19_R1.fastq.gz@ N3_11_R1.fastq.gz@ P8_10_R1.fastq.gz@ M2nd_19_R2.fastq.gz@ N3_11_R2.fastq.gz@ P8_10_R2.fastq.gz@ M2nd_20_R1.fastq.gz@ N3_12_R1.fastq.gz@ P8_11_R1.fastq.gz@ M2nd_20_R2.fastq.gz@ N3_12_R2.fastq.gz@ P8_11_R2.fastq.gz@ M2nd_21_R1.fastq.gz@ N4_04_R1.fastq.gz@ P9_01_R1.fastq.gz@ M2nd_21_R2.fastq.gz@ N4_04_R2.fastq.gz@ P9_01_R2.fastq.gz@ M2nd_22_R1.fastq.gz@ N4_05_R1.fastq.gz@ P9_02_R1.fastq.gz@ M2nd_22_R2.fastq.gz@ N4_05_R2.fastq.gz@ P9_02_R2.fastq.gz@ M2nd_24_R1.fastq.gz@ N4_06_R1.fastq.gz@ P9_03_R1.fastq.gz@ M2nd_24_R2.fastq.gz@ N4_06_R2.fastq.gz@ P9_03_R2.fastq.gz@ M2nd_25_R1.fastq.gz@ N4_09_R1.fastq.gz@ P9_04_R1.fastq.gz@ M2nd_25_R2.fastq.gz@ N4_09_R2.fastq.gz@ P9_04_R2.fastq.gz@ M2nd_26_R1.fastq.gz@ N4_10_R1.fastq.gz@ M2nd_26_R2.fastq.gz@ N4_10_R2.fastq.gz@
for r1 in r1s_invalid['R1']:
print(r1)
r2 = r1.replace('R1', 'R2')
! rm -rf $r1
! rm -rf $r2
pwd
u'/oasis/tscc/scratch/obotvinnik/projects/singlecell_pnms/data/geneyeo'
# cd ..
/oasis/tscc/scratch/obotvinnik/projects/singlecell_pnms/data
# cd olga.botvinnik@gmail.com/
[Errno 2] No such file or directory: 'olga.botvinnik@gmail.com/' /oasis/tscc/scratch/obotvinnik/projects/singlecell_pnms/data
all_fastqs = pd.Series(glob.glob('*.fastq.gz'), name='fastq').to_frame()
all_fastqs = all_fastqs.sort_values('fastq')
all_fastqs.head()
fastq | |
---|---|
67 | CVN_01_R1.fastq.gz |
576 | CVN_02_R1.fastq.gz |
120 | CVN_03_R1.fastq.gz |
362 | CVN_04_R1.fastq.gz |
164 | CVN_05_R1.fastq.gz |
md5 = ! md5sum CVN_01_R1.fastq.gz
md5[0].split()
['6b90e32b71798ea84fad11f2c4cad7dc', 'CVN_01_R1.fastq.gz']
all_fastqs['md5'] = None
r2s = pd.Series(glob.glob('*R2.fastq.gz')).to_frame()
r2s.head()
0 | |
---|---|
0 | P6_02_R2.fastq.gz |
1 | P4_09_R2.fastq.gz |
2 | M2nd_01_R2.fastq.gz |
3 | P4_06_R2.fastq.gz |
4 | N2_03_R2.fastq.gz |
for i, row in all_fastqs.iterrows():
filename = row['fastq']
md5 = ! md5sum $filename
md5 = md5[0].split()[0]
all_fastqs.loc[i, 'md5'] = md5
all_fastqs.head()
fastq | md5 | |
---|---|---|
67 | CVN_01_R1.fastq.gz | 6b90e32b71798ea84fad11f2c4cad7dc |
576 | CVN_02_R1.fastq.gz | d2f956786b33e5d273e459af40aa764d |
120 | CVN_03_R1.fastq.gz | e1b6f0e77f6b32f8a220e7ff83d4a891 |
362 | CVN_04_R1.fastq.gz | 6e346e9efecc405a9543388ce3f40455 |
164 | CVN_05_R1.fastq.gz | 1c603c2b93d4492da799b36f5dfaef9e |
all_fastqs.to_csv('fastq_md5.csv', index=False)
all_fastqs.to_clipboard()
cd /projects/ps-yeolab/obotvinnik/flotilla_projects/singlecell_pnm_figure4_voyages/
/projects/ps-yeolab/obotvinnik/flotilla_projects/singlecell_pnm_figure4_voyages
! md5sum *csv
4f597b3090895c55c31ec33443fb5b16 cisbp_metadata.csv 468b4e63a468efc9e4f5baa8200206ed cisbp_t_statistic.csv 06db5a95e0275ca306921e05c38e33bc expression.csv 2e646c365bef84d07c4105b1df0a5952 expression_feature.csv 74436d3b434b095f7c875df83237cce3 kmer_zscores.csv ec496f7b873158ad9463e1c354002c05 kmer_zscores_metadata.csv 04f3de4478bde2c04c699e09d4cb8d38 mapping_stats.csv 09c8ff38e89c57fb6e312977082ad3d1 metadata.csv 7644de93665f3ea609773456bdecbacf modalities_tidy.csv 5b636b57bdc5ca11d6bae5efe4018e24 splicing.csv fa111048172223c9052111803f3a61b9 splicing_feature.csv e00effea70f2793a739aacf6486f3a8c voyages.csv e572feba80c1792fa65cbb9df483e261 waypoints.csv
cd ~/projects/singlecell_pnms/data/geneyeo/
/oasis/tscc/scratch/obotvinnik/projects/singlecell_pnms/data/geneyeo
! ln -s /projects/ps-yeolab/obotvinnik/flotilla_projects/singlecell_pnm_figure4_voyages/*csv .
ln: creating symbolic link `./cisbp_metadata.csv': File exists ln: creating symbolic link `./cisbp_t_statistic.csv': File exists ln: creating symbolic link `./expression.csv': File exists ln: creating symbolic link `./expression_feature.csv': File exists ln: creating symbolic link `./kmer_zscores.csv': File exists ln: creating symbolic link `./kmer_zscores_metadata.csv': File exists ln: creating symbolic link `./mapping_stats.csv': File exists ln: creating symbolic link `./metadata.csv': File exists ln: creating symbolic link `./modalities_tidy.csv': File exists ln: creating symbolic link `./splicing.csv': File exists ln: creating symbolic link `./splicing_feature.csv': File exists ln: creating symbolic link `./voyages.csv': File exists ln: creating symbolic link `./waypoints.csv': File exists
! ln -s /projects/ps-yeolab/genomes/hg19/hg19_phastcons_placental_mammal.wig .
! md5sum hg19_phastcons_placental_mammal.wig
b9592865aa671ef25c0cf7f87c2a82bd hg19_phastcons_placental_mammal.wig
! ln -s /projects/ps-yeolab/obotvinnik/singlecell_pnms/csvs_for_paper/splicing_feature_data/alternative/exons.bed alternative_exons.bed
! ln -s /projects/ps-yeolab/obotvinnik/singlecell_pnms/csvs_for_paper/splicing_feature_data/constitutive/exons.bed constitutive_exons.bed
! md5sum *.bed
a9eedfcf5437c4ff91336b7e868c0a02 alternative_exons.bed 6f396aac8e4f4d8f9f3a66dea299bffe constitutive_exons.bed
! ls -1 | wc -l
410