Giter VIP home page Giter VIP logo

xicra's Introduction

XICRA: Small RNAseq pipeline for paired-end reads.

Table of Contents

Description

XICRA is a python pipeline developed in multiple separated modules that it is designed to take paired end fastq reads, trim adapters and low-quality base pairs positions, and merge reads (R1 & R2) that overlap. Using joined reads it describes all major RNA biotypes present in the samples including miRNA and isomiRs, tRNA fragments (tRFs) and piwi associated RNAs (piRNAs).

This pipeline resulted from the observation that potential artifacts derived from sequencing errors and/or data processing could result in an overestimation of abundance and diversity of miRNA isoforms. Paired end sequencing improves isomiR calling in small RNA sequencing data. Internal variation isomiR calls are frequent artifacts in single read sequencing data. Internal sequence variant isomiRs in single read sequencing mode may be false positives. See additional detail in the original publication here

So far, XICRA produces a miRNA or tRNA analysis at the isomiR or tRF level using joined reads or single-end reads, multiple software at the user selection and following a standardization procedure. Results are generated for each sample analyzed and summarized for all samples in a single expression matrix. This information can be processed at the miRNA or isomiR level (single sequence) but also summarizing for each isomiR variant type. This information can be easily accessed using the accompanied R package XICRA.stats. Although the pipeline is designed to take paired-end reads, it also accepts single-end reads.

See additional details on the code here. The workflow of the pipeline is described in the following image. Workflow

Installation

XICRA will require python v3.12 and java (we tested in openjdk 14 2020-03-17).

The XICRA python pipeline is available in pip and also available using conda.

XICRA depends on multiple third party software that we have listed here.

We encourage you to install XICRA and all dependencies using the conda environment we created and following these instructions.

Unfortunately, a couple of executables are not available neither as a conda or pip packages. These packages are miraligner and sRNAbench. We have generated a shell script to retrieve and include within your conda environment.

To create a new conda environment, install third party software, install XICRA and missing dependencies, do as follows:

  1. Get requirements file from XICRA git repo
wget https://raw.githubusercontent.com/HCGB-IGTP/XICRA/master/XICRA_pip/devel/conda/environment.yml
  1. Create environment named XICRA and install required packages using conda:
conda env create -f environment.yml
  1. Activate environment and install XICRA
## activate
conda activate XICRA

## install latest python code
pip install XICRA
  1. Install missing software: Unfortunately, a couple of executables are not available neither as a conda or pip packages. These packages are miraligner, sRNAbench and MINTmap. We have generated a bash script to retrieve and include within your conda environment.
## install missing software
wget https://raw.githubusercontent.com/HCGB-IGTP/XICRA/master/XICRA_pip/XICRA/config/software/installer.sh
sh installer.sh

To check everything is fine, try executing the config module:

XICRA config

To additionally check XICRA is working try to run a test example which is available within XICRA git repository

cd subset2test/
sh test_subset.sh

or available to download by executing the following command:

XICRA test
sh test_subset.sh

On the other hand, if you might have already installed software and available within your path, you might only need to install it using the XICRA pip module. We encourage you to installed it within a python environment. See as an example the description here

xicrastats

We additionally provide a supplementary R package for parsing and plotting some XICRA results. See additional details here.

Install it in R using:

# Install XICRA.stats version from GitHub:
# install.packages("devtools")
devtools::install_github("HCGB-IGTP/XICRA.stats")

Etymology

XICRA is the name in Catalan for a small cup of coffee or chocoate. Also, it was used as a small measure of milk, oil or wine (125 ml). See additional details here: https://ca.wikipedia.org/wiki/Xicra

Una xicra és tassa petita, més aviat alta i estreta, emprada expressament per a prendre la xocolata desfeta o cafè. També és una unitat de mesura de volum per a líquids que es feia servir a Catalunya per a l'oli, vi, o llet.

Supplementary Information

In this repository we provide supplementary information for the original paper describing the method. See additional details in folder BMC_bioinformatics_paper or here

Documentation

For a full documentation and details visit Read the Docs site here.

See a brief example on how to install and run XICRA here

License

MIT License

Copyright (c) 2020-2022 HCGB-IGTP

See additional details here

Developed and maintained by Jose F. Sanchez-Herrero and Lauro Sumoy at HCGB-IGTP

http://www.germanstrias.org/technology-services/genomica-bioinformatica/

Citation

Sanchez Herrero, J.F., Pluvinet, R., Luna de Haro, A. et al. Paired-end small RNA sequencing reveals a possible overestimation in the isomiR sequence repertoire previously reported from conventional single read data analysis. BMC Bioinformatics 22, 215 (2021). https://doi.org/10.1186/s12859-021-04128-1

xicra's People

Contributors

hcgb-admin avatar jfsanchezherrero avatar martalobalastegui avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

xicra's Issues

understanding the miRNA output

Hello,

I analysed the small RNA data using XICRA and it worked. So, I have now output file that's a little bit confusing for me. Here is how it looks like:

ID sample1 sample2 sample3 ....
hsa-let-7a-3p&NA&iso-21-4L2MUYWZD 21 5 13
hsa-let-7a-3p&iso_3p:+1&iso-22-4L2MUYWZJ 55 64 101
hsa-let-7a-3p&iso_3p:+4,iso_add3p:2,iso_5p:+3,iso_snv_central&iso-22-UOW5X7Y7M 10 4 22
hsa-let-7a-3p&iso_3p:+4,iso_snv_central,iso_5p:+3,iso_add3p:2&iso-22-UOW5X7Y7N 34 46 40
hsa-let-7a-3p&iso_3p:+4,iso_snv_seed,iso_add3p:2,iso_5p:+3&iso-22-UXW597Y7N 35 3 15

So, main identified small RNA is "hsa-let-7a-3p"? and other part of the name are isoforms of "hsa-let-7a-3p"? and numbers are the read counts? How do we interpret these results?

Many thanks in advance!

miRNA analysis crashed

Hi,

I'm testing the pipeline with inhouse PE data (after successful trim and merge), but it crashes with the following error:

XICRA miRNA --input test_XICRA --software miraligner sRNAbench

