Giter VIP home page Giter VIP logo

mapsplice's Introduction

MapSplice3

MapSplice3 is an spliced aligner. It maps RNA-seq onto reference genome, and can be used to detect splice junctions, gene fusions, and circular RNAs.

System Requirements

MapSplice3 has been tested on Linux platforms with the following system settings.

  • Red Hat 4.4.5-6
  • gcc version 4.9.1

Manual

There are two subfolders in the package: "indexing" and "mapping".

Code in subfolder "indexing" is used to build index. Code in subfolder "mapping" is used to perform the spliced alignment.

How to run MapSplice3?

1. Build index for MapSplice3.

Note: before building index, you need to put all the sequence files of reference genome into a directory (like /PATH/hg19/). And all the sequence files are required to be in the following format:

(1) In "FASTA" format, with ".fa" extension. (2) One chromosome per sequence file. (3) Chromosome name in the header line (">" not included) is the same as the sequence file base name, and does not contain any blank space. E.g. If the header line is ">chr1", then the sequence file name should be "chr1.fa". (5) No other files in the same folder.

Installation:

Go to directory "indexing", and run "make buildIndex".

Running:

Command Line:

./buildIndex <path-to-chromosomes-folder> <path-to-index-folder>

Example:

./buildIndex /PATH/hg19/ /PATH/index/

2. Map reads onto reference genome and detect co-linear splice junctions, back-splice junctions (circular RNA), and gene fusions.

Installation:

Go to directory "mapping", and run "make mps".

Running: There are four modes in total. All the parameters are required for each mode.

i). map co-linear transcript reads only to detect co-linear splice junctions

Command Line:

bin/mps_regular -G <path-to-index> -1 <read-end1> -2 <read-end2> -T <threads-num> -O <output-folder>

Example:

bin/mps_regular -G /PATH/index/ -1 /PATH/read_end1.fa -2 /PATH/read_end2.fa -T 16 -O /PATH/mps3_results/

ii). map co-linear transcript and circualr RNA reads to detect both co-linear splice junctions and back-splice junctions

Command Line:

bin/mps_regular_circRNA -G <path-to-index> -1 <read-end1> -2 <read-end2> -T <threads-num> -O <output-folder>

Example:

bin/mps_regular_circRNA -G /PATH/index/ -1 /PATH/read_end1.fa -2 /PATH/read_end2.fa -T 16 -O /PATH/mps3_results/

iii). map co-linear transcript and gene fusion reads to detect co-linear splice junctions and gene fusions

Command Line:

# Step 1
bin/mps_regular_fusion -G <path-to-index> -1 <read-end1> -2 <read-end2> -T <threads-num> -O <output-folder> --fusion-post-gene-ann <path-to-gene-annotation-file> --fusion-post-paralog-gene <path-to-paralog-gene-file>
# Step 2
bin/mps3_fusion_post_new \
<path-to-index> \
<output-folder-step1> \
<path-to-gene-annotation-file> \
<threads-num> \
<fusion-junc-read-support-min> \
<path-to-paralog-gene-file> \
<output-folder>

Example:

# Step 1
bin/mps_regular_fusion -G /PATH/index/ -1 /PATH/read_end1.fa -2 /PATH/read_end2.fa -T 16 -O /PATH/mps3_results/ --fusion-post-gene-ann /PATH/gene_annotation --fusion-post-paralog-gene /PATH/paralog_gene_file
# Step 2
bin/mps3_fusion_post_new \
/PATH/index/ \
/PATH/step1_results/ \
/PATH/gene_annotation \
16 \
5 \
/PATH/paralog_gene_file \
/PATH/fusion_post_output/

iv). map co-linear transcript, circualr RNA and gene fusion reads to detect co-linear splice junctions, back-splice junctions, and gene fusions

Command Line:

# Step 1
bin/mps_regular_circRNA_fusion -G <path-to-index> -1 <read-end1> -2 <read-end2> -T <threads-num> -O <output-folder> --fusion-post-gene-ann <path-to-gene-annotation-file> --fusion-post-paralog-gene <path-to-paralog-gene-file>
# Step 2
bin/mps3_fusion_post_new \
<path-to-index> \
<output-folder-step1> \
<path-to-gene-annotation-file> \
<threads-num> \
<fusion-junc-read-support-min> \
<path-to-paralog-gene-file> \
<output-folder>

Example:

