This is a test version of Biostars. For the public version, visit https://www.biostars.org.
MCScanx is giving an Empty Output (even for example files)

Hi,

I am getting following error from MCScanx. I initially thought it has to do something with the input files I am used. I have MCScanx properly setup after incorporating " #include <unistd.h> " msa.h, dissect_multiple_alignment.h, and detect_collinear_tandem_arrays.h . I am using Linux Mint.

> ############### Parameters ###############
> # MATCH_SCORE: 50
> # MATCH_SIZE: 5
> # GAP_PENALTY: -1
> # OVERLAP_WINDOW: 5
> # E_VALUE: 1e-05
> # MAX GAPS: 25
> ############### Statistics ###############
> # Number of collinear genes: 0, Percentage: -nan
> # Number of all genes: 0
> ##########################################

Then I used example files here. Still getting the above output. Any suggestion to get the program running. Thank you

mcscan mcscanx

I have been encountered the same output for a while but I did have them in same dir. Could you please post your previous step about how to set blastp parameters and prepare the simplified gtf file? I was using

-outfmt 6 -num_alignments 5

for blastp, but after scanning the example

at_vv.*

I reset the OFS=\t [using awk] to keep my input file in lines with the example

Thanks advance!

Please see the below answer. That approach worked for me. I am no code expert so there might be much simpler approaches.

Preparing files for BLAST

  • I downloaded the protein fasta file from Ensembl plants
  • I used the following command to remove unnecessary info

    sed -r '/>/ s/.\gene:(.)transcript:.*/>\1/' test.fa

(convert >PGSC0003DMT400092485 pep chromosome:SolTub_3.0:3:15516123:15519502:-1 gene:PGSC0003DMG400042056 transcript:PGSC0003DMT400092485 gene_biotype:..... to >PGSC0003DMG400042056)

Then I used NCBI Blast 2.9.0 ,

  • Creation of local DB

    makeblastdb -in protein.fa -out database_name -dbtype prot -hash_index

  • To create the BLAST file I used the following (Legacy Blast script inside NCBI blast+) (remove any headers from the output file)

    legacy_blast.pl blastall -i all_protein.fa -d database_name -p blastp -e 1e-10 -b 5 -v 5 -m 8 -o output.blast

PS: This may not be the easiest route and probably there are more code-savey strategies (apologies abt that).

Please share the BLAST file preparation code for beginner. Thank you in Advance

1 answer

I found the solution thanks to a good folk at reddit.

Solution is to put .blast and .gff file inside MCScanX folder without creating a separate folder.

Big thank goes to threesup @reddit.

Still didn't work. May I get the detail command to run?

Log in to answer this question.