What is your recommendation? I've run the XICRA config module, everything looks OK.

Thanks: Blaize

ERROR **
b"['gff', '--sps', 'hsa', '--hairpin', '/home/blaize/miniconda3/lib/python3.8/site-packages/XICRA/modules/db_files/hairpin.fa', '--gtf', '/home/blaize/miniconda3/lib/python3.8/site-packages/XICRA/modules/db_files/hsa.gff3', '--format', 'srnabench', '-o', '/home/blaize/test_XICRA/data/20Nov25000002_C02-L2_S6/miRNA/sRNAbench_miRTop/gff', '/home/blaize/test_XICRA/data/20Nov25000002_C02-L2_S6/miRNA/sRNAbench']\n"
** ERROR **
Creating isomiRs counts for sample 20Nov25000002_C02-L2_S6
[
System: /home/blaize/miniconda3/bin/mirtop counts -o /home/blaize/test_XICRA/data/20Nov25000002_C02-L2_S6/miRNA/sRNAbench_miRTop/counts --gff /home/blaize/test_XICRA/data/20Nov25000002_C02-L2_S6/miRNA/sRNAbench_miRTop/gff/mirtop.gff --hairpin /home/blaize/miniconda3/lib/python3.8/site-packages/XICRA/modules/db_files/hairpin.fa --gtf /home/blaize/miniconda3/lib/python3.8/site-packages/XICRA/modules/db_files/hsa.gff3 --sps hsa 2>> /home/blaize/test_XICRA/data/20Nov25000002_C02-L2_S6/miRNA/sRNAbench_miRTop/20Nov25000002_C02-L2_S6.log ]
** ERROR **
b"['counts', '-o', '/home/blaize/test_XICRA/data/20Nov25000002_C02-L2_S6/miRNA/sRNAbench_miRTop/counts', '--gff', '/home/blaize/test_XICRA/data/20Nov25000002_C02-L2_S6/miRNA/sRNAbench_miRTop/gff/mirtop.gff', '--hairpin', '/home/blaize/miniconda3/lib/python3.8/site-packages/XICRA/modules/db_files/hairpin.fa', '--gtf', '/home/blaize/miniconda3/lib/python3.8/site-packages/XICRA/modules/db_files/hsa.gff3', '--sps', 'hsa']\n"
** ERROR **
Creating isomiRs export information for sample 20Nov25000002_C02-L2_S6
[
System: /home/blaize/miniconda3/bin/mirtop export -o /home/blaize/test_XICRA/data/20Nov25000002_C02-L2_S6/miRNA/sRNAbench_miRTop/export --hairpin /home/blaize/miniconda3/lib/python3.8/site-packages/XICRA/modules/db_files/hairpin.fa --gtf /home/blaize/miniconda3/lib/python3.8/site-packages/XICRA/modules/db_files/hsa.gff3 --sps hsa --format isomir /home/blaize/test_XICRA/data/20Nov25000002_C02-L2_S6/miRNA/sRNAbench_miRTop/gff/mirtop.gff 2> /home/blaize/test_XICRA/data/20Nov25000002_C02-L2_S6/miRNA/sRNAbench_miRTop/20Nov25000002_C02-L2_S6.log ]
** ERROR **
b"['export', '-o', '/home/blaize/test_XICRA/data/20Nov25000002_C02-L2_S6/miRNA/sRNAbench_miRTop/export', '--hairpin', '/home/blaize/miniconda3/lib/python3.8/site-packages/XICRA/modules/db_files/hairpin.fa', '--gtf', '/home/blaize/miniconda3/lib/python3.8/site-packages/XICRA/modules/db_files/hsa.gff3', '--sps', 'hsa', '--format', 'isomir', '/home/blaize/test_XICRA/data/20Nov25000002_C02-L2_S6/miRNA/sRNAbench_miRTop/gff/mirtop.gff']\n"
** ERROR

Fix setup.py

Add python packages directly from requirements.txt file and avoid setting the code in setup.py:

XICRA/XICRA_pip/setup.py

Lines 31 to 33 in d5348dc

install_requires=[
'pandas', 'patool', 'termcolor', 'cutadapt', 'mirtop', 'pysam', 'pybedtools', 'biopython', 'multiqc', 'HCGB'
],

Set VERSION to be retrieved from VERSION file

version="0.9.2.3",

Check examples on how to add VERSION and requierements in BacterialTyper setup.py

def get_require_modules():
    """
    Get main python requirements modules
    """
    with open("./BacterialTyper/config/python/python_requirements_summary.csv", 'r') as f:
        myModules = [line.strip().split(',')[0] for line in f]
    
    return myModules

def get_version():
    """
    Original code: PhiSpy setup.py 
    https://github.com/linsalrob/PhiSpy/blob/master/setup.py
    """
    with open("VERSION", 'r') as f:
        v = f.readline().strip()
    return v

Then in setup()

setup(
    version=get_version(),
    install_requires=get_require_modules()
    ....
)
  

log of commands

Hello,

Thank you for the tool.

I wanted to know if there is any log where I can check which commands where launched by XICRA, and the exact parameters used for the command? I checked the logs generated by test_subset.sh, but only found some of the commands used (mainly multiqc).

Thanks for your time,
Emeric

Duplicates from miraligner

Hello, I had a quick question/clarification re: duplicate miRNA IDs. I noticed in the duplicates matrix there were a large number of miRNAs called duplicates due to the license plate but when you look at the annotation it seems to be due to the ordering (eg iso_snv, iso_3p:-1 vs iso_3p:-1,iso_snv). Should these actually be considered different miRNAs? When I looked at a couple example ones it appears that half of the samples would be listed in one order and the other half listed in a different order, both with the same license plate. I wrote some code to adjust for that which resulted in 0 duplicates from the inputs.

Base quality filtering

Hi, thanks for responding so promptly to these issues! I have the pipeline working, but I was wondering does XICRA have any quality filtering parameters that we can specify to remove low quality bases? Thanks!

TypeError: can only concatenate str (not "tuple") to str

when I run example,there was always a wrong. I dont know how to deal with it.

XICRA prep --input reads/ --output_folder test_XICRA