# Step 1
bin/mps_regular_circRNA_fusion -G /PATH/index/ -1 /PATH/read_end1.fa -2 /PATH/read_end2.fa -T 16 -O /PATH/mps3_results/ --fusion-post-gene-ann /PATH/gene_annotation --fusion-post-paralog-gene /PATH/paralog_gene_file
# Step 2
bin/mps3_fusion_post_new \
/PATH/index/ \
/PATH/step1_results/ \
/PATH/gene_annotation \
16 \
5 \
/PATH/paralog_gene_file \
/PATH/fusion_post_output/

example files for gene annotation and paralog gene can be found in:

gene annotation file: https://drive.google.com/file/d/1J8fVELkXqtiAz_AYQoco22kVQoJlSWnt/view?usp=sharing

paralog gene file: https://drive.google.com/file/d/1bp1N5W7Rdn6A-mk8DGCFJaHamaVJcOd8/view?usp=sharing

Users can also prepare and provide their own gtf and paralog gene files using the same format as in those example files.

License

Please refer to LICENSE.txt

mapsplice's People

Contributors

liubioinfo avatar xa6xa6 avatar xtvo23 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

mapsplice's Issues

problem: Segmentation fault (core dumped)

Hi there,
when I run the mps_regular_circRNA, the bug is
[Tue May 14 15:14:37 2019] ... start to load 2nd level index ......

[Tue May 14 15:14:54 2019] ... load 2nd level index ends ......

[Tue May 14 15:14:54 2019] ... fixing oneEndUnmapped reads starts ......
Segmentation fault (core dumped)
Do you guys know what is happened?
Thanks a lot!

std::out_of_range

Hello,

I was trying to use MapSplice3 for circRNA detection but I am running into an issue while mapping.

... MPS starts ......
.. start to load whole genome index ......
... all index loaded ......
... start to load annotation file (SJs).....
... 1st mapping process starts ......
terminate called after throwing an instance of 'std::out_of_range'
what(): basic_string::substr: __pos (which is 1) > this->size() (which is 0) (core dumped) bin/mps_regular_circRNA

could you perhaps help me with that?

output documentation

Could you point me to your output file documentation. I'm working on identifying circular RNAs, and not sure which file(s) I should look at.
Thanks,

Error: Running MapSplice multi-thread failed: -11

[Sat Mar 25 00:48:15 2023] Beginning Mapsplice run (MapSplice v2.2.1)
[Sat Mar 25 00:48:15 2023] Bin directory: /usr/local/apps/mapsplice/2.2.1/bin/
[Sat Mar 25 00:48:15 2023] Preparing output location /vf/users/Ziegelbauer_lab/circRNADetection/circRNA_daq_v0.8.x/samples_3_032223/results/iSLK_BAC16_72hpi_R1/MapSplice/
[Sat Mar 25 00:48:15 2023] Checking files or directory: /data/Ziegelbauer_lab/circRNADetection/circRNA_daq_v0.8.x/samples_3_032223/mapsplice_tmp/iSLK_BAC16_72hpi_R1.R1.trim.fastq
[Sat Mar 25 00:48:15 2023] Checking files or directory: /data/Ziegelbauer_lab/circRNADetection/circRNA_daq_v0.8.x/samples_3_032223/mapsplice_tmp/iSLK_BAC16_72hpi_R1.R2.trim.fastq
[Sat Mar 25 00:48:15 2023] Checking files or directory: /vf/users/Ziegelbauer_lab/circRNADetection/circRNA_daq_v0.8.x/samples_3_032223/ref/separate_fastas/
[Sat Mar 25 00:48:15 2023] Checking Bowtie index files
[Sat Mar 25 00:48:15 2023] Inspecting Bowtie index files
[Sat Mar 25 00:48:15 2023] Checking reference sequence length
[Sat Mar 25 00:48:20 2023] Checking consistency of Bowtie index and reference sequence
[Sat Mar 25 00:48:20 2023] Checking read format
-----[Read Format: FASTQ]
-----[Read Type: Pair End]
-----[Total # Reads: 56799544]
-----[Max Read Length: 151]
-----[Min Read Length: 15]
-----[Max Quality Score: 69]
-----[Min Quality Score: 35]
-----[Quality Score Scale: Phred+33]
[Sat Mar 25 00:48:56 2023] Running MapSplice multi-thread
[MapSplice Running Failed]
Error: Running MapSplice multi-thread failed:  -11

Any ideas?

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.