Framings=-{2,1,3,7};
L=Length[Framings];
Plumbing=Graph[{1->2,2->3,2->4},DirectedEdges->False,VertexWeight->Framings,VertexLabels->Table[i-> Framings[[i]],{i,L}],GraphLayout->"SpringElectricalEmbedding"]

VL=VertexList[Plumbing]

M=AdjacencyMatrix[Plumbing];
Do[M[[i,i]]=Framings[[VL[[i]]]],{i,L}];
M//MatrixForm

p=Abs[Det[M]]

Delta=VertexDegree[Plumbing]-2

Eigenvalues[M]//N

NegativeSemidefiniteMatrixQ[M]

FactorInteger[p]

MI=Inverse[M];
MI//MatrixForm

Coker={Table[0,{i,L}]};
Do[
Module[{vec=Table[0,{j,1,L}]},
Do[
vec[[v]]=i;
Coker=Union[Coker,{Mod[MI.vec,1]}];
,{i,1,p-1}]
If[Length[Coker]==p,Break[]];
];
,{v,L}];
Coker;
Length[Coker]

TwCoker=Mod[2*Coker,1];

Cok0=Function[vec,
Mod[MI.vec,1]
];

cD=Cok0[Delta]
Position[TwCoker,cD]

Cok1=Function[vec,
Cok0[(vec-Delta)/2]];

Deg=Function[{mon,var},
D[mon,var]/mon*var//Simplify]

Degv=Function[mon,
Table[Deg[mon,(Subscript[x, i])],{i,1,L}]
];

qMon=Function[{mon,cokel},
Module[{dv=Degv[mon]},
If[Cok1[dv]==cokel,q^(-dv.(MI.dv)/4)*(mon/.{(Subscript[x, _])->1}),0]
]
];

qLap=Function[{expr,cokel},
q^(-3*L/4-Sum[M[[i,i]],{i,L}]/4)*(qMon[#,cokel]&/@expr)]

ordx=20;

Fx0=1;
Do[
Module[{vfac=1/((Subscript[x, v])-1/(Subscript[x, v]))^Delta[[v]]},
Fx0*=(1*Normal[Series[vfac,{(Subscript[x, v]),0,ordx}]]+1*Normal[Series[vfac,{(Subscript[x, v]),Infinity,ordx}]])/2;
]
,{v,L}];
Fx=Fx0//Expand;

tLap=Table[{Series[qLap[Fx,cel],{q,0,300}]//Normal//Simplify,cel,Mod[-cel-MI.Delta,1]},{cel,Coker}]//Simplify;
tLap//TableForm