######################################################################

XICRA pipeline

Jose F. Sanchez & Lauro Sumoy

Copyright (C) 2019-2021 Lauro Sumoy Lab, IGTP, Spain

######################################################################

|==================================================|
| Preparing samples |
|==================================================|

--------- Starting Process ---------
10/14/2023, 18:43:57

  • Create output folder(s):
  • Generate a directory containing information within the project folder provided

  • Getting files from input folder...

  • Mode: fastq.

  • Extension:
    [ fastq, fq, fastq.gz, fq.gz ]

  • Input folder exists
    10 files selected...
    5 samples selected...
    Paired-end mode selected...


(Time spent: 0 h 0 min 0 s)

Traceback (most recent call last):
File "/root/miniconda3/bin/XICRA", line 396, in
args.func(args)
File "/root/miniconda3/lib/python3.9/site-packages/XICRA/modules/prep.py", line 173, in run_prep
outdir_dict = functions.files_functions.outdir_project(outdir, options.project, pd_samples_retrieved, "raw", options.debug)
File "/root/miniconda3/lib/python3.9/site-packages/HCGB/functions/files_functions.py", line 60, in outdir_project
sample_name_dir = create_subfolder(name, sample_dir)
File "/root/miniconda3/lib/python3.9/site-packages/HCGB/functions/files_functions.py", line 90, in create_subfolder
subfolder_path = path + "/" + name
TypeError: can only concatenate str (not "tuple") to str

Missing software in conda bioconda

Some software we depend on are not included in conda/bioconda.

These software are:

  • fastqjoin
  • featureCounts
  • miraligner

See the way to include them during installation or using XICRA config module

MINTmap not found

Hello,

When I run the "XICRA config" command in the conda environment, it says ERROR: Software MINTmap could not be found. Below is the complete output. Any help is appreciated!
++++++++++++++++++++
External dependencies:
++++++++++++++++++++
Software: fastqc.........[ OK ]
Software: cutadapt.........[ OK ]
Software: multiqc.........[ OK ]
Software: Rscript.........[ OK ]
Software: java..........[ OK ]
Software: python.........[ OK ]
Software: perl..........[ OK ]
Software: make..........[ OK ]
Software: git...........[ OK ]
Software: fastq-join.........[ OK ]
Software: sRNAbench.jar.........[ OK ]
Software: mirtop.........[ OK ]
Software: optimir.........[ OK ]
Software: miraligner.jar.........[ OK ]
Software: STAR..........[ OK ]
Software: featureCounts.........[ OK ]

**ERROR: Software MINTmap could not be found.

XICRA join Error no samples were retrieved

Hello, I have a problem when I try to use the join command. I get the no samples were retrieved error, but I have the R1 and R2 fastq.gz files in the trimmed directory. Can you help me please? My command is:

XICRA join -i trimmed/ --noTrim -o joined

Files in the trimmed directory are called: sample1_R1.fastq.gz sample1_R2.fastq.gz

|==================================================|
| Join paired-end reads |
|==================================================|

--------- Starting Process ---------
10/25/2021, 19:14:08

  • Getting files from input folder...

  • Mode: fastq.

  • Extension:
    [ fastq, fq, fastq.gz, fq.gz ]

  • Input folder exists

**ERROR: No samples were retrieved. Check the input provided

Biotype and featureCounts argument

Hello, thank you for putting together this fantastic pipeline, I have been having fun digging through it all. I am processing PE small RNA-seq data through prep, QC, and trimm.

I had one question regarding the biotype module and specifically with featureCounts. Why is the -p flag included? I can see in the featureCounts doc that is for counting fragments instead of reads and is only applicable for PE reads (SE reads always counted as reads). I noticed with this flag included, it returns 0% Successfully assigned alignments, compared to without at >80%.

Perhaps I am misunderstanding the impact or purpose rather?

Thanks for your time,
Jonah.

Missing import XICRA.modules.database in modules/tRNA.py

Hi !

I've got import error message:

File "/usr/local/lib/python3.8/dist-packages/XICRA/modules/tRNA.py", line 131, in run_tRNA
    options.tRNA_db = database.tRNA_db(options.database, options.tRNA_db, options.debug)    
NameError: name 'database' is not defined

It would be great to fix it, thanks :)

How to perform differential expression

Hello,

I have used the XICRA miRNA pipeline to identify several miRNAs, but now I want to use the pipeline to output differential expression results between each pair of samples. How do I do this within XICRA?

Thank you for your help!

miRNA module not finding joined reads

Hello, I am trying to use the miRNA module following prep, trim, and join (starting with SE reads) as

XICRA miRNA \
    --input Prep/ \
    --output_folder Prep/ \
    --species eca \
    --database miRBase \
    --software optimir \
    --single_end

everything up to this point worked as expected (NOTE - fastq-join had to be installed separately and was not included following the conda-based installation). Upon executing the above code, I get the following error for each of the included test samples (n=2)

** ERROR: Only 1 fastq file is allowed please joined reads before...

When I run with --debug I can see that the table being built are indeed pulling both R1/R2 instead of the trimmed and joined FASTQs which exist as expected in Prep/data/SAMPLE/join/SAMPLE_trim_joined.fastq.

I'm sure I'm just missing something but please let me know if there are any other logs you would like to see.

installer.sh error: multiqc 1.19 requires jinja2>=3.0.0, but you have jinja2 2.11.3

