the sam file is so big because it's plain text. if you want to reduce its size, just convert it to binary using samtools view:
samtools view -bS Sequence.fq.sam > Sequence.bam
sorting and indexing the bam file is then required:
samtools sort Sequence.bam Sequence.sort
samtools index Sequence.sort.bam
variant calling can be performed using multiple options. you may use the well known combination of samtools and bcftools:
samtools mpileup -uf ref.fa Sequence.sorted.bam | bcftools call -mv - > Sequence.vcf
if you want to limit the variant calling to be performed on the FTO gene only (chr16:53,735,875-54,150,379), then use the samtools mpileup's '-r' option:
samtools mpileup -uf ref.fa -r chr16:53,735,875-54,150,379 Sequence.sorted.bam | bcftools call -mv - > Sequence.FTO.vcf
you can limit the variant calling a little bit further by using a bed file with the exon coordinates for instance, using samtools mpileup's '-l' option.
samtools mpileup -uf ref.fa -l FTO.exons.bed Sequence.sorted.bam | bcftools call -mv - > Sequence.FTO.exons.vcf
being ref.fa the fasta file of the reference you used to map your reads
To get the consensus sequence of a gene (or its SNPs given a reference sequence) you can use a combination of samtools, bcftools, vcfutils (or any other software cited here.
but if your final goal is to get a list of SNPs for more than one gene, my suggestion is to use all of the reads at once.