Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

COSG #5959

Merged
merged 24 commits into from
May 29, 2024
Merged

COSG #5959

Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions tools/cosg/.shed.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: cosg
owner: iuc
description: "Marker gene identification for single-cell sequencing data using COSG."
homepage_url: https://github.com/genecell/COSG
long_description: |
Accurate and fast cell marker gene identification with COSG. COSG is a cosine similarity-based method for more accurate and scalable marker gene identification.
remote_repository_url: https://github.com/galaxyproject/tools-iuc/tree/master/tools/cosg/
type: unrestricted
categories:
- Transcriptomics
- Sequence Analysis
174 changes: 174 additions & 0 deletions tools/cosg/cosg.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
<tool id="cosg" name="Cell marker gene identification" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@profile@">
<description>with COSG</description>
heylf marked this conversation as resolved.
Show resolved Hide resolved
<macros>
<import>macros.xml</import>
</macros>
<expand macro="requirements">
</expand>
<expand macro="version_command"/>
<command detect_errors="exit_code"><![CDATA[
@CMD@
]]></command>
<configfiles>
<configfile name="script_file"><![CDATA[
@CMD_imports@
@CMD_read_inputs@

#if $method_options.groups != 'all'
#set $method_options.groups=[$groups]
#end if

cosg.cosg(adata,
groupby='$method_options.groupby',
groups='$method_options.groups',
n_genes_user=$method_options.n_genes_user,
mu=$advanced_options.mu,
remove_lowly_expressed=$advanced_options.filter_expression.remove_lowly_expressed,
#if $advanced_options.filter_expression.remove_lowly_expressed == "True"
expressed_pct=$advanced_options.filter_expression.expressed_pct,
#end ifs
key_added='$advanced_options.key_added',
use_raw=$advanced_options.layer_selection.use_raw,
#if $advanced_options.layer_selection.use_raw == "False"
#if $advanced_options.layer_selection.layer
layer='$advanced_options.layer_selection.layer',
#end if
#end if
reference='$advanced_options.reference'
)

df=pd.DataFrame(adata.uns['cosg']['names']).T
df.to_csv('marker.tsv', sep='\t', index=True)

@CMD_anndata_write_outputs@
]]></configfile>
</configfiles>
<inputs>
<expand macro="inputs_anndata"/>
<section name="method_options" title="Method Options" expanded="true">
<param argument="groupby" type="text" value="" optional="false" label="The key of the cell groups in .obs."/>
heylf marked this conversation as resolved.
Show resolved Hide resolved
<param argument="groups" type="text" value="all" optional="false" label="Subset of cell groups" help="e.g. 'g1','g2','g3'."/>
<param argument="n_genes_user" type="integer" value="50" label="The number of genes that appear in the returned tables."/>
heylf marked this conversation as resolved.
Show resolved Hide resolved
</section>
<section name="advanced_options" title="Advanced Options">
<param argument="mu" type="float" value="1.0" label="The penalty restricting marker genes expressing in non-target cell groups." help="Larger value represents more strict restrictions. mu should be >= 0, and by default, mu = 1."/>
heylf marked this conversation as resolved.
Show resolved Hide resolved
<conditional name="filter_expression">
<param name="remove_lowly_expressed" type="select" label="Remove lowly expressed genes" help="If yes, genes that express a percentage of target cells smaller than a specific value (`expressed_pct`) are not considered as marker genes for the target cells.">
<option value="False">No</option>
<option value="True">Yes</option>
</param>
<when value="False"/>
<when value="True">
<param argument="expressed_pct" type="float" value="0.1" label="Percentage of target cells" help="Genes that express a percentage of target cells smaller than a specific value (`expressed_pct`) are not considered as marker genes for the target cells."/>
</when>
</conditional>
<param argument="key_added" type="text" value="cosg" optional="false" label="The key in adata.uns information is saved to."/>
heylf marked this conversation as resolved.
Show resolved Hide resolved
<conditional name="layer_selection">
<param name="use_raw" type="select" label="Use raw attribute of adata if present to perform tests on." help="If use_raw is set to True then adata.raw.X if it exists.">
<option value="False">No</option>
<option value="True">Yes</option>
</param>
<when value="False">
<param argument="layer" type="text" value="" label="Key from adata.layers whose value will be used to perform tests on." help="If empty then adata.X will be used. If use_raw is set to True then adata.raw.X. If layers specified then use adata.layers[layer]."/>
heylf marked this conversation as resolved.
Show resolved Hide resolved
</when>
<when value="True"/>
</conditional>
<param argument="reference" type="text" value="rest" optional="false" label="If a group identifier, compare with respect to this group." help=" If you use the keyword 'rest', compare each group to the union of the rest of the group."/>
</section>
<expand macro="inputs_common_advanced"/>
</inputs>
<outputs>
<expand macro="anndata_outputs"/>
<data name="marker_out" format="tsv" from_work_dir="marker.tsv" label="${tool.name} on ${on_string}: Markers"/>
heylf marked this conversation as resolved.
Show resolved Hide resolved
</outputs>
<tests>
<test expect_num_outputs="3">
<!-- test 1 -->
<param name="adata" value="tl.rank_genes_groups.newton-cg.pbmc68k_reduced.h5ad" />
<param name="groupby" value="bulk_labels"/>
<section name="advanced_common">
<param name="show_log" value="true" />
</section>
<output name="hidden_output">
<assert_contents>
<has_text_matching expression="cosg.cosg"/>
<has_text_matching expression="groupby='bulk_labels'"/>
<has_text_matching expression="groups='all'"/>
<has_text_matching expression="n_genes_user=50"/>
<has_text_matching expression="mu=1.0"/>
<has_text_matching expression="remove_lowly_expressed=False"/>
<has_text_matching expression="key_added='cosg'"/>
<has_text_matching expression="use_raw=False"/>
<has_text_matching expression="reference='rest'"/>
</assert_contents>
</output>
<output name="anndata_out" file="cosg.rank_genes_groups.newton-cg.pbmc68k_reduced_1.h5ad" ftype="h5ad" compare="sim_size"/>
<output name="marker_out" file="marker_1.tsv" ftype="tsv" compare="sim_size"/>
</test>
<test expect_num_outputs="3">
<!-- test 2 -->
<param name="adata" value="tl.rank_genes_groups.newton-cg.pbmc68k_reduced.h5ad" />
<param name="groupby" value="louvain"/>
<param name="remove_lowly_expressed" value="True" />
<section name="advanced_common">
<param name="show_log" value="true" />
</section>
<output name="hidden_output">
<assert_contents>
<has_text_matching expression="cosg.cosg"/>
<has_text_matching expression="groupby='louvain'"/>
<has_text_matching expression="groups='all'"/>
<has_text_matching expression="n_genes_user=50"/>
<has_text_matching expression="mu=1.0"/>
<has_text_matching expression="remove_lowly_expressed=True"/>
<has_text_matching expression="expressed_pct=0.1"/>
<has_text_matching expression="key_added='cosg'"/>
<has_text_matching expression="use_raw=False"/>
<has_text_matching expression="reference='rest'"/>
</assert_contents>
</output>
<output name="anndata_out" file="cosg.rank_genes_groups.newton-cg.pbmc68k_reduced_2.h5ad" ftype="h5ad" compare="sim_size"/>
heylf marked this conversation as resolved.
Show resolved Hide resolved
<output name="marker_out" file="marker_2.tsv" ftype="tsv" compare="sim_size"/>
</test>
<test expect_num_outputs="3">
<!-- test 3 -->
<param name="adata" value="tl.rank_genes_groups.newton-cg.pbmc68k_reduced.h5ad" />
<param name="groupby" value="bulk_labels"/>
<param name="use_raw" value="True"/>
<section name="advanced_common">
<param name="show_log" value="true" />
</section>
<output name="hidden_output">
<assert_contents>
<has_text_matching expression="cosg.cosg"/>
<has_text_matching expression="groupby='bulk_labels'"/>
<has_text_matching expression="groups='all'"/>
<has_text_matching expression="n_genes_user=50"/>
<has_text_matching expression="mu=1.0"/>
<has_text_matching expression="remove_lowly_expressed=False"/>
<has_text_matching expression="key_added='cosg'"/>
<has_text_matching expression="use_raw=True"/>
<has_text_matching expression="reference='rest'"/>
</assert_contents>
</output>
<output name="anndata_out" file="cosg.rank_genes_groups.newton-cg.pbmc68k_reduced_3.h5ad" ftype="h5ad" compare="sim_size"/>
heylf marked this conversation as resolved.
Show resolved Hide resolved
<output name="marker_out" file="marker_3.tsv" ftype="tsv" compare="sim_size"/>
heylf marked this conversation as resolved.
Show resolved Hide resolved
</test>
</tests>
<help><![CDATA[
Marker gene identification for single-cell sequencing data using COSG.
============================================================================================================

Accurate and fast cell marker gene identification with COSG

COSG is a cosine similarity-based method for more accurate and scalable marker gene identification.

- COSG is a general method for cell marker gene identification across different data modalities, e.g., scRNA-seq, scATAC-seq and spatially resolved transcriptome data.
- Marker genes or genomic regions identified by COSG are more indicative and with greater cell-type specificity.
- COSG is ultrafast for large-scale datasets, and is capable of identifying marker genes for one million cells in less than two minutes.

Here is the R version for COSG, and the python version is hosted in https://github.com/genecell/COSG.
heylf marked this conversation as resolved.
Show resolved Hide resolved

]]></help>
<expand macro="citations"/>
</tool>
85 changes: 85 additions & 0 deletions tools/cosg/macros.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
<macros>
<token name="@TOOL_VERSION@">1.0.1</token>
<token name="@VERSION_SUFFIX@">1</token>
heylf marked this conversation as resolved.
Show resolved Hide resolved
<token name="@profile@">22.05</token>
<xml name="requirements">
<requirements>
<requirement type="package" version="@TOOL_VERSION@">cosg</requirement>
<requirement type="package" version="1.9.8">scanpy</requirement>
<requirement type="package" version="1.5.3">pandas</requirement>
<requirement type="package" version="3.7">matplotlib</requirement>
<requirement type="package" version="0.12.2">seaborn</requirement>
<yield />
</requirements>
</xml>
<xml name="creators">
<creator>
<organization name="European Galaxy Team" url="https://galaxyproject.org/eu/" />
</creator>
</xml>
<xml name="citations">
<citations>
<citation type="doi">10.1093/bib/bbab579</citation>
<citation type="doi">10.1093/gigascience/giaa102</citation>
</citations>
</xml>
<xml name="version_command">
<version_command><![CDATA[python -c "import cosg;print('cosg version: @TOOL_VERSION@')"]]></version_command>
heylf marked this conversation as resolved.
Show resolved Hide resolved
</xml>
<token name="@CMD@"><![CDATA[
cp '$adata' 'anndata.h5ad' &&
cat '$script_file' > '$hidden_output' &&
python '$script_file' >> '$hidden_output' &&
ls . >> '$hidden_output' &&
touch 'anndata_info.txt' &&
cat 'anndata_info.txt' @CMD_prettify_stdout@
]]>
</token>
<token name="@CMD_imports@"><![CDATA[
import scanpy as sc
import pandas as pd
import numpy as np
import cosg
]]>
</token>
<xml name="sanitize_query" token_validinitial="string.printable">
<sanitizer>
<valid initial="@VALIDINITIAL@">
<remove value="&apos;" />
</valid>
</sanitizer>
</xml>
<xml name="sanitize_vectors" token_validinitial="string.digits">
<sanitizer>
<valid initial="@VALIDINITIAL@">
<add value=","/>
</valid>
</sanitizer>
</xml>
<xml name="inputs_anndata">
<param name="adata" type="data" format="h5ad" label="Annotated data matrix"/>
</xml>
<token name="@CMD_read_inputs@"><![CDATA[
adata = sc.read_h5ad('anndata.h5ad')
]]>
</token>
<xml name="inputs_common_advanced">
<section name="advanced_common" title="Advanced Output Options" expanded="false">
<param name="show_log" type="boolean" checked="false" label="Output Log?" />
</section>
</xml>
<xml name="anndata_outputs">
<data name="anndata_out" format="h5ad" from_work_dir="anndata.h5ad" label="${tool.name} on ${on_string}: Annotated data matrix"/>
<data name="hidden_output" format="txt" label="Log file" >
heylf marked this conversation as resolved.
Show resolved Hide resolved
<filter>advanced_common['show_log']</filter>
</data>
</xml>
<token name="@CMD_anndata_write_outputs@"><![CDATA[
adata.write_h5ad('anndata.h5ad')
with open('anndata_info.txt','w', encoding='utf-8') as ainfo:
print(adata, file=ainfo)
]]>
</token>
<token name="@CMD_prettify_stdout@"><![CDATA[ | sed -r '1 s|AnnData object with (.+) = (.*)\s*|\1: \2|g' | sed "s|'||g" | sed -r 's|^\s*(.*):\s(.*)|[\1]\n- \2|g' | sed 's|, |\n- |g'
]]></token>
</macros>
Binary file not shown.
Binary file not shown.
Binary file not shown.
11 changes: 11 additions & 0 deletions tools/cosg/test-data/marker_1.tsv
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
CD14+ Monocyte FCGR3A PSAP FTL CTSS AIF1 RP11-290F20.3 TMEM176B SAT1 CEBPB CFD FCER1G SERPINA1 LST1 CD68 S100A11 HCK TYROBP MS4A7 DUSP1 STXBP2 OAZ1 PILRA FCN1 FTH1 NPC2 IFITM3 SPI1 IFITM2 COTL1 S100A4 CFP SESN2 MPP1 NFE2 PCIF1 FCGRT GALE PFN1 CORO1B GSTP1 RP11-390E23.6 FOS EAF2 CST3 SOX4 UBE2J1 MNDA VIMP FAM101B ARHGDIB
CD19+ B CD79A CD79B MS4A1 TNFRSF13B SMARCB1 BLK BANK1 PDLIM1 FCRLA NCF1 TPD52 SPIB POU2AF1 AL928768.3 TNFRSF17 CCDC50 PNOC SUB1 ISG20 IGJ GNG7 MZB1 PLAC8 KIAA0125 IGLL5 PEBP1 DERL3 FKBP11 LTB SSR4 XBP1 RPLP1 UBE2J1 EAF2 PTPRCAP VIMP SSR3 MANF CD52 LY86 RPL3 RPSA RPLP0 FAM63B HLA-DMB SNHG7 ETV2 ALOX5AP CD27 RP3-467N11.1
CD34+ PRSS57 CYTL1 EGFL7 C19orf77 SPINK2 RP11-620J15.3 SNHG7 SOX4 SERPINB1 NFE2 SYPL1 EGR1 CDK6 NGFRAP1 IL1B RPLP0 KIAA0125 NUCB2 H1FX SPINT2 HMGA1 RPS3 MPP1 RP3-467N11.1 C1orf228 RPL3 MPHOSPH9 RNF34 RSBN1L-AS1 LDHB ATXN7L3B IGFBP7 RPLP1 JUN RPSA FAM63B TRIM39 SESN2 GYPC CHD4 ACOX1 RNF138 FAM101B PRKCQ-AS1 STMN1 SELL CTSW PDLIM1 PEBP1 MATK
CD4+/CD25 T Reg ACTG1 ARHGDIB AQP3 SIT1 LAT CD2 AES CD3D CD3E SPOCK2 CORO1B CD27 IL32 LCK SELL ITM2A LDHB S1PR4 NOSIP CD52 GIMAP4 FYB TMSB10 SEPT1 GYPC ADTRP LY9 CD99 GIMAP7 CD3G FLT3LG PRKCQ-AS1 PTPRCAP TTC39C GIMAP5 RPSA PFN1 RAB3IP MAL TSHZ2 IL7R NGFRAP1 CD247 BTG1 B2M LTB CCR7 RPS3 DENND2D GPR171
CD4+/CD45RA+/CD25- Naive T EAF2 SSR3 SSR4 DERL3 MZB1 UBE2J1 IGLL5 VIMP RP3-467N11.1 XBP1 GNG7 CALR IGJ MANF FKBP11 AL928768.3 TNFRSF17 PEBP1 SUB1 POU2AF1 ISG20 CD27 ATXN7L3B CD79A CDK6 TNFRSF13B NCF1 MAL RPLP0 LY9 RPLP1 SIT1 RPL3 KIAA0125 EXOG B2M GYPC ITM2A PNOC SMARCB1 HCST PTPRCAP AQP3 GZMA GZMM AES SEPT1 GIMAP7 RNF34 GPX1
CD4+/CD45RO+ Memory CHD4 TSHZ2 NOSIP RNF138 LINC00402 SEPT1 ITM2A LCK SIT1 ACTG1 CD3E CORO1B CD52 AQP3 LDHB SELL GZMK CALR IL32 EXOG ARHGDIB ALOX5AP GIMAP5 CD99 TTC39C CD2 GIMAP4 PFN1 GIMAP7 RAB3IP GYPC RPSA AES IFITM1 RPS3 CD3D NUCB2 RPLP0 MAL S1PR4 LAT DENND2D STK17A RARRES3 RP3-467N11.1 IL7R HCST B2M CD3G TMSB10
CD56+ NK CLIC3 SPON2 CTSW CD7 GZMB GNLY MATK PRF1 NKG7 IGFBP7 CST7 CD247 HOPX KLRC2 GZMA STMN1 GZMM CD63 IFITM1 STK17A FGFBP2 GZMH C9orf142 ALOX5AP RARRES3 PLAC8 NUCB2 PFN1 CALR DENND2D HCST CD99 PAXBP1 CCL5 B2M IFITM2 XBP1 RP11-473M20.7 SEPT1 PTPRCAP PCIF1 GIMAP7 RNF34 SYPL1 CCDC163P GZMK RPSA GYPC PRKCQ-AS1 SELL
CD8+ Cytotoxic T CCL5 GZMH HCST CD8A GZMA FGFBP2 FAM101B GZMK NKG7 HOPX B2M IL32 CD3G CST7 GPR171 TRIM39 CD8B GNLY GZMM RARRES3 PRF1 CD3D JUN C9orf142 EXOG GZMB CTSW CD99 CD2 LCK LY9 IFITM1 PTPRCAP CD3E DENND2D BTG1 FLT3LG MATK LINC00402 LAT RPS3 CD247 RPL3 GIMAP7 NUCB2 RPSA STK17A MPHOSPH9 RNF34 CCDC132
CD8+/CD45RA+ Naive Cytotoxic RP11-291B21.2 CD8B CCR7 CCDC163P PRKCQ-AS1 CD8A C1orf228 GIMAP5 IL7R LDHB MAL RPS3 RPL3 GIMAP7 NOSIP JUN CD3E AES BTG1 ATXN7L3B CD27 CD3D RPSA TTC39C CD3G LINC00402 LCK GZMM SPOCK2 GZMK FLT3LG FYB GYPC GALE NGFRAP1 CD7 STK17A HCST IL32 LTB RAB3IP LAT S1PR4 GIMAP4 FAM101B RPLP1 PTPRCAP SEPT1 C9orf142 ADTRP
Dendritic LYZ CST3 HLA-DRA HLA-DQB1 HLA-DPB1 HLA-DQA2 HLA-DQA1 HLA-DPA1 HLA-DRB1 FCER1A CD74 ALDH2 HLA-DRB5 HLA-DMA LGALS2 AMICA1 GSN CPVL GPX1 GSTP1 GRN FCGRT HLA-DMB CLEC10A VIM FOS MNDA CFP SPINT2 LY86 IL1B SPI1 COTL1 RP11-390E23.6 IGFBP7 FTH1 NPC2 RP11-473M20.7 TYROBP LST1 CD63 OAZ1 DUSP1 FCER1G S100A11 AIF1 GALE SAT1 S100A4 CTSS
8 changes: 8 additions & 0 deletions tools/cosg/test-data/marker_2.tsv
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
0 CD3E CD3D IL32 LCK CD247 LAT GZMM CD3G AES LDHB NOSIP GZMA CD2 CD7 GIMAP7 CCL5 SEPT1 NKG7 IFITM1 HCST CTSW CD99 PRF1 SIT1 GZMH CST7 CD8A GIMAP5 HOPX GNLY STK17A SPOCK2 CCR7 GZMK PRKCQ-AS1 GZMB CD8B MATK GYPC RPSA ITM2A FGFBP2 B2M RPS3 PTPRCAP AQP3 FLT3LG STMN1 RARRES3 GIMAP4
1 CTSS FTL RP11-290F20.3 FCGR3A LST1 SAT1 AIF1 PSAP CFD SERPINA1 CD68 FCER1G CEBPB FTH1 TYROBP TMEM176B S100A11 MS4A7 DUSP1 HCK PILRA OAZ1 NPC2 IFITM2 FCN1 IFITM3 STXBP2 COTL1 SPI1 S100A4 CFP MPP1 SESN2 PCIF1 GALE CORO1B FCGRT NFE2 FOS MNDA PFN1 GSTP1 RP11-390E23.6 ARHGDIB SOX4 CST3 FAM101B RNF138 B2M EAF2
2 FCER1A LYZ AMICA1 GSN ALDH2 CLEC10A HLA-DQA1 HLA-DQA2 GPX1 HLA-DRA HLA-DQB1 LGALS2 HLA-DMA HLA-DRB1 CD74 HLA-DPB1 GRN HLA-DRB5 CST3 HLA-DMB FOS HLA-DPA1 FCGRT MNDA IL1B GSTP1 SPINT2 CFP VIM IGFBP7 LY86 CD63 RP11-473M20.7 RP11-390E23.6 TMSB10 CCDC50 CPVL SPIB GALE COTL1 SPI1 S100A4 TYROBP RPLP0 CCDC132 NPC2 TRIM39 OAZ1 ATXN7L3B PCIF1
3 CD79B MS4A1 BANK1 BLK FCRLA SPIB CD79A SMARCB1 PDLIM1 PLAC8 TNFRSF13B LTB CCDC50 NCF1 PNOC POU2AF1 KIAA0125 PTPRCAP ETV2 LY86 RPLP1 TPD52 CD52 HLA-DMB EXOG SYPL1 AL928768.3 ALOX5AP SNHG7 RPSA RPL3 GNG7 CD74 FAM63B SELL HLA-DMA HLA-DRA HLA-DPB1 IGLL5 STK17A JUN HLA-DQA2 EGR1 RNF34 ISG20 HLA-DQA1 SUB1 SIT1 C1orf228 HLA-DRB1
4 CPVL HLA-DPA1 CST3 GSTP1 VIM HLA-DPB1 FCGRT HLA-DQB1 CD74 HMGA1 HLA-DRA HLA-DRB5 HLA-DRB1 RAB3IP HLA-DQA1 SPINT2 HLA-DQA2 HLA-DMA LGALS2 GRN IGFBP7 LYZ CALR H1FX GPX1 SESN2 HLA-DMB LY86 GNG7 SPI1 ACTG1 ALDH2 FTH1 SERPINB1 SOX4 ATXN7L3B GYPC CD63 FOS NPC2 SAT1 MATK MNDA HCK PSAP CTSS AIF1 NCF1 FCGR3A COTL1
5 TNFRSF17 MZB1 IGJ DERL3 XBP1 SSR4 FKBP11 ISG20 SSR3 SUB1 UBE2J1 PEBP1 VIMP EAF2 MANF AL928768.3 IGLL5 GNG7 TPD52 RP3-467N11.1 CD79A POU2AF1 TNFRSF13B CALR CCDC132 TMSB10 CD27 RPLP0 TRIM39 LY9 SMARCB1 NCF1 NUCB2 RPLP1 PDLIM1 RSBN1L-AS1 CD63 S1PR4 PNOC KIAA0125 AQP3 SESN2 RARRES3 RAB3IP CD99 CCDC50 B2M RPL3 VIM ATXN7L3B
6 PRSS57 CYTL1 EGFL7 C19orf77 SPINK2 RP11-620J15.3 SERPINB1 SNHG7 SOX4 NFE2 EGR1 CDK6 NGFRAP1 SYPL1 IL1B NUCB2 H1FX RPLP0 KIAA0125 SPINT2 MPHOSPH9 MPP1 C1orf228 RPS3 IGFBP7 RP3-467N11.1 RPL3 RNF34 HMGA1 ATXN7L3B RSBN1L-AS1 LDHB JUN RPLP1 TRIM39 FAM63B RNF138 RPSA SESN2 FAM101B ACOX1 MATK PRKCQ-AS1 GYPC PDLIM1 PCIF1 ITM2A SELL SPON2 CTSW
Loading
Loading