When using the installer.sh script to download and install external software, I get the following error (I've truncated the entire output to just the section with the error) that multiqc requires jinja2>=3.0.0. Oddly, it looks like that requirement was satisfied, but then was uninstalled.

The error didn't break/interrupt the installation, so I feel like things might be okay. Figured I'd ask here, though.

Requirement already satisfied: MarkupSafe>=0.23 in /home/sam/programs/mambaforge/envs/XICRA/lib/python3.7/site-packages (from Jinja2<3.0.0,>=2.11.2->MINTmap==2.0a0) (2.0.1)
Installing collected packages: PyYAML, Jinja2, MINTmap
  Attempting uninstall: PyYAML
    Found existing installation: PyYAML 6.0.1
    Uninstalling PyYAML-6.0.1:
      Successfully uninstalled PyYAML-6.0.1
  Attempting uninstall: Jinja2
    Found existing installation: Jinja2 3.1.3
    Uninstalling Jinja2-3.1.3:
      Successfully uninstalled Jinja2-3.1.3

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
multiqc 1.19 requires jinja2>=3.0.0, but you have jinja2 2.11.3 which is incompatible.

Successfully installed Jinja2-2.11.3 MINTmap-2.0a0 PyYAML-5.4.1

+++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
Moving files
+++++++++++++++++++++++++++++++++++++++++++++++++++++++ 


+++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
Remove tmp files
+++++++++++++++++++++++++++++++++++++++++++++++++++++++ 


Done...

Compatibility with sRNAbench

Hello, I had a question about using XICRA with sRNAbench.jar. I seem to be running into issues correctly parsing the output of with mirtop. I realize you are not the maintainer of either of these tools so I'm really just curious if you have also found similar problems or perhaps workarounds? From what I can tell, it looks like there might have been update to sRNAbench.jar that breaks mirtop gff from correctly parsing the isoLabel.

Thanks for your time,
Jonah.

NO samples were retrieved

(XICRA) [mbansal@login004 teton1]$ XICRA prep -i ./teton1/ -o ./XICRA_Prep/ --debug

######################################################################

XICRA pipeline

Jose F. Sanchez & Lauro Sumoy

Copyright (C) 2019-2021 Lauro Sumoy Lab, IGTP, Spain

######################################################################

|==================================================|
| Preparing samples |
|==================================================|

--------- Starting Process ---------
01/25/2023, 18:47:21

  • Create output folder(s):
  • Generate a directory containing information within the project folder provided

  • Getting files from input folder...

  • Mode: fastq.

  • Extension:
    [ fastq, fq, fastq.gz, fq.gz ]

  • Input folder exists
    ** DEBUG: sampleParser.get_files files
    {'./teton1/Teton_R2.fastq.gz', './teton1/Teton_R1.fastq.gz'}

**DEBUG: sampleParser.get_files files list to check **
DO NOT PRINT THIS LIST: It could be very large...
set()

** DEBUG: select_samples
non_duplicate_names:
[]
** DEBUG: select_samples
non_duplicate_names:
set()
samples_prefix
{'.*'}
non_duplicate_samples
[]
tmp dataframe
Empty DataFrame
Columns: [sample, file]
Index: []
Empty DataFrame
Columns: [sample, file]
Index: []
** DEBUG: select_samples
name_frame_samples:
Empty DataFrame
Columns: [sample, dirname, name, new_name, name_len, lane, read_pair, lane_file, ext, gz, tag, file]
Index: []
number_files:
0
total_samples:
set()

**ERROR: No samples were retrieved. Check the input provided

I have used the same extension for paired end file but it is keep giving me the same error.. Please help

How to install it properly

Hello,
I also get the resolve package not found when I type:

conda env create -n XICRA -f XICRA_pip/devel/conda/requirements.txt

But when I do this to install (from here: https://github.com/HCGB-IGTP/XICRA/tree/master/XICRA_pip#example) , it seems to work, but miraligner does not work. What is the correct way to install XICRA since there seems to be a few different ways to do it. Thanks for your help!

Get requirements file from XICRA git repo
wget https://raw.githubusercontent.com/HCGB-IGTP/XICRA/master/XICRA_pip/devel/conda/environment.yml
Create environment and install required packages using conda:
conda env create -n XICRA -f environment.yml
Activate environment and install XICRA

activate

conda activate XICRA

install latest python code

pip install XICRA
Install missing software: Unfortunately, a couple of executables are not available neither as a conda or pip packages. These packages are miraligner and sRNAbench. We have generated a shell script to retrieve and include within your conda environment.

install missing software

sh XICRA_pip/XICRA/config/software/installer.sh

module 'HCGB' has no attribute 'functions'

Hello!

I'm just trying to use XICRA, but apparently something is not working. I just installed the program and tried to run the example. Here is the error. Any clue to fix this? I am working in a cluster.

Traceback (most recent call last):
File "/home/ah2192/miniconda3/envs/XICRA/bin/XICRA", line 10, in
import XICRA.modules
File "/home/ah2192/miniconda3/envs/XICRA/lib/python3.6/site-packages/XICRA/init.py", line 17, in
from XICRA import *
File "/home/ah2192/miniconda3/envs/XICRA/lib/python3.6/site-packages/XICRA/modules/init.py", line 13, in
from XICRA.modules import *
File "/home/ah2192/miniconda3/envs/XICRA/lib/python3.6/site-packages/XICRA/modules/biotype.py", line 21, in
from XICRA.config import set_config
File "/home/ah2192/miniconda3/envs/XICRA/lib/python3.6/site-packages/XICRA/config/init.py", line 6, in
from XICRA.config import *
File "/home/ah2192/miniconda3/envs/XICRA/lib/python3.6/site-packages/XICRA/config/extern_progs.py", line 29, in
from HCGB import functions
File "/home/ah2192/miniconda3/envs/XICRA/lib/python3.6/site-packages/HCGB/init.py", line 6, in
from HCGB import *
File "/home/ah2192/miniconda3/envs/XICRA/lib/python3.6/site-packages/HCGB/sampleParser/init.py", line 7, in
from HCGB.sampleParser import *
File "/home/ah2192/miniconda3/envs/XICRA/lib/python3.6/site-packages/HCGB/sampleParser/files.py", line 15, in
from HCGB import functions
File "/home/ah2192/miniconda3/envs/XICRA/lib/python3.6/site-packages/HCGB/functions/init.py", line 14, in
from HCGB.functions import *
File "/home/ah2192/miniconda3/envs/XICRA/lib/python3.6/site-packages/HCGB/functions/main_functions.py", line 29, in
import HCGB.functions.aesthetics_functions as HCGB_aes
AttributeError: module 'HCGB' has no attribute 'functions'

Thanks,
Andres

Annotation file error when running biotype

Hi Jose,

I downloaded the gtf annotation file from https://www.gencodegenes.org/human/ (the first link on that page) labelled gencode.v38.annotation.gtf. When I ran the biotype module, I got the following error. I assume that I need to download a different annotation file? Where can I get that? Thanks again!! -- Ben

Load annotation file gencode.v38.annotation.gtf ... ||

ERROR: failed to find the gene identifier attribute in the 9th column of the provided GTF file.
The specified gene identifier attribute is 'transcript_biotype'
An example of attributes included in your GTF annotation is 'gene_id "ENSG00000223972.5"; transcript_id "ENST00000456328.2"; gene_type "transcribed_unprocessed_pseudogene"; gene_name "DDX11L1"; transcript_type "proc
essed_transcript"; transcript_name "DDX11L1-202"; exon_number 1; exon_id "ENSE00002234944.1"; level 2; transcript_support_level "1"; hgnc_id "HGNC:37102"; tag "basic"; havana_gene "OTTHUMG00000000961.2"; havana_tran
script "OTTHUMT00000362751.1";'
The program has to terminate.

ModuleNotFoundError: No module named 'build.lib'

Hi !

I'm recently trying to use XICRA, but apparently, I can't even run the example (or my own data) because I have some problems through the installation. Here is the error:

  • ModuleNotFoundError: No module named 'build.lib'

Any clue how I could solve it? I am working in a cluster (Debian GNU/Linux 10). I installed XICRA through a conda environment. Also, I installed the build library with anaconda or pip install build. I tried several versions but still, get the same error.

test_subset.sh - miRNA analysis - urllib.error.HTTPError: HTTP Error 404: Not Found

It seems like the URL for downloading miRBase is different than what is utilized in the code. Current URL is:

https://www.mirbase.org/download/CURRENT/

However, XICRA/modules/database.py has this:

    ## miRBase ftp site
    ftp_site = "https://www.mirbase.org/ftp/CURRENT/"

As such, when running test_subset.sh, the following error gets thrown during miRNA analysis:

|==================================================|
|                  miRNA analysis                  |
|==================================================|


--------- Starting Process ---------
	03/29/2024, 09:30:06

+ Software for miRNA analysis selected:
['miraligner']
+ Getting files from input folder... 
+ Mode: join.
+ Extension: 
[_joined.fastq]

+ Input folder exists
	5 files selected...
	5 samples selected...
	Single end mode selected...
+ Species provided: hsa
+ Create folder to store results:  /home/sam/programs/mambaforge/envs/XICRA_env/lib/python3.12/site-packages/XICRA/modules/db_files
+ File miRNA gff3 annotation
	** Download it form miRBase
Traceback (most recent call last):
  File "/home/sam/programs/mambaforge/envs/XICRA_env/bin/XICRA", line 398, in <module>
    args.func(args)
  File "/home/sam/programs/mambaforge/envs/XICRA_env/lib/python3.12/site-packages/XICRA/modules/miRNA.py", line 148, in run_miRNA
    options = database.miRNA_db(options)    
              ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/programs/mambaforge/envs/XICRA_env/lib/python3.12/site-packages/XICRA/modules/database.py", line 101, in miRNA_db
    options.miRNA_gff = functions.main_functions.urllib_request(options.miRNA_db, ftp_site1, file_name, Debug)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/programs/mambaforge/envs/XICRA_env/lib/python3.12/site-packages/HCGB/functions/main_functions.py", line 221, in urllib_request
    urllib.request.urlretrieve(url_string, file_path_name )
  File "/home/sam/programs/mambaforge/envs/XICRA_env/lib/python3.12/urllib/request.py", line 240, in urlretrieve
    with contextlib.closing(urlopen(url, data)) as fp:
                            ^^^^^^^^^^^^^^^^^^
  File "/home/sam/programs/mambaforge/envs/XICRA_env/lib/python3.12/urllib/request.py", line 215, in urlopen
    return opener.open(url, data, timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/programs/mambaforge/envs/XICRA_env/lib/python3.12/urllib/request.py", line 521, in open
    response = meth(req, response)
               ^^^^^^^^^^^^^^^^^^^
  File "/home/sam/programs/mambaforge/envs/XICRA_env/lib/python3.12/urllib/request.py", line 630, in http_response
    response = self.parent.error(
               ^^^^^^^^^^^^^^^^^^
  File "/home/sam/programs/mambaforge/envs/XICRA_env/lib/python3.12/urllib/request.py", line 559, in error
    return self._call_chain(*args)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/sam/programs/mambaforge/envs/XICRA_env/lib/python3.12/urllib/request.py", line 492, in _call_chain
    result = func(*args)
             ^^^^^^^^^^^
  File "/home/sam/programs/mambaforge/envs/XICRA_env/lib/python3.12/urllib/request.py", line 639, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found


Fri Mar 29 09:30:06 PDT 2024 ... Paired End Test finished ...

# ------------------------------ #

Check mulitple software options for tRNA module

ResolvePackageNotFound

Hi, I install XICRA by conda env create -n XICRA -f XICRA_pip/devel/conda/requirements.txt However, I got the follow errors.
image

Miraligner not working

Hello,
I ran the command: XICRA miRNA --input latest --software miraligner optimir sRNAbench, but I don't get any output due to the following error:
Thanks for any help!

Exception in thread "main" java.io.FileNotFoundException: /home/ubu/miniconda3/envs/XICRA/lib/python3.6/site-pack
ages/XICRA/modules/db_files/hairpin.fa (No such file or directory)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.(FileInputStream.java:138)
at java.io.FileInputStream.(FileInputStream.java:93)
at java.io.FileReader.(FileReader.java:58)
at miraligner.tools.checksp(tools.java:59)
at miraligner.Main.main(Main.java:72)

miRNA exlude samples

@MartaLoBalastegui noticed some issues using the --ex_samples parameter that calls sampleParser at HCGB.

Her original description:

Option --ex_samples (to exclude samples from file, one per line, from the computation) do not work properly in the miRNA module.

The same as in #23 and following a simple information structure, I have removed the project created and include the original description of the issue by @MartaLoBalastegui.

No such file or directory when doing miRNA analysis

Hello,

When running the miRNA module with the command: XICRA miRNA --input datafolder --software miraligner optimir sRNAbench
I get the following error:

Can you please help me troubleshoot the issue? Thank you!

--------- Starting Process ---------
09/19/2022, 09:22:31

  • Software for miRNA analysis selected:
    ['miraligner', 'optimir', 'sRNAbench']

  • Getting files from input folder...

  • Mode: join.

  • Extension:
    [_joined.fastq]

  • Input folder exists
    12 files selected...
    12 samples selected...
    Single end mode selected...

  • Species provided: hsa

  • Create folder to store results: /home/ubu/miniconda3/envs/XICRA/lib/python3.7/site-packages/XICRA/modules/db_files
    + miRNA gff file available
    + hairpin fasta file available
    + miRNA gff file available
    + miRBase str file available

  • Create a miRNA analysis for each sample retrieved...
    ***ERROR:
    <Future at 0x7fe75ee55550 state=finished raised FileNotFoundError>
    'CONTROL_1' generated an exception: [Errno 2] No such file or directory: '/home/ubu/datafolder/data/CONTROL_1/miRNA/miraligner/CONTROL_1-tab.freq.txt'

same error here for all samples......

  • miRNA analysis is finished...
  • Let's summarize all results...
  • Input folder exists

**ERROR: No samples were retrieved for this option. Continue processing...

miRNA functionality with elevated number of samples

@MartaLoBalastegui noticed that

The miRNA final output matrix, which contains the counts for each isomir/miRNA (rows) and sample (cols), seems to be incompleted when working with an elevated number of samples. A possible explanation is the existence of a global variable 'results_df'. This variable is edited in parallel by the different threads, as a consequence, it may not be correctly built.

She created a project with the description of the issue.

For restructuring the information, I have just created this issue and set it to be within the project "New improvements", designed for general purposes.

We are working on it and problem might be already solved with commit 5708dd9. We just need some additional debugging and test.

ResolvePackageNotFound

Hello,

I saw someone had posted a similar issue, but I believe I'm working off the latest version that was fixed. I still see this error, eventually I think I linked it to a PC <> Mac issue (https://stackoverflow.com/questions/55554431/conda-fails-to-create-environment-from-yml/55576493#55576493). If it matters, this is a M1 mac. Hope for a fix!

This is my error, thanks in advance!:

ResolvePackageNotFound:

  • r-r6==2.4.1=r35h6115d3f_0
  • mintmap==2.0.0a0=pypi_0
  • _openmp_mutex==4.5=1_gnu
  • kernel-headers_linux-64==2.6.32=he073ed8_15
  • libuuid==1.0.3=h7f8727e_2
  • r-tidyselect==1.0.0=r35h6115d3f_0
  • lz4-c==1.9.3=h9c3ff4c_1
  • libcblas==3.9.0=8_openblas
  • r-cli==2.0.2=r35h6115d3f_0
  • xlsxwriter==3.0.2=pypi_0
  • biopython==1.79=pypi_0
  • r-farver==2.0.3=r35h0357c0b_0
  • colormath==3.0.0=pypi_0
  • libblas==3.9.0=8_openblas
  • libgfortran4==7.5.0=h14aa051_19
  • pip==21.0.1=py37h06a4308_0
  • htslib==1.12=h9093b5e_1
  • xyzservices==2021.11.0=pypi_0
  • freetype==2.10.4=h0708190_1
  • r-purrr==0.3.4=r35hcdcec82_0
  • libwebp-base==1.2.0=h7f98852_2
  • libstdcxx-devel_linux-64==7.5.0=hb016644_19
  • ca-certificates==2021.10.8=ha878542_0
  • r-glue==1.4.0=r35hcdcec82_0
  • bzip2==1.0.8=h7f98852_4
  • r-stringi==1.4.3=r35h0357c0b_2
  • c-ares==1.17.1=h7f98852_1
  • pcre==8.45=h9c3ff4c_0
  • r-rlang==0.4.5=r35hcdcec82_2
  • tk==8.6.11=h1ccaba5_0
  • multiqc==1.11=pypi_0
  • glib-tools==2.68.3=h9c3ff4c_0
  • lerc==2.2.1=h9c3ff4c_0
  • r-fansi==0.4.1=r35hcdcec82_0
  • fribidi==1.0.10=h36c2ea0_0
  • r-dplyr==0.8.5=r35h0357c0b_0
  • markupsafe==2.0.1=pypi_0
  • libedit==3.1.20191231=he28a2e2_2
  • jbig==2.1=h7f98852_2003
  • tornado==6.1=pypi_0
  • r-zeallot==0.1.0=r35h6115d3f_1001
  • pygments==2.10.0=pypi_0
  • xorg-libsm==1.2.2=h470a237_5
  • libstdcxx-ng==9.3.0=hd4cf53a_17
  • xorg-xextproto==7.3.0=h7f98852_1002
  • isal==0.11.1=pypi_0
  • jpeg==9d=h36c2ea0_0
  • libssh2==1.9.0=ha56f1ee_6
  • gxx_impl_linux-64==7.3.0=hdf63c60_1
  • xz==5.2.5=h7b6447c_0
  • libev==4.33=h516909a_1
  • xorg-libxdmcp==1.1.3=h7f98852_0
  • bwidget==1.9.14=ha770c72_1
  • r-scales==1.1.0=r35h6115d3f_0
  • make==4.3=hd18ef5c_1
  • pthread-stubs==0.4=h36c2ea0_1001
  • xorg-renderproto==0.11.1=h7f98852_1002
  • charset-normalizer==2.0.7=pypi_0
  • gfortran_impl_linux-64==7.3.0=hdf63c60_1
  • pyyaml==5.4.1=pypi_0
  • curl==7.76.1=h979ede3_1
  • networkx==2.6.3=pypi_0
  • r-assertthat==0.2.1=r35h6115d3f_1
  • krb5==1.17.2=h926e7f8_0
  • zipp==3.6.0=pypi_0
  • cairo==1.16.0=h18b612c_1001
  • cutadapt==3.5=pypi_0
  • r-tibble==3.0.1=r35hcdcec82_0
  • fontconfig==2.13.1=h6c09931_0
  • pillow==8.4.0=pypi_0
  • glib==2.68.3=h9c3ff4c_0
  • humanfriendly==10.0=pypi_0
  • r-pkgconfig==2.0.3=r35h6115d3f_0
  • six==1.16.0=pypi_0
  • patool==1.12=pypi_0
  • importlib-metadata==4.8.2=pypi_0
  • numpy==1.21.4=pypi_0
  • typing-extensions==3.10.0.2=pypi_0
  • future==0.18.2=pypi_0
  • r-munsell==0.5.0=r35h6115d3f_1002
  • r-optparse==1.6.6=r35h6115d3f_0
  • r-crayon==1.3.4=r35h6115d3f_1002
  • r-viridislite==0.3.0=r35h6115d3f_1002
  • libnghttp2==1.43.0=h812cca2_0
  • packaging==21.3=pypi_0
  • openssl==1.1.1k=h7f98852_0
  • libgcc-ng==9.3.0=h5101ec6_17
  • samtools==1.12=h9aed4be_1
  • r-rcpp==1.0.4.6=r35h0357c0b_0
  • r-plogr==0.2.0=r35h6115d3f_1002
  • pixman==0.38.0=h516909a_1003
  • mirtop==0.4.23=pypi_0
  • r-ellipsis==0.3.0=r35hcdcec82_0
  • r-backports==1.1.6=r35hcdcec82_1
  • python-dateutil==2.8.2=pypi_0
  • xicra==1.2.6=dev_0
  • click==8.0.3=pypi_0
  • python_abi==3.7=2_cp37m
  • libopenblas==0.3.12=pthreads_hb3c22a3_1
  • _r-mutex==1.0.1=anacondar_1
  • r-colorspace==1.4_1=r35hcdcec82_1
  • commonmark==0.9.1=pypi_0
  • libxcb==1.13=h7f98852_1003
  • r-rcolorbrewer==1.1_2=r35h6115d3f_1002
  • python==3.7.11=h12debd9_0
  • xopen==1.2.1=pypi_0
  • coloredlogs==15.0.1=pypi_0
  • binutils_linux-64==2.33.1=h9595d00_15
  • pandas==1.3.4=pypi_0
  • scipy==1.7.2=pypi_0
  • r-base==3.5.3=h26b83e4_0
  • zstd==1.5.0=ha95c52a_0
  • cycler==0.11.0=pypi_0
  • xorg-xproto==7.0.31=h7f98852_1007
  • pysam==0.17.0=pypi_0
  • binutils_impl_linux-64==2.33.1=he6710b0_7
  • r-xicra.stats==0.0.1=r35_0
  • jinja2==2.11.3=pypi_0
  • gsl==2.4=h294904e_1006
  • gettext==0.19.8.1=h0b5b191_1005
  • xorg-libxext==1.3.4=h7f98852_1
  • libgfortran-ng==7.5.0=h14aa051_19
  • rich==10.13.0=pypi_0
  • bokeh==3.0.0.dev1=pypi_0
  • seaborn==0.11.2=pypi_0
  • libtiff==4.3.0=hf544144_1
  • gcc_linux-64==7.3.0=h553295d_15
  • gxx_linux-64==7.3.0=h553295d_15
  • ncurses==6.2=he6710b0_1
  • kiwisolver==1.3.2=pypi_0
  • libgomp==9.3.0=h5101ec6_17
  • pybedtools==0.8.2=pypi_0
  • libgcc-devel_linux-64==7.5.0=hda03d7c_19
  • graphite2==1.3.13=h58526e2_1001
  • hcgb==0.5.4=dev_0
  • r-vctrs==0.2.4=r35hcdcec82_0
  • gfortran_linux-64==7.3.0=h553295d_15
  • readline==8.1=h27cfd23_0
  • r-getopt==1.20.3=r35_1
  • requests==2.26.0=pypi_0
  • libffi==3.3=he6710b0_2
  • libdeflate==1.7=h7f98852_5
  • libgcc==7.2.0=h69d50b8_2
  • ld_impl_linux-64==2.33.1=h53a641e_7
  • urllib3==1.26.7=pypi_0
  • setuptools==58.0.4=py37h06a4308_0
  • certifi==2021.10.8=py37h89c1867_1
  • colorama==0.4.4=pypi_0
  • libxml2==2.9.12=h03d6c58_0
  • libpng==1.6.37=h21135ba_2
  • xorg-libxau==1.0.9=h7f98852_0
  • lzstring==1.0.4=pypi_0
  • libcurl==7.76.1=hc4aaa36_1
  • xorg-libxrender==0.9.10=h7f98852_1003
  • r-utf8==1.1.4=r35hcdcec82_1002
  • matplotlib==3.4.3=pypi_0
  • xorg-libice==1.0.10=h7f98852_0
  • spectra==0.0.11=pypi_0
  • gcc_impl_linux-64==7.3.0=habb00fd_1
  • r-lifecycle==0.2.0=r35h6115d3f_0
  • pyparsing==3.0.5=pypi_0
  • tesmall==1.0.0=pypi_0
  • zlib==1.2.11=h7b6447c_3
  • xorg-libx11==1.7.2=h7f98852_0
  • dnaio==0.6.0=pypi_0
  • markdown==3.3.4=pypi_0
  • icu==58.2=hf484d3e_1000
  • r-tidyr==1.0.2=r35h0357c0b_0
  • harfbuzz==2.4.0=h37c48d4_1
  • libiconv==1.16=h516909a_0
  • simplejson==3.17.5=pypi_0
  • pytz==2021.3=pypi_0
  • sqlite==3.36.0=hc218d9a_0
  • tktable==2.10=hb7b940f_3
  • wget==3.2=pypi_0
  • r-magrittr==1.5=r35h6115d3f_1002
  • r-pillar==1.4.3=r35h6115d3f_0
  • r-labeling==0.3=r35h6115d3f_1002
  • r-digest==0.6.25=r35h0357c0b_1
  • idna==3.3=pypi_0
  • sysroot_linux-64==2.12=he073ed8_15
  • pango==1.42.4=h7062337_4
  • libglib==2.68.3=h3e27bee_0
  • star==2.7.9a=h9ee0642_0
  • xorg-kbproto==1.0.7=h7f98852_1002
  • termcolor==1.1.0=pypi_0

pipeline doesn't run properly on my data

Hello,

I created the conda environment and installed the XICRA and all its dependencies. When I run XICRA with the provided example data, it runs fine but when I try with my own data, it doesn't produce any input. For example, under the count folder it has *.tsv file but its empty. Also, it produces an empty "report" folder. So, I am wondering what could go wrong with my own data.

I read in the XICRA paper that "User must provide specific adapter sequences for the trimming analysis" whereas I don't know where to provide adapter sequences since XICRA contains only three steps i.e.

  1. prep
  2. join
  3. miRNA
    Where am I supposed to provide adapter sequences?

Here is the error that is produced when I run "miRNA" module using my own data.

`Traceback (most recent call last):
File "/scratch/gencore/conda3/envs/XICRA/lib/python3.6/site-packages/pandas/core/indexes/base.py", line 2895, in get_loc
return self._engine.get_loc(casted_key)
File "pandas/_libs/index.pyx", line 70, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/index.pyx", line 101, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/hashtable_class_helper.pxi", line 1675, in pandas._libs.hashtable.PyObjectHashTable.get_item
File "pandas/_libs/hashtable_class_helper.pxi", line 1683, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 0

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/scratch/gencore/conda3/envs/XICRA/bin/XICRA", line 305, in
args.func(args)
File "/scratch/gencore/conda3/envs/XICRA/lib/python3.6/site-packages/XICRA/modules/miRNA.py", line 243, in run_miRNA
generate_DE.generate_DE(results_df, options.debug, expression_folder)
File "/scratch/gencore/conda3/envs/XICRA/lib/python3.6/site-packages/XICRA/scripts/generate_DE.py", line 50, in generate_DE
all_data_filtered, all_data_duplicated = discard_UID_duplicated(all_data)
File "/scratch/gencore/conda3/envs/XICRA/lib/python3.6/site-packages/XICRA/scripts/generate_DE.py", line 68, in discard_UID_duplicated
new_data['miRNA'] = tmp[0]
File "/scratch/gencore/conda3/envs/XICRA/lib/python3.6/site-packages/pandas/core/frame.py", line 2902, in getitem
indexer = self.columns.get_loc(key)
File "/scratch/gencore/conda3/envs/XICRA/lib/python3.6/site-packages/pandas/core/indexes/base.py", line 2897, in get_loc
raise KeyError(key) from err
KeyError: 0
`
Please let me know if I am missing something. Many thanks in advance!

Add help trimm adapters

It might be great to add some help on trimming adapters.

Add a wiki entry and link it with XICRA trimm --help_trimm_adapters.

It might help to solve issues as #7.

miRNA module error

Hi Jose,

I am getting an error when I run this command: XICRA miRNA --input CTL -t 12 --software miraligner optimir
I do this after the join command which worked fine. The output is below. The summarizing of the results is failing for some reason. Can you please help me? In a previous post, another user had the same issue and there was an issue with the trimm command. My trimm command is:
XICRA trimm --input CTL --adapters_a AGATCGGAAGAGCACACGTCTGAACTCCAGTCA --adapters_A AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT -t 12 --extra '-U 3 --minimum-length 15'. Could it be the --extra that is causing mapping not to occur properly? Basically, I want to trim the adapters, but also remove the first 3 bases of read 2. Thanks for your help!

  • miRNA analysis is finished...

  • Let's summarize all results...
    Successfully created the directory /media/data/fq/XICRA/CTL/report/miRNA

  • Summarize miRNA analysis for all samples...

  • Summarizing results for software: miraligner

  • Reading information from sample: CTL3

    • Information not available for sample: CTL3
  • Reading information from sample: CTL2

    • Information not available for sample: CTL2
  • Reading information from sample: CTL1

    • Information not available for sample: CTL1
      Traceback (most recent call last):
      File "/home/bioinformatics/.local/lib/python3.6/site-packages/pandas/core/indexes/base.py", line 2646, in get_loc
      return self._engine.get_loc(key)
      File "pandas/_libs/index.pyx", line 111, in pandas._libs.index.IndexEngine.get_loc
      File "pandas/_libs/index.pyx", line 138, in pandas._libs.index.IndexEngine.get_loc
      File "pandas/_libs/hashtable_class_helper.pxi", line 1619, in pandas._libs.hashtable.PyObjectHashTable.get_item
      File "pandas/_libs/hashtable_class_helper.pxi", line 1627, in pandas._libs.hashtable.PyObjectHashTable.get_item
      KeyError: 0

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/bioinformatics/.local/bin/XICRA", line 342, in
args.func(args)
File "/home/bioinformatics/.local/lib/python3.6/site-packages/XICRA/modules/miRNA.py", line 267, in run_miRNA
generate_DE.generate_DE(results_df, options.debug, expression_folder)
File "/home/bioinformatics/.local/lib/python3.6/site-packages/XICRA/scripts/generate_DE.py", line 67, in generate_DE
all_data_filtered, all_data_duplicated = discard_UID_duplicated(all_data, type_res=type_analysis)
File "/home/bioinformatics/.local/lib/python3.6/site-packages/XICRA/scripts/generate_DE.py", line 88, in discard_UID_duplicated
new_data[type_res] = tmp[0]
File "/home/bioinformatics/.local/lib/python3.6/site-packages/pandas/core/frame.py", line 2800, in getitem
indexer = self.columns.get_loc(key)
File "/home/bioinformatics/.local/lib/python3.6/site-packages/pandas/core/indexes/base.py", line 2648, in get_loc
return self._engine.get_loc(self._maybe_cast_indexer(key))
File "pandas/_libs/index.pyx", line 111, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/index.pyx", line 138, in pandas._libs.index.IndexEngine.get_loc
File "pandas/_libs/hashtable_class_helper.pxi", line 1619, in pandas._libs.hashtable.PyObjectHashTable.get_item
File "pandas/_libs/hashtable_class_helper.pxi", line 1627, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.