[1]:
import scanpy as sc
import sys
import pickle
sys.path.append("/data/work/tools")
import scCyclone as scc
import pandas as pd
import numpy as np
import scanpy as sc
_______. ______ ______ ____ ____ ______ __ ______ .__ __. _______
/ | / | / |\ \ / / / || | / __ \ | \ | | | ____|
| (----`| ,----'| ,----' \ \/ / | ,----'| | | | | | | \| | | |__
\ \ | | | | \_ _/ | | | | | | | | | . ` | | __|
.----) | | `----.| `----. | | | `----.| `----.| `--' | | |\ | | |____
|_______/ \______| \______| |__| \______||_______| \______/ |__| \__| |_______|
Version: 1.0.3, Author: Dawn
Generate adata
Generate iso-level adata
[2]:
isoquant_path="../test/input/test.transcript_model_grouped_counts.tsv"
[3]:
adata_iso=scc.generate_Iso_adata(isoquant_path)
adata_iso
[3]:
AnnData object with n_obs × n_vars = 2999 × 36848
obs: 'batch'
var: 'isoform'
Add sqanti3 result
[4]:
sqanti_path="../test/input/test.extended_annotation_classification.txt"
[5]:
scc.tl.add_sqanti3(adata_iso,sqanti_path)
adata_iso
[5]:
AnnData object with n_obs × n_vars = 2999 × 36848
obs: 'batch'
var: 'isoform', 'chrom', 'strand', 'length', 'exons', 'structural_category', 'associated_gene', 'CDS_length', 'CDS_start', 'CDS_end', 'CDS_genomic_start', 'CDS_genomic_end', 'predicted_NMD'
gene_id translate gene symbol
[6]:
gene_id_path="../test/input/gene_id_translate.txt"
[7]:
gene_info=pd.read_csv(gene_id_path,sep=" ",header=None)
gene_info=gene_info.rename(columns={0:"associated_gene",1:"gene_name"})
gene_info
[7]:
| associated_gene | gene_name | |
|---|---|---|
| 0 | ENSDARG00000000001 | slc35a5 |
| 1 | ENSDARG00000000002 | ccdc80 |
| 2 | ENSDARG00000000018 | nrf1 |
| 3 | ENSDARG00000000019 | ube2h |
| 4 | ENSDARG00000000068 | slc9a3r1a |
| ... | ... | ... |
| 32009 | ENSDARG00000117823 | BX537296.5 |
| 32010 | ENSDARG00000117824 | CABZ01064670.1 |
| 32011 | ENSDARG00000117825 | CU207269.4 |
| 32012 | ENSDARG00000117826 | CR385041.2 |
| 32013 | ENSDARG00000117827 | CR388164.3 |
32014 rows × 2 columns
[8]:
adata_iso.var['gene_name']=list(pd.merge(adata_iso.var,gene_info,on="associated_gene",how="left")['gene_name'])
[9]:
adata_iso
[9]:
AnnData object with n_obs × n_vars = 2999 × 36848
obs: 'batch'
var: 'isoform', 'chrom', 'strand', 'length', 'exons', 'structural_category', 'associated_gene', 'CDS_length', 'CDS_start', 'CDS_end', 'CDS_genomic_start', 'CDS_genomic_end', 'predicted_NMD', 'gene_name'
[10]:
adata_iso=adata_iso[:,adata_iso.var.dropna().index]
[11]:
adata_iso.var['structural_category'].value_counts()
[11]:
full-splice_match 18958
novel_not_in_catalog 4665
incomplete-splice_match 2214
novel_in_catalog 887
genic 315
Name: structural_category, dtype: int64
[12]:
adata_iso=adata_iso[:,adata_iso.var['structural_category'].isin(["full-splice_match","novel_not_in_catalog","incomplete-splice_match","novel_in_catalog"])]
[13]:
adata_iso
[13]:
View of AnnData object with n_obs × n_vars = 2999 × 26724
obs: 'batch'
var: 'isoform', 'chrom', 'strand', 'length', 'exons', 'structural_category', 'associated_gene', 'CDS_length', 'CDS_start', 'CDS_end', 'CDS_genomic_start', 'CDS_genomic_end', 'predicted_NMD', 'gene_name'
[14]:
sc.pp.filter_genes(adata_iso,min_cells=3)
/usr/local/lib/python3.8/site-packages/scanpy/preprocessing/_simple.py:251: ImplicitModificationWarning: Trying to modify attribute `.var` of view, initializing view as actual.
adata.var['n_cells'] = number
[15]:
sc.pp.filter_cells(adata_iso,min_genes=10)
[16]:
adata_iso
[16]:
AnnData object with n_obs × n_vars = 2999 × 15247
obs: 'batch', 'n_genes'
var: 'isoform', 'chrom', 'strand', 'length', 'exons', 'structural_category', 'associated_gene', 'CDS_length', 'CDS_start', 'CDS_end', 'CDS_genomic_start', 'CDS_genomic_end', 'predicted_NMD', 'gene_name', 'n_cells'
Generate gene-level adata
[17]:
adata_gene=scc.generate_Gene_adata(adata_iso,var_name="gene_name")
[18]:
adata_gene
[18]:
AnnData object with n_obs × n_vars = 2999 × 9697
obs: 'batch', 'n_genes'
[19]:
adata_gene.var
[19]:
| gene_name |
|---|
| ACBD3 |
| ADGRL2 |
| AK6 |
| AL732488.2 |
| AL844518.1 |
| ... |
| zwilch |
| zyg11 |
| zyx |
| zzef1 |
| zzz3 |
9697 rows × 0 columns
Generate IF-level adata
[20]:
adata_IF=scc.generate_IF_adata(adata_iso,var_name="gene_name")
Process successful for 0
Process successful for 1000
Process successful for 2000
Process successful for 3000
Process successful for 4000
Process successful for 5000
Process successful for 6000
Process successful for 7000
Process successful for 8000
Process successful for 9000
Process successful for 10000
Process successful for 11000
Process successful for 12000
Process successful for 13000
Process successful for 14000
Process successful for 15000
[21]:
adata_IF
[21]:
AnnData object with n_obs × n_vars = 2999 × 15247
obs: 'batch', 'n_genes'
var: 'isoform', 'chrom', 'strand', 'length', 'exons', 'structural_category', 'associated_gene', 'CDS_length', 'CDS_start', 'CDS_end', 'CDS_genomic_start', 'CDS_genomic_end', 'predicted_NMD', 'gene_name', 'n_cells'
Generate PSI-level adata
[22]:
event_path="../test/input/event.ioe"
[23]:
adata_psi=scc.generate_PSI_adata(adata_iso,event_path)
/data/work/tools/scCyclone/read.py:113: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
df_subset[column] = alternative_transcripts_number / total_transcripts_number
/usr/local/lib/python3.8/site-packages/anndata/_core/anndata.py:1840: UserWarning: Variable names are not unique. To make them unique, call `.var_names_make_unique`.
utils.warn_names_duplicates("var")
[24]:
adata_psi
[24]:
AnnData object with n_obs × n_vars = 2999 × 20963
obs: 'batch', 'n_genes'
var: 'gene_id', 'type', 'alternative_transcripts', 'total_transcripts'
[26]:
adata_psi.var
[26]:
| gene_id | type | alternative_transcripts | total_transcripts | |
|---|---|---|---|---|
| ENSDARG00000103929;A3:1:45550-45788:45524-45788:- | ENSDARG00000103929 | A3 | ENSDART00000168428 | ENSDART00000168428,transcript2315.1.nnic |
| ENSDARG00000103929;A3:1:48584-48890:48576-48890:- | ENSDARG00000103929 | A3 | ENSDART00000168428,transcript1465.1.nnic,trans... | ENSDART00000168428,transcript1465.1.nnic,ENSDA... |
| ENSDARG00000103929;A3:1:48584-48890:48564-48890:- | ENSDARG00000103929 | A3 | ENSDART00000168428,transcript1465.1.nnic,trans... | ENSDART00000168428,ENSDART00000161565,transcri... |
| ENSDARG00000103929;A3:1:46371-47421:45550-47421:- | ENSDARG00000103929 | A3 | transcript1471.1.nic | transcript1465.1.nnic,transcript1471.1.nic |
| ENSDARG00000103929;A3:1:48576-48890:48564-48890:- | ENSDARG00000103929 | A3 | ENSDART00000171162 | ENSDART00000161565,ENSDART00000171162 |
| ... | ... | ... | ... | ... |
| ENSDARG00000097236;SE:25:35351925-35355335:35355372-35358145:- | ENSDARG00000097236 | SE | ENSDART00000171917 | transcript42417.25.nnic,ENSDART00000154053,ENS... |
| ENSDARG00000045554;SE:25:35960453-35961063:35961134-35963130:- | ENSDARG00000045554 | SE | ENSDART00000153612,ENSDART00000157334 | ENSDART00000153919,ENSDART00000153612,ENSDART0... |
| ENSDARG00000045636;SE:25:36031526-36031618:36031746-36040206:- | ENSDARG00000045636 | SE | ENSDART00000073432 | ENSDART00000073432,ENSDART00000182207 |
| ENSDARG00000061282;SE:25:37223601-37223741:37223842-37224165:- | ENSDARG00000061282 | SE | ENSDART00000087247,ENSDART00000156647 | ENSDART00000087247,ENSDART00000154045,ENSDART0... |
| ENSDARG00000061282;SE:25:37229695-37230573:37230611-37230697:- | ENSDARG00000061282 | SE | ENSDART00000154045 | ENSDART00000087247,ENSDART00000154045 |
20963 rows × 4 columns
DTU analysis
[27]:
adata_iso
[27]:
AnnData object with n_obs × n_vars = 2999 × 15247
obs: 'batch', 'n_genes'
var: 'isoform', 'chrom', 'strand', 'length', 'exons', 'structural_category', 'associated_gene', 'CDS_length', 'CDS_start', 'CDS_end', 'CDS_genomic_start', 'CDS_genomic_end', 'predicted_NMD', 'gene_name', 'n_cells'
[28]:
import random
categories = ['A', 'B']
num_samples = adata_iso.shape[0]
random_categories = [random.choice(categories) for _ in range(num_samples)]
[29]:
adata_iso.obs['label'] = random_categories
adata_iso.obs['label'] = adata_iso.obs['label'].astype("category")
[30]:
scc.tl.rank_ifs_groups(adata_iso,groupby="label")
/usr/local/lib/python3.8/site-packages/scanpy/preprocessing/_simple.py:251: ImplicitModificationWarning: Trying to modify attribute `.var` of view, initializing view as actual.
adata.var['n_cells'] = number
Group A start!
Generate IF matrix...
Generate rank matrix...
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:251: FutureWarning: In a future version of pandas all arguments of concat except for the argument 'objs' will be keyword-only.
data_rank = pd.concat(data_rank_list, 0)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:251: FutureWarning: In a future version of pandas all arguments of concat except for the argument 'objs' will be keyword-only.
data_rank = pd.concat(data_rank_list, 0)
Generate IF adata...
Process successful for 0
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
Process successful for 0
Compute dIF...
Compute pvalue...
Compute proportion...
Group A complete!
-----------------------------------------
Group B start!
Generate IF matrix...
Generate rank matrix...
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:251: FutureWarning: In a future version of pandas all arguments of concat except for the argument 'objs' will be keyword-only.
data_rank = pd.concat(data_rank_list, 0)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:251: FutureWarning: In a future version of pandas all arguments of concat except for the argument 'objs' will be keyword-only.
data_rank = pd.concat(data_rank_list, 0)
Generate IF adata...
Process successful for 0
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
/data/work/tools/scCyclone/tools/_rank_ifs_groups.py:198: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
data_IF[j] = list(sub_data / sub_gene)
Process successful for 0
Compute dIF...
Compute pvalue...
Compute proportion...
Group B complete!
-----------------------------------------
[30]:
AnnData object with n_obs × n_vars = 2999 × 15247
obs: 'batch', 'n_genes', 'label'
var: 'isoform', 'chrom', 'strand', 'length', 'exons', 'structural_category', 'associated_gene', 'CDS_length', 'CDS_start', 'CDS_end', 'CDS_genomic_start', 'CDS_genomic_end', 'predicted_NMD', 'gene_name', 'n_cells'
uns: 'rank_ifs_groups'
[32]:
scc.get.rank_ifs_groups_df(adata_iso)
[32]:
| group | names | dif | dr | dr_state | dr_first | pvals | pvals_adj | dpr | gene_name | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | A | transcript39801.1.nnic | 0.001003 | (1, 1) | normal | True | 0.181273 | 1.0 | -0.014146 | cldng |
| 1 | A | ENSDART00000047159 | 0.009441 | (1, 1) | normal | True | 0.047584 | 1.0 | -0.022071 | hmgb2a |
| 2 | A | ENSDART00000074689 | 0.032053 | (1, 1) | normal | True | 0.457061 | 1.0 | 0.009537 | eif5b |
| 3 | A | ENSDART00000084174 | 0.007793 | (1, 1) | normal | True | 0.417753 | 1.0 | 0.010475 | lig1 |
| 4 | A | transcript69965.2.nnic | 0.029608 | (2, 3) | up | False | 0.167541 | 1.0 | 0.011663 | lig1 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 145 | B | ENSDART00000138350 | 0.018797 | (1, 1) | normal | True | 0.265724 | 1.0 | 0.012588 | rps12 |
| 146 | B | ENSDART00000188105 | 0.002582 | (1, 1) | normal | True | 0.973672 | 1.0 | -0.000002 | hmgb2b |
| 147 | B | transcript64375.23.nnic | 0.055941 | (1, 1) | normal | True | 0.061627 | 1.0 | 0.024923 | psip1b |
| 148 | B | transcript35335.25.nic | 0.034969 | (2, 2) | normal | False | 0.644348 | 1.0 | -0.004831 | eif3ja |
| 149 | B | transcript6181.25.nnic | 0.000262 | (2, 2) | normal | False | 0.622758 | 1.0 | -0.002099 | CABZ01058261.1 |
150 rows × 10 columns
[ ]:
switch_data=scc.tl.rank_switchs_groups(adata_iso)
[ ]:
switch_data_info,switch_data_summary=scc.tl.rank_switch_consequences_groups(adata,switch_data,var_name_list=['exons','polyA_motif_found'])
DPSI analysis
[36]:
scc.tl.rank_psis_groups(adata_psi,groupby="label")
['A', 'B']
/usr/local/lib/python3.8/site-packages/scanpy/preprocessing/_simple.py:251: ImplicitModificationWarning: Trying to modify attribute `.var` of view, initializing view as actual.
adata.var['n_cells'] = number
/usr/local/lib/python3.8/site-packages/anndata/_core/anndata.py:1840: UserWarning: Variable names are not unique. To make them unique, call `.var_names_make_unique`.
utils.warn_names_duplicates("var")
/usr/local/lib/python3.8/site-packages/anndata/_core/anndata.py:1840: UserWarning: Variable names are not unique. To make them unique, call `.var_names_make_unique`.
utils.warn_names_duplicates("var")
/usr/local/lib/python3.8/site-packages/scanpy/preprocessing/_simple.py:251: ImplicitModificationWarning: Trying to modify attribute `.var` of view, initializing view as actual.
adata.var['n_cells'] = number
/usr/local/lib/python3.8/site-packages/anndata/_core/anndata.py:1840: UserWarning: Variable names are not unique. To make them unique, call `.var_names_make_unique`.
utils.warn_names_duplicates("var")
Filter event: 20895
Group A start!
Compute dpsi...
Compute pvalue...
Group A complete!
-----------------------------------------
Group B start!
Compute dpsi...
Compute pvalue...
Group B complete!
-----------------------------------------
[36]:
AnnData object with n_obs × n_vars = 2999 × 20963
obs: 'batch', 'n_genes', 'label'
var: 'gene_id', 'type', 'alternative_transcripts', 'total_transcripts'
uns: 'rank_psis_groups'
[38]:
adata_psi
[38]:
AnnData object with n_obs × n_vars = 2999 × 20963
obs: 'batch', 'n_genes', 'label'
var: 'gene_id', 'type', 'alternative_transcripts', 'total_transcripts'
uns: 'rank_psis_groups'
[39]:
scc.get.rank_psis_groups_df(adata_psi,gene_symbols="gene_id",min_dpsi=0.1)
[39]:
| group | names | dpsi | pvals | pvals_adj | gene_id | |
|---|---|---|---|---|---|---|
| 0 | A | ENSDARG00000037713;A3:1:7557049-7559800:755704... | 1.000 | 1.00 | 1.0 | ENSDARG00000037713 |
| 1 | A | ENSDARG00000061901;A3:5:19940575-19943507:1994... | 1.000 | 1.00 | 1.0 | ENSDARG00000061901 |
| 2 | A | ENSDARG00000086150;A3:7:20918172-20919896:2091... | 1.000 | 1.00 | 1.0 | ENSDARG00000086150 |
| 3 | A | ENSDARG00000062423;A3:9:24209707-24209910:2420... | 1.000 | 1.00 | 1.0 | ENSDARG00000062423 |
| 4 | A | ENSDARG00000098983;A3:12:49000563-49003489:490... | 1.000 | 1.00 | 1.0 | ENSDARG00000098983 |
| ... | ... | ... | ... | ... | ... | ... |
| 679 | B | ENSDARG00000003058;SE:20:30589472-30594119:305... | 0.111 | 1.00 | 1.0 | ENSDARG00000003058 |
| 680 | B | ENSDARG00000017439;SE:23:10434848-10435175:104... | 0.109 | 1.00 | 1.0 | ENSDARG00000017439 |
| 681 | B | ENSDARG00000028335;AF:23:3758463-3759278:37593... | 0.107 | 0.03 | 1.0 | ENSDARG00000028335 |
| 682 | B | ENSDARG00000057556;AF:21:19061766:19061998-190... | 0.100 | 0.00 | 0.0 | ENSDARG00000057556 |
| 683 | B | ENSDARG00000027249;SE:4:16539431-16541194:1654... | 0.100 | 1.00 | 1.0 | ENSDARG00000027249 |
684 rows × 6 columns
[40]:
event_list=list(adata_psi.var.index[:100])
[ ]:
event_modal_data,event_best_modal_data=scc.get.psis_modal_df(adata_psi,groupby="label",groups=["A"],event_list=event_list,valid_cells=10)
[44]:
event_modal_data
[44]:
| ENSDARG00000103929;A3:1:45550-45788:45524-45788:- | ENSDARG00000103929;A3:1:48584-48890:48576-48890:- | ENSDARG00000103929;A3:1:48584-48890:48564-48890:- | ENSDARG00000014313;A3:1:613192-614504:613189-614504:- | ENSDARG00000037746;A3:1:8651631-8652579:8651610-8652579:- | ENSDARG00000063169;A3:1:9276450-9277168:9276437-9277168:- | ENSDARG00000089930;A3:1:11877213-11877367:11877210-11877367:- | ENSDARG00000056504;A3:1:16676019-16676110:16676015-16676110:- | ENSDARG00000006434;A3:1:19637622-19639781:19637599-19639781:- | ENSDARG00000037276;A3:1:25749687-25749769:25749657-25749769:- | ... | ENSDARG00000093003;A3:1:52501962-52503591:52501948-52503591:- | ENSDARG00000024681;A3:1:55161475-55162440:55161424-55162440:- | ENSDARG00000099635;A3:1:59228465-59228550:59228459-59228550:- | ENSDARG00000101291;A3:1:59310440-59310594:59310437-59310594:- | ENSDARG00000101291;A3:1:59311097-59312061:59311091-59312061:- | ENSDARG00000102407;A3:1:12953-13034:12953-13070:+ | ENSDARG00000102407;A3:1:15137-15352:15137-15365:+ | ENSDARG00000063385;A3:1:278432-278719:278432-278728:+ | ENSDARG00000074031;A3:1:6238776-6240431:6238776-6240437:+ | ENSDARG00000058471;A3:1:9155305-9155420:9155305-9155440:+ | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bimodal | 0.87 | 0.0 | 0.0 | 0.58 | 0.0 | 0.55 | 0.12 | 0.03 | 0.43 | 0.0 | ... | 0.0 | 0.0 | 0.39 | 0.01 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| excluded | 0.12 | 0.0 | 0.0 | 0.01 | 1.0 | 0.39 | 0.59 | 0.01 | 0.56 | 1.0 | ... | 0.0 | 0.0 | 0.01 | 0.24 | 0.0 | 0.0 | 0.0 | 0.0 | 1.0 | 1.0 |
| included | 0.01 | 1.0 | 1.0 | 0.32 | 0.0 | 0.01 | 0.11 | 0.89 | 0.01 | 0.0 | ... | 1.0 | 1.0 | 0.57 | 0.22 | 1.0 | 1.0 | 1.0 | 1.0 | 0.0 | 0.0 |
| middle | 0.00 | 0.0 | 0.0 | 0.09 | 0.0 | 0.05 | 0.18 | 0.07 | 0.00 | 0.0 | ... | 0.0 | 0.0 | 0.03 | 0.53 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
4 rows × 31 columns