Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
Xinpeng021001 authored Aug 1, 2024
1 parent 5a2051e commit 6da602a
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 16 deletions.
27 changes: 18 additions & 9 deletions dbcan/utils/plots.py
Original file line number Diff line number Diff line change
Expand Up @@ -585,7 +585,10 @@ def heatmap_plot(args):
col_cluster=False,cbar_kws={"shrink": 0.3},
figsize=(len(data.columns)*1.2,len(data.index)/3))
#plt.tight_layout(pad=0.1)
plt.savefig("heatmap_cluster.pdf")
if args.show_fig:
plt.show()
else:
plt.savefig("heatmap_cluster.pdf")
else:
plt.figure(figsize=(len(data.columns)*1.2,len(data.index)/4))
if args.show_abund:
Expand All @@ -598,8 +601,10 @@ def heatmap_plot(args):

plt.xticks(rotation=30)
plt.tight_layout(pad=0.1)
#plt.show()
plt.savefig("heatmap.pdf")
if args.show_fig:
plt.show()
else:
plt.savefig("heatmap.pdf")

def bar_plot(args):
### --input CAZyme_abund_output,CAZyme_abund_output
Expand Down Expand Up @@ -644,8 +649,12 @@ def bar_plot(args):

plt.title(f"The most top{args.top} different families")
#plt.show()
plt.savefig("bar_plot.pdf")
print("Saving plot to file: bar_plot.pdf")

if not args.pdf.endswith(".pdf"):
args.pdf += args.pdf+".pdf"

plt.savefig(f"{args.pdf}")
print(f"Saving plot to file: {args.pdf}")

def parse_argv():
usage = '''
Expand Down Expand Up @@ -674,21 +683,21 @@ def parse_argv():
parser.add_argument('function', help='What function will be used to analyze?')
parser.add_argument('-i','--input',help='dbCAN CAZyme annotation oupput folder.',default="output",required=True)
parser.add_argument('-bt','--bedtools',help='bedtools gene reads count results.')
#parser.add_argument('-1','--R1',help='R1 reads, support gz compress file')
#parser.add_argument('-2','--R2',help='R2 reads, support gz compress file, None for single end sequencing',default=None)
parser.add_argument('-o','--output',help='output files',default="output")
parser.add_argument('--db_dir', default="db", help='Database directory')
parser.add_argument('--cgcid', help='CGC id, consists of contig_ID|cgc_order',type=str,default=None)
parser.add_argument('--readscount', help='Read counts file generated by samtools depth!')
parser.add_argument('--samples', help='samples seperated by ",".')
parser.add_argument('--samples', help='Samples seperated by ",".')
parser.add_argument('--top', help='Plot top num, the family or substrate was sorted by abs different.',default=20,type=int)
parser.add_argument('--plot_style', help='Style for barplot and heatmap.',choices=["ggplot",'seaborn','seaborn-poster'],default="ggplot")
parser.add_argument('--vertical_bar', help='vertical bar',action='store_true')
parser.add_argument('--vertical_bar', help='Vertical bar',action='store_true')
parser.add_argument('--show_fig', help='Show plot figures or not',action='store_true')
parser.add_argument('--show_abund', help='Show abundance in heatmap?',action='store_true')
parser.add_argument('--palette', help='palettes or colormaps defined in matplotlib',default=None)
parser.add_argument('--cluster_map', action='store_true')
parser.add_argument('--col',default=None)
parser.add_argument('--value',default=None)
parser.add_argument('--pdf',default="bar_plot.pdf",help="bar plot output pdf file name")
args = parser.parse_args()
return args

Expand Down
17 changes: 10 additions & 7 deletions dbcan/utils/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -794,9 +794,8 @@ def justify_reads_alignment_properties(args,read,gene):
print(overlap_base_ratio)
else: ### for not hifi reads
overlap_base_ratio = overlap_base_numer / read.query_length

overlap_base_ratio_threshold = float(args.overlap_base_ratio)
if overlap_base_ratio < overlap_base_ratio_threshold:

if overlap_base_ratio < args.overlap_base_ratio:
return False

mapping_quality = read.mapping_quality
Expand Down Expand Up @@ -859,22 +858,26 @@ def parse_argv():
CGC_abund [calculate the abundance of PUL]. Example usage: dbcan_utils CGC_abund -bt samfiles/fefifo_8002_7.depth.txt -i fefifo_8002_7.dbCAN
-----------------------------------------
CGC_substrate_abund [calculate the abundance of PUL substrate]. Example usage: dbcan_utils CGC_substrate_abund -bt samfiles/fefifo_8002_7.depth.txt -i fefifo_8002_7.dbCAN
-----------------------------------------
cal_coverage [Count the read count of gene]. Example usage: dbcan_utils cal_coverage -g Wet2014.gff -i Wet2014.bam -o Wet2014.depth.txt -t 6
-----------------------------------------
gff_fix [fix gff file generated by prodigal. No need if it is generated by prokka]. Example usage: dbcan_utils gff_fix -i UT30.3.faa -g UT30.3.gff
'''
parser = argparse.ArgumentParser(description='Calculate the abundance CAZyme, PUL and substrate.',prog='dbcan_utils',usage=usage)
parser.add_argument('function', help='What function will be used to analyze?',choices=["fam_abund","fam_substrate_abund","CGC_abund","CGC_substrate_abund","generate_PULfaa","cal_coverage",'gff_fix'])
parser.add_argument('-i','--input',help='dbCAN CAZyme annotation output folder.',default="output",required=True)
parser.add_argument('-bt','--bedtools',help='cal_coverage gene reads count results.')
parser.add_argument('-g','--gff',help='prokaa gene annotation file.')
parser.add_argument('-g','--gff',help='gene annotation file.')
parser.add_argument('-1','--R1',help='R1 reads, support gz compress file')
parser.add_argument('-2','--R2',help='R2 reads, support gz compress file, None for single end sequencing',default=None)
parser.add_argument('-o','--output',help='output files',default="output")
parser.add_argument('-o','--output',help='output folder',default="output")
parser.add_argument('-a','--abundance',default="RPM",help='normalized method',choices=["FPKM","RPM","TPM"])
parser.add_argument('--db_dir', default="db", help='dbCAN database directory')
parser.add_argument('--overlap_base_ratio',default = 0.2 )
parser.add_argument('--overlap_base_ratio',default = 0.2,type=float )
parser.add_argument('--mapping_quality',default =30,type=int)
parser.add_argument('-c','--identity',default =0.98,type=float)
parser.add_argument('-t','--threads',default = 1,type = int)
parser.add_argument('--hifi',action="store_true")
parser.add_argument('--hifi',action="store_true",help="if HIFI reads")

args = parser.parse_args()
return args
Expand Down

0 comments on commit 6da602a

Please sign in to